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