zhangherong
2025-06-25 23855599412c4d61b38d78f0f3abd3430a48b5b1
lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/IFlowTaskService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,193 @@
package org.jeecg.modules.flowable.service;
import org.flowable.task.api.Task;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.flowable.apithird.business.dto.FlowMyBusinessDto;
import org.jeecg.modules.flowable.domain.dto.FlowNextDto;
import org.jeecg.modules.flowable.domain.dto.FlowViewerDto;
import org.jeecg.modules.flowable.domain.vo.FlowTaskVo;
import java.io.InputStream;
import java.util.List;
/**
 */
public interface IFlowTaskService {
    /**
     * å®¡æ‰¹ä»»åŠ¡
     *
     * @param task è¯·æ±‚实体参数
     */
    Result complete(FlowTaskVo task);
    Result completeByDateId(FlowTaskVo flowTaskVo);
    /**
     * é©³å›žä»»åŠ¡
     *
     * @param flowTaskVo
     */
    void taskReject(FlowTaskVo flowTaskVo);
    void taskRejectByDataId(FlowTaskVo flowTaskVo);
    /**
     * é€€å›žä»»åŠ¡
     *
     * @param flowTaskVo è¯·æ±‚实体参数
     */
    void taskReturn(FlowTaskVo flowTaskVo);
    void taskReturnByDataId(FlowTaskVo flowTaskVo);
    /**
     * èŽ·å–æ‰€æœ‰å¯å›žé€€çš„èŠ‚ç‚¹
     *
     * @param flowTaskVo
     * @return
     */
    Result findReturnTaskList(FlowTaskVo flowTaskVo);
    Result findReturnTaskListByDataId(FlowTaskVo flowTaskVo);
    /**
     * ç»“束流程
     * @param processInstanceId
     * @param deleteReason
     * @return
     */
    Result<?> end(String processInstanceId, String deleteReason);
    /**
     * åˆ é™¤ä»»åŠ¡
     *
     * @param flowTaskVo è¯·æ±‚实体参数
     */
    void deleteTask(FlowTaskVo flowTaskVo);
    /**
     * è®¤é¢†/签收任务
     *
     * @param flowTaskVo è¯·æ±‚实体参数
     */
    void claim(FlowTaskVo flowTaskVo);
    /**
     * å–消认领/签收任务
     *
     * @param flowTaskVo è¯·æ±‚实体参数
     */
    void unClaim(FlowTaskVo flowTaskVo);
    /**
     * å§”派任务
     *
     * @param flowTaskVo è¯·æ±‚实体参数
     */
    void delegateTask(FlowTaskVo flowTaskVo);
    /**
     * è½¬åŠžä»»åŠ¡
     *
     * @param flowTaskVo è¯·æ±‚实体参数
     */
    void assignTask(FlowTaskVo flowTaskVo);
    /**
     * æˆ‘发起的流程
     * @param pageNum
     * @param pageSize
     * @return
     */
    Result myProcess(Integer pageNum, Integer pageSize);
    /**
     * å–消申请
     * @param flowTaskVo
     * @return
     */
    Result stopProcess(FlowTaskVo flowTaskVo);
    /**
     * æ’¤å›žæµç¨‹
     * @param flowTaskVo
     * @return
     */
    Result revokeProcess(FlowTaskVo flowTaskVo);
    /**
     * ä»£åŠžä»»åŠ¡åˆ—è¡¨
     *
     * @param pageNum  å½“前页码
     * @param pageSize æ¯é¡µæ¡æ•°
     * @return
     */
    Result todoList(Integer pageNum, Integer pageSize);
    /**
     * é€šè¿‡ä¼ å…¥TaskIds判断是否在同一节点
     * @param taskIds
     * @return
     */
    Result isSameNode(String taskIds);
    /**
     * å·²åŠžä»»åŠ¡åˆ—è¡¨
     *
     * @param pageNum  å½“前页码
     * @param pageSize æ¯é¡µæ¡æ•°
     * @return
     */
    Result finishedList(Integer pageNum, Integer pageSize,FlowMyBusinessDto flowMyBusinessDto);
    /**
     * æµç¨‹åŽ†å²æµè½¬è®°å½•
     *
     * @param dataId æµç¨‹å®žä¾‹Id
     * @return
     */
    Result flowRecord(String dataId);
    /**
     * æ ¹æ®ä»»åŠ¡ID查询挂载的表单信息
     *
     * @param taskId ä»»åŠ¡Id
     * @return
     */
    Task getTaskForm(String taskId);
    /**
     * èŽ·å–æµç¨‹è¿‡ç¨‹å›¾
     * @param processId
     * @return
     */
    InputStream diagram(String processId);
    /**
     * èŽ·å–æµç¨‹æ‰§è¡Œè¿‡ç¨‹
     * @param procInsId
     * @return
     */
    List<FlowViewerDto> getFlowViewer(String procInsId);
    List<FlowViewerDto> getFlowViewerByDataId(String dataId);
    /**
     * èŽ·å–æµç¨‹å˜é‡
     * @param taskId
     * @return
     */
    Result processVariables(String taskId);
    /**
     * èŽ·å–ä¸‹ä¸€èŠ‚ç‚¹
     * @param flowTaskVo ä»»åŠ¡
     * @return
     */
    Result<List<FlowNextDto>> getNextFlowNode(FlowTaskVo flowTaskVo);
    /**
     * æ£€æŸ¥ å¹¶è¡Œä»»åŠ¡èŠ‚ç‚¹æ˜¯å¦éƒ½å·²å®Œæˆ
     * @param currentTaskId
     * @return
     */
    boolean checkParallelCompletion(String currentTaskId);
}