From d4ca3871c18474768c924fcbfd6e8d3178040092 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 15 九月 2025 01:19:56 +0800
Subject: [PATCH] 性能优化
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/NormalFinishDataHandler.java | 25 ++++++++++++++++---------
1 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/NormalFinishDataHandler.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/NormalFinishDataHandler.java
index 24b98da..890e623 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/NormalFinishDataHandler.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/NormalFinishDataHandler.java
@@ -17,6 +17,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import java.time.LocalDateTime;
import java.util.List;
/**
@@ -35,10 +36,11 @@
private NcNodeAutoCreateService ncNodeAutoCreateService;
/**
* DispatchFinishListener涓皟鐢�
- * @param props 鎵ц瀵硅薄
+ * @param props 娴佺▼灞炴��
*/
public void handleData(FlowProgramProperties props) {
// 鎵ц涓氬姟閫昏緫
+ LocalDateTime now = LocalDateTime.now();
NcNode packageNode;
if(FlowContants.Y.equals(props.getHasCuredProgram())){
//鏈夊浐鍖�
@@ -49,8 +51,10 @@
packageNode.lock();
ncNodeService.updateById(packageNode);
- Integer newVersion = packageNode.genNewVersionNumber();
- //TODO 鐗堟湰鍙锋牴鎹浂缁勪欢鍙�+宸ュ簭鍙凤紝宸ュ簭鐗堟锛屾満搴婄粍 鐩存帴鏌ヨ鏁伴噺锛�+1鑾峰彇
+ //鐗堟湰鍙锋牴鎹浂缁勪欢鍙�+宸ュ簭鍙凤紝宸ュ簭鐗堟锛屾満搴婄粍 鐩存帴鏌ヨ鏁伴噺锛�+1鑾峰彇
+ Integer newVersion = ncNodeService.calculateVersionNumber(packageNode);
+ //Integer newVersion = packageNode.genNewVersionNumber();
+
packageNode = ncNodeAutoCreateService.createNodeTreeWithProgram(props,newVersion);
}else{
//鍙敤锛屽崌鐗堬紙淇敼鍏跺伐搴忕増娆★級锛屽師鏉ョ殑鑺傜偣娓呴櫎
@@ -59,6 +63,9 @@
}else{
//鏅�氳瘯鍒�
packageNode = ncNodeAutoCreateService.createNodeTreeWithProgram(props,1);
+ long hisSerial = ncNodeService.calculateHistorySerial(packageNode);
+ packageNode.setHisSerial(hisSerial);
+ ncNodeService.updateById(packageNode);
}
addApproveTable(packageNode,props);
@@ -77,13 +84,13 @@
FlowProgramProperties tempProps = new FlowProgramProperties();
BeanUtils.copyProperties(props,tempProps);
tempProps.setProcessDefinitionKey(FlowContants.CURE_PROCESS_KEY);//涓存椂淇敼鍏朵负鍥哄寲,鍦ㄥ浐鍖栦笅鍒涘缓鑺傜偣
- NcNode machineNode = ncNodeAutoCreateService.createNodeTreeToMachine(tempProps);
+ NcNode machineGroupNode = ncNodeAutoCreateService.createNodeTreeToMachineGroup(tempProps);
//绉诲姩鍘嗗彶鑺傜偣鍒版柊鐨勭増娆¤妭鐐逛笅
- List<NcNode> packageHisNodes = ncNodeService.getNodeHistory(packageNode);//璇ュ寘鐨勫巻鍙茶妭鐐瑰垪琛�
+ List<NcNode> packageHisNodes = ncNodeService.getTryNodeHistory(packageNode);//璇ュ寘鐨勫巻鍙茶妭鐐瑰垪琛�
for(NcNode hisPackageNode : packageHisNodes){
- hisPackageNode.setParentId(machineNode.getParentId());
- hisPackageNode.setParentIds(machineNode.getParentIds());
+ hisPackageNode.setParentId(machineGroupNode.getId());
+ hisPackageNode.setParentIds(machineGroupNode.getParentIds()+","+machineGroupNode.getId());
List<NcNode> oriProgramNodes = ncNodeService.lambdaQuery().eq(NcNode::getParentId,hisPackageNode.getId()).list();
@@ -96,8 +103,8 @@
//绉诲姩绋嬪簭鍖呭悕鑺傜偣
packageNode.setProcessEdition(tempProps.getProcessEdition());
- packageNode.setParentId(machineNode.getParentId());
- packageNode.setParentIds(machineNode.getParentIds());
+ packageNode.setParentId(machineGroupNode.getId());
+ packageNode.setParentIds(machineGroupNode.getParentIds()+","+machineGroupNode.getId());
packageNode.setName(tempProps.getDrawingNo()+"-"+tempProps.getProcessNo()+"-"+tempProps.getProcessEdition());
this.ncNodeService.updateById(packageNode);
--
Gitblit v1.9.3