From fe65bb1d764ca9d32647818240bb551db06e0b7c Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期一, 30 六月 2025 15:50:04 +0800
Subject: [PATCH] 设备车间管理与用户

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/util/FindsWorkShopDepartsChildrenUtil.java |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 108 insertions(+), 0 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/util/FindsWorkShopDepartsChildrenUtil.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/util/FindsWorkShopDepartsChildrenUtil.java
new file mode 100644
index 0000000..576b4ff
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/util/FindsWorkShopDepartsChildrenUtil.java
@@ -0,0 +1,108 @@
+package org.jeecg.modules.eam.util;
+
+import cn.hutool.core.util.StrUtil;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.eam.entity.WorkShopDepart;
+import org.jeecg.modules.eam.model.EamWorkShopDepartTreeModel;
+import org.jeecg.modules.eam.model.WorkShopIdModel;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 瀵瑰簲浜х嚎鐨勮〃锛屽鐞嗗苟鏌ユ壘鏍戠粨鏋勬暟鎹�
+ *
+ * @author: LiuS
+ * @create: 2023-03-23 14:46
+ */
+public class FindsWorkShopDepartsChildrenUtil {
+
+    /**
+     * queryTreeList鐨勫瓙鏂规硶 ====1=====
+     * 璇ユ柟娉曟槸s灏哤orkShopDepart绫诲瀷鐨刲ist闆嗗悎杞崲鎴怑amWorkShopDepartTreeModel绫诲瀷鐨勯泦鍚�
+     */
+    public static List<EamWorkShopDepartTreeModel> wrapTreeDataToTreeList(List<WorkShopDepart> recordList) {
+        List<WorkShopIdModel> idList = new ArrayList<>();
+        List<EamWorkShopDepartTreeModel> records = new ArrayList<>();
+        for (int i = 0; i < recordList.size(); i++) {
+            WorkShopDepart WorkShopDepart = recordList.get(i);
+            if (StrUtil.isEmpty(WorkShopDepart.getDescription())){
+                WorkShopDepart.setDescription("");
+            }
+            records.add(new EamWorkShopDepartTreeModel(WorkShopDepart));
+        }
+        List<EamWorkShopDepartTreeModel> tree = findChildren(records, idList);
+        setEmptyChildrenAsNull(tree);
+        return tree;
+    }
+
+    /**
+     * queryTreeList鐨勫瓙鏂规硶 ====1=====
+     * 璇ユ柟娉曟槸鎵惧埌骞跺皝瑁呴《绾х埗绫荤殑鑺傜偣鍒癟reeList闆嗗悎
+     */
+    public static List<EamWorkShopDepartTreeModel> findChildren(List<EamWorkShopDepartTreeModel> recordList, List<WorkShopIdModel> workShopIdModelList) {
+        List<EamWorkShopDepartTreeModel> treeList = new ArrayList<>();
+        for (int i = 0; i < recordList.size(); i++) {
+            EamWorkShopDepartTreeModel branch = recordList.get(i);
+            if (oConvertUtils.isEmpty(branch.getParentId())) {
+                treeList.add(branch);
+                WorkShopIdModel WorkShopIdModel = new WorkShopIdModel().convert(branch);
+                workShopIdModelList.add(WorkShopIdModel);
+            }
+        }
+        getGrandChildren(treeList, recordList, workShopIdModelList);
+        return treeList;
+    }
+
+    /**
+     * queryTreeList鐨勫瓙鏂规硶====3====
+     *璇ユ柟娉曟槸鎵惧埌椤剁骇鐖剁被涓嬬殑鎵�鏈夊瓙鑺傜偣闆嗗悎骞跺皝瑁呭埌TreeList闆嗗悎
+     */
+    private static void getGrandChildren(List<EamWorkShopDepartTreeModel> treeList, List<EamWorkShopDepartTreeModel> recordList, List<WorkShopIdModel> idList) {
+        for (int i = 0; i < treeList.size(); i++) {
+            EamWorkShopDepartTreeModel model = treeList.get(i);
+            WorkShopIdModel idModel = idList.get(i);
+            for (int i1 = 0; i1 < recordList.size(); i1++) {
+                EamWorkShopDepartTreeModel m = recordList.get(i1);
+                if (m.getParentId() != null && m.getParentId().equals(model.getId())) {
+                    model.getChildren().add(m);
+                    WorkShopIdModel pim = new WorkShopIdModel().convert(m);
+                    idModel.setSelectable(false);
+                    idModel.getChildren().add(pim);
+                }
+            }
+            getGrandChildren(treeList.get(i).getChildren(), recordList, idList.get(i).getChildren());
+        }
+    }
+
+    /**
+     * queryTreeList鐨勫瓙鏂规硶 ====4====
+     * 璇ユ柟娉曟槸灏嗗瓙鑺傜偣涓虹┖鐨凩ist闆嗗悎璁剧疆涓篘ull鍊�
+     */
+    private static void setEmptyChildrenAsNull(List<EamWorkShopDepartTreeModel> treeList) {
+        for (int i = 0; i < treeList.size(); i++) {
+            EamWorkShopDepartTreeModel model = treeList.get(i);
+            if (model.getChildren().size() == 0) {
+                model.setChildren(null);
+                model.setLeaf(true);
+            } else {
+                setEmptyChildrenAsNull(model.getChildren());
+                model.setLeaf(false);
+            }
+        }
+    }
+
+    /**
+     * 鑾峰彇 DepartIdModel
+     */
+    public static List<WorkShopIdModel> wrapTreeDataToProductionIdTreeList(List<WorkShopDepart> recordList) {
+        List<WorkShopIdModel> idList = new ArrayList<>();
+        List<EamWorkShopDepartTreeModel> records = new ArrayList<>();
+        for (int i = 0; i < recordList.size(); i++) {
+            WorkShopDepart WorkShopDepart = recordList.get(i);
+            records.add(new EamWorkShopDepartTreeModel(WorkShopDepart));
+        }
+        findChildren(records, idList);
+        return idList;
+    }
+}

--
Gitblit v1.9.3