From 016f6009aef19985e5e50be497651cb77795c868 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 22 八月 2025 18:26:42 +0800
Subject: [PATCH] 偏离单审批完成文件内容未更新问题修复
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java | 32 ++++++++++++++------------------
1 files changed, 14 insertions(+), 18 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
index 9fe865e..c2467a8 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
@@ -2,14 +2,11 @@
package org.springblade.mdm.program.service;
import com.alibaba.csp.sentinel.util.StringUtil;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.jetbrains.annotations.NotNull;
+import org.apache.commons.lang3.StringUtils;
import org.springblade.core.log.exception.ServiceException;
-import org.springblade.core.mp.base.BizEntity;
import org.springblade.core.mp.base.BizServiceImpl;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
@@ -18,7 +15,6 @@
import org.springblade.core.tool.utils.Func;
import org.springblade.mdm.basesetting.machine.MachineService;
import org.springblade.mdm.basesetting.machine.entity.Machine;
-import org.springblade.mdm.flow.entity.ApproveRecord;
import org.springblade.mdm.flow.entity.FlowProgramFile;
import org.springblade.mdm.flow.service.ApproveRecordService;
import org.springblade.mdm.flow.service.FlowProgramFileService;
@@ -27,13 +23,11 @@
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.utils.FileContentUtil;
import org.springblade.system.feign.IDictClient;
-import org.springblade.system.pojo.entity.Dict;
+import org.springblade.system.pojo.entity.DictBiz;
import org.springframework.stereotype.Service;
import java.io.*;
-import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
@@ -48,18 +42,13 @@
@AllArgsConstructor
public class NcProgramExportDNCService extends BizServiceImpl<NcProgramExchangeMapper, NcProgramExchange> {
- //private final NcProgramService progService;
private final IDictClient dictClient;
private final MachineService machineService;
private final NcProgramApprovedService approvedService;
- private final ApproveRecordService approveRecordService;
private final NcNodeService ncNodeService;
private final OssTemplate ossTemplate;
private final FlowProgramFileService flowProgramFileService;
private final ProgramAnnotationService programAnnotationService;
- //public static final String PROGRAM_JSON_FILE = "exp_mdm_nc_program.json";
- //public static final String NODE_JSON_FILE = "exp_mdm_nc_node.json";
- //public static final String APPROVE_RECORD_JSON_FILE = "exp_mdm_approve_record.json";
public static final String ANNOTATION_DICT = "machine_annotation";
@@ -100,12 +89,13 @@
* @param approved
*/
private void addProgramPackageToZip(ZipOutputStream zipOut, NcProgramApproved approved) throws IOException{
- String packageFolder = approved.getProgramName()+"/";
+ NcNode packageNode = ncNodeService.getById(approved.getNcNodeId());
+
+ String packageFolder = packageNode.getName()+"-"+packageNode.getProcessEdition()+"/";
ZipEntry zipEntry = new ZipEntry(packageFolder);// "/"缁撳熬琛ㄧず鏂囦欢澶�
zipOut.putNextEntry(zipEntry);
zipOut.closeEntry();
- NcNode packageNode = ncNodeService.getById(approved.getNcNodeId());
Machine machine = machineService.getByCode(packageNode.getMachineCode());//绋嬪簭鍖呰妭鐐癸紝鑾峰彇娉ㄩ噴鐢�
List<NcNode> programNodes = ncNodeService.lambdaQuery().eq(NcNode::getIsLastEdition,1).eq(NcNode::getParentId, approved.getNcNodeId()).list();
@@ -119,16 +109,22 @@
status = "GH";
}
+ List<DictBiz> annotationDictList= programAnnotationService.getAnnotionList();
for (NcNode node : programNodes) {
String filePathInZip = packageFolder + node.getName();
programFile = this.flowProgramFileService.getById(node.getFlowProgramFileId());
if(programFile.isProgram()) {//绋嬪簭鏂囦欢锛屾墠浼氬姞鍏ュ帇缂╁寘
InputStream inputStream = ossTemplate.statFileStream(programFile.getOssName());
- //InputStream addedIns1 = addSendDirAnnotation(inputStream, machine, annotationList);
- //InputStream addedIns2 = addProgramStatusAnnotation(addedIns1, status, machine, annotationList);
String sendDir = machine.getProgSendDir()==null? StringUtil.EMPTY:machine.getProgSendDir();
+ InputStream addedInsFinal;
InputStream addedIns2 = programAnnotationService.setSendDirAndStatusAnnotation(sendDir,status,inputStream,machine.getMachineGroupCode());
- this.addInputStreamToZip(zipOut, addedIns2, filePathInZip);
+ if(StringUtils.isNotBlank(programPackageNode.getDeviation())) {
+ //鍋忕鍗曪紝澧炲姞鍋忕鍗曞彿
+ addedInsFinal = programAnnotationService.setPldAnnotation(programPackageNode.getDeviation(),addedIns2, machine.getMachineGroupCode(), annotationDictList);;
+ }else{
+ addedInsFinal = addedIns2;
+ }
+ this.addInputStreamToZip(zipOut, addedInsFinal, filePathInZip);
}
}
--
Gitblit v1.9.3