baoshiwei
2025-03-12 f1208474f771a1c233d7425c8ed13fbaa0d521ac
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwTaskService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,191 @@
package org.dromara.workflow.service;
import org.dromara.common.core.domain.dto.StartProcessReturnDTO;
import org.dromara.common.core.domain.dto.UserDTO;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.warm.flow.core.entity.Node;
import org.dromara.warm.flow.orm.entity.FlowHisTask;
import org.dromara.warm.flow.orm.entity.FlowTask;
import org.dromara.workflow.domain.bo.*;
import org.dromara.workflow.domain.vo.FlowHisTaskVo;
import org.dromara.workflow.domain.vo.FlowTaskVo;
import java.util.List;
import java.util.Map;
/**
 * ä»»åŠ¡ æœåС层
 *
 * @author may
 */
public interface IFlwTaskService {
    /**
     * å¯åŠ¨ä»»åŠ¡
     *
     * @param startProcessBo å¯åŠ¨æµç¨‹å‚æ•°
     * @return ç»“æžœ
     */
    StartProcessReturnDTO startWorkFlow(StartProcessBo startProcessBo);
    /**
     * åŠžç†ä»»åŠ¡
     *
     * @param completeTaskBo åŠžç†ä»»åŠ¡å‚æ•°
     * @return ç»“æžœ
     */
    boolean completeTask(CompleteTaskBo completeTaskBo);
    /**
     * æŸ¥è¯¢å½“前用户的待办任务
     *
     * @param flowTaskBo å‚æ•°
     * @param pageQuery  åˆ†é¡µ
     * @return ç»“æžœ
     */
    TableDataInfo<FlowTaskVo> pageByTaskWait(FlowTaskBo flowTaskBo, PageQuery pageQuery);
    /**
     * æŸ¥è¯¢å½“前租户所有待办任务
     *
     * @param flowTaskBo å‚æ•°
     * @param pageQuery  åˆ†é¡µ
     * @return ç»“æžœ
     */
    TableDataInfo<FlowHisTaskVo> pageByTaskFinish(FlowTaskBo flowTaskBo, PageQuery pageQuery);
    /**
     * æŸ¥è¯¢å¾…办任务
     *
     * @param flowTaskBo å‚æ•°
     * @param pageQuery  åˆ†é¡µ
     * @return ç»“æžœ
     */
    TableDataInfo<FlowTaskVo> pageByAllTaskWait(FlowTaskBo flowTaskBo, PageQuery pageQuery);
    /**
     * æŸ¥è¯¢å·²åŠžä»»åŠ¡
     *
     * @param flowTaskBo å‚æ•°
     * @param pageQuery  åˆ†é¡µ
     * @return ç»“æžœ
     */
    TableDataInfo<FlowHisTaskVo> pageByAllTaskFinish(FlowTaskBo flowTaskBo, PageQuery pageQuery);
    /**
     * æŸ¥è¯¢å½“前用户的抄送
     *
     * @param flowTaskBo å‚æ•°
     * @param pageQuery  åˆ†é¡µ
     * @return ç»“æžœ
     */
    TableDataInfo<FlowTaskVo> pageByTaskCopy(FlowTaskBo flowTaskBo, PageQuery pageQuery);
    /**
     * ä¿®æ”¹ä»»åŠ¡åŠžç†äºº
     *
     * @param taskIdList ä»»åŠ¡id
     * @param userId     ç”¨æˆ·id
     * @return ç»“æžœ
     */
    boolean updateAssignee(List<Long> taskIdList, String userId);
    /**
     * é©³å›žå®¡æ‰¹
     *
     * @param bo å‚æ•°
     * @return ç»“æžœ
     */
    boolean backProcess(BackProcessBo bo);
    /**
     * èŽ·å–å¯é©³å›žçš„å‰ç½®èŠ‚ç‚¹
     *
     * @param definitionId æµç¨‹å®šä¹‰id
     * @param nowNodeCode  å½“前节点
     * @return ç»“æžœ
     */
    List<Node> getBackTaskNode(Long definitionId, String nowNodeCode);
    /**
     * ç»ˆæ­¢ä»»åŠ¡
     *
     * @param bo å‚æ•°
     * @return ç»“æžœ
     */
    boolean terminationTask(FlowTerminationBo bo);
    /**
     * æŒ‰ç…§ä»»åŠ¡id查询任务
     *
     * @param taskIdList ä»»åŠ¡id
     * @return ç»“æžœ
     */
    List<FlowTask> selectByIdList(List<Long> taskIdList);
    /**
     * æŒ‰ç…§ä»»åŠ¡id查询任务
     *
     * @param taskId ä»»åŠ¡id
     * @return ç»“æžœ
     */
    FlowTaskVo selectById(Long taskId);
    /**
     * æŒ‰ç…§ä»»åŠ¡id查询任务
     *
     * @param taskIdList ä»»åŠ¡id
     * @return ç»“æžœ
     */
    List<FlowHisTask> selectHisTaskByIdList(List<Long> taskIdList);
    /**
     * æŒ‰ç…§ä»»åŠ¡id查询任务
     *
     * @param taskId ä»»åŠ¡id
     * @return ç»“æžœ
     */
    FlowHisTask selectHisTaskById(Long taskId);
    /**
     * æŒ‰ç…§å®žä¾‹id查询任务
     *
     * @param instanceIdList æµç¨‹å®žä¾‹id
     * @return ç»“æžœ
     */
    List<FlowTask> selectByInstIdList(List<Long> instanceIdList);
    /**
     * æŒ‰ç…§å®žä¾‹id查询任务
     *
     * @param instanceId æµç¨‹å®žä¾‹id
     * @return ç»“æžœ
     */
    List<FlowTask> selectByInstId(Long instanceId);
    /**
     * ä»»åŠ¡æ“ä½œ
     *
     * @param bo            å‚æ•°
     * @param taskOperation æ“ä½œç±»åž‹ï¼Œå§”æ´¾ delegateTask、转办 transferTask、加签 addSignature、减签 reductionSignature
     * @return ç»“æžœ
     */
    boolean taskOperation(TaskOperationBo bo, String taskOperation);
    /**
     * èŽ·å–ä»»åŠ¡æ‰€æœ‰åŠžç†äºº
     *
     * @param taskIdList ä»»åŠ¡id
     * @return ç»“æžœ
     */
    Map<Long, List<UserDTO>> currentTaskAllUser(List<Long> taskIdList);
    /**
     * èŽ·å–å½“å‰ä»»åŠ¡çš„æ‰€æœ‰åŠžç†äºº
     *
     * @param taskId ä»»åŠ¡id
     * @return ç»“æžœ
     */
    List<UserDTO> currentTaskAllUser(Long taskId);
}