From 4308b53ee6f9028905a333d86861ab2735ad2166 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 13 六月 2025 23:29:41 +0800
Subject: [PATCH] 补充机床接口

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/MachineService.java |   65 ++++++++++++++++++++++++++++++++
 1 files changed, 65 insertions(+), 0 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/MachineService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/MachineService.java
index 4393ff3..8f0a1f4 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/MachineService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/MachineService.java
@@ -5,6 +5,7 @@
 import org.springblade.core.mp.base.BizServiceImpl;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.Func;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
 import org.springblade.mdm.basesetting.machine.entity.MachineSpec;
 import org.springblade.mdm.basesetting.machine.mapper.MachineMapper;
@@ -13,6 +14,14 @@
 import org.springblade.mdm.basesetting.machine.vo.MachineVO;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.FileSystemUtils;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.InvalidPathException;
+import java.nio.file.Path;
+import java.nio.file.Paths;
 
 @Service
 public class MachineService extends BizServiceImpl<MachineMapper, Machine> {
@@ -67,4 +76,60 @@
 		}
 		return page;
 	}
+
+	/**
+	 * 鏌ヨ璇︽儏
+	 * @param id 鏈哄簥id
+	 * @return
+	 */
+	public MachineVO detail(long id) {
+		Machine machine = this.getById(id);
+
+		MachineVO vo = new MachineVO();
+		BeanUtil.copyProperties(machine, vo);
+
+		return vo;
+	}
+
+	/**
+	 * 浜х敓鏈哄簥鍥炰紶缁撴瀯鏁版嵁
+	 * @param id
+	 */
+	public void genMachineFileBackDirs(Long id) throws IOException {
+		Machine machine = this.getById(id);
+		if(Func.isNotBlank(machine.getProgReceiveDir())){
+			if(isLegalDirectoryPath(machine.getProgReceiveDir())) {
+				Path path = Paths.get(machine.getProgReceiveDir());
+				Files.createDirectories(path);
+			}else{
+				throw new RuntimeException("闈炴硶鐨勭洰褰曟牸寮�");
+			}
+		}
+	}
+
+	/**
+	 * 鍒ゆ柇鏄惁鏄悎娉曠殑鐩綍鏍煎紡
+	 * @param path
+	 * @return
+	 */
+	static boolean isLegalDirectoryPath(String path) {
+		// 鍩虹妫�鏌�
+		if (path == null || path.trim().isEmpty()) {
+			return false;
+		}
+
+		// 浣跨敤NIO妫�鏌ヨ矾寰勬牸寮�
+		Path nioPath;
+		try {
+			nioPath = Paths.get(path);
+			if (!nioPath.normalize().toString().equals(path)) {
+				return false; // 璺緞涓嶈鑼�
+			}
+		} catch (InvalidPathException ex) {
+			return false;
+		}
+
+		return true;
+
+	}
 }

--
Gitblit v1.9.3