From c06fab29ca7826a6dc9736c1ba8ce1e26a11c829 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期四, 06 三月 2025 15:57:08 +0800
Subject: [PATCH] 新增层级结构工艺规程版本、结构树表、新权限表 修改原有权限验证 删除原有代码

---
 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/support/ProductTreeWrapper.java |   81 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 78 insertions(+), 3 deletions(-)

diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/support/ProductTreeWrapper.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/support/ProductTreeWrapper.java
index 9e03bdd..7e2d0c5 100644
--- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/support/ProductTreeWrapper.java
+++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/support/ProductTreeWrapper.java
@@ -1,7 +1,7 @@
 package org.jeecg.modules.dnc.service.support;
 
-import org.jeecg.modules.dnc.entity.PartsInfo;
-import org.jeecg.modules.dnc.entity.ProductInfo;
+import cn.hutool.core.util.StrUtil;
+import org.jeecg.modules.dnc.entity.*;
 import org.jeecg.modules.dnc.response.CommonGenericTree;
 import org.jeecg.modules.dnc.entity.ComponentInfo;
 import org.jeecg.modules.dnc.dto.ComponentExt;
@@ -13,13 +13,21 @@
 
 public class ProductTreeWrapper {
 
-    public static List<CommonGenericTree> loadTree(List<ProductInfo> productInfoList, List<ComponentExt> componentInfoList, List<PartsInfo> partsInfoList) {
+    public static List<CommonGenericTree> loadTree(List<ProductInfo> productInfoList, List<ComponentExt> componentInfoList,
+                                                   List<PartsInfo> partsInfoList,List<ProcessSpecVersion> processSpecVersionList,
+                                                   List<ProcessStream> processStreams, List<WorkStep> workStepList) {
         List<CommonGenericTree> tree = new ArrayList<CommonGenericTree>();// TreeNode闆嗗悎锛屽瓨鏀炬墍鏈夋爲瀵硅薄銆�
         Map<String, CommonGenericTree> productMap = new HashMap<>();
         Map<String, CommonGenericTree> componentMap = new HashMap<>();
+        Map<String, CommonGenericTree> partsMap = new HashMap<>();
+        Map<String, CommonGenericTree> pvsMap = new HashMap<>();
+        Map<String, CommonGenericTree> processMap = new HashMap<>();
         CommonGenericTree<ProductInfo> node;
         CommonGenericTree<ComponentInfo> componentNode;
         CommonGenericTree<PartsInfo> partsNode;
+        CommonGenericTree<ProcessSpecVersion> pvsNode;
+        CommonGenericTree<ProcessStream> processNode;
+        CommonGenericTree<WorkStep> workStepNode;
         for(ProductInfo productInfo : productInfoList) {
             node = new CommonGenericTree();
             node.setId(productInfo.getProductId());
@@ -56,7 +64,74 @@
                 partsNode.setParentId(componentNode.getId());
                 componentNode.addChildren(partsNode);
             }
+            partsMap.put(parts.getPartsId(), partsNode);
         }
+
+        //宸ヨ壓瑙勭▼鐗堟湰瀛樺湪闆朵欢涓�
+        for(ProcessSpecVersion processSpecVersion : processSpecVersionList) {
+            pvsNode = new CommonGenericTree();
+            pvsNode.setId(processSpecVersion.getId());
+            pvsNode.setLabel("[" + processSpecVersion.getProcessSpecVersionCode()+ "]" + processSpecVersion.getProcessSpecVersionName());
+            pvsNode.setParentId(null);
+            pvsNode.setIconClass("");
+            pvsNode.setType(4);
+            pvsNode.setRField(processSpecVersion.getPartsId());
+            pvsNode.setEntity(processSpecVersion);
+            if(partsMap.containsKey(pvsNode.getRField())) {
+                partsNode = partsMap.get(pvsNode.getRField());
+                pvsNode.setParentId(partsNode.getId());
+                partsNode.addChildren(pvsNode);
+            }
+            pvsMap.put(processSpecVersion.getId(),pvsNode);
+        }
+
+        //宸ュ簭瀛樺湪閮ㄤ欢鎴栬�呭伐鑹鸿绋嬬増鏈笅
+        for(ProcessStream processStream : processStreams) {
+            processNode = new CommonGenericTree();
+            processNode.setId(processStream.getProcessId());
+            processNode.setLabel("[" + processStream.getProcessCode()+ "]" + processStream.getProcessName());
+            processNode.setParentId(null);
+            processNode.setIconClass("");
+            processNode.setType(5);
+            if (StrUtil.isEmpty(processStream.getPsvId())) {
+                //娌℃湁partsId锛岄儴浠朵笅鐨勫伐搴�
+                processNode.setRField(processStream.getComponentId());
+                processNode.setEntity(processStream);
+                if(componentMap.containsKey(processNode.getRField())) {
+                    componentNode = componentMap.get(processNode.getRField());
+                    processNode.setParentId(componentNode.getId());
+                    componentNode.addChildren(processNode);
+                }
+            }else {
+                //鏈塸svId锛岄浂浠朵笅鐨勫伐搴�
+                processNode.setRField(processStream.getPsvId());
+                processNode.setEntity(processStream);
+                if(pvsMap.containsKey(processNode.getRField())) {
+                    pvsNode = pvsMap.get(processNode.getRField());
+                    processNode.setParentId(pvsNode.getId());
+                    pvsNode.addChildren(processNode);
+                }
+            }
+            processMap.put(processStream.getProcessId(),processNode);
+        }
+
+        //宸ユ瀛樺湪宸ュ簭涓�
+        for (WorkStep workStep : workStepList) {
+            workStepNode = new CommonGenericTree();
+            workStepNode.setId(workStep.getId());
+            workStepNode.setLabel("[" + workStep.getStepCode() + "]" + workStep.getStepName());
+            workStepNode.setParentId(null);
+            workStepNode.setIconClass("");
+            workStepNode.setType(6);
+            workStepNode.setRField(workStep.getProcessId());
+            workStepNode.setEntity(workStep);
+            if (processMap.containsKey(workStepNode.getRField())) {
+                processNode = processMap.get(workStepNode.getRField());
+                workStepNode.setParentId(processNode.getId());
+                processNode.addChildren(workStepNode);
+            }
+        }
+
         return tree;
     }
 

--
Gitblit v1.9.3