From 4852d6c95e98ef9390d9cbebce97c1bb7fcb04ad Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 16 七月 2025 23:37:58 +0800
Subject: [PATCH] 机床回传文件调整

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/MdmProgramImportService.java |   84 ++++++++++++++++++++++++++++++++---------
 1 files changed, 65 insertions(+), 19 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/MdmProgramImportService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/MdmProgramImportService.java
index bf389c3..ba63182 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/MdmProgramImportService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/MdmProgramImportService.java
@@ -9,6 +9,7 @@
 import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
 import org.apache.commons.compress.archivers.zip.ZipFile;
 import org.apache.commons.compress.utils.SeekableInMemoryByteChannel;
+import org.springblade.core.mp.base.BizEntity;
 import org.springblade.core.mp.base.BizServiceImpl;
 import org.springblade.core.oss.OssTemplate;
 import org.springblade.core.oss.model.BladeFile;
@@ -17,12 +18,13 @@
 import org.springblade.core.tool.utils.FileUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.IoUtil;
+import org.springblade.mdm.flow.entity.ApproveRecord;
+import org.springblade.mdm.flow.service.ApproveRecordService;
 import org.springblade.mdm.flow.service.CureFlowService;
 import org.springblade.mdm.program.entity.NcNode;
 import org.springblade.mdm.program.entity.NcProgram;
 import org.springblade.mdm.program.entity.NcProgramExchange;
 import org.springblade.mdm.program.mapper.NcProgramExchangeMapper;
-import org.springblade.mdm.program.vo.DncSendBackData;
 import org.springblade.mdm.program.vo.MdmProgramImportVO;
 import org.springblade.mdm.utils.CustomBinaryReader;
 import org.springframework.stereotype.Service;
