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 | 40 ++++++++++++++++++++++++++++++++++++----
1 files changed, 36 insertions(+), 4 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 f0414b3..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;
@@ -30,6 +32,7 @@
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
+import java.util.Optional;
/**
* 鏈哄簥鏂囦欢
@@ -43,7 +46,7 @@
private final MachineService machineService;
private final MachineFileChangeHisService machineFileChangeHisService;
private final OssTemplate ossTemplate;
-
+ private MachineDirTranslator machineDirTranslator;
/**
* 鑾峰彇鏂囦欢鍏ㄨ矾寰�
* @param id 鏁版嵁id
@@ -86,9 +89,9 @@
/**
* 鑾峰彇鍩烘湰璺緞
- * @param machine
- * @param dirType
- * @return
+ * @param machine 鏈哄簥
+ * @param dirType 鐩綍绫诲瀷
+ * @return 鐩綍鍩烘湰璺緞
*/
public static String getBasePath(Machine machine,String dirType){
String dirPath;
@@ -220,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);
@@ -246,4 +250,32 @@
public IPage<MachineFile> exceptionFilePageQuery(MachineFileExceptionQueryVO query) {
return baseMapper.exceptionFilePageQuery(Condition.getPage(query),query);
}
+
+ /**
+ * 淇敼鏂囦欢鍚嶇О
+ * @param id 鏂囦欢id
+ * @param 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) {
+ Optional<MachineFile> optFIle = this.lambdaQuery().eq(MachineFile::getName, name).eq(MachineFile::getMachineCode, machineCode)
+ .eq(MachineFile::getDirType, dirType).eq(MachineFile::getStatus, MachineFile.STATUS_NORMAL).oneOpt();
+ return optFIle.orElse(null);
+ }
}
--
Gitblit v1.9.3