From 4b397a21eb979617f4fe9ff9fc1edb7a1be72900 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 29 九月 2025 17:45:29 +0800
Subject: [PATCH] 工控网涉密网联调

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileService.java |   28 ++++++++++++++++++++++------
 1 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileService.java
index b7a0762..9422e42 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileService.java
@@ -13,6 +13,7 @@
 import org.springblade.core.oss.model.BladeFile;
 import org.springblade.mdm.basesetting.machine.service.MachineService;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
+import org.springblade.mdm.commons.service.MachineDirTranslator;
 import org.springblade.mdm.machinefile.entity.MachineFile;
 import org.springblade.mdm.machinefile.entity.MachineFileChangeHis;
 import org.springblade.mdm.machinefile.mapper.MachineFileMapper;
@@ -21,6 +22,7 @@
 import org.springblade.mdm.program.vo.CompareDataVO;
 import org.springblade.mdm.statreport.vo.MachineFileExceptionQueryVO;
 import org.springblade.mdm.utils.FileContentUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -44,7 +46,7 @@
 	private final MachineService machineService;
 	private final MachineFileChangeHisService machineFileChangeHisService;
 	private final OssTemplate ossTemplate;
-
+	private MachineDirTranslator machineDirTranslator;
 	/**
 	 * 鑾峰彇鏂囦欢鍏ㄨ矾寰�
 	 * @param id 鏁版嵁id
@@ -87,9 +89,9 @@
 
 	/**
 	 * 鑾峰彇鍩烘湰璺緞
-	 * @param machine
-	 * @param dirType
-	 * @return
+	 * @param machine 鏈哄簥
+	 * @param dirType 鐩綍绫诲瀷
+	 * @return 鐩綍鍩烘湰璺緞
 	 */
 	public static String getBasePath(Machine machine,String dirType){
 		String dirPath;
@@ -221,6 +223,7 @@
 			existFileInDb.setProgramStatus(mf.getProgramStatus());
 			existFileInDb.setFileCreateTime(mf.getFileCreateTime());
 			existFileInDb.setFileModifyTime(mf.getFileModifyTime());
+			existFileInDb.setStatus(MachineFile.STATUS_NORMAL);
 			if(!com.alibaba.excel.util.StringUtils.equals(existFileInDb.getMd5(),mf.getMd5())){
 				//鏂囦欢鍐呭鍙戠敓鍙樺寲浜�,璁剧疆鐘舵�佷负鍒濆鐘舵��
 				existFileInDb.setStatus(MachineFile.STATUS_NORMAL);
@@ -249,12 +252,25 @@
     }
 
 	/**
-	 * 淇敼鏂囦欢鍚嶆垚
+	 * 淇敼鏂囦欢鍚嶇О
 	 * @param id 鏂囦欢id
 	 * @param name 鏂板悕绉�
 	 */
-	public void changeName(Long id, String name) {
+	public void changeName(Long id, String name) throws IOException {
+		MachineFile machineFile = getById(id);
+		if(machineFile.getName().equals(name)) {
+			return;
+		}
+		Machine machine = machineService.getByCode(machineFile.getMachineCode());
+		String baseDir = machineDirTranslator.trans(getBasePath(machine,machineFile.getDirType()));
+		String targetFilePath = baseDir + File.separator + name;
+		Path filePath = Paths.get(targetFilePath);
 
+		if(filePath.toFile().exists()) {
+			throw new ServiceException("鍚屽悕鏂囦欢宸插瓨鍦細"+name);
+		}
+		Files.move(Paths.get(baseDir+File.separator+machineFile.getName()),filePath);
+		baseMapper.deleteById(id);
 	}
 
 	public MachineFile getByNameAndMachineInDir(String name, String machineCode, String dirType) {

--
Gitblit v1.9.3