| | |
| | | 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.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.entity.NcProgramApproved; |
| | | import org.springblade.mdm.program.service.NcNodeService; |
| | |
| | | private ApproveRecordService approveRecordService; |
| | | @Autowired |
| | | private FlowProgramFileService flowProgramFileService; |
| | | |
| | | @Autowired |
| | | private FlowCommonService flowCommonService; |
| | | @Autowired |
| | | private NcNodeService ncNodeService; |
| | | /** |
| | |
| | | String instId = execution.getProcessInstanceId(); |
| | | log.info("事件名称{},instid={}" , execution.getEventName(),instId); |
| | | |
| | | updateFlowProgramFile(instId); |
| | | |
| | | //将关联表中的数据插入审批表 |
| | | NcNode packageNode = ncNodeService.getByProcessInstanceId(instId); |
| | | updateApproveRecordNodeId(packageNode); |
| | | //execution.getEventName() |
| | | //NcNode packageNode = ncNodeService.getByProcessInstanceId(instId); |
| | | |
| | | FlowProgramProperties props = flowCommonService.getProgramProperties(instId); |
| | | |
| | | String programName = NcNodeService.genProgramName(props.getDrawingNo(),props.getProcessNo()); |
| | | NcNode packageNode = ncNodeService.getProgramPackageByName(programName); |
| | | |
| | | addApproveTable(packageNode); |
| | | |
| | | updateApproveRecordNodeId(instId,packageNode.getId()); |
| | | |
| | | log.info("流程已完成in DispatchFinishListener"); |
| | | } |
| | | |
| | | void updateFlowProgramFile(String instId){ |
| | | List<FlowProgramFile> programFiles = flowProgramFileService.lambdaQuery().eq(FlowProgramFile::getProcessInstanceId, instId).list(); |
| | | if(!programFiles.isEmpty()) { |
| | | FlowProgramFile pf = programFiles.get(0); |
| | | //void updateFlowProgramFile(String instId){ |
| | | void addApproveTable(NcNode packageNode){ |
| | | //List<FlowProgramFile> programFiles = flowProgramFileService.lambdaQuery().eq(FlowProgramFile::getProcessInstanceId, instId).list(); |
| | | //if(!programFiles.isEmpty()) { |
| | | //FlowProgramFile pf = programFiles.get(0); |
| | | NcProgramApproved approved = new NcProgramApproved(); |
| | | approved.setProgramName(pf.getProgramName()); |
| | | |
| | | //approved.setProgramName(pf.getProgramName()); |
| | | approved.setProgramName(packageNode.getName()); |
| | | approved.setNcNodeId(packageNode.getId());//程序包节点id |
| | | approvedService.save(approved); |
| | | /* |
| | | NcNode pkgNode = ncNodeService.getProgramPackageByName(pf.getProgramName()); |
| | | if(pkgNode!=null) { |
| | | approved.setNcNodeId(pkgNode.getId());//程序包节点id |
| | |
| | | } |
| | | }else{ |
| | | log.warn("没有程序文件"); |
| | | } |
| | | }*/ |
| | | } |
| | | |
| | | void updateApproveRecordNodeId(NcNode pkgNode){ |
| | | |
| | | void updateApproveRecordNodeId(String processInstanceId,Long nodeId){ |
| | | //更新审批记录的ncNodeId |
| | | approveRecordService.lambdaUpdate() |
| | | .eq(ApproveRecord::getProcessInstanceId, pkgNode.getProcessInstanceId()) |
| | | .set(ApproveRecord::getNcNodeId,pkgNode.getId()).update(); |
| | | .eq(ApproveRecord::getProcessInstanceId, processInstanceId) |
| | | .set(ApproveRecord::getNcNodeId,nodeId).update(); |
| | | } |
| | | } |