From a0e29a74fcaceb52b02bfe559409611132462947 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期二, 14 一月 2025 17:53:30 +0800
Subject: [PATCH] DNC平移航宇救生   >  树结构新增工序、工步,去除默认新增工序,新增工步

---
 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/support/ProductTreeWrapper.java |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 57 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..c07d48b 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,18 @@
 
 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<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> processMap = new HashMap<>();
         CommonGenericTree<ProductInfo> node;
         CommonGenericTree<ComponentInfo> componentNode;
         CommonGenericTree<PartsInfo> partsNode;
+        CommonGenericTree<ProcessStream> processNode;
+        CommonGenericTree<WorkStep> workStepNode;
         for(ProductInfo productInfo : productInfoList) {
             node = new CommonGenericTree();
             node.setId(productInfo.getProductId());
@@ -56,7 +61,56 @@
                 partsNode.setParentId(componentNode.getId());
                 componentNode.addChildren(partsNode);
             }
+            partsMap.put(parts.getPartsId(), partsNode);
         }
+
+        //宸ュ簭瀛樺湪閮ㄤ欢鎴栬�呴浂浠朵笅
+        for(ProcessStream processStream : processStreams) {
+            processNode = new CommonGenericTree();
+            processNode.setId(processStream.getProcessId());
+            processNode.setLabel("[" + processStream.getProcessCode()+ "]" + processStream.getProcessName());
+            processNode.setParentId(null);
+            processNode.setIconClass("");
+            processNode.setType(4);
+            if (StrUtil.isEmpty(processStream.getPartsId())) {
+                //娌℃湁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 {
+                //鏈塸artsId锛岄浂浠朵笅鐨勫伐搴�
+                processNode.setRField(processStream.getPartsId());
+                processNode.setEntity(processStream);
+                if(partsMap.containsKey(processNode.getRField())) {
+                    partsNode = partsMap.get(processNode.getRField());
+                    processNode.setParentId(partsNode.getId());
+                    partsNode.addChildren(processNode);
+                }
+            }
+            processMap.put(processStream.getProcessId(),processNode);
+        }
+
+        //宸ユ瀛樺湪宸ュ簭涓�
+        for (WorkStep workStep : workStepList) {
+            workStepNode = new CommonGenericTree();
+            workStepNode.setId(workStep.getStepId());
+            workStepNode.setLabel("[" + workStep.getStepCode() + "]" + workStep.getStepName());
+            workStepNode.setParentId(null);
+            workStepNode.setIconClass("");
+            workStepNode.setType(5);
+            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