@@ -33,7 +35,6 @@
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.time.Duration;
-import java.time.LocalDateTime;
 import java.util.*;
 
 /**
@@ -48,6 +49,7 @@
 	private final CureFlowService cureFlowService;
 	private final NcProgramService ncProgramService;
 	private final NcNodeService ncNodeService;
+	private final ApproveRecordService approveRecordService;
 	private final BladeRedis bladeRedis;
 	private final OssTemplate ossTemplate;
 
@@ -66,6 +68,7 @@
 
 			//璁剧疆涓�涓紦瀛橈紝2灏忔椂杩囨湡
 			bladeRedis.setEx(getFileKey(),bfile.getName(), Duration.ofHours(2));
+			String pkgFileName = bladeRedis.get(getFileKey());
 			//String fileName = file.getOriginalFilename();
 			//InputStream zipFileInputStream = FileExchangeUtil.convertFileToZip(file.getInputStream());
 			InputStream zipFileInputStream = file.getInputStream();//test
@@ -142,7 +145,7 @@
 								d.setIsTest(jsonObject.getInteger("isTest"));
 								d.setMachineCode(jsonObject.getString("machineCode"));
 								d.setNcNodeId(jsonObject.getLong("ncNodeId"));
-								d.setPartNo(jsonObject.getString("partNo"));
+								d.setDrawingNo(jsonObject.getString("drawingNo"));
 								d.setProcessEdition(jsonObject.getString("processEdition"));
 
 								fileDataMap.put(d.getName(),d);
@@ -214,6 +217,8 @@
 
 		List<NcNode> nodeList = new ArrayList<>();
 		List<NcProgram> progList = new ArrayList<>();
+		List<ApproveRecord> recordList = new ArrayList<>();
+
 		try (SeekableInMemoryByteChannel channel = new SeekableInMemoryByteChannel(bytes);
 			 ZipFile zipFile = new ZipFile(channel)) {
 
@@ -233,23 +238,26 @@
 							JSONArray jsonArray = JSONArray.parseArray(jsonStr);
 							for(int i=0;i<jsonArray.size();i++){
 								JSONObject jsonObject = jsonArray.getJSONObject(i);
-								NcProgram d = new NcProgram();
-								d.setId(jsonObject.getLong("id"));
-								d.setName(jsonObject.getString("name"));
+								NcProgram prog = new NcProgram();
+								prog.setId(jsonObject.getLong("id"));
+								prog.setName(jsonObject.getString("name"));
 
-								d.setCode(jsonObject.getString("code"));
-								d.setDescription(jsonObject.getString("description"));
-								d.setCategory(jsonObject.getString("category"));
-								d.setBindNcNodeId(jsonObject.getLong("bindNcNodeId"));
-								d.setIsLastEdition(jsonObject.getInteger("isLastEdition"));
-								d.setIsLocked(jsonObject.getInteger("isLocked"));
-								d.setIsTest(jsonObject.getInteger("isTest"));
-								d.setMachineCode(jsonObject.getString("machineCode"));
-								d.setNcNodeId(jsonObject.getLong("ncNodeId"));
-								d.setPartNo(jsonObject.getString("partNo"));
-								d.setProcessEdition(jsonObject.getString("processEdition"));
+								prog.setCode(jsonObject.getString("code"));
+								prog.setDescription(jsonObject.getString("description"));
+								prog.setCategory(jsonObject.getString("category"));
+								prog.setBindNcNodeId(jsonObject.getLong("bindNcNodeId"));
+								prog.setIsLastEdition(jsonObject.getInteger("isLastEdition"));
+								prog.setIsLocked(jsonObject.getInteger("isLocked"));
+								prog.setIsTest(jsonObject.getInteger("isTest"));
+								prog.setIsTextFile(jsonObject.getBoolean("isTextFile"));
+								prog.setMachineCode(jsonObject.getString("machineCode"));
+								prog.setNcNodeId(jsonObject.getLong("ncNodeId"));
+								prog.setDrawingNo(jsonObject.getString("drawingNo"));
+								prog.setProcessEdition(jsonObject.getString("processEdition"));
 
-								progList.add(d);
+								setBaseProperties(prog,jsonObject);
+
+								progList.add(prog);
 							}
 
 						}
@@ -265,13 +273,34 @@
 								node.setDescription(jsonObject.getString("description"));
 								node.setNodeType(jsonObject.getString("nodeType"));
 								node.setProcessName(jsonObject.getString("processName"));
-								node.setPartNo(jsonObject.getString("partNo"));
+								node.setDrawingNo(jsonObject.getString("drawingNo"));
 								node.setMachineCode(jsonObject.getString("machineCode"));
 								node.setParentId(jsonObject.getLong("parentId"));
 								node.setParentIds(jsonObject.getString("parentIds"));
 								node.setIsCured(jsonObject.getInteger("isCured"));
 
+								setBaseProperties(node,jsonObject);
+
 								nodeList.add(node);
+							}
+						}
+					}else if(entryName.equals(NcProgramExportDNCService.APPROVE_RECORD_JSON_FILE)){
+						try (InputStream insJson = zipFile.getInputStream(entry)) {
+							String jsonStr = IoUtil.readToString(insJson);
+							JSONArray jsonArray = JSONArray.parseArray(jsonStr);
+							for (int i = 0; i < jsonArray.size(); i++) {
+								JSONObject jsonObject = jsonArray.getJSONObject(i);
+								ApproveRecord record = new ApproveRecord();
+								record.setId(jsonObject.getLong("id"));
+								record.setNcProgramId(jsonObject.getLong("ncProgramId"));
+								record.setUserId(jsonObject.getLong("userId"));
+								record.setUserNickname(jsonObject.getString("userNickname"));
+								record.setOperateResult(jsonObject.getString("operateResult"));
+								record.setOperateTime(jsonObject.getDate("operateTime"));
+								record.setComment(jsonObject.getString("comment"));
+								setBaseProperties(record,jsonObject);
+
+								recordList.add(record);
 							}
 						}
 					}
@@ -327,5 +356,22 @@
 			}
 		}
 
+		for(ApproveRecord record:recordList) {
+			ApproveRecord recordTemp = this.approveRecordService.getById(record.getId());
+			if (recordTemp == null) {
+				approveRecordService.save(record);
+			} else {
+				approveRecordService.updateById(record);
+			}
+		}
+
+	}
+
+	void setBaseProperties(BizEntity entity,JSONObject jsonObject){
+		entity.setCreateTime(jsonObject.getDate("createTime"));
+		entity.setUpdateTime(jsonObject.getDate("updateTime"));
+		entity.setStatus(jsonObject.getInteger("status"));
+		entity.setCreateUser(jsonObject.getLong("createUser"));
+		entity.setUpdateUser(jsonObject.getLong("updateUser"));
 	}
 }

--
Gitblit v1.9.3