yangys
2025-08-14 8ab608ce1b8425fe13b0766024554031f23289dc
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java
@@ -2,11 +2,14 @@
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.checkerframework.checker.units.qual.N;
import org.flowable.engine.delegate.DelegateExecution;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.mdm.commons.contants.ParamConstants;
import org.springblade.mdm.flow.entity.FlowProgramFile;
import org.springblade.mdm.flow.service.FlowCommonService;
import org.springblade.mdm.flow.service.FlowProgramFileService;
import org.springblade.mdm.flow.service.FlowProgramProperties;
import org.springblade.mdm.program.entity.NcNode;
import org.springblade.mdm.program.service.NcNodeAutoCreateService;
@@ -26,11 +29,14 @@
   private final NcNodeService nodeService;
   private final NcNodeAutoCreateService ncNodeAutoCreateService;
   private final FlowCommonService flowCommonService;
   private final FlowProgramFileService flowProgramFileService;
   private final ISysClient sysClient;
   /**
    * 默认有效期间(月数),2年
    */
   private static final int DEFAULT_VALID_MONTH = 24;
   private final NcNodeService ncNodeService;
   /**
    * 固化审批通过处理任务,
    * @param execution 流程execution
@@ -58,6 +64,7 @@
         //试切的
         pkgNode.setIsCured(1);
         //设置过期日期
         pkgNode.upgradeVersionNUmber();
         pkgNode.setExpireDate(calculateExpireDate());
         nodeService.updateById(pkgNode);
@@ -90,12 +97,27 @@
         //处理程序包下层的程序节点
         List<NcNode> programNodes = nodeService.lambdaQuery().eq(NcNode::getParentId,hisPackageNode.getId()).list();
         for(NcNode programNode : programNodes){
            programNode.setIsLastEdition(0);
            programNode.setParentIds(hisPackageNode.getParentIds()+","+hisPackageNode.getId());
         }
         nodeService.updateBatchById(programNodes);
      }
      nodeService.updateBatchById(historyProgramPackageNodes);
      //新的流程文件,需要在包节点下新建,不能用老的
      List<FlowProgramFile> files = flowProgramFileService.lambdaQuery().eq(FlowProgramFile::getProcessInstanceId,pkgNode.getProcessInstanceId()).list();
      for(FlowProgramFile flowProgramFile : files){
         NcNode newProgNode = new NcNode();
         newProgNode.setName(flowProgramFile.getName());
         newProgNode.setNodeType(NcNode.TYPE_PROGRAM_FILE);
         newProgNode.setParentId(pkgNode.getId());
         newProgNode.setParentIds(pkgNode.getParentIds()+","+pkgNode.getId());
         newProgNode.setIsLastEdition(1);
         newProgNode.setVersionNumber(pkgNode.getVersionNumber());
         newProgNode.setFlowProgramFileId(flowProgramFile.getId());
         newProgNode.setIsCured(1);
         ncNodeService.save(newProgNode);
      }
   }
   /**