| | |
| | | import org.springblade.mdm.flow.constants.FlowContants; |
| | | import org.springblade.mdm.flow.entity.ApproveRecord; |
| | | import org.springblade.mdm.flow.entity.FlowProgramFile; |
| | | import org.springblade.mdm.flow.service.ApproveRecordService; |
| | | import org.springblade.mdm.flow.service.FlowProgramFileService; |
| | | import org.springblade.mdm.flow.service.ReplaceFlowService; |
| | | import org.springblade.mdm.flow.service.*; |
| | | import org.springblade.mdm.program.entity.NcNode; |
| | | import org.springblade.mdm.program.entity.NcProgramApproved; |
| | | import org.springblade.mdm.program.service.NcNodeService; |
| | |
| | | private NcProgramApprovedService ncProgramApprovedService; |
| | | @Autowired |
| | | private NcNodeService ncNodeService; |
| | | @Autowired |
| | | private FlowCommonService flowCommonService; |
| | | /** |
| | | * 在流程结束时自动调用,(配置在审批结束事件的executelistener中了) |
| | | * @param execution 执行对象 |
| | |
| | | public void handle(DelegateExecution execution) { |
| | | // 执行业务逻辑 |
| | | String instId = execution.getProcessInstanceId(); |
| | | FlowProgramProperties props = flowCommonService.getProgramProperties(instId); |
| | | Long nodeId = runtimeService.getVariable(execution.getId(),FlowContants.NODE_ID,Long.class); |
| | | log.info("事件名称{},instid={}" , execution.getEventName(),instId); |
| | | List<FlowProgramFile> programFiles = flowProgramFileService.lambdaQuery().eq(FlowProgramFile::getProcessInstanceId, instId).list(); |
| | | |
| | | //List<FlowProgramFile> programFiles = flowProgramFileService.lambdaQuery().eq(FlowProgramFile::getProcessInstanceId, instId).list(); |
| | | List<FlowProgramFile> programFiles = flowProgramFileService.listByProcessInstanceId(instId); |
| | | NcNode newProgramPackage = replaceProgram(nodeId,instId,programFiles); |
| | | |
| | | |
| | | addToApproved(newProgramPackage,Func.toStr(execution.getVariables().get(FlowContants.TITLE))); |
| | | addToApproved(newProgramPackage,props); |
| | | log.info("流程已完成 in replaceFinishListener"); |
| | | } |
| | | |
| | | /** |
| | | * 增加审批通过记录,供用户导出到工控网 |
| | | * @param newProgramPackage 新的程序包节点 |
| | | * @param title 标题 |
| | | * @param props 流程属性集合 |
| | | */ |
| | | void addToApproved(NcNode newProgramPackage,String title){ |
| | | void addToApproved(NcNode newProgramPackage,FlowProgramProperties props){ |
| | | NcProgramApproved approve = new NcProgramApproved(); |
| | | approve.setProgramName(newProgramPackage.getName()); |
| | | approve.setNcNodeId(newProgramPackage.getId()); |
| | | approve.setTitle(title); |
| | | approve.setTitle(props.getTitle()); |
| | | approve.setProgrammerId(props.getProgrammerId()); |
| | | |
| | | ncProgramApprovedService.save(approve); |
| | | } |