yangys
2025-08-10 79175184a6b131cef9a318ffd34529f10373c331
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeAutoCreateService.java
@@ -3,6 +3,8 @@
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.utils.Func;
import org.springblade.mdm.flow.constants.FlowContants;
import org.springblade.mdm.flow.entity.FlowProgramFile;
import org.springblade.mdm.flow.service.FlowCommonService;
@@ -30,7 +32,7 @@
   private final ProgramSeqService programSeqService;
   public static final String TRY_NAME = "试切";
   public static final String CURE_NAME = "固化";
   public static final String PIANLI_NAME = "偏离";
   public static final String DEVIATION_NAME = "偏离";
   /**
    * 创建树到机床级别
@@ -41,10 +43,18 @@
      NcNode root;
      if(programProperties.getProcessDefinitionKey().equals(FlowContants.TRY_PROCESS_KEY)){
         //试切
         root = rootNodeByName(TRY_NAME);
         if(root == null){
            root = createTryNode();
         if(Func.isEmpty(programProperties.getDeviation())){
            //试切
            root = rootNodeByName(TRY_NAME);
            if (root == null) {
               root = createTryNode();
            }
         }else{
            //有偏离
            root = rootNodeByName(DEVIATION_NAME);
            if(root == null){
               root = createDeviationNode();
            }
         }
      }else if(programProperties.getProcessDefinitionKey().equals(FlowContants.CURE_PROCESS_KEY)){
         root = rootNodeByName(CURE_NAME);
@@ -52,13 +62,8 @@
            root = createCureNode();
         }
      }else{
         root = rootNodeByName(PIANLI_NAME);
         if(root == null){
            root = createPianliNode();
         }
         throw new ServiceException("流程定义不在范围内");
      }
      NcNode lastNode = null;
      //创建产品型号节点
      NcNode productModelNode = createNodeIfNotExists(programProperties.getProductModel(),NcNode.TYPE_PRODUCT_MODEL, root,programProperties);
      //零组件号节点
@@ -167,6 +172,8 @@
            ncNode.setProcessName(programProperties.getProcessName());
            ncNode.setMachineCode(programProperties.getMachineCode());
            ncNode.setProductModel(programProperties.getProductModel());
            ncNode.setDeviation(programProperties.getDeviation());
            //ncNode.setMachineMode(programProperties.getMachineMode());
         }
@@ -215,10 +222,10 @@
      return ncNode;
   }
   NcNode createPianliNode() {
   NcNode createDeviationNode() {
      NcNode ncNode = new NcNode();
      ncNode.setId(3L);
      ncNode.setName(PIANLI_NAME);
      ncNode.setName(DEVIATION_NAME);
      ncNode.setParentId(0L);
      ncNode.setParentIds("0");
      ncNode.setNodeType("10");