From f1208474f771a1c233d7425c8ed13fbaa0d521ac Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期三, 12 三月 2025 09:35:13 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/5.X' into 5.X --- ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwTaskService.java | 191 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 191 insertions(+), 0 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwTaskService.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwTaskService.java new file mode 100644 index 0000000..11034e7 --- /dev/null +++ b/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); +} -- Gitblit v1.9.3