All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.zodiac.flowable.engine.service.TenantFlowEngineService Maven / Gradle / Ivy

There is a newer version: 1.6.8
Show newest version
package org.zodiac.flowable.engine.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import org.zodiac.flowable.core.model.PlatformProcessFlow;
import org.zodiac.flowable.engine.model.FlowExecution;
import org.zodiac.flowable.engine.model.TenantFlowProcessModel;
import org.zodiac.flowable.engine.model.entity.TenantFlowModelEntity;
import org.zodiac.flowable.engine.util.FlowCategoryNameSupplier;
import org.zodiac.sdk.toolkit.io.FileObject;

import java.util.List;

/**
 * TenantFlowEngineService。
 *
 */
public interface TenantFlowEngineService extends IService {

    /**
     * 自定义分页。
     *
     * @param page 分页工具
     * @param flowModel 流程模型
     * @return 分页对象
     */
    IPage selectFlowPage(IPage page, E flowModel);

    /**
     * 流程管理列表。
     *
     * @param page 分页工具
     * @param category 分类
     * @param mode 形态
     * @param flowCategoryNameSupplier 类型名称提供者
     * @return 分页对象
     */
    IPage selectProcessPage(IPage page, String category, Integer mode,
        FlowCategoryNameSupplier flowCategoryNameSupplier);

    /**
     * 流程管理列表。
     *
     * @param page 分页工具
     * @param processInstanceId 流程实例id
     * @param processDefinitionKey 流程key
     * @param startUserSupplier 起始用户提供者
     * @param flowCategoryNameSupplier 类型名称提供者
     * @return 分页对象
     */
    IPage selectFollowPage(IPage page, String processInstanceId,
        String processDefinitionKey, ProcessFlowStartUserSupplier startUserSupplier, FlowCategoryNameSupplier flowCategoryNameSupplier);

    /**
     * 获取流转历史列表。
     *
     * @param processInstanceId 流程实例id
     * @param startActivityId 开始节点id
     * @param endActivityId 结束节点id
     * @param startUserSupplier 起始用户提供者
     * @return 分页对象
     */
    List historyFlowList(String processInstanceId, String startActivityId, String endActivityId,
        ProcessFlowStartUserSupplier startUserSupplier);

    /**
     * 变更流程状态。
     *
     * @param state 状态
     * @param processId 流程ID
     * @return 结果
     */
    String changeState(String state, String processId);

    /**
     * 删除部署流程。
     *
     * @param deploymentIds 部署流程id集合
     * @return 分页对象
     */
    boolean deleteDeployment(String deploymentIds);

    /**
     * 上传部署流程。
     *
     * @param fileObjects 流程配置文件
     * @param category 流程分类
     * @param tenantIdList 租户id集合
     * @return 分页对象
     */
    boolean deployUpload(List fileObjects, String category, List tenantIdList);

    /**
     * 部署流程。
     *
     * @param modelId 模型id
     * @param category 分类
     * @param tenantIdList 租户id集合
     * @return 分页对象
     */
    boolean deployModel(String modelId, String category, List tenantIdList);

    /**
     * 删除流程实例。
     *
     * @param processInstanceId 流程实例id
     * @param deleteReason 删除原因
     * @return 分页对象
     */
    boolean deleteProcessInstance(String processInstanceId, String deleteReason);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy