From 26f07223e1b33a8eb5ee184041575e9b204cfebe Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 27 六月 2025 23:26:44 +0800
Subject: [PATCH] 上传程序文件

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java |   69 ++++++++++++++++++++++++++--------
 1 files changed, 53 insertions(+), 16 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 c089431..b8a8a03 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
@@ -28,18 +28,23 @@
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.io.IOUtils;
 import org.flowable.engine.*;
 import org.springblade.core.mp.base.BizServiceImpl;
+import org.springblade.core.oss.OssTemplate;
+import org.springblade.core.oss.model.BladeFile;
 import org.springblade.mdm.basesetting.machine.MachineService;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
 import org.springblade.mdm.program.mapper.NcProgramMapper;
 import org.springblade.mdm.program.entity.NcProgram;
 import org.springblade.mdm.program.vo.DncSendBackData;
+import org.springblade.mdm.utils.FileContentUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -53,13 +58,9 @@
 @AllArgsConstructor
 public class NcProgramService  extends BizServiceImpl<NcProgramMapper, NcProgram> {
 
-	private final ObjectMapper objectMapper;
-	private final RepositoryService repositoryService;
-	private final RuntimeService runtimeService;
-	private final HistoryService historyService;
-	private final TaskService taskService;
-	private final ProcessEngine processEngine;
 	private final MachineService machineService;
+
+	private final OssTemplate ossTemplate;
 	/**
 	 * 鏌ヨ鐜版湁鍥哄寲鐨勭▼搴忥紝鏆傚畾鏉′欢锛氶浂缁勪欢鍙风浉鍚岋紝涓旀槸鍚屼竴鏈哄簥缁�
 	 * @param partNo
@@ -71,21 +72,57 @@
 		return this.getBaseMapper().getCuredNcProgram(partNo,machine.getMachineGroupCode());
 	}
 
-	/**
-	 * 鏌ヨ鐜版湁鍥哄寲鐨勭▼搴忥紝鏆傚畾鏉′欢锛氶浂缁勪欢鍙风浉鍚岋紝涓旀槸鍚屼竴鏈哄簥缁�
-	 * @param name 绋嬪簭鍚嶇О
-	 * @return
-	 */
-	public NcProgram getLastNcProgram(String name) {
-		return this.getBaseMapper().getLastNcProgram(name);
-	}
 
 	/**
 	 * 涓婁紶绋嬪簭鏂囦欢鍒版寚瀹氳妭鐐�
 	 * @param file
 	 * @param nodeId
-	 * @param category
+	 * @param category 鏂囦欢鍒嗙被锛堢▼搴忔枃浠�/鍏朵粬鏂囦欢锛�
 	 */
-	public void uploadNcFile(MultipartFile file, Long nodeId, String category) {
+	public void uploadProgramFile(MultipartFile file, Long nodeId, String category) {
+		BladeFile bfile = ossTemplate.putFile(file);
+		String link = bfile.getLink();
+		//淇濆瓨profame
+		NcProgram prog = new NcProgram();
+		prog.setName(file.getOriginalFilename());
+		prog.setNcNodeId(nodeId);
+		prog.setOssName(bfile.getName());
+		boolean isTextFile = false;
+		try {
+			isTextFile = FileContentUtil.isTextFile(file.getInputStream());
+		} catch (IOException e) {
+			log.warn("鍒ゆ柇鏄惁鏂囨湰鏂囦欢寮傚父",e);
+		}
+		prog.setIsTextFile(isTextFile);
+		prog.setUrl(link);
+		prog.setCategory(category);
+
+		this.save(prog);
+	}
+
+	/**
+	 * 鍒犻櫎涓�涓▼搴�
+	 * @param 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);
+		}
+		return result;
+	}
+	/**
+	 * 鍒犻櫎涓�涓▼搴�
+	 * @param id
+	 */
+	public void removeProgram(Long id) {
+		NcProgram prog = this.getById(id);
+		ossTemplate.removeFile(prog.getOssName());
+		this.getBaseMapper().deleteById(id);
 	}
 }

--
Gitblit v1.9.3