疯狂的狮子Li
2024-05-20 69e3afc7707d467b758858b52d3784947f7a502b
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActTaskService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,161 @@
package org.dromara.workflow.service;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.workflow.domain.bo.*;
import org.dromara.workflow.domain.vo.TaskVo;
import org.dromara.workflow.domain.vo.VariableVo;
import java.util.List;
import java.util.Map;
/**
 * ä»»åŠ¡ æœåС层
 *
 * @author may
 */
public interface IActTaskService {
    /**
     * å¯åŠ¨ä»»åŠ¡
     *
     * @param startProcessBo å¯åŠ¨æµç¨‹å‚æ•°
     * @return ç»“æžœ
     */
    Map<String, Object> startWorkFlow(StartProcessBo startProcessBo);
    /**
     * åŠžç†ä»»åŠ¡
     *
     * @param completeTaskBo åŠžç†ä»»åŠ¡å‚æ•°
     * @return ç»“æžœ
     */
    boolean completeTask(CompleteTaskBo completeTaskBo);
    /**
     * æŸ¥è¯¢å½“前用户的待办任务
     *
     * @param taskBo    å‚æ•°
     * @param pageQuery åˆ†é¡µ
     * @return ç»“æžœ
     */
    TableDataInfo<TaskVo> getPageByTaskWait(TaskBo taskBo, PageQuery pageQuery);
    /**
     * æŸ¥è¯¢å½“前租户所有待办任务
     *
     * @param taskBo    å‚æ•°
     * @param pageQuery åˆ†é¡µ
     * @return ç»“æžœ
     */
    TableDataInfo<TaskVo> getPageByAllTaskWait(TaskBo taskBo, PageQuery pageQuery);
    /**
     * æŸ¥è¯¢å½“前用户的已办任务
     *
     * @param taskBo    å‚æ•°
     * @param pageQuery å‚æ•°
     * @return ç»“æžœ
     */
    TableDataInfo<TaskVo> getPageByTaskFinish(TaskBo taskBo, PageQuery pageQuery);
    /**
     * æŸ¥è¯¢å½“前用户的抄送
     *
     * @param taskBo    å‚æ•°
     * @param pageQuery å‚æ•°
     * @return ç»“æžœ
     */
    TableDataInfo<TaskVo> getPageByTaskCopy(TaskBo taskBo, PageQuery pageQuery);
    /**
     * æŸ¥è¯¢å½“前租户所有已办任务
     *
     * @param taskBo    å‚æ•°
     * @param pageQuery å‚æ•°
     * @return ç»“æžœ
     */
    TableDataInfo<TaskVo> getPageByAllTaskFinish(TaskBo taskBo, PageQuery pageQuery);
    /**
     * å§”派任务
     *
     * @param delegateBo å‚æ•°
     * @return ç»“æžœ
     */
    boolean delegateTask(DelegateBo delegateBo);
    /**
     * ç»ˆæ­¢ä»»åŠ¡
     *
     * @param terminationBo å‚æ•°
     * @return ç»“æžœ
     */
    boolean terminationTask(TerminationBo terminationBo);
    /**
     * è½¬åŠžä»»åŠ¡
     *
     * @param transmitBo å‚æ•°
     * @return ç»“æžœ
     */
    boolean transferTask(TransmitBo transmitBo);
    /**
     * ä¼šç­¾ä»»åŠ¡åŠ ç­¾
     *
     * @param addMultiBo å‚æ•°
     * @return ç»“æžœ
     */
    boolean addMultiInstanceExecution(AddMultiBo addMultiBo);
    /**
     * ä¼šç­¾ä»»åŠ¡å‡ç­¾
     *
     * @param deleteMultiBo å‚æ•°
     * @return ç»“æžœ
     */
    boolean deleteMultiInstanceExecution(DeleteMultiBo deleteMultiBo);
    /**
     * é©³å›žå®¡æ‰¹
     *
     * @param backProcessBo å‚æ•°
     * @return æµç¨‹å®žä¾‹id
     */
    String backProcess(BackProcessBo backProcessBo);
    /**
     * ä¿®æ”¹ä»»åŠ¡åŠžç†äºº
     *
     * @param taskIds ä»»åŠ¡id
     * @param userId  åŠžç†äººid
     * @return ç»“æžœ
     */
    boolean updateAssignee(String[] taskIds, String userId);
    /**
     * æŸ¥è¯¢æµç¨‹å˜é‡
     *
     * @param taskId ä»»åŠ¡id
     * @return ç»“æžœ
     */
    List<VariableVo> getInstanceVariable(String taskId);
    /**
     * æŸ¥è¯¢å·¥ä½œæµä»»åŠ¡ç”¨æˆ·é€‰æ‹©åŠ ç­¾äººå‘˜
     *
     * @param taskId ä»»åŠ¡id
     * @return ç»“æžœ
     */
    String getTaskUserIdsByAddMultiInstance(String taskId);
    /**
     * æŸ¥è¯¢å·¥ä½œæµé€‰æ‹©å‡ç­¾äººå‘˜
     *
     * @param taskId ä»»åŠ¡id
     * @return ç»“æžœ
     */
    List<TaskVo> getListByDeleteMultiInstance(String taskId);
}