| ÎļþÃû´Ó blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/TempFinishDataHandler.java ÐÞ¸Ä |
| | |
| | | package org.springblade.mdm.flow.excution.dispatch; |
| | | package org.springblade.mdm.flow.excution.append; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.flowable.engine.RuntimeService; |
| | | import org.flowable.engine.delegate.DelegateExecution; |
| | | import org.springblade.core.tool.utils.Func; |
| | | 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.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.NcNodeAutoCreateService; |
| | | import org.springblade.mdm.program.service.NcNodeService; |
| | | import org.springblade.mdm.program.service.NcProgramApprovedService; |
| | | import org.springblade.mdm.utils.EntityUtil; |
| | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * ä¸´æ¶æ´¾å·¥å®¡æ¹éè¿æ§è¡çäºä»¶ï¼åè½ï¼å»ºç«ä¸´æ¶èç¹ï¼æå
¥å®¡æ¹å®æè®°å½ |
| | | * ç¨åºè¡¥å
æµç¨(ä¸´æ¶æµç¨) 审æ¹éè¿æ§è¡çäºä»¶ |
| | | */ |
| | | @Slf4j |
| | | @Component("tempDispatchFinishDataHandler") |
| | | public class TempFinishDataHandler implements FinishDataHandler{ |
| | | @Autowired |
| | | private NcProgramApprovedService approvedService; |
| | | @Component("appendFinishListener") |
| | | public class AppendFinishListener { |
| | | @Autowired |
| | | private FlowProgramFileService flowProgramFileService; |
| | | @Autowired |
| | | private NcProgramApprovedService approvedService; |
| | | @Autowired |
| | | private FlowCommonService flowCommonService; |
| | | @Autowired |
| | | private NcNodeService ncNodeService; |
| | | |
| | | /** |
| | | * 卿µç¨ç»ææ¶èªå¨è°ç¨ï¼ç± |
| | | * @param props æµç¨å±æ§ |
| | | * 卿µç¨ç»ææ¶èªå¨è°ç¨,ï¼é
ç½®å¨å®¡æ¹ç»æäºä»¶çexecutelistenerä¸äºï¼ |
| | | * @param execution æ§è¡å¯¹è±¡ |
| | | */ |
| | | public void handleData(FlowProgramProperties props ) { |
| | | public void handle(DelegateExecution execution) { |
| | | // æ§è¡ä¸å¡é»è¾ |
| | | String instId = execution.getProcessInstanceId(); |
| | | log.info("äºä»¶åç§°{}ï¼instid={}" , execution.getEventName(),instId); |
| | | |
| | | FlowProgramProperties props = flowCommonService.getProgramProperties(instId); |
| | | |
| | | String programName = NcNodeService.genProgramName(props.getDrawingNo(),props.getProcessNo()); |
| | | |
| | | //ä¸´æ¶æµç¨ï¼ä¸å¤çæ ï¼åªå¤çæä»¶.ç±äºå¯¼åºæ¯åºäºèç¹çï¼è¿éå建临æ¶èç¹ï¼ä¸å¨æ ç«å±ç¤º |
| | | //ä¸´æ¶æµç¨ï¼ä¸å¤çæ ï¼åªå¤çæä»¶ |
| | | NcNode tempPkgNode = new NcNode(); |
| | | tempPkgNode.setNodeType(NcNode.TYPE_PROGRAM_PACKAGE); |
| | | tempPkgNode.setIsLastEdition(0); |
| | | tempPkgNode.setIsLastEdition(1); |
| | | tempPkgNode.setProcessNo(props.getProcessNo()); |
| | | tempPkgNode.setMachineCode(props.getMachineCode()); |
| | | tempPkgNode.setProcessName(props.getProcessName()); |
| | | tempPkgNode.setProcessEdition(props.getProcessEdition()); |
| | | tempPkgNode.setDrawingNoEdition(props.getDrawingNoEdition()); |
| | | tempPkgNode.setName(programName); |
| | | tempPkgNode.setParentIds("0,4"); |
| | | tempPkgNode.setIsLocked(0); |
| | | tempPkgNode.setCraftEdition(props.getCraftEdition()); |
| | | tempPkgNode.setDrawingNo(props.getDrawingNo()); |
| | | tempPkgNode.setProcessInstanceId(props.getProcessInstanceId()); |
| | | tempPkgNode.setProcessInstanceId(instId); |
| | | ncNodeService.save(tempPkgNode); |
| | | |
| | | List<FlowProgramFile> newFlowFileList = flowProgramFileService.listByProcessInstanceId(props.getProcessInstanceId()); |
| | |
| | | |
| | | tempProgramNode.setNodeType(NcNode.TYPE_PROGRAM_FILE); |
| | | tempProgramNode.setName(newFlowFile.getName()); |
| | | BeanUtils.copyProperties(tempPkgNode,tempProgramNode); |
| | | |
| | | tempProgramNode.setParentId(tempPkgNode.getId()); |
| | | tempProgramNode.setIsLastEdition(1);//å¯¼åºæ¶éè¦ä½¿ç¨ææ°èç¹ |
| | | tempProgramNode.setParentIds(tempPkgNode.getParentIds()+","+tempPkgNode.getId()); |
| | | tempProgramNode.setProcessInstanceId(props.getProcessInstanceId()); |
| | | tempProgramNode.setFlowProgramFileId(newFlowFile.getId()); |
| | | |
| | | ncNodeService.save(tempProgramNode); |
| | | } |
| | | addApproveTable(tempPkgNode,props); |
| | | log.info("æµç¨å·²å®æin DispatchFinishListener"); |
| | | } |
| | | |
| | | addApproveTable(tempPkgNode,props); |
| | | log.info("ç¨åºè¡¥å
æµç¨å·²å®æin AppendFinishListener"); |
| | | } |
| | | |
| | | /** |
| | | * ä¿å审æ¹å®æçè®°å½ |
| | |
| | | approvedService.save(approved); |
| | | |
| | | } |
| | | |
| | | } |