yangys
2025-08-10 a638cb450abb78346ecf19754b639fc945bc486b
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java
@@ -15,6 +15,7 @@
import org.springframework.stereotype.Component;
import java.time.LocalDate;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -49,13 +50,19 @@
      //程序包节点和下属程序节点(包括历史节点非最新版本的)从试切挪到固化下面
      //程序包节点 设置未已固化
      NcNode pkgNode =  nodeService.lambdaQuery().eq(NcNode::getProcessInstanceId, processInstanceId).one();
      pkgNode.setIsCured(1);
      //设置过期日期
      pkgNode.setExpireDate(calculateExpireDate());
      nodeService.updateById(pkgNode);
      if(pkgNode.isDeviation()){
         //偏离的程序直接锁定
         pkgNode.setIsLocked(1);
         nodeService.updateById(pkgNode);
      }else {
         pkgNode.setIsCured(1);
         //设置过期日期
         pkgNode.setExpireDate(calculateExpireDate());
         nodeService.updateById(pkgNode);
      List<NcNode> historyNodes = nodeService.getNodeHistory(pkgNode);
      moveNodeToCuredTree(pkgNode,historyNodes,flowCommonService.getProgramProperties(processInstanceId));
         List<NcNode> historyNodes = nodeService.getNodeHistory(pkgNode);
         moveNodeToCuredTree(pkgNode, historyNodes, flowCommonService.getProgramProperties(processInstanceId));
      }
   }
   /**
@@ -68,6 +75,12 @@
      //移动到固化树下的机床节点下层
      String newParentIds = machineNode.getParentIds()+","+machineNode.getId();
      //更新机床 下属节点的数据 为旧版本,锁定(最新版本=0,lock=1)
      this.nodeService.lambdaUpdate().likeRight(NcNode::getParentIds, newParentIds)
         .in(NcNode::getNodeType, Arrays.asList(NcNode.TYPE_PROGRAM_PACKAGE,NcNode.TYPE_PROGRAM_FILE))
         .set(NcNode::getIsLastEdition,0).set(NcNode::getIsLocked,1).update();
      for(NcNode hisNode : historyNodes){
         if(!hisNode.getId().equals(pkgNode.getId())){
            hisNode.setIsLastEdition(0);