From 295bf6f10ad0b668d2dbaa4525a15d6d52807ef1 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 20 八月 2025 14:24:42 +0800
Subject: [PATCH] 导入工控网,附件改名

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/DispatchFinishListener.java |   56 ++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 48 insertions(+), 8 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/DispatchFinishListener.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/DispatchFinishListener.java
similarity index 72%
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
index 52efbbf..bf21bce 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/DispatchFinishListener.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/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;
 	/**
 	 * 鍦ㄦ祦绋嬬粨鏉熸椂鑷姩璋冪敤,锛堥厤缃湪瀹℃壒缁撴潫浜嬩欢鐨別xecutelistener涓簡锛�
 	 * @param execution 鎵ц瀵硅薄
@@ -54,15 +56,49 @@
 		log.info("浜嬩欢鍚嶇О{}锛宨nstid={}" , 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("娴佺▼宸插畬鎴恑n 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();
 	}
+
+	 */
 }

--
Gitblit v1.9.3