yangys
2025-08-20 295bf6f10ad0b668d2dbaa4525a15d6d52807ef1
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/DispatchFinishListener.java
copy from blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/DispatchFinishListener.java copy to blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/DispatchFinishListener.java
Îļþ´Ó blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/DispatchFinishListener.java ¸´ÖÆ
@@ -1,9 +1,8 @@
package org.springblade.mdm.flow.excution;
package org.springblade.mdm.flow.excution.dispatch;
import lombok.extern.slf4j.Slf4j;
import org.flowable.engine.RuntimeService;
import org.flowable.engine.delegate.DelegateExecution;
import org.flowable.engine.history.HistoricProcessInstance;
import org.springblade.core.tool.utils.Func;
import org.springblade.mdm.flow.constants.FlowContants;
import org.springblade.mdm.flow.entity.ApproveRecord;
@@ -44,6 +43,9 @@
   private NcNodeService ncNodeService;
   @Autowired
   private NcNodeAutoCreateService ncNodeAutoCreateService;
   @Autowired
   private DataHandlerHelper dataHandlerHelper;
   /**
    * åœ¨æµç¨‹ç»“束时自动调用,(配置在审批结束事件的executelistener中了)
    * @param execution æ‰§è¡Œå¯¹è±¡
@@ -54,15 +56,49 @@
      log.info("事件名称{},instid={}" , execution.getEventName(),instId);
      FlowProgramProperties props = flowCommonService.getProgramProperties(instId);
      FinishDataHandler dataHandler = dataHandlerHelper.getDataHandler(props);
      createProgramNodes(props);
      dataHandler.handleData(props);
      /*
      String programName = NcNodeService.genProgramName(props.getDrawingNo(),props.getProcessNo());
      NcNode packageNode = ncNodeService.getProgramPackageByName(programName);
      if(FlowContants.N.equals(props.getIsTempFlow())) {
         createProgramNodes(props);
         //TODO åç¦»å•,和已经固化的程序,没有处理
      addApproveTable(packageNode,props);
         NcNode packageNode = ncNodeService.getProgramPackageByName(programName);
      updateApproveRecordNodeId(instId,packageNode.getId());
         addApproveTable(packageNode,props);
         updateApproveRecordNodeId(instId, packageNode.getId());
      }else{
         //临时流程,不处理树,只处理文件
         NcNode tempPkgNode = new NcNode();
         tempPkgNode.setNodeType(NcNode.TYPE_PROGRAM_PACKAGE);
         tempPkgNode.setIsLastEdition(0);
         tempPkgNode.setProcessNo(props.getProcessNo());
         tempPkgNode.setMachineCode(props.getMachineCode());
         tempPkgNode.setProcessName(props.getProcessName());
         tempPkgNode.setProcessEdition(props.getProcessEdition());
         tempPkgNode.setName(programName);
         tempPkgNode.setParentIds("0,4");
         tempPkgNode.setIsLocked(0);
         tempPkgNode.setCraftEdition(props.getCraftEdition());
         tempPkgNode.setDrawingNo(props.getDrawingNo());
         ncNodeService.save(tempPkgNode);
         List<FlowProgramFile> newFlowFileList = flowProgramFileService.listByProcessInstanceId(props.getProcessInstanceId());
         for(FlowProgramFile newFlowFile : newFlowFileList) {
            NcNode tempProgramNode = new NcNode();
            tempProgramNode.setNodeType(NcNode.TYPE_PROGRAM_FILE);
            tempProgramNode.setName(newFlowFile.getName());
            BeanUtils.copyProperties(tempPkgNode,tempProgramNode);
            tempProgramNode.setParentId(tempPkgNode.getId());
            tempProgramNode.setParentIds(tempPkgNode.getParentIds()+","+tempPkgNode.getId());
            tempProgramNode.setProcessInstanceId(props.getProcessInstanceId());
            tempProgramNode.setFlowProgramFileId(newFlowFile.getId());
         }
      }
      */
      log.info("流程已完成in DispatchFinishListener");
   }
@@ -71,6 +107,7 @@
    * è‡ªåŠ¨åˆ›å»ºç¨‹åºèŠ‚ç‚¹
    * @param progProperties æµç¨‹å±žæ€§
    */
   /*
   void createProgramNodes(FlowProgramProperties progProperties){
      if(!FlowContants.Y.equals(progProperties.getHasCuredProgram())) {
         //试切或者偏离
@@ -114,12 +151,13 @@
         }
      }
   }
   */
   /**
    * ä¿å­˜å®¡æ‰¹å®Œæˆçš„记录
    * @param packageNode
    * @param props
    */
   /*
   void addApproveTable(NcNode packageNode,FlowProgramProperties props){
      NcProgramApproved approved = new NcProgramApproved();
@@ -138,4 +176,6 @@
         .eq(ApproveRecord::getProcessInstanceId, processInstanceId)
         .set(ApproveRecord::getNcNodeId,nodeId).update();
   }
    */
}