| | |
| | | import org.springblade.mdm.program.entity.NcNode; |
| | | import org.springblade.mdm.program.service.NcNodeService; |
| | | import org.springblade.mdm.program.service.NodeDeptQueryService; |
| | | import org.springblade.mdm.program.service.ProgramFlowStatusQueryService; |
| | | import org.springblade.mdm.program.vo.NcNodeVO; |
| | | import org.springblade.mdm.utils.EntityUtil; |
| | | import org.springblade.mdm.utils.ProgramFileNameCheckUtil; |
| | |
| | | private final IdentityService identityService; |
| | | private final FlowProgramFileService flowProgramFileService; |
| | | private final ReplaceProgramFileService replaceProgramFileService; |
| | | private final ProgramFlowStatusQueryService flowStatusQueryService; |
| | | private final NodeDeptQueryService nodeDeptQueryService; |
| | | private OssTemplate ossTemplate; |
| | | public static final String NODE_ID = "nodeId"; |
| | |
| | | |
| | | */ |
| | | |
| | | /** |
| | | * 准备替换流程需要的数据 |
| | | * @param nodeId 要替换的程序包名节点id |
| | | * @param tempInstanceId 临时流程实例id,用于新的文件 |
| | | * @return 启动数据 |
| | | */ |
| | | @Transactional |
| | | public NcNodeVO pre(long nodeId, String tempInstanceId) { |
| | | checkFlowStatus(nodeId); |
| | | |
| | | List<NcNode> fileNodes = nodeService.lambdaQuery() |
| | | .eq(NcNode::getParentId, nodeId) |
| | |
| | | vo.setWorkshop(nodeDeptQueryService.getWorkshopNameByMachineCode(node.getMachineCode())); |
| | | |
| | | return vo; |
| | | } |
| | | |
| | | void checkFlowStatus(long nodeId) { |
| | | NcNode packageNode = nodeService.getById(nodeId); |
| | | int status = flowStatusQueryService.queryFlowStatus(packageNode.getProcessInstanceId()); |
| | | if (status == 1) { |
| | | throw new ServiceException("程序的流程正在进行中,不能进行替换"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | progFile.setName(file.getOriginalFilename()); |
| | | progFile.setOssName(bfile.getName()); |
| | | progFile.setProcessInstanceId(uploadVO.getProcessInstanceId()); |
| | | progFile.setIsCured(0); |
| | | progFile.setProgramName(programName); |
| | | |
| | | flowProgramFileService.save(progFile); |