From 7d56f2a7c8b3907ecf7ff74a1f9a20b977c3adf8 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 08 七月 2025 20:21:10 +0800
Subject: [PATCH] 调整审批记录的保存方式
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/MdmProgramImportService.java | 53 ++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 48 insertions(+), 5 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..417d28b 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;
@@ -142,7 +144,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 +216,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)) {
@@ -246,8 +250,10 @@
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"));
+
+ setBaseProperties(d,jsonObject);
progList.add(d);
}
@@ -265,13 +271,33 @@
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"));
+ setBaseProperties(record,jsonObject);
+
+ recordList.add(record);
}
}
}
@@ -327,5 +353,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