From 4301ffcfa7d715d7341cb77ba29dee24366fb2a3 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 07 七月 2025 22:24:02 +0800
Subject: [PATCH] dnc导出补充字段

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java |   85 +++++++++++++++++++++++++++++++++++++++---
 1 files changed, 78 insertions(+), 7 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java
index 8250bc0..3ec932c 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java
@@ -25,6 +25,7 @@
  */
 package org.springblade.mdm.program.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -93,7 +94,6 @@
 	 */
 	public void uploadProgramFile(NcProgramUploadVO uploadVO) {
 
-
 		MultipartFile file = uploadVO.getFile();
 		BladeFile bfile = ossTemplate.putFile(uploadVO.getFile());
 		String link = bfile.getLink();
@@ -119,6 +119,49 @@
 		this.save(prog);
 	}
 
+	/**
+	 * 涓婁紶绋嬪簭鏂囦欢鍒版寚瀹氳妭鐐�
+	 * @param uploadVO 涓婁紶鏂囦欢琛ㄥ崟鏁版嵁
+	 */
+	public void uploadProgramFileNew(NcProgramUploadVO uploadVO) {
+
+		MultipartFile file = uploadVO.getFile();
+		BladeFile bfile = ossTemplate.putFile(uploadVO.getFile());
+		String link = bfile.getLink();
+		//淇濆瓨profame
+		NcProgram prog = new NcProgram();
+		prog.setCode(generageCode());
+		prog.setName(file.getOriginalFilename());
+		prog.setNcNodeId(uploadVO.getNodeId());
+		prog.setOssName(bfile.getName());
+		prog.setPartNo(uploadVO.getPartNo());
+		prog.setProcessEdition(uploadVO.getProcessEdition());
+		prog.setIsLastEdition(1);
+		prog.setMachineCode(uploadVO.getMachineCode());
+		boolean isTextFile = false;
+		try {
+			isTextFile = FileContentUtil.isTextFile(file.getInputStream());
+		} catch (IOException e) {
+			log.warn("鍒ゆ柇鏄惁鏂囨湰鏂囦欢寮傚父",e);
+		}
+		prog.setIsTextFile(isTextFile);
+		prog.setUrl(link);
+		prog.setCategory(uploadVO.getCategory());
+
+		NcNode node = new NcNode();
+		node.setNodeType("70");//鏂囦欢鑺傜偣
+		node.setName(prog.getName());
+		node.setMachineCode(uploadVO.getMachineCode());
+		node.setParentId(uploadVO.getNodeId());
+		node.setPartNo(uploadVO.getPartNo());
+		node.setProcessName(uploadVO.getProcessName());
+
+		nodeService.save(node);
+
+		prog.setBindNcNodeId(node.getId());
+		this.save(prog);
+	}
+
 	String generageCode(){
 		ProgramSeq program = new ProgramSeq();
 		seqMapper.insert(program);
@@ -128,17 +171,45 @@
 	}
 	/**
 	 * 鍒犻櫎涓�涓▼搴�
-	 * @param id
+	 * @param id 绋嬪簭id
 	 */
 	public String getFileContent(Long id) {
 		String result  ="";
 
 		NcProgram prog = this.getById(id);
-		String fileName = prog.getOssName();
-		try (InputStream inputStream = ossTemplate.statFileStream(fileName)) {
-			result = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
-		} catch (IOException e) {
-			throw new RuntimeException(e);
+		if(prog.getIsTextFile()!=null && prog.getIsTextFile()){
+			String fileName = prog.getOssName();
+			try (InputStream inputStream = ossTemplate.statFileStream(fileName)) {
+				result = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
+			} catch (IOException e) {
+				throw new RuntimeException(e);
+			}
+		}else{
+			result = "闈炴枃鏈牸寮忔枃浠�";
+		}
+		return result;
+	}
+
+	/**
+	 * 鑾峰彇鏂囦欢鍐呴タ鍝﹂偅涓�
+	 * @param ncNodeId 鑺傜偣id
+	 */
+	public String getFileContentByNodeId(Long ncNodeId) {
+		String result  ="";
+		NcNode node = this.nodeService.getById(ncNodeId);
+		LambdaQueryWrapper<NcProgram> wrapper = new LambdaQueryWrapper<>();
+		wrapper.eq(NcProgram::getBindNcNodeId, ncNodeId);
+		wrapper.eq(NcProgram::getIsLastEdition,1);
+		NcProgram prog = this.getOne(wrapper);
+		if(prog.getIsTextFile()!=null && prog.getIsTextFile()){
+			String fileName = prog.getOssName();
+			try (InputStream inputStream = ossTemplate.statFileStream(fileName)) {
+				result = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
+			} catch (IOException e) {
+				throw new RuntimeException(e);
+			}
+		}else{
+			result = "闈炴枃鏈牸寮忔枃浠�";
 		}
 		return result;
 	}

--
Gitblit v1.9.3