From 55e316d9f3ee4e3fd0ae21b193efa7b358a0ae00 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 23 八月 2025 00:17:41 +0800
Subject: [PATCH] 不可用流程修复
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeAutoCreateService.java | 30 ++++++++++++++++++------------
1 files changed, 18 insertions(+), 12 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeAutoCreateService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeAutoCreateService.java
index dbf595f..f2ba2b4 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeAutoCreateService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeAutoCreateService.java
@@ -11,6 +11,8 @@
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.utils.EntityUtil;
+import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -42,8 +44,10 @@
public NcNode createNodeTreeToMachine(FlowProgramProperties programProperties) {
NcNode root;
if(programProperties.getProcessDefinitionKey().equals(FlowContants.TRY_PROCESS_KEY)){
- if(Func.isEmpty(programProperties.getDeviation())){
- //璇曞垏
+ if(Func.isEmpty(programProperties.getDeviation()) ||
+ (FlowContants.Y.equals(programProperties.getHasCuredProgram()) && FlowContants.N.equals(programProperties.getCureProgramUseable()))){
+ //鏅�氳瘯鍒囷紝鎴栬�呮湁鍥哄寲涓嶅彲鐢紝寤虹珛璇曞垏鑺傜偣
+ //璇曞垏鏍硅妭鐐�
root = rootNodeByName(TRY_NAME);
if (root == null) {
root = createTryNode();
@@ -79,20 +83,21 @@
/**
* 鏍规嵁娴佺▼淇℃伅锛岃嚜鍔ㄥ垱寤哄悇涓妭鐐�,鍖呮嫭绋嬪簭鑺傜偣
* @param programProperties 绋嬪簭灞炴��
+ * @return 绋嬪簭鍖呰妭鐐瑰疄渚�
*/
@Transactional
- public void createNodeTreeWithProgram(FlowProgramProperties programProperties) {
+ public NcNode createNodeTreeWithProgram(FlowProgramProperties programProperties) {
//,int rootNodeCatgory = 1:璇曞垏锛�2鍥哄寲锛�3鍋忕
NcNode programPkdNode = createTreeToPackage(programProperties);
//鍒犻櫎涔嬪墠鍒涘缓杩囩殑绋嬪簭鏂囦欢鑺傜偣(鍥犱负閲嶅鍦ㄧ紪鍒惰妭鐐瑰鎵�)锛岄伩鍏嶉噸澶嶆暟鎹�
- //this.ncNodeService.lambdaUpdate().eq(NcNode::getParentId, programPkdNode.getId()).remove();
ncNodeService.deleteSubNodes(programPkdNode.getId());
List<FlowProgramFile> programFiles = flowProgramFileService.lambdaQuery().eq(FlowProgramFile::getProcessInstanceId, programProperties.getProcessInstanceId()).list();
for (FlowProgramFile programFile : programFiles) {
- createProgramFileNode(programFile, programPkdNode, programProperties);
+ createProgramFileNode(programFile, programPkdNode, programProperties);//鎵�鏈夋枃浠跺寘鎷▼搴忓拰鍏朵粬锛岄兘闇�瑕佸缓绔嬭妭鐐�
}
+ return programPkdNode;
}
/**
@@ -105,10 +110,14 @@
//姝ゅ搴旈伩鍏嶉噸澶嶅垱寤�
NcNode node = new NcNode();
+ BeanUtils.copyProperties(programPkdNode, node);
+ EntityUtil.clearBaseProperties(node);
+
node.setNodeType(NcNode.TYPE_PROGRAM_FILE);
node.setName(programFile.getName());//鏂囦欢鍚嶏紝
node.setIsLastEdition(1);
+ /*
node.setDrawingNo(programPkdNode.getDrawingNo());
node.setDrawingNoEdition(programProperties.getDrawingNoEdition());
node.setCraftEdition(programProperties.getCraftEdition());
@@ -117,16 +126,13 @@
node.setProcessEdition(programProperties.getProcessEdition());
node.setMachineCode(programProperties.getMachineCode());
node.setProductModel(programProperties.getProductModel());
+
+ */
node.setFlowProgramFileId(programFile.getId());
node.setVersionNumber(1);
- /*
- if("program".equals(programFile.getFileType())){
- node.setParentId(programPkdNode.getId());
- node.setParentIds(programPkdNode.getParentIds()+","+programPkdNode.getId());
- }else{
- //鍏朵粬鏂囦欢锛屽拰绋嬪簭鍖呭悕鍚岀骇骞跺垪
+ node.setParentId(programPkdNode.getId());
+ node.setParentIds(programPkdNode.getParentIds()+","+programPkdNode.getId());
- }*/
ncNodeService.save(node);
}
--
Gitblit v1.9.3