From a0881c9a8dbff2bf7f3e10255b998b9529c7aef3 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期四, 07 八月 2025 13:46:36 +0800
Subject: [PATCH] 优化代码
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java | 28 ++++++++++++++++++++++++++--
1 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java
index 33e04e5..832a3c7 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java
@@ -1,5 +1,6 @@
package org.springblade.mdm.flow.service.execute;
+import org.apache.commons.lang3.StringUtils;
import org.flowable.task.api.Task;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.utils.AuthUtil;
@@ -10,7 +11,9 @@
import org.springblade.mdm.flow.constants.FlowContants;
import org.springblade.mdm.flow.service.FlowCommonService;
import org.springblade.mdm.flow.service.FlowProgramFileService;
+import org.springblade.mdm.program.entity.NcNode;
import org.springblade.mdm.program.service.NcNodeAutoCreateService;
+import org.springblade.mdm.program.service.NcNodeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -23,7 +26,8 @@
public class TryFlowCompleteService extends AbstractFlowCompleteService {
@Autowired
private FlowProgramFileService flowProgramFileService;
-
+ @Autowired
+ private NcNodeService ncNodeService;
@Autowired
private NcNodeAutoCreateService ncNodeAutoCreateService;
@Autowired
@@ -58,8 +62,28 @@
if(!"confirmIsUseableTask".equals(task.getTaskDefinitionKey())){
variables.remove(FlowContants.PROCESS_EDITION);//TODO 涓存椂閿欒鏄紝缁勯暱鎻愪氦鐨勬椂鍊欎細鎻愪氦涓�涓┖涓诧紝娓呯┖浜嗗唴閮ㄦ暟鎹�
}else{
- //鍗囩増
+ //宸ュ簭鐗堟涓嶄竴鑷达紝骞朵笖瀹℃牳閫氳繃锛堝彲鐢級鏄紝鎵嶆洿鏂颁负鏂扮殑宸ュ簭鐗堟鍙�
+ Map<String, Object> currentVars = task.getProcessVariables();
+ if(StringUtils.equals(String.valueOf(currentVars.getOrDefault(FlowContants.IS_PROCESS_EDITION_SAME, FlowContants.Y)),FlowContants.N) && operateResult.equals(FlowContants.Y)){
+ //宸ュ簭鐗堟涓嶄竴鑷达紝骞朵笖瀹℃牳閫氳繃锛堝彲鐢級 鍗囩増,鏇存柊涓烘柊鐨勫伐搴忕増鏈紝鍚庣画杩涘叆 鏍″ 鑺傜偣
+ Object objProcessEdition = variables.get(FlowContants.PROCESS_EDITION);
+ if(objProcessEdition == null){
+ //搴旇鍗囩増锛屼絾鍓嶇娌℃湁浼犻�掕鍙傛暟
+ throw new ServiceException("璇峰綍鍏ユ柊鐨勫伐搴忕増鏈彿");
+ }
+ String newProcessEdition = String.valueOf(objProcessEdition);
+ NcNode programPkgNode= ncNodeService.getByProcessInstanceId(processInstanceId);
+ programPkgNode.setProcessEdition(newProcessEdition);
+ ncNodeService.updateById(programPkgNode);
+ //鍒涘缓绋嬪簭鏍�
+ //鑺傜偣鍦ㄨ瘯鍒囦笅杩樻槸鍥哄寲涓嬮潰锛熺‘璁や簡锛岃妭鐐瑰缓绔嬪湪璇曞垏涓嬶紝鏈�缁堣蛋鍥哄寲娴佺▼鍚庢墠杩涘叆鍥哄寲
+ //纭绋嬪簭鍙敤浜嗭紝杩涘叆鏍″銆傝繖閲岀洿鎺ュ缓绔嬭妭鐐癸紝鍥犱负鍙兘涓嶈蛋缂栫▼鑺傜偣浜�
+ this.ncNodeAutoCreateService.createNodeTreeWithProgram(flowCommonService.getProgramProperties(processInstanceId));
+ }else{
+ //宸ュ簭鐗堟涓�鑷达紝浣嗘槸鎷掔粷浜嗭紝鍚庣画浼氳繘鍏ョ紪鍒惰妭鐐�
+ variables.remove(FlowContants.PROCESS_EDITION);
+ }
}
taskService.complete(taskId, variables);
}
--
Gitblit v1.9.3