From 1becd6d46123723bd2b898fd565b4331fb2cb2d8 Mon Sep 17 00:00:00 2001
From: lyh <liuyuanheng@xalxzn.com>
Date: 星期五, 28 二月 2025 15:51:50 +0800
Subject: [PATCH] 新增flow able 代办已办

---
 lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowDefinitionServiceImpl.java |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowDefinitionServiceImpl.java b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowDefinitionServiceImpl.java
index 5add0ad..cdfca7e 100644
--- a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowDefinitionServiceImpl.java
+++ b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowDefinitionServiceImpl.java
@@ -9,8 +9,10 @@
 import org.apache.commons.io.IOUtils;
 import org.flowable.bpmn.model.BpmnModel;
 import org.flowable.bpmn.model.UserTask;
+import org.flowable.common.engine.impl.identity.Authentication;
 import org.flowable.engine.ProcessEngineConfiguration;
 import org.flowable.engine.history.HistoricActivityInstance;
+import org.flowable.engine.history.HistoricProcessInstance;
 import org.flowable.engine.repository.Deployment;
 import org.flowable.engine.repository.ProcessDefinition;
 import org.flowable.engine.repository.ProcessDefinitionQuery;
@@ -237,11 +239,12 @@
      * @return
      */
     @Override
-    public Result startProcessInstanceByKey(String procDefKey, Map<String, Object> variables) {
+    public Result<?> startProcessInstanceByKey(String procDefKey, Map<String, Object> variables) {
         ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
                 .processDefinitionKey(procDefKey)
                 .latestVersion().singleResult();
-        return startProcessInstanceById(processDefinition.getId(),variables);
+        Result result = startProcessInstanceById(processDefinition.getId(),variables);
+        return result;
     }
     /**
      * 鏍规嵁娴佺▼瀹氫箟ID鍚姩娴佺▼瀹炰緥
@@ -252,7 +255,7 @@
      */
     @Override
     @Transactional
-    public Result startProcessInstanceById(String procDefId, Map<String, Object> variables) {
+    public Result<?> startProcessInstanceById(String procDefId, Map<String, Object> variables) {
             ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
                     .processDefinitionId(procDefId)
                     .singleResult();
@@ -268,9 +271,15 @@
             ProcessInstance processInstance = runtimeService.startProcessInstanceById(procDefId, variables);
             // 缁欑涓�姝ョ敵璇蜂汉鑺傜偣璁剧疆浠诲姟鎵ц浜哄拰鎰忚
             Task task = taskService.createTaskQuery().processInstanceId(processInstance.getProcessInstanceId()).active().singleResult();
+            if (!sysUser.getUsername().equals(task.getAssignee())){
+                return Result.error("褰撳墠鐢ㄦ埛涓嶆槸娴佺▼鍙戣捣浜�");
+            }
             if (Objects.nonNull(task)) {
                 taskService.addComment(task.getId(), processInstance.getProcessInstanceId(), FlowComment.NORMAL.getType(), sysUser.getRealname() + "鍙戣捣娴佺▼鐢宠");
                 taskService.setAssignee(task.getId(), sysUser.getUsername());
+                task.setDescription(variables.get("organization").toString());
+                // 鏇存柊浠诲姟
+                taskService.saveTask(task);
                 //taskService.complete(task.getId(), variables);
             }
             //璁剧疆鎵�鏈夌敵璇蜂汉

--
Gitblit v1.9.3