From 8ab608ce1b8425fe13b0766024554031f23289dc Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期四, 14 八月 2025 16:34:32 +0800
Subject: [PATCH] 固化流程,结束是移动节点
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/BatchDispatchService.java | 2 +-
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java | 22 ++++++++++++++++++++++
2 files changed, 23 insertions(+), 1 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/BatchDispatchService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/BatchDispatchService.java
index 0963e59..c319676 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/BatchDispatchService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/BatchDispatchService.java
@@ -114,7 +114,7 @@
* @return
*/
Object getAutoProgrammer(String processInstanceId){
- ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
+ ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().includeProcessVariables()
.processInstanceId(processInstanceId)
.singleResult();
Object programmer = processInstance.getProcessVariables().get(FlowContants.PROGRAMMER);
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java
index 738fe60..9d1720b 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java
@@ -2,11 +2,14 @@
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.checkerframework.checker.units.qual.N;
import org.flowable.engine.delegate.DelegateExecution;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.mdm.commons.contants.ParamConstants;
+import org.springblade.mdm.flow.entity.FlowProgramFile;
import org.springblade.mdm.flow.service.FlowCommonService;
+import org.springblade.mdm.flow.service.FlowProgramFileService;
import org.springblade.mdm.flow.service.FlowProgramProperties;
import org.springblade.mdm.program.entity.NcNode;
import org.springblade.mdm.program.service.NcNodeAutoCreateService;
@@ -26,11 +29,14 @@
private final NcNodeService nodeService;
private final NcNodeAutoCreateService ncNodeAutoCreateService;
private final FlowCommonService flowCommonService;
+ private final FlowProgramFileService flowProgramFileService;
private final ISysClient sysClient;
/**
* 榛樿鏈夋晥鏈熼棿锛堟湀鏁帮級,2骞�
*/
private static final int DEFAULT_VALID_MONTH = 24;
+ private final NcNodeService ncNodeService;
+
/**
* 鍥哄寲瀹℃壒閫氳繃澶勭悊浠诲姟锛�
* @param execution 娴佺▼execution
@@ -58,6 +64,7 @@
//璇曞垏鐨�
pkgNode.setIsCured(1);
//璁剧疆杩囨湡鏃ユ湡
+ pkgNode.upgradeVersionNUmber();
pkgNode.setExpireDate(calculateExpireDate());
nodeService.updateById(pkgNode);
@@ -90,12 +97,27 @@
//澶勭悊绋嬪簭鍖呬笅灞傜殑绋嬪簭鑺傜偣
List<NcNode> programNodes = nodeService.lambdaQuery().eq(NcNode::getParentId,hisPackageNode.getId()).list();
for(NcNode programNode : programNodes){
+ programNode.setIsLastEdition(0);
programNode.setParentIds(hisPackageNode.getParentIds()+","+hisPackageNode.getId());
}
nodeService.updateBatchById(programNodes);
}
nodeService.updateBatchById(historyProgramPackageNodes);
+ //鏂扮殑娴佺▼鏂囦欢锛岄渶瑕佸湪鍖呰妭鐐逛笅鏂板缓锛屼笉鑳界敤鑰佺殑
+ List<FlowProgramFile> files = flowProgramFileService.lambdaQuery().eq(FlowProgramFile::getProcessInstanceId,pkgNode.getProcessInstanceId()).list();
+ for(FlowProgramFile flowProgramFile : files){
+ NcNode newProgNode = new NcNode();
+ newProgNode.setName(flowProgramFile.getName());
+ newProgNode.setNodeType(NcNode.TYPE_PROGRAM_FILE);
+ newProgNode.setParentId(pkgNode.getId());
+ newProgNode.setParentIds(pkgNode.getParentIds()+","+pkgNode.getId());
+ newProgNode.setIsLastEdition(1);
+ newProgNode.setVersionNumber(pkgNode.getVersionNumber());
+ newProgNode.setFlowProgramFileId(flowProgramFile.getId());
+ newProgNode.setIsCured(1);
+ ncNodeService.save(newProgNode);
+ }
}
/**
--
Gitblit v1.9.3