yangys
2025-08-09 33714e9bae91e01880bc0acb01eea18f0eabb4a5
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeAutoCreateService.java
@@ -34,7 +34,7 @@
   /**
    * 创建树到机床级别
    * @param programProperties
    * @param programProperties 程序属性
    */
   @Transactional
   public NcNode createNodeTreeToMachine(FlowProgramProperties programProperties) {
@@ -60,7 +60,6 @@
      NcNode lastNode = null;
      //创建产品型号节点
      //NcNode productModelNode = createProductModelNode(programProperties.getProductModel(), root);
      NcNode productModelNode = createNodeIfNotExists(programProperties.getProductModel(),NcNode.TYPE_PRODUCT_MODEL, root,programProperties);
      //零组件号节点
      NcNode drawingNoNode = createNodeIfNotExists(programProperties.getDrawingNo(),NcNode.TYPE_DRAWING_NO, productModelNode,programProperties);
@@ -82,7 +81,8 @@
      //,int rootNodeCatgory = 1:试切,2固化,3偏离
      NcNode programPkdNode = createTreeToPackage(programProperties);
      //删除之前创建过的程序文件节点(因为重复在编制节点审批),避免重复数据
      this.ncNodeService.lambdaUpdate().eq(NcNode::getParentId, programPkdNode.getId()).remove();
      //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) {
@@ -91,6 +91,12 @@
   }
   /**
    * 建立程序文件节点
    * @param programFile 流程文件
    * @param programPkdNode 程序包名 节点,程序节点的 上级
    * @param programProperties 流程发起的程序的属性
    */
   private void createProgramFileNode(FlowProgramFile programFile, NcNode programPkdNode, FlowProgramProperties programProperties) {
      //此处应避免重复创建
@@ -105,6 +111,7 @@
      node.setCraftEdition(programProperties.getCraftEdition());
      node.setProcessName(programProperties.getProcessName());
      node.setProcessNo(programProperties.getProcessNo());
      node.setProcessEdition(programProperties.getProcessEdition());
      node.setMachineCode(programProperties.getMachineCode());
      node.setProductModel(programProperties.getProductModel());
      node.setFlowProgramFileId(programFile.getId());
@@ -114,13 +121,13 @@
   /**
    * 创建节点到程序包级别
    * @param programProperties
    * @param createProgramPkg
    * @return
    * @param programProperties 程序属性
    * @return 程序包名节点(最末级)
    */
   @Transactional
   public NcNode createTreeToPackage(FlowProgramProperties programProperties) {
      NcNode machineCodeNode = createNodeTreeToMachine(programProperties);
      String programPkgName = programProperties.getDrawingNo()+"-"+programProperties.getProcessNo();//零件号加工序号
      String programPkgName = NcNodeService.genProgramName(programProperties.getDrawingNo(),programProperties.getProcessNo());
      return createNodeIfNotExists(programPkgName ,NcNode.TYPE_PROGRAM_PACKAGE, machineCodeNode,programProperties);
   }
@@ -160,7 +167,7 @@
            ncNode.setProcessName(programProperties.getProcessName());
            ncNode.setMachineCode(programProperties.getMachineCode());
            ncNode.setProductModel(programProperties.getProductModel());
            //ncNode.setMachineMode(programProperties.getMachineMode());
         }
         ncNode.setIsLastEdition(1);
@@ -220,4 +227,6 @@
      return ncNode;
   }
}