yangys
2025-09-29 4c7296d45efe849dc70a3b2e2240c905481a91c9
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeHisService.java
@@ -6,6 +6,7 @@
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BizServiceImpl;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.mdm.basesetting.machine.entity.Machine;
import org.springblade.mdm.basesetting.machine.service.MachineService;
@@ -36,7 +37,8 @@
    * @param time
    */
   public void mergeNodeToHisGeTime(Date time) {
      List<NcNode> nodes = ncNodeService.lambdaQuery().ge(NcNode::getUpdateTime,time)
      Date okTime = DateUtil.minusSeconds(time,10);//避免mysql数据库时间不精确导致不能同步
      List<NcNode> nodes = ncNodeService.lambdaQuery().ge(NcNode::getUpdateTime,okTime)
         .in(NcNode::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE,NcNode.TYPE_PROGRAM_FILE).list();
      for(NcNode node : nodes){
@@ -53,21 +55,21 @@
   }
   /**
    * 查询偏离单的序号
    * @param programPkgNode 偏离单的程序包名节点
    * @return 序号
    * 计算版本号
    * @param pkgNode 节点
    * @return 版本号
    */
   public long getDeviationSerialForNode(NcNodeHis programPkgNode) {
      return lambdaQuery().eq(NcNodeHis::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE)
         .eq(NcNodeHis::getName,programPkgNode.getName())
   public int calculateVersionNumber(NcNode pkgNode) {
      NcNodeHis nodeHis = this.lambdaQuery().eq(NcNodeHis::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE).eq(NcNodeHis::getDrawingNo,pkgNode.getDrawingNo())
         .eq(NcNodeHis::getProcessNo,pkgNode.getProcessNo()).eq(NcNodeHis::getProcessEdition,pkgNode.getProcessEdition())
         .eq(NcNodeHis::getMachineGroupCode,pkgNode.getMachineGroupCode()).last("limit 1").one();
         .eq(NcNodeHis::getDrawingNo,programPkgNode.getDrawingNo())
         .eq(NcNodeHis::getProcessNo,programPkgNode.getProcessNo())
         .eq(NcNodeHis::getProcessEdition,programPkgNode.getProcessEdition())
         .isNotNull(NcNodeHis::getDeviation)
         .le(NcNodeHis::getCreateTime,programPkgNode.getCreateTime())  //时间小于等于当前节点
         .count();
      if(nodeHis != null && nodeHis.getVersionNumber()!=null){
         return nodeHis.getVersionNumber()+1;
      }else{
         //以往没有,生成一个新的
         return 1;
      }
   }
   /**