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