| | |
| | | |
| | | 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; |
| | |
| | | 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 |
| | |
| | | //试切的 |
| | | pkgNode.setIsCured(1); |
| | | //设置过期日期 |
| | | pkgNode.upgradeVersionNUmber(); |
| | | pkgNode.setExpireDate(calculateExpireDate()); |
| | | nodeService.updateById(pkgNode); |
| | | |
| | |
| | | //处理程序包下层的程序节点 |
| | | 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); |
| | | } |
| | | } |
| | | |
| | | /** |