From 33e6270d2d3a40591e58d45fd8435d2f3eaf66b2 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期四, 14 八月 2025 11:02:56 +0800
Subject: [PATCH] 启动固化流程优化

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveTableService.java |   51 +++++++++++++++++++++++++++++++++++----------------
 1 files changed, 35 insertions(+), 16 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 14566e6..3c10f6f 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
@@ -14,8 +14,10 @@
 import org.springblade.mdm.flow.entity.ApproveRecord;
 import org.springblade.mdm.flow.mapper.ApproveRecordMapper;
 import org.springblade.mdm.flow.vo.ApproveRecordVO;
+import org.springblade.mdm.program.entity.NcNode;
 import org.springblade.mdm.program.entity.NcProgram;
 import org.springblade.mdm.program.entity.ProcessProgRef;
+import org.springblade.mdm.program.service.NcNodeService;
 import org.springblade.mdm.program.service.NcProgramService;
 import org.springblade.mdm.program.service.ProcessProgRefService;
 import org.springframework.beans.BeanUtils;
@@ -23,6 +25,7 @@
 
 import java.io.IOException;
 import java.io.OutputStream;
+import java.util.Date;
 import java.util.List;
 import com.itextpdf.text.*;
 import com.itextpdf.text.pdf.*;
@@ -35,16 +38,15 @@
 @Service
 @AllArgsConstructor
 public class ApproveTableService{
-	private final ProcessProgRefService processProgRefService;
 	private final FlowCommonService flowCommonService;
 	private final ApproveRecordService approveRecordService;
-	private final NcProgramService ncProgramService;
+	private final NcNodeService ncNodeService;
 	private final MachineService machineService;
 	private static final String UNCHECK_BOX = "鈽�";
 	private static final String CHECKED_BOX = "鈽�";
 	static Chunk square = new Chunk("o", new Font(Font.FontFamily.ZAPFDINGBATS, 12)); // 绌烘柟妗�
 	static Chunk check = new Chunk("4", new Font(Font.FontFamily.ZAPFDINGBATS, 12)); // 甯﹀嬀鏂规
-
+	//static SimpleDateFormat
 	BaseFont getBaseFont() throws DocumentException, IOException {
 		return BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
 	}
@@ -68,6 +70,9 @@
 		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;
+			}
 			printStep(document,bfChinese,record);
 			if(i<records.size()-1){
 				document.newPage();
@@ -78,13 +83,13 @@
 	}
 
 	void printStep(Document document,BaseFont bfChinese,ApproveRecord record) throws DocumentException, IOException {
-		NcProgram ncProgram;
+		NcNode programPackageNode;
 		Machine machine;
-		if(record.getNcProgramId() !=null ) {
-			ncProgram = ncProgramService.getById(record.getNcProgramId());
-			machine = machineService.getByCode(ncProgram.getMachineCode());
+		if(record.getNcNodeId() !=null ) {
+			programPackageNode = ncNodeService.getById(record.getNcNodeId());
+			machine = machineService.getByCode(programPackageNode.getMachineCode());
 		}else{
-			ncProgram = new NcProgram();
+			programPackageNode = new NcNode();
 			machine = new Machine();
 		}
 
@@ -119,10 +124,10 @@
 		//PdfPCell cell12 = new PdfPCell();
 		//cell12.setColspan(2);
 		//cell12.addElement(new Phrase(ncProgram.getDrawingNo()));
-		table.addCell(getCell(ncProgram.getDrawingNo(),ft));//闆剁粍浠跺彿
+		table.addCell(getCell(programPackageNode.getDrawingNo(),ft));//闆剁粍浠跺彿
 
-		table.addCell(getCell(ncProgram.getProcessNo(),ft));//宸ュ簭鍙�
-		table.addCell(getCell(ncProgram.getCraftEdition(),ft));//宸ヨ壓鐗堟
+		table.addCell(getCell(programPackageNode.getProcessNo(),ft));//宸ュ簭鍙�
+		table.addCell(getCell(programPackageNode.getCraftEdition(),ft));//宸ヨ壓鐗堟
 		table.addCell(getCell(machine.getName(),ft));//鏈哄簥鍨嬪彿
 		table.addCell("");//璐熻矗浜猴紝宸ユ璐熻矗浜烘淳鍑烘椂闂�
 
@@ -155,10 +160,14 @@
 		String personName = record.getUserNickname();
 		Chunk block1 = square;
 		Chunk block2 = square;
-		if(StringUtils.equals(record.getTaskDefinitionId(),"programmingTask")){
+		Date programDate = null;
+		Date checkDate = null;
+		if(StringUtils.equals(record.getTaskDefinitionKey(),"programmingTask")){
 			block1 = check;
-		}else if(StringUtils.equals(record.getTaskDefinitionId(),"check")){
+			programDate = record.getCreateTime();
+		}else if(StringUtils.equals(record.getTaskDefinitionKey(),"check")){
 			block2 = check;
+			checkDate = record.getCreateTime();
 		}
 		Phrase p = new Phrase("       "+personName+"        ",underLineFt);
 
@@ -199,11 +208,21 @@
 		table.addCell(getCell("鎵瑰噯/鏃ユ湡",ft));
 
 		PdfPCell cell2 = new PdfPCell();
-		cell2.addElement(new Phrase(" ",ft));
 		cell2.setColspan(2);
+
+		cell2.addElement(new Phrase(programPackageNode.getProgramNo(),ft));//鏁版帶绋嬪簭缂栧彿
 		table.addCell(cell2);
-		table.addCell(getCell(" ",ft));
-		table.addCell(getCell(" ",ft));
+
+		String pDateStr = " ";
+		if(programDate!=null){
+			pDateStr = DateUtil.format(programDate,"yyyy-MM-dd");
+		}
+		String checkDateStr = " ";
+		if(checkDate!=null){
+			checkDateStr = DateUtil.format(programDate,"yyyy-MM-dd");
+		}
+		table.addCell(getCell(pDateStr,ft));//缂栧埗鏃ユ湡
+		table.addCell(getCell(checkDateStr,ft));
 		table.addCell(getCell(" ",ft));
 
 		// 璁剧疆琛ㄦ牸瀹藉害鍗犻〉闈㈠搴︾殑100%

--
Gitblit v1.9.3