From 18d9c0bdc04e71cf3903c30c139f59dab744cf3f Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 22 八月 2025 15:09:35 +0800
Subject: [PATCH] 偏离回传 流程改名

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/NcProgramExportInnerService.java |  184 ++++-----------------------------------------
 1 files changed, 19 insertions(+), 165 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/NcProgramExportInnerService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/NcProgramExportInnerService.java
index 75b4119..91036cd 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/NcProgramExportInnerService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/NcProgramExportInnerService.java
@@ -17,6 +17,8 @@
 import org.springblade.core.tool.utils.Func;
 import org.springblade.mdm.flow.entity.ApproveRecord;
 import org.springblade.mdm.flow.service.ApproveRecordService;
+import org.springblade.mdm.gkw.programnode.entity.MachineFile;
+import org.springblade.mdm.gkw.programnode.service.MachineFileService;
 import org.springblade.mdm.machineback.entity.MachineBackFile;
 import org.springblade.mdm.program.entity.NcNode;
 import org.springblade.mdm.program.entity.NcProgram;
@@ -27,6 +29,7 @@
 import org.springblade.mdm.program.service.NcProgramApprovedService;
 import org.springblade.mdm.program.service.NcProgramService;
 import org.springblade.mdm.program.vo.DncSendBackData;
+import org.springblade.mdm.utils.ProgramFileNameParser;
 import org.springframework.stereotype.Service;
 
 import java.io.ByteArrayInputStream;
@@ -34,8 +37,8 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
 
@@ -50,7 +53,7 @@
 public class NcProgramExportInnerService extends BizServiceImpl<NcProgramExchangeMapper, NcProgramExchange> {
 	private final MachineBackFileService machineBackFileService;
 	private final NcProgramService progService;
-
+	private final MachineFileService machineFileService;
 	private final NcNodeService ncNodeService;
 	private final OssTemplate ossTemplate;
 
@@ -61,182 +64,33 @@
 
 	/**
 	 * 瀵煎嚭鍒版秹瀵嗙綉
-	 * @param backFileIds
+	 * @param machineFileIds
 	 * @param os
 	 * @throws IOException
 	 */
-	public void exportToInner(Long[] backFileIds, ServletOutputStream os) throws IOException {
+	public void exportToInner(List<Long> machineFileIds, ServletOutputStream os) throws IOException {
 		//FileOutputStream fos = new FileOutputStream("d:/exportDnc.zip");
 		try (ZipOutputStream zipOut = new ZipOutputStream(os);) {//os
 
-			ArrayList<Long> programIdList = new ArrayList<Long>();
+			List<MachineFile>  machineFiles = machineFileService.lambdaQuery().in(MachineFile::getId,machineFileIds).list();
+			Map<String,List<MachineFile>> map =  machineFiles.stream()
+				.collect(Collectors.groupingBy(s -> ProgramFileNameParser.parseProgramName(s.getName()).logicProgramName()));
 
-			for (Long backId : backFileIds) {
-				MachineBackFile backFile = machineBackFileService.getById(backId);
-				programIdList.add(backFile.getNcProgramId());
-
-				NcProgram prog = progService.getById(backFile.getNcProgramId());
-
-				//1111锛岄渶瑕佽鍦ㄦ枃浠�
-				String filename = prog.getOssName();
-				InputStream inputStream = ossTemplate.statFileStream(filename);
-
-				addInputStreamToZip(zipOut, inputStream, prog.getName());
+			for (Map.Entry<String, List<MachineFile>> entry : map.entrySet()) {
+				String programName = entry.getKey();
+				List<MachineFile> progMachineFiles = entry.getValue();
+				for (MachineFile mf : progMachineFiles) {
+					try(InputStream ins = machineFileService.getInputStream(mf)) {
+						addInputStreamToZip(zipOut,ins , programName + "/" + mf.getName());
+					}
+				}
 
 			}
-			addDataJson(zipOut, programIdList);
 		}
 
 		os.close();
 	}
 
-
-	/**
-	 * 瀵煎叆鏁版嵁鏂囦欢
-	 * @param zipOut
-	 */
-	void addDataJson(ZipOutputStream zipOut, List<Long> programIdList) throws IOException {
-		addProgramDataJson(zipOut, programIdList);
-		//addApproveRecordDataJson(zipOut, programIdList);
-
-		addNcNodeDataJson(zipOut, programIdList);
-	}
-
-	/**
-	 * 瀵煎叆绋嬪簭璁板綍
-	 * @param zipOut
-	 * @param programIdList
-	 */
-	void addProgramDataJson(ZipOutputStream zipOut, List<Long> programIdList) throws IOException {
-		LambdaQueryWrapper<NcProgram> queryWrapper = new LambdaQueryWrapper<>();
-		queryWrapper.in(NcProgram::getId, programIdList);
-		List<NcProgram> programList = progService.list(queryWrapper);
-		JSONArray jsonArray = new JSONArray();
-		for(NcProgram program : programList){
-			JSONObject recObj = new JSONObject();
-			recObj.put("id", program.getId());
-			recObj.put("code", program.getCode());
-			recObj.put("ossName",program.getOssName());
-			recObj.put("isTextFile",program.getIsTextFile());
-			recObj.put("isLastEdition",program.getIsLastEdition());
-			recObj.put("category",program.getCategory());
-			recObj.put("description",program.getDescription());
-			recObj.put("name",program.getName());
-			recObj.put("drawingNo",program.getDrawingNo());
-			recObj.put("ncNodeId",program.getNcNodeId());
-			recObj.put("bindNcNodeId",program.getBindNcNodeId());
-			recObj.put("url",program.getUrl());
-			recObj.put("isCured",program.getIsCured());
-			recObj.put("isLocked",program.getIsLocked());
-			recObj.put("isTest",program.getIsTest());
-			recObj.put("machineCode",program.getMachineCode());
-			recObj.put("processEdition",program.getProcessEdition());
-			recObj.put("taskAssignTime",program.getTaskAssignTime());
-
-			addSuperProperties(recObj,program);
-
-			jsonArray.add(recObj);
-		}
-		addInputStreamToZip(zipOut,new ByteArrayInputStream(jsonArray.toJSONString().getBytes(StandardCharsets.UTF_8)),PROGRAM_JSON_FILE);
-
-	}
-
-	/**
-	 * 瀵煎叆瀹℃壒璁板綍
-	 * @param zipOut
-	 * @param programIdList 鏁版帶绋嬪簭id鍒楄〃
-	 */
-	/*
-	void addApproveRecordDataJson(ZipOutputStream zipOut, List<Long> programIdList) throws IOException {
-		LambdaQueryWrapper<ApproveRecord> queryWrapper = new LambdaQueryWrapper<>();
-		queryWrapper.in(ApproveRecord::getNcProgramId, programIdList);
-		List<ApproveRecord> records = approveRecordService.list(queryWrapper);
-		JSONArray jsonArray = new JSONArray();
-		for(ApproveRecord record : records){
-			JSONObject recObj = new JSONObject();
-			recObj.put("id", record.getId());
-			recObj.put("comment", record.getComment());
-			recObj.put("userId",record.getUserId());
-			recObj.put("userNickname",record.getUserNickname());
-			recObj.put("operateTime",record.getOperateTime());
-			recObj.put("operateResult",record.getOperateResult());
-			recObj.put("taskName",record.getTaskName());
-			recObj.put("ncProgramId",record.getNcProgramId());
-			recObj.put("processInstanceId",record.getProcessInstanceId());
-
-			addSuperProperties(recObj,record);
-
-			jsonArray.add(recObj);
-		}
-		addInputStreamToZip(zipOut,new ByteArrayInputStream(jsonArray.toJSONString().getBytes(StandardCharsets.UTF_8)),"exp_mdm_approve_record.json");
-
-	}
-	*/
-	/**
-	 * 瀵煎叆鑺傜偣
-	 * @param zipOut
-	 * @param programIdList
-	 */
-	void addNcNodeDataJson(ZipOutputStream zipOut, List<Long> programIdList) throws IOException {
-		LambdaQueryWrapper<NcProgram> queryWrapper = new LambdaQueryWrapper<>();
-		queryWrapper.in(NcProgram::getId, programIdList);
-
-		List<NcProgram> programs = progService.list(queryWrapper);
-		JSONArray jsonArray = new JSONArray();
-
-		ArrayList<Long> exportNodeIdList 	= new ArrayList<>();
-		for(NcProgram program : programs){
-			//JSONObject recObj = new JSONObject();
-			if(!exportNodeIdList.contains(program.getBindNcNodeId())){
-				exportNodeIdList.add(program.getBindNcNodeId());
-			}
-			NcNode ncNode = ncNodeService.getById(program.getBindNcNodeId());//浠庣粦瀹氱殑鑺傜偣鏈韩寮�濮嬪鍑�
-
-			if(StringUtils.isNotEmpty(ncNode.getParentIds())){
-				List<Long> pids = Func.toLongList(ncNode.getParentIds());
-				for(Long nodeId : pids){
-					if(!exportNodeIdList.contains(nodeId)){
-						exportNodeIdList.add(nodeId);
-					}
-				}
-
-			}
-
-		}
-
-		LambdaQueryWrapper<NcNode> nodeQueryWrapper = new LambdaQueryWrapper<>();
-		nodeQueryWrapper.in(NcNode::getId, exportNodeIdList);
-		List<NcNode> nodeList =ncNodeService.list(nodeQueryWrapper);
-		for(NcNode node : nodeList){
-			JSONObject recObj = new JSONObject();
-
-			recObj.put("id", node.getId());
-			recObj.put("nodeType", node.getNodeType());
-			recObj.put("machineCode",node.getMachineCode());
-			recObj.put("parentId",node.getParentId());
-			recObj.put("description",node.getDescription());
-			recObj.put("name",node.getName());
-			recObj.put("remark",node.getRemark());
-			recObj.put("drawingNo",node.getDrawingNo());
-			recObj.put("parentIds",node.getParentIds());
-			recObj.put("processName",node.getProcessName());
-
-			addSuperProperties(recObj,node);
-
-			jsonArray.add(recObj);
-		}
-		addInputStreamToZip(zipOut,new ByteArrayInputStream(jsonArray.toJSONString().getBytes(StandardCharsets.UTF_8)),"exp_mdm_nc_node.json");
-	}
-
-	void addSuperProperties(JSONObject recObj, BizEntity entity){
-		recObj.put("tenantId",entity.getTenantId());
-		recObj.put("createTime",entity.getCreateTime());
-		recObj.put("updateTime",entity.getUpdateTime());
-		recObj.put("createUser",entity.getCreateUser());
-		recObj.put("updateUser",entity.getUpdateUser());
-		recObj.put("status",entity.getStatus());
-		recObj.put("createDept",entity.getCreateDept());
-	}
 
 	public void addInputStreamToZip(ZipOutputStream zipOut, InputStream inputStream, String entryName)
 		throws IOException {

--
Gitblit v1.9.3