From 0d66cd4223c804b0a1384559f481b0c81d4e1955 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期四, 03 七月 2025 15:41:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java |  155 +++++++++++++++++++++++++++------------------------
 1 files changed, 81 insertions(+), 74 deletions(-)

diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java
index 38a4fe4..6df251a 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java
@@ -10,11 +10,14 @@
 import org.jeecg.common.util.FillRuleUtil;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.eam.base.entity.EamBaseRepairDepart;
+import org.jeecg.modules.eam.base.entity.EamBaseRepairDepartUser;
+import org.jeecg.modules.eam.base.mapper.EamBaseRepairDepartUserMapper;
 import org.jeecg.modules.eam.base.service.IEamBaseRepairDepartService;
 import org.jeecg.modules.eam.base.mapper.EamBaseRepairDepartMapper;
 import org.jeecg.modules.eam.base.model.EamBaseRepairDepartTreeModel;
 import org.jeecg.modules.eam.base.model.RepairDepartIdModel;
 import org.jeecg.modules.eam.base.util.FindsRepairDepartsChildrenUtil;
+import org.jeecg.modules.system.entity.SysUser;
 import org.jeecg.modules.system.mapper.SysUserMapper;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
@@ -22,6 +25,7 @@
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @Author: Lius
@@ -34,6 +38,9 @@
     @Resource
     private SysUserMapper sysUserMapper;
 
+    @Resource
+    private EamBaseRepairDepartUserMapper repairDepartUserMapper;
+
     /**
      * queryTreeList 瀵瑰簲 queryTreeList 鏌ヨ鎵�鏈夌殑缁翠慨閮ㄩ棬鐝粍鏁版嵁,浠ユ爲缁撴瀯褰㈠紡鍝嶅簲缁欏墠绔�
      */
@@ -45,7 +52,7 @@
         query.orderByAsc(EamBaseRepairDepart::getDepartOrder);
         List<EamBaseRepairDepart> list = this.list(query);
         //璁剧疆鐢ㄦ埛id锛岃鍓嶅彴鏄剧ず
-//        this.setUserIdsByProList(list);
+        this.setUserIdsByProList(list);
         //璋冪敤wrapTreeDataToTreeList鏂规硶鐢熸垚鏍戠姸鏁版嵁
         return FindsRepairDepartsChildrenUtil.wrapTreeDataToTreeList(list);
     }
@@ -150,7 +157,7 @@
         this.checkChildrenExists(id, idList);
         boolean result = this.removeByIds(idList);
         //鏍规嵁缁翠慨閮ㄩ棬鐝粍id鍒犻櫎鐢ㄦ埛涓庣淮淇儴闂ㄧ彮缁勫叧绯�
-//        repairDepartUserMapper.delete(new LambdaQueryWrapper<EamBaseRepairDepartUser>().in(EamBaseRepairDepartUser::getDepartId, idList));
+        repairDepartUserMapper.delete(new LambdaQueryWrapper<EamBaseRepairDepartUser>().in(EamBaseRepairDepartUser::getDepartId, idList));
         //鏍规嵁缁翠慨閮ㄩ棬鐝粍id鍒犻櫎缁翠慨閮ㄩ棬鐝粍涓庤澶囧叧绯�
 //        repairDepartEquipmentMapper.delete(new LambdaQueryWrapper<SysMaintainDepartEquipment>().in(SysMaintainDepartEquipment::getMaintainDepartId, idList));
         return result;
@@ -169,7 +176,7 @@
         }
         this.removeByIds(idList);
         //鏍规嵁缁翠慨閮ㄩ棬鐝粍id鍒犻櫎鐢ㄦ埛涓庣淮淇儴闂ㄧ彮缁勫叧绯�
-//        repairDepartUserMapper.delete(new LambdaQueryWrapper<EamBaseRepairDepartUser>().in(EamBaseRepairDepartUser::getDepartId, idList));
+        repairDepartUserMapper.delete(new LambdaQueryWrapper<EamBaseRepairDepartUser>().in(EamBaseRepairDepartUser::getDepartId, idList));
         //鏍规嵁缁翠慨閮ㄩ棬鐝粍id鍒犻櫎缁翠慨閮ㄩ棬鐝粍涓庤澶囧叧绯�
 //        repairDepartEquipmentMapper.delete(new LambdaQueryWrapper<SysMaintainDepartEquipment>().in(SysMaintainDepartEquipment::getMaintainDepartId, idList));
     }
@@ -182,26 +189,26 @@
 //        return this.baseMapper.queryRepDepByPid(pid);
 //    }
 //
-//    /**
-//     * 鏍规嵁鐢ㄦ埛id鑾峰彇缁翠慨閮ㄩ棬鐝粍涓嬫媺鏍戦�夐」
-//     */
-//    @Override
-//    public List<RepairDepartIdModel> loadMaintainDepartTreeOptions(String userId) {
-//        //鑾峰彇鎵�鏈夌淮淇儴闂ㄧ彮缁勬暟鎹�
-//        List<EamBaseRepairDepart> repairDepartList = this.baseMapper.selectList(new LambdaQueryWrapper<EamBaseRepairDepart>().eq(EamBaseRepairDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).orderByAsc(EamBaseRepairDepart::getDepartOrder));
-//        //鏍规嵁鐢ㄦ埛id鑾峰彇鎷ユ湁鐨勭淮淇儴闂ㄧ彮缁勪俊鎭泦鍚�
-//        List<String> repairDepartIds = repairDepartUserMapper.queryRepairDepartIdsByUserId(userId);
-//        List<String> allMaintainDepartIds = new ArrayList<>();
-//        //鎵惧埌鎵�鏈夌淮淇儴闂ㄧ彮缁刬d鐨勪笂绾d
-//        if (repairDepartIds != null && !repairDepartIds.isEmpty()) {
-//            for (String repairDepartId : repairDepartIds) {
-//                this.getAllMaintainDepartIds(repairDepartList, repairDepartId, allMaintainDepartIds);
-//            }
-//        }
-//        //杩囨护缁翠慨閮ㄩ棬鐝粍鏁版嵁
-//        List<EamBaseRepairDepart> list = repairDepartList.stream().filter((EamBaseRepairDepart eamBaseRepairDepart) -> allMaintainDepartIds.contains(eamBaseRepairDepart.getId())).collect(Collectors.toList());
-//        return FindsRepairDepartsChildrenUtil.wrapTreeDataToMaintainDepartIdTreeList(list);
-//    }
+    /**
+     * 鏍规嵁鐢ㄦ埛id鑾峰彇缁翠慨閮ㄩ棬鐝粍涓嬫媺鏍戦�夐」
+     */
+    @Override
+    public List<RepairDepartIdModel> loadMaintainDepartTreeOptions(String userId) {
+        //鑾峰彇鎵�鏈夌淮淇儴闂ㄧ彮缁勬暟鎹�
+        List<EamBaseRepairDepart> repairDepartList = this.baseMapper.selectList(new LambdaQueryWrapper<EamBaseRepairDepart>().eq(EamBaseRepairDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).orderByAsc(EamBaseRepairDepart::getDepartOrder));
+        //鏍规嵁鐢ㄦ埛id鑾峰彇鎷ユ湁鐨勭淮淇儴闂ㄧ彮缁勪俊鎭泦鍚�
+        List<String> repairDepartIds = repairDepartUserMapper.queryRepairDepartIdsByUserId(userId);
+        List<String> allMaintainDepartIds = new ArrayList<>();
+        //鎵惧埌鎵�鏈夌淮淇儴闂ㄧ彮缁刬d鐨勪笂绾d
+        if (repairDepartIds != null && !repairDepartIds.isEmpty()) {
+            for (String repairDepartId : repairDepartIds) {
+                this.getAllMaintainDepartIds(repairDepartList, repairDepartId, allMaintainDepartIds);
+            }
+        }
+        //杩囨护缁翠慨閮ㄩ棬鐝粍鏁版嵁
+        List<EamBaseRepairDepart> list = repairDepartList.stream().filter((EamBaseRepairDepart eamBaseRepairDepart) -> allMaintainDepartIds.contains(eamBaseRepairDepart.getId())).collect(Collectors.toList());
+        return FindsRepairDepartsChildrenUtil.wrapTreeDataToMaintainDepartIdTreeList(list);
+    }
 //
 //    /**
 //     * 閫掑綊鏌ヨ鎵�鏈夊瓙鑺傜偣id
@@ -250,56 +257,56 @@
         }
     }
 
-//    /**
-//     * 鑾峰彇鎵�鏈夌殑缁翠慨閮ㄩ棬鐝粍id锛堝寘鍚墍鏈変笂绾э級
-//     */
-//    private void getAllMaintainDepartIds(List<EamBaseRepairDepart> repairDepartList, String repairDepartId, List<String> allMaintainDepartIds) {
-//        if (!allMaintainDepartIds.contains(repairDepartId)) {
-//            allMaintainDepartIds.add(repairDepartId);
-//        }
-//        for (EamBaseRepairDepart eamBaseRepairDepart : repairDepartList) {
-//            if (StringUtils.isEmpty(eamBaseRepairDepart.getParentId())) {
-//                continue;
-//            }
-//            if (repairDepartId.equals(eamBaseRepairDepart.getId())) {
-//                if (!allMaintainDepartIds.contains(eamBaseRepairDepart.getParentId())) {
-//                    allMaintainDepartIds.add(eamBaseRepairDepart.getParentId());
-//                    getAllMaintainDepartIds(repairDepartList, eamBaseRepairDepart.getParentId(), allMaintainDepartIds);
-//                }
-//            }
-//        }
-//    }
-//
-//    /**
-//     * 閫氳繃缁翠慨閮ㄩ棬鐝粍闆嗗悎涓虹淮淇儴闂ㄧ彮缁勮缃敤鎴穒d锛岀敤浜庡墠鍙板睍绀�
-//     */
-//    private void setUserIdsByProList(List<EamBaseRepairDepart> repairDepartList) {
-//        //鏌ヨ璐熻矗閮ㄩ棬涓嶄负绌虹殑鎯呭喌
-//        LambdaQueryWrapper<SysUser> query = new LambdaQueryWrapper<>();
-//        query.isNotNull(SysUser::getDepartIds);
-//        List<SysUser> users = sysUserMapper.selectList(query);
-//        Map<String, Object> map = new HashMap(5);
-//        //鍏堝惊鐜竴閬嶆壘鍒颁笉鍚岀殑璐熻矗缁翠慨閮ㄩ棬鐝粍id
-//        for (SysUser user : users) {
-//            String repairDepartIds = user.getRepairDepartIds();
-//            if (StringUtils.isNotBlank(repairDepartIds)) {
-//                String[] repairDepartIdArray = repairDepartIds.split(",");
-//                for (String repairDepartId : repairDepartIdArray) {
-//                    if (map.containsKey(repairDepartId)) {
-//                        String userIds = map.get(repairDepartId) + "," + user.getId();
-//                        map.put(repairDepartId, userIds);
-//                    } else {
-//                        map.put(repairDepartId, user.getId());
-//                    }
-//                }
-//            }
-//        }
-//        //寰幆缁翠慨閮ㄩ棬鐝粍闆嗗悎鎵惧埌缁翠慨閮ㄩ棬鐝粍id瀵瑰簲鐨勮礋璐g敤鎴�
-//        for (EamBaseRepairDepart eamBaseRepairDepart : repairDepartList) {
-//            if (map.containsKey(eamBaseRepairDepart.getId())) {
-//                eamBaseRepairDepart.setDirectorUserIds(map.get(eamBaseRepairDepart.getId()).toString());
-//            }
-//        }
-//    }
+    /**
+     * 鑾峰彇鎵�鏈夌殑缁翠慨閮ㄩ棬鐝粍id锛堝寘鍚墍鏈変笂绾э級
+     */
+    private void getAllMaintainDepartIds(List<EamBaseRepairDepart> repairDepartList, String repairDepartId, List<String> allMaintainDepartIds) {
+        if (!allMaintainDepartIds.contains(repairDepartId)) {
+            allMaintainDepartIds.add(repairDepartId);
+        }
+        for (EamBaseRepairDepart eamBaseRepairDepart : repairDepartList) {
+            if (StringUtils.isEmpty(eamBaseRepairDepart.getParentId())) {
+                continue;
+            }
+            if (repairDepartId.equals(eamBaseRepairDepart.getId())) {
+                if (!allMaintainDepartIds.contains(eamBaseRepairDepart.getParentId())) {
+                    allMaintainDepartIds.add(eamBaseRepairDepart.getParentId());
+                    getAllMaintainDepartIds(repairDepartList, eamBaseRepairDepart.getParentId(), allMaintainDepartIds);
+                }
+            }
+        }
+    }
+
+    /**
+     * 閫氳繃缁翠慨閮ㄩ棬鐝粍闆嗗悎涓虹淮淇儴闂ㄧ彮缁勮缃敤鎴穒d锛岀敤浜庡墠鍙板睍绀�
+     */
+    private void setUserIdsByProList(List<EamBaseRepairDepart> repairDepartList) {
+        //鏌ヨ璐熻矗閮ㄩ棬涓嶄负绌虹殑鎯呭喌
+        LambdaQueryWrapper<SysUser> query = new LambdaQueryWrapper<>();
+        query.isNotNull(SysUser::getDepartIds);
+        List<SysUser> users = sysUserMapper.selectList(query);
+        Map<String, Object> map = new HashMap(5);
+        //鍏堝惊鐜竴閬嶆壘鍒颁笉鍚岀殑璐熻矗缁翠慨閮ㄩ棬鐝粍id
+        for (SysUser user : users) {
+            String repairDepartIds = user.getRepairDepartIds();
+            if (StringUtils.isNotBlank(repairDepartIds)) {
+                String[] repairDepartIdArray = repairDepartIds.split(",");
+                for (String repairDepartId : repairDepartIdArray) {
+                    if (map.containsKey(repairDepartId)) {
+                        String userIds = map.get(repairDepartId) + "," + user.getId();
+                        map.put(repairDepartId, userIds);
+                    } else {
+                        map.put(repairDepartId, user.getId());
+                    }
+                }
+            }
+        }
+        //寰幆缁翠慨閮ㄩ棬鐝粍闆嗗悎鎵惧埌缁翠慨閮ㄩ棬鐝粍id瀵瑰簲鐨勮礋璐g敤鎴�
+        for (EamBaseRepairDepart eamBaseRepairDepart : repairDepartList) {
+            if (map.containsKey(eamBaseRepairDepart.getId())) {
+                eamBaseRepairDepart.setDirectorUserIds(map.get(eamBaseRepairDepart.getId()).toString());
+            }
+        }
+    }
 
 }

--
Gitblit v1.9.3