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/IFlwInstanceService.java |  159 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 159 insertions(+), 0 deletions(-)

diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwInstanceService.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwInstanceService.java
new file mode 100644
index 0000000..99729c2
--- /dev/null
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwInstanceService.java
@@ -0,0 +1,159 @@
+package org.dromara.workflow.service;
+
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.warm.flow.orm.entity.FlowInstance;
+import org.dromara.workflow.domain.bo.FlowCancelBo;
+import org.dromara.workflow.domain.bo.FlowInstanceBo;
+import org.dromara.workflow.domain.bo.FlowInvalidBo;
+import org.dromara.workflow.domain.vo.FlowInstanceVo;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 娴佺▼瀹炰緥 鏈嶅姟灞�
+ *
+ * @author may
+ */
+public interface IFlwInstanceService {
+
+    /**
+     * 鍒嗛〉鏌ヨ姝e湪杩愯鐨勬祦绋嬪疄渚�
+     *
+     * @param flowInstanceBo 娴佺▼瀹炰緥
+     * @param pageQuery      鍒嗛〉
+     * @return 缁撴灉
+     */
+    TableDataInfo<FlowInstanceVo> selectRunningInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery);
+
+    /**
+     * 鍒嗛〉鏌ヨ宸茬粨鏉熺殑娴佺▼瀹炰緥
+     *
+     * @param flowInstanceBo 娴佺▼瀹炰緥
+     * @param pageQuery      鍒嗛〉
+     * @return 缁撴灉
+     */
+    TableDataInfo<FlowInstanceVo> selectFinishInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery);
+
+    /**
+     * 鏍规嵁涓氬姟id鏌ヨ娴佺▼瀹炰緥璇︾粏淇℃伅
+     *
+     * @param businessId 涓氬姟id
+     * @return 缁撴灉
+     */
+    FlowInstanceVo queryByBusinessId(Long businessId);
+
+    /**
+     * 鎸夌収涓氬姟id鏌ヨ娴佺▼瀹炰緥
+     *
+     * @param businessId 涓氬姟id
+     * @return 缁撴灉
+     */
+    FlowInstance selectInstByBusinessId(String businessId);
+
+    /**
+     * 鎸夌収瀹炰緥id鏌ヨ娴佺▼瀹炰緥
+     *
+     * @param instanceId 瀹炰緥id
+     * @return 缁撴灉
+     */
+    FlowInstance selectInstById(Long instanceId);
+
+    /**
+     * 鎸夌収瀹炰緥id鏌ヨ娴佺▼瀹炰緥
+     *
+     * @param instanceIds 瀹炰緥id
+     * @return 缁撴灉
+     */
+    List<FlowInstance> selectInstListByIdList(List<Long> instanceIds);
+
+    /**
+     * 鎸夌収涓氬姟id鍒犻櫎娴佺▼瀹炰緥
+     *
+     * @param businessIds 涓氬姟id
+     * @return 缁撴灉
+     */
+    boolean deleteByBusinessIds(List<Long> businessIds);
+
+    /**
+     * 鎸夌収瀹炰緥id鍒犻櫎娴佺▼瀹炰緥
+     *
+     * @param instanceIds 瀹炰緥id
+     * @return 缁撴灉
+     */
+    boolean deleteByInstanceIds(List<Long> instanceIds);
+
+    /**
+     * 鎾ら攢娴佺▼
+     *
+     * @param bo 鍙傛暟
+     * @return 缁撴灉
+     */
+    boolean cancelProcessApply(FlowCancelBo bo);
+
+    /**
+     * 鑾峰彇褰撳墠鐧婚檰浜哄彂璧风殑娴佺▼瀹炰緥
+     *
+     * @param instanceBo 娴佺▼瀹炰緥
+     * @param pageQuery  鍒嗛〉
+     * @return 缁撴灉
+     */
+    TableDataInfo<FlowInstanceVo> selectCurrentInstanceList(FlowInstanceBo instanceBo, PageQuery pageQuery);
+
+    /**
+     * 鑾峰彇娴佺▼鍥�,娴佺▼璁板綍
+     *
+     * @param businessId 涓氬姟id
+     * @return 缁撴灉
+     */
+    Map<String, Object> flowImage(String businessId);
+
+    /**
+     * 鎸夌収瀹炰緥id鏇存柊鐘舵��
+     *
+     * @param instanceId 瀹炰緥id
+     * @param status     鐘舵��
+     */
+    void updateStatus(Long instanceId, String status);
+
+    /**
+     * 鑾峰彇娴佺▼鍙橀噺
+     *
+     * @param instanceId 瀹炰緥id
+     * @return 缁撴灉
+     */
+    Map<String, Object> instanceVariable(Long instanceId);
+
+    /**
+     * 璁剧疆娴佺▼鍙橀噺
+     *
+     * @param instanceId 瀹炰緥id
+     * @param variable   娴佺▼鍙橀噺
+     */
+    void setVariable(Long instanceId, Map<String, Object> variable);
+
+    /**
+     * 鎸変换鍔d鏌ヨ瀹炰緥
+     *
+     * @param taskId 浠诲姟id
+     * @return 缁撴灉
+     */
+    FlowInstance selectByTaskId(Long taskId);
+
+    /**
+     * 鎸変换鍔d鏌ヨ瀹炰緥
+     *
+     * @param taskIdList 浠诲姟id
+     * @return 缁撴灉
+     */
+    List<FlowInstance> selectByTaskIdList(List<Long> taskIdList);
+
+    /**
+     * 浣滃簾娴佺▼
+     *
+     * @param bo 娴佺▼瀹炰緥
+     * @return 缁撴灉
+     */
+    boolean processInvalid(FlowInvalidBo bo);
+}

--
Gitblit v1.9.3