From 7bc1d0f521c1d59246f29bcadcc4343f88ceef1c Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 15 九月 2025 11:29:30 +0800
Subject: [PATCH] 性能优化+bug调整
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/cure/DeviationCureFinishDataHandler.java | 41 ++++++++++++++++++++++++++---------------
1 files changed, 26 insertions(+), 15 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/cure/DeviationCureFinishDataHandler.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/cure/DeviationCureFinishDataHandler.java
index c4bb669..c568bef 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/cure/DeviationCureFinishDataHandler.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/cure/DeviationCureFinishDataHandler.java
@@ -29,10 +29,6 @@
private FlowProgramFileService flowProgramFileService;
@Autowired
private NcNodeService nodeService;
- @Autowired
- private NcNodeAutoCreateService ncNodeAutoCreateService;
- @Autowired
- private MachineService machineService;
/**
* cureFinishOperateTask璋冪敤锛屽亸绂诲崟鍥炰紶瀹℃壒瀹屾垚澶勭悊涓氬姟
@@ -40,7 +36,6 @@
*/
public void handleData(FlowProgramProperties props) {
// 鎵ц涓氬姟閫昏緫
- String instId = props.getProcessInstanceId();
NcNode pkgNode = nodeService.lambdaQuery().eq(NcNode::getProcessInstanceId, props.getProcessInstanceId()).one();
pkgNode.lock();
@@ -55,8 +50,21 @@
nodeService.save(newPkgNode);
- //澶勭悊绋嬪簭鍖呬笅灞傜殑绋嬪簭鑺傜偣111
- List<NcNode> oriProgramNodes = nodeService.lambdaQuery().eq(NcNode::getParentId,pkgNode.getId()).list();
+ copyNonProgramNodes(pkgNode,newPkgNode);
+
+ addNewProgramNode(newPkgNode,props.getProcessInstanceId());
+
+ log.info("鍋忕鍥炰紶Listener瀹屾垚");
+ }
+
+ /**
+ * 浠庡緟鍥哄寲鑺傜偣澶嶅埗闈炵▼搴忔枃浠惰妭鐐瑰埌鍥哄寲鑺傜偣涓�
+ * @param oriPkgNode 寰呭浐鍖栬妭鐐�
+ * @param cureNode 鍥哄寲鑺傜偣
+ */
+ void copyNonProgramNodes(NcNode oriPkgNode,NcNode cureNode){
+ //澶勭悊绋嬪簭鍖呬笅灞傜殑绋嬪簭鑺傜偣1
+ List<NcNode> oriProgramNodes = nodeService.lambdaQuery().eq(NcNode::getParentId,oriPkgNode.getId()).list();
FlowProgramFile pfile;
for(NcNode oldProgramNode : oriProgramNodes){
pfile = flowProgramFileService.getById(oldProgramNode.getFlowProgramFileId());
@@ -66,17 +74,23 @@
NcNode newOtherFileNode = new NcNode();
BeanUtils.copyProperties(oldProgramNode,newOtherFileNode);
EntityUtil.clearBaseProperties(newOtherFileNode);
- newOtherFileNode.setParentId(newPkgNode.getId());
- newOtherFileNode.setParentIds(newPkgNode.getParentIds()+","+newPkgNode.getId());
+ newOtherFileNode.setParentId(cureNode.getId());
+ newOtherFileNode.setParentIds(cureNode.subNodeParentIds());
newOtherFileNode.setIsLastEdition(1);
nodeService.save(newOtherFileNode);
}
}
- //nodeService.updateBatchById(oriProgramNodes);
+ }
+ /**
+ * 鍔犲叆鏂扮殑绋嬪簭鏂囦欢鑺傜偣
+ * @param newPkgNode 鏂扮殑鑺傜偣锛堝浐鍖栫殑锛�
+ * @param processInstanceId 娴佺▼瀹炰緥id
+ */
+ void addNewProgramNode(NcNode newPkgNode,String processInstanceId){
//鏂扮殑鏂囦欢浣滀负鏈�鏂扮増鏈�
- List<FlowProgramFile> files = flowProgramFileService.lambdaQuery().eq(FlowProgramFile::getProcessInstanceId,pkgNode.getProcessInstanceId()).list();
+ List<FlowProgramFile> files = flowProgramFileService.lambdaQuery().eq(FlowProgramFile::getProcessInstanceId,processInstanceId).list();
for(FlowProgramFile flowProgramFile : files){
NcNode newProgNode = new NcNode();
BeanUtils.copyProperties(newPkgNode, newProgNode);
@@ -85,7 +99,7 @@
newProgNode.setName(flowProgramFile.getName());
newProgNode.setNodeType(NcNode.TYPE_PROGRAM_FILE);
newProgNode.setParentId(newPkgNode.getId());
- newProgNode.setParentIds(newPkgNode.getParentIds()+","+newPkgNode.getId());
+ newProgNode.setParentIds(newPkgNode.subNodeParentIds());
newProgNode.setIsLastEdition(1);
newProgNode.setVersionNumber(newPkgNode.getVersionNumber());
newProgNode.setFlowProgramFileId(flowProgramFile.getId());
@@ -93,8 +107,5 @@
nodeService.save(newProgNode);
}
-
- log.info("鍋忕鍥炰紶Listener瀹屾垚");
}
-
}
--
Gitblit v1.9.3