From fe185a5eb4669e925af908153bdf21778551fdb4 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 20 八月 2025 20:23:36 +0800
Subject: [PATCH] 增加固化流程文件内容比对接口

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveTableService.java |   44 ++++++++++++++++++++++++++++++++------------
 1 files changed, 32 insertions(+), 12 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveTableService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveTableService.java
index 63e5680..a14df6a 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveTableService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveTableService.java
@@ -5,12 +5,16 @@
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.flowable.engine.HistoryService;
+import org.flowable.engine.history.HistoricActivityInstance;
+import org.flowable.engine.history.HistoricProcessInstance;
 import org.flowable.task.api.Task;
 import org.springblade.core.mp.base.BizServiceImpl;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.mdm.basesetting.machine.MachineService;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
+import org.springblade.mdm.flow.constants.FlowContants;
 import org.springblade.mdm.flow.entity.ApproveRecord;
 import org.springblade.mdm.flow.mapper.ApproveRecordMapper;
 import org.springblade.mdm.flow.vo.ApproveRecordVO;
@@ -27,6 +31,8 @@
 import java.io.OutputStream;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
+
 import com.itextpdf.text.*;
 import com.itextpdf.text.pdf.*;
 /**
@@ -42,6 +48,7 @@
 	private final ApproveRecordService approveRecordService;
 	private final NcNodeService ncNodeService;
 	private final MachineService machineService;
+	private final HistoryService historyService;
 	private static final String UNCHECK_BOX = "鈽�";
 	private static final String CHECKED_BOX = "鈽�";
 	static Chunk square = new Chunk("o", new Font(Font.FontFamily.ZAPFDINGBATS, 12)); // 绌烘柟妗�
@@ -69,11 +76,17 @@
 
 		List<ApproveRecord> records = approveRecordService.lambdaQuery().eq(ApproveRecord::getProcessInstanceId, processInstanceId).orderByAsc(ApproveRecord::getCreateTime).list();
 		for(int i=0;i<records.size();i++){
+
 			ApproveRecord record = records.get(i);
 			if(record.getNcNodeId() ==null){
-				continue;
+				//continue;
 			}
-			printStep(document,bfChinese,record);
+
+			HistoricProcessInstance ins = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).includeProcessVariables().singleResult();
+			List<HistoricActivityInstance> activitiys = historyService.createHistoricActivityInstanceQuery()
+				.processInstanceId(processInstanceId)
+				.list();
+			printStep(document,bfChinese,record,ins);
 			if(i<records.size()-1){
 				document.newPage();
 			}
@@ -82,12 +95,16 @@
 		document.close();
 	}
 
-	void printStep(Document document,BaseFont bfChinese,ApproveRecord record) throws DocumentException, IOException {
+	void printStep(Document document,BaseFont bfChinese,ApproveRecord record,HistoricProcessInstance ins) throws DocumentException, IOException {
 		NcNode programPackageNode;
 		Machine machine;
+		Map<String,Object> vars = ins.getProcessVariables();
+		//activitiy.stream().filter(HistoricActivityInstance::get)
 		if(record.getNcNodeId() !=null ) {
-			programPackageNode = ncNodeService.getById(record.getNcNodeId());
-			machine = machineService.getByCode(programPackageNode.getMachineCode());
+			//programPackageNode = ncNodeService.getById(record.getNcNodeId());
+			String machineCode = String.valueOf(vars.get(FlowContants.MACHINE_CODE));
+			//machine = machineService.getByCode(programPackageNode.getMachineCode());
+			machine = machineService.getByCode(machineCode);
 		}else{
 			programPackageNode = new NcNode();
 			machine = new Machine();
@@ -124,10 +141,12 @@
 		//PdfPCell cell12 = new PdfPCell();
 		//cell12.setColspan(2);
 		//cell12.addElement(new Phrase(ncProgram.getDrawingNo()));
-		table.addCell(getCell(programPackageNode.getDrawingNo(),ft));//闆剁粍浠跺彿
-
-		table.addCell(getCell(programPackageNode.getProcessNo(),ft));//宸ュ簭鍙�
-		table.addCell(getCell(programPackageNode.getCraftEdition(),ft));//宸ヨ壓鐗堟
+		String drawingNo = vars.get(FlowContants.DRAWING_NO)+"";
+		table.addCell(getCell(drawingNo,ft));//闆剁粍浠跺彿
+		String processNo = vars.get(FlowContants.PROCESS_NO)+"";
+		table.addCell(getCell(processNo,ft));//宸ュ簭鍙�
+		String craftEdition = vars.get(FlowContants.CRAFT_EDITION)+"";
+		table.addCell(getCell(craftEdition,ft));//宸ヨ壓鐗堟
 		table.addCell(getCell(machine.getName(),ft));//鏈哄簥鍨嬪彿
 		table.addCell("");//璐熻矗浜猴紝宸ユ璐熻矗浜烘淳鍑烘椂闂�
 
@@ -162,10 +181,10 @@
 		Chunk block2 = square;
 		Date programDate = null;
 		Date checkDate = null;
-		if(StringUtils.equals(record.getTaskDefinitionId(),"programmingTask")){
+		if(StringUtils.equals(record.getTaskDefinitionKey(),"programmingTask")){
 			block1 = check;
 			programDate = record.getCreateTime();
-		}else if(StringUtils.equals(record.getTaskDefinitionId(),"check")){
+		}else if(StringUtils.equals(record.getTaskDefinitionKey(),"check")){
 			block2 = check;
 			checkDate = record.getCreateTime();
 		}
@@ -210,7 +229,8 @@
 		PdfPCell cell2 = new PdfPCell();
 		cell2.setColspan(2);
 
-		cell2.addElement(new Phrase("涓嶆槑纭�",ft));//鏁版帶绋嬪簭缂栧彿
+		//cell2.addElement(new Phrase(programPackageNode.getProgramNo(),ft));//鏁版帶绋嬪簭缂栧彿
+		cell2.addElement(new Phrase("00001",ft));
 		table.addCell(cell2);
 
 		String pDateStr = " ";

--
Gitblit v1.9.3