From 86c8efdb19a2f4be79a947650ef62ed79382011b Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 30 八月 2025 20:55:31 +0800
Subject: [PATCH] 重构机床回传文件;撤回后禁用撤回按钮

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/service/ProgramNodeService.java |   74 ++++++++++++++++++++++++++++---------
 1 files changed, 56 insertions(+), 18 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/service/ProgramNodeService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/service/ProgramNodeService.java
index 206c136..f1c5a49 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/service/ProgramNodeService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/service/ProgramNodeService.java
@@ -10,6 +10,7 @@
 import org.springblade.mdm.basesetting.machine.entity.Machine;
 import org.springblade.mdm.commons.contants.ParamConstants;
 import org.springblade.mdm.commons.service.ParamService;
+import org.springblade.mdm.machinefile.entity.MachineFile;
 import org.springblade.mdm.gkw.programnode.entity.ProgramNode;
 import org.springblade.mdm.gkw.programnode.entity.TreeDept;
 import org.springblade.mdm.gkw.programnode.mapper.ProgramNodeMapper;
@@ -54,43 +55,55 @@
 	 * 鐢熸垚宸ユ帶缃戞爲
 	 * @return 鏍戞牴鑺傜偣闆嗗悎
 	 */
-	public List<ProgramNodeVO> loadTree() {
-		Integer workshoptDictVal = Func.toInt(paramService.getParamValue(ParamConstants.WORKSHOP_DICT_KEY,DEFAULT_WORKSHOP_VALUE));
+	public List<ProgramNodeVO> loadTree(String includeSend) {
 
+		Integer workshoptDictVal = Func.toInt(paramService.getParamValue(ParamConstants.WORKSHOP_DICT_KEY,DEFAULT_WORKSHOP_VALUE));
+		Long rootDeptId = Func.toLong(paramService.rootDetpId());
+		TreeDept root =  treeDeptService.getById(rootDeptId);
 		List<ProgramNodeVO> roots = new ArrayList<>();
+		ProgramNodeVO rootVO = new ProgramNodeVO();
+		rootVO.setNodeType("factory");
+		rootVO.setName(root.getDeptName());
+		rootVO.setId(rootVO.getId());
+		roots.add(rootVO);
+
 		List<TreeDept> workshops = treeDeptService.lambdaQuery().eq(TreeDept::getDeptCategory,workshoptDictVal)
 			.orderByAsc(TreeDept::getSort).list();
 
+		List<ProgramNodeVO> workshopsVOList = new ArrayList<>();
 		for(TreeDept workshop : workshops) {
 			ProgramNodeVO node = new ProgramNodeVO();
-			node.setId(workshop.getId());
+			node.setId(String.valueOf(workshop.getId()));
 			node.setName(workshop.getDeptName());
-
-			roots.add(node);
-
+			node.setNodeType("workshop");
+		//	roots.add(node);
+			workshopsVOList.add(node);
 			//鍔犲叆杞﹂棿涓嬬殑宸ユ
 			List<TreeDept> gongduanList = treeDeptService.lambdaQuery().eq(TreeDept::getParentId,workshop.getId())
 				.orderByAsc(TreeDept::getSort).list();
 			for(TreeDept gd : gongduanList){
 				ProgramNodeVO nodeGd = new ProgramNodeVO();
-				nodeGd.setId(nodeGd.getId());
+				nodeGd.setId(String.valueOf(gd.getId()));
 				nodeGd.setName(gd.getDeptName());
 				nodeGd.setParentId(gd.getParentId());
-
+				nodeGd.setNodeType("seg");
 				node.addChildren(nodeGd);
 
 				//鍔犲叆宸ユ涓嬬殑鏈哄簥
 				machineService.lambdaQuery().eq(Machine::getOwnerDept,gd.getId()).list().forEach(machine -> {
 					ProgramNodeVO nodeMachine = new ProgramNodeVO();
 					nodeMachine.setName(machine.getCode());
-					nodeMachine.setId(machine.getId());
+					nodeMachine.setId(String.valueOf(machine.getId()));
 					nodeMachine.setMachineCode(machine.getCode());
-					addFolderNodes(nodeMachine);
+					nodeMachine.setNodeType("machine");
+					addFolderNodes(nodeMachine,includeSend);
 
 					nodeGd.addChildren(nodeMachine);
 				});
 			}
 		}
+
+		rootVO.setChildren(workshopsVOList);
 
 		return roots;
 	}
@@ -99,23 +112,48 @@
 	 * 鍔犲叆3涓枃浠跺す鑺傜偣
 	 * @param nodeMachine 鏈哄簥鑺傜偣
 	 */
-	void addFolderNodes(ProgramNodeVO nodeMachine){
+	void addFolderNodes(ProgramNodeVO nodeMachine,String includeSend){
 
-		ProgramNodeVO sendNode = new ProgramNodeVO();
-		sendNode.setName("SEND");
-		sendNode.setMachineCode(nodeMachine.getMachineCode());
-		sendNode.setDirType("SEND");
+		List<ProgramNodeVO> dirNodes = new ArrayList<>();
+		if(!"0".equals(includeSend)){
+			ProgramNodeVO sendNode = new ProgramNodeVO();
+			sendNode.setId(nodeMachine.getId()+"_"+MachineFile.DIR_TYPE_SEND);
+			sendNode.setName("SEND");
+			sendNode.setMachineCode(nodeMachine.getMachineCode());
+			sendNode.setDirType(MachineFile.DIR_TYPE_SEND);
+			sendNode.setNodeType("dir");
+
+			dirNodes.add(sendNode);
+		}
+
 
 		ProgramNodeVO recNode = new ProgramNodeVO();
+		recNode.setId(nodeMachine.getId()+"_"+MachineFile.DIR_TYPE_REC);
 		recNode.setName("REC");
 		recNode.setMachineCode(nodeMachine.getMachineCode());
-		recNode.setDirType("REC");
+		recNode.setDirType(MachineFile.DIR_TYPE_REC);
+		recNode.setNodeType("dir");
+		dirNodes.add(recNode);
 
 		ProgramNodeVO tempNode = new ProgramNodeVO();
+		tempNode.setId(nodeMachine.getId()+"_"+MachineFile.DIR_TYPE_TEMP);
 		tempNode.setName("TEMP");
 		tempNode.setMachineCode(nodeMachine.getMachineCode());
-		tempNode.setDirType("TEMP");
+		tempNode.setDirType(MachineFile.DIR_TYPE_TEMP);
+		tempNode.setNodeType("dir");
+		dirNodes.add(tempNode);
 
-		nodeMachine.setChildren(Arrays.asList(sendNode,recNode,tempNode));
+		nodeMachine.setChildren(dirNodes);
+	}
+
+	/**
+	 * 鏍戞煡璇�
+	 * @param keyword 鍏抽敭瀛�
+	 * @return 鎼滅储閬撳痉鏈哄櫒鍒楄〃
+	 */
+	public List<String> treeSearch(String keyword) {
+		return machineService.lambdaQuery()
+			.like(Machine::getCode,keyword)
+			.list().stream().map(m -> {return Func.toStr(m.getId());}).toList();
 	}
 }

--
Gitblit v1.9.3