From 9d5be382e52f9ac57199d5ef75cc23f925a4cdb0 Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期五, 13 十二月 2024 17:07:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 iailab-module-bpm/iailab-module-bpm-biz/src/main/java/com/iailab/module/bpm/service/task/BpmProcessInstanceService.java |   54 +++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 35 insertions(+), 19 deletions(-)

diff --git a/iailab-module-bpm/iailab-module-bpm-biz/src/main/java/com/iailab/module/bpm/service/task/BpmProcessInstanceService.java b/iailab-module-bpm/iailab-module-bpm-biz/src/main/java/com/iailab/module/bpm/service/task/BpmProcessInstanceService.java
index e14f225..69b9668 100644
--- a/iailab-module-bpm/iailab-module-bpm-biz/src/main/java/com/iailab/module/bpm/service/task/BpmProcessInstanceService.java
+++ b/iailab-module-bpm/iailab-module-bpm-biz/src/main/java/com/iailab/module/bpm/service/task/BpmProcessInstanceService.java
@@ -2,10 +2,7 @@
 
 import com.iailab.framework.common.pojo.PageResult;
 import com.iailab.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
-import com.iailab.module.bpm.controller.admin.task.vo.instance.BpmProcessInstanceCancelReqVO;
-import com.iailab.module.bpm.controller.admin.task.vo.instance.BpmProcessInstanceCreateReqVO;
-import com.iailab.module.bpm.controller.admin.task.vo.instance.BpmProcessInstancePageReqVO;
-import org.flowable.engine.delegate.event.FlowableCancelledEvent;
+import com.iailab.module.bpm.controller.admin.task.vo.instance.*;
 import org.flowable.engine.history.HistoricProcessInstance;
 import org.flowable.engine.runtime.ProcessInstance;
 
@@ -19,9 +16,11 @@
 /**
  * 流程实例 Service 接口
  *
- * @author iailab
+ * @author 芋道源码
  */
 public interface BpmProcessInstanceService {
+
+    // ========== Query 查询相关方法 ==========
 
     /**
      * 获得流程实例
@@ -85,6 +84,28 @@
     PageResult<HistoricProcessInstance> getProcessInstancePage(Long userId,
                                                                @Valid BpmProcessInstancePageReqVO pageReqVO);
 
+    // TODO @芋艿:重点在 review 下
+    /**
+     * 获取审批详情。
+     * <p>
+     * 可以是准备发起的流程、进行中的流程、已经结束的流程
+     *
+     * @param loginUserId  登录人的用户编号
+     * @param reqVO 请求信息
+     * @return 流程实例的进度
+     */
+    BpmApprovalDetailRespVO getApprovalDetail(Long loginUserId, @Valid BpmApprovalDetailReqVO reqVO);
+
+    /**
+     * 获取流程实例的 BPMN 模型视图
+     *
+     * @param id 流程实例的编号
+     * @return BPMN 模型视图
+     */
+    BpmProcessInstanceBpmnModelViewRespVO getProcessInstanceBpmnModelView(String id);
+
+    // ========== Update 写入相关方法 ==========
+
     /**
      * 创建流程实例(提供给前端)
      *
@@ -114,31 +135,26 @@
     /**
      * 管理员取消流程实例
      *
-     * @param userId           用户编号
+     * @param userId      用户编号
      * @param cancelReqVO 取消信息
      */
     void cancelProcessInstanceByAdmin(Long userId, BpmProcessInstanceCancelReqVO cancelReqVO);
 
     /**
-     * 更新 ProcessInstance 拓展记录为取消
+     * 更新 ProcessInstance 为不通过
      *
-     * @param event 流程取消事件
+     * @param processInstance 流程实例
+     * @param reason          理由。例如说,审批不通过时,需要传递该值
      */
-    void updateProcessInstanceWhenCancel(FlowableCancelledEvent event);
+    void updateProcessInstanceReject(ProcessInstance processInstance, String reason);
+
+    // ========== Event 事件相关方法 ==========
 
     /**
-     * 更新 ProcessInstance 拓展记录为完成
+     * 处理 ProcessInstance 完成事件,例如说:审批通过、不通过、取消
      *
      * @param instance 流程任务
      */
-    void updateProcessInstanceWhenApprove(ProcessInstance instance);
-
-    /**
-     * 更新 ProcessInstance 拓展记录为不通过
-     *
-     * @param id     流程编号
-     * @param reason 理由。例如说,审批不通过时,需要传递该值
-     */
-    void updateProcessInstanceReject(String id, String reason);
+    void processProcessInstanceCompleted(ProcessInstance instance);
 
 }

--
Gitblit v1.9.3