yangys
2025-08-29 b7af95d487f49490de16f9636147e5a40911e157
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
@@ -292,6 +292,29 @@
   }
   /**
    * 获取最新的固化程序,不用工序版次匹配
    * @param programPkgName
    * @param machineCode
    * @return
    */
   public NcNode getLastCuredProgramPackageWithoutProcessEdition(String programPkgName,String machineCode) {
      Machine machine = machineService.getByCode(machineCode);
      List<Machine> sameGroupMachines = machineService.lambdaQuery().eq(Machine::getMachineGroupCode,machine.getMachineGroupCode()).list();
      List<String> machineCodesInGroup = sameGroupMachines.stream().map(Machine::getCode).toList();
      List<NcNode> nodes = lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE)
         .eq(NcNode::getName, programPkgName)
         .likeRight(NcNode::getParentIds,"0,2,").eq(NcNode::getIsCured,1)
         .in(!machineCodesInGroup.isEmpty(),NcNode::getMachineCode,machineCodesInGroup)
         .eq(NcNode::getIsLastEdition,1).orderByDesc(NcNode::getCreateTime).list();
      if(nodes.isEmpty()){
         return null;
      }else {
         return nodes.get(0);
      }
   }
   /**
    * 获取最新版本的 偏离节点
    * @param programPkgName 程序包名
    * @return 偏离的程序节点
@@ -337,7 +360,6 @@
      return this.lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_FILE)
         .eq(NcNode::getParentId,packageNodeId).eq(NcNode::getIsLastEdition,1).list();
   }
   /**
    * 升级版本号(+1)
    * @param nodeId 节点id
@@ -384,4 +406,12 @@
         .le(NcNode::getCreateTime,programPkgNode.getCreateTime())  //时间小于等于当前节点
         .count();
    }
   /**
    * 根据上级节点id,移动下面的加工机床节点
    * @param parentId 上级节点id
    */
   public void deleteMachineNodeByParentId(Long parentId) {
      baseMapper.deleteMachineNodeByParentId(parentId);
   }
}