From 96481362fed4eab7b96cc9016ece1917b43bbcc5 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 04 八月 2025 14:54:38 +0800
Subject: [PATCH] dnc导出,增加写入下发目录的代码
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeAutoCreateService.java | 79 ++++++++++++++++++++-------------------
1 files changed, 41 insertions(+), 38 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 15bb5bf..48b154c 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
@@ -3,26 +3,19 @@
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.springblade.core.mp.base.BizServiceImpl;
-import org.springblade.core.tool.utils.Func;
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.mapper.NcNodeMapper;
-import org.springblade.mdm.program.vo.NcNodeQueryVO;
-import org.springblade.mdm.program.vo.NcNodeVO;
-import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
-import java.util.ArrayList;
import java.util.List;
-import java.util.Objects;
import java.util.Optional;
/**
- * 绋嬪簭鑺傜偣
+ * 绋嬪簭鑺傜偣鑷姩鍒涘缓鏈嶅姟锛屽湪 璇曞垏娴佺▼ 绋嬪簭缂栧埗 鑺傜偣 瀹℃牳閫氳繃鍚庤皟鐢�
*
* @author yangys
*/
@@ -33,7 +26,7 @@
private final NcNodeService ncNodeService;
private final FlowCommonService flowCommonService;
private final FlowProgramFileService flowProgramFileService;
-
+ private final ProgramSeqService programSeqService;
public static final String SHIQIE_NAME = "璇曞垏";
public static final String GUHUA_NAME = "鍥哄寲";
public static final String PIANLI_NAME = "鍋忕";
@@ -41,6 +34,7 @@
* 鏍规嵁娴佺▼淇℃伅锛岃嚜鍔ㄥ垱寤哄悇涓妭鐐�
* @param processInstanceId
*/
+ @Transactional
public void createNodeTree(String processInstanceId) {
FlowProgramProperties programProperties = flowCommonService.getProgramProperties(processInstanceId);
@@ -56,16 +50,19 @@
private void createProgramFileNode(FlowProgramFile programFile, NcNode programPkdNode, FlowProgramProperties programProperties) {
NcNode node = new NcNode();
node.setNodeType(NcNode.TYPE_PROGRAM_FILE);
- node.setName(programFile.getProgramName());
+ node.setName(programFile.getName());//鏂囦欢鍚嶏紝
node.setParentId(programPkdNode.getId());
node.setParentIds(programPkdNode.getParentIds()+","+programPkdNode.getId());
-
+ node.setIsLastEdition(1);
node.setDrawingNo(programPkdNode.getDrawingNo());
node.setDrawingNoEdition(programProperties.getDrawingNoEdition());
+ node.setCraftEdition(programProperties.getCraftEdition());
+ node.setProcessName(programProperties.getProcessName());
node.setProcessNo(programProperties.getProcessNo());
node.setMachineCode(programProperties.getMachineCode());
node.setProductModel(programProperties.getProductModel());
node.setFlowProgramFileId(programFile.getId());
+
ncNodeService.save(node);
}
@@ -91,46 +88,31 @@
//鍒涘缓浜у搧鍨嬪彿鑺傜偣
//NcNode productModelNode = createProductModelNode(programProperties.getProductModel(), root);
- NcNode productModelNode = createNodeIfNotExists(programProperties.getProductModel(),NcNode.TYPE_PRODUCT_MODEL, root,null);
+ NcNode productModelNode = createNodeIfNotExists(programProperties.getProductModel(),NcNode.TYPE_PRODUCT_MODEL, root,programProperties);
//闆剁粍浠跺彿鑺傜偣
- NcNode drawingNoNode = createNodeIfNotExists(programProperties.getDrawingNo(),NcNode.TYPE_DRAWING_NO, productModelNode,null);
+ NcNode drawingNoNode = createNodeIfNotExists(programProperties.getDrawingNo(),NcNode.TYPE_DRAWING_NO, productModelNode,programProperties);
//宸ヨ壓鐗堟鑺傜偣
- NcNode craftEditionNode = createNodeIfNotExists(programProperties.getCraftEdition(),NcNode.TYPE_CRAFT_EDITION, drawingNoNode,null);
+ NcNode craftEditionNode = createNodeIfNotExists(programProperties.getCraftEdition(),NcNode.TYPE_CRAFT_EDITION, drawingNoNode,programProperties);
//宸ュ簭鍙疯妭
- NcNode processNoNode = createNodeIfNotExists(programProperties.getCraftEdition(),NcNode.TYPE_PROCESS_NO, craftEditionNode,null);
+ NcNode processNoNode = createNodeIfNotExists(programProperties.getProcessNo(),NcNode.TYPE_PROCESS_NO, craftEditionNode,programProperties);
//宸ュ簭鐗堟鑺傜偣
- NcNode processEditionNode = createNodeIfNotExists(programProperties.getCraftEdition(),NcNode.TYPE_PROCESS_EDITION, processNoNode,null);
+ NcNode processEditionNode = createNodeIfNotExists(programProperties.getProcessEdition(),NcNode.TYPE_PROCESS_EDITION, processNoNode,programProperties);
//鍔犲伐鏈哄簥鑺傜偣
- NcNode machineCodeNode = createNodeIfNotExists(programProperties.getCraftEdition(),NcNode.TYPE_MACHINE_CODE, processEditionNode,null);
+ NcNode machineCodeNode = createNodeIfNotExists(programProperties.getMachineCode(),NcNode.TYPE_MACHINE_CODE, processEditionNode,programProperties);
//绋嬪簭鍖呭悕鑺傜偣
- NcNode programPkgNode = createNodeIfNotExists(programProperties.getCraftEdition(),NcNode.TYPE_PROGRAM_PACKAGE, machineCodeNode,programProperties.getProcessInstanceId());
-
- return programPkgNode;
- //绋嬪簭鏂囦欢鑺傜偣锛屽涓枃浠堕渶瑕佸惊鐜垱寤�
-
+ String programPkgName = programProperties.getDrawingNo()+"-"+programProperties.getProcessNo();//闆朵欢鍙峰姞宸ュ簭鍙�
+ return createNodeIfNotExists(programPkgName ,NcNode.TYPE_PROGRAM_PACKAGE, machineCodeNode,programProperties);
}
- /*
- NcNode createProductModelNode(String name,NcNode parentNode){
- NcNode ncNode = new NcNode();
- ncNode.setName(name);
- ncNode.setParentId(parentNode.getId());
- ncNode.setParentIds(parentNode.getParentIds()+","+parentNode.getId());
- ncNode.setNodeType("15");
- ncNodeService.save(ncNode);
-
- return ncNode;
- }
-
- */
/**
* 涓嶅瓨鍦ㄥ垯鍒涘缓鑺傜偣
* @param name 鑺傜偣鍚嶇О
* @param nodeType 鑺傜偣绫诲瀷
* @param parentNode 鐖惰妭鐐�
+ * @param programProperties 娴佺▼绋嬪簭灞炴��
* @return
*/
- NcNode createNodeIfNotExists(String name,String nodeType,NcNode parentNode,String processInstanceId) {
+ NcNode createNodeIfNotExists(String name,String nodeType,NcNode parentNode,FlowProgramProperties programProperties) {
Optional<NcNode> nodeOpt = this.ncNodeService.lambdaQuery().eq(NcNode::getName,name).eq(NcNode::getNodeType,nodeType).eq(NcNode::getParentId,parentNode.getId()).oneOpt();
if(nodeOpt.isPresent()){
return nodeOpt.get();
@@ -140,7 +122,28 @@
ncNode.setParentId(parentNode.getId());
ncNode.setParentIds(parentNode.getParentIds() + "," + parentNode.getId());
ncNode.setNodeType(nodeType);
- ncNode.setProcessInstanceId(processInstanceId);
+
+
+ //绋嬪簭鍖呰妭鐐瑰拰绋嬪簭鏂囦欢鑺傜偣鏁版嵁
+ if(NcNode.TYPE_PROGRAM_PACKAGE.equals(nodeType) || NcNode.TYPE_PROGRAM_FILE.equals(nodeType)){
+
+ String programNo = programSeqService.generageProgramNo();
+ ncNode.setProgramNo(programNo);
+ ncNode.setProcessInstanceId(programProperties.getProcessInstanceId());
+ ncNode.setDrawingNo(programProperties.getDrawingNo());
+ ncNode.setDrawingNoEdition(programProperties.getDrawingNoEdition());
+ ncNode.setCraftEdition(programProperties.getCraftEdition());
+ ncNode.setProcessNo(programProperties.getProcessNo());
+ ncNode.setProcessEdition(programProperties.getProcessEdition());
+ ncNode.setProcessName(programProperties.getProcessName());
+ ncNode.setMachineCode(programProperties.getMachineCode());
+ ncNode.setProductModel(programProperties.getProductModel());
+
+
+ }
+
+ ncNode.setIsLastEdition(1);
+
ncNodeService.save(ncNode);
return ncNode;
--
Gitblit v1.9.3