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