From 77a1469028cfb204fb9fd2a29acbb8ccadf2ee7a Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期五, 04 七月 2025 13:22:34 +0800
Subject: [PATCH] 维修部门班组调整

---
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/EamBaseRepairDepartUserServiceImpl.java |   58 +++++++++++
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/EamBaseRepairDepartUserMapper.xml         |    2 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/model/RepairDepartIdModel.java                       |   12 +-
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/model/EamBaseRepairDepartTreeModel.java              |    4 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java                 |   43 ++++++++
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/rule/OrgCodeRepDepRule.java                                    |    4 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/EamBaseRepairDepartUserMapper.java            |    4 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java                            |    6 +
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/util/FindsRepairDepartsChildrenUtil.java             |    8 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java                    |   39 +++++++
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/EamBaseRepairDepartMapper.java                |    4 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/EamBaseRepairDepartMapper.xml             |    4 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IEamBaseRepairDepartService.java             |    8 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IEamBaseRepairDepartUserService.java         |   26 +++++
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserService.java                         |   11 +
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/EamBaseRepairDepartController.java                  |    8 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/EamBaseRepairDepartUser.java                  |    2 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java                                  |    3 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/EamBaseRepairDepartImpl.java            |   18 +-
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/EamBaseRepairDepart.java                      |    2 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml                         |    8 +
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/vo/EamUserRepDepVo.java                              |   14 ++
 22 files changed, 242 insertions(+), 46 deletions(-)

diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/EamBaseRepairDepartController.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/EamBaseRepairDepartController.java
index 795d137..59c7742 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/EamBaseRepairDepartController.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/EamBaseRepairDepartController.java
@@ -15,10 +15,10 @@
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.eam.base.entity.EamBaseRepairDepart;
-import org.jeecg.modules.eam.base.model.RepairDepartIdModel;
-import org.jeecg.modules.eam.base.model.EamBaseRepairDepartTreeModel;
-import org.jeecg.modules.eam.base.service.IEamBaseRepairDepartService;
+import org.jeecg.modules.system.entity.EamBaseRepairDepart;
+import org.jeecg.modules.system.model.RepairDepartIdModel;
+import org.jeecg.modules.system.model.EamBaseRepairDepartTreeModel;
+import org.jeecg.modules.system.service.IEamBaseRepairDepartService;
 import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/rule/OrgCodeRepDepRule.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/rule/OrgCodeRepDepRule.java
index 505d0f2..9935b68 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/rule/OrgCodeRepDepRule.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/rule/OrgCodeRepDepRule.java
@@ -6,8 +6,8 @@
 import org.jeecg.common.handler.IFillRuleHandler;
 import org.jeecg.common.util.SpringContextUtils;
 import org.jeecg.common.util.YouBianCodeUtil;
-import org.jeecg.modules.eam.base.entity.EamBaseRepairDepart;
-import org.jeecg.modules.eam.base.service.IEamBaseRepairDepartService;
+import org.jeecg.modules.system.entity.EamBaseRepairDepart;
+import org.jeecg.modules.system.service.IEamBaseRepairDepartService;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
index 6be0483..769ee77 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
@@ -29,6 +29,7 @@
 import org.jeecg.modules.system.entity.*;
 import org.jeecg.modules.system.model.DepartIdModel;
 import org.jeecg.modules.system.model.ProductionIdModel;
+import org.jeecg.modules.system.model.RepairDepartIdModel;
 import org.jeecg.modules.system.model.SysUserSysDepartModel;
 import org.jeecg.modules.system.service.*;
 import org.jeecg.modules.system.vo.SysDepartUsersVO;
@@ -99,6 +100,9 @@
     @Resource
     private IMdcUserProductionService userProductionService;
 
+    @Resource
+    private IEamBaseRepairDepartUserService eamBaseRepairDepartUserService;
+
     /**
      * 鑾峰彇鐢ㄦ埛鍒楄〃鏁版嵁
      *
@@ -158,9 +162,11 @@
         if (userIds != null && userIds.size() > 0) {
             Map<String, String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
             Map<String, String> useProNames = sysUserService.getProNamesByUserIds(userIds);
+            Map<String, String> useRepDepNames = sysUserService.getRepDepNamesByUserIds(userIds);
             pageList.getRecords().forEach(item -> {
                 item.setOrgCodeTxt(useDepNames.get(item.getId()));
                 item.setProductionName(useProNames.get(item.getId()));
+                item.setRepairDepartName(useRepDepNames.get(item.getId()));
             });
         }
         result.setSuccess(true);
@@ -177,6 +183,7 @@
         String selectedRoles = jsonObject.getString("selectedroles");
         String selectedDeparts = jsonObject.getString("selecteddeparts");
         String selectedProductions = jsonObject.getString("selectedProduction");
+        String selectedRepairDeparts = jsonObject.getString("selectedRepairDeparts");
         try {
             SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class);
             user.setCreateTime(new Date());//璁剧疆鍒涘缓鏃堕棿
@@ -191,7 +198,7 @@
             //鐢ㄦ埛琛ㄥ瓧娈祇rg_code涓嶈兘鍦ㄨ繖閲岃缃粬鐨勫��
             user.setOrgCode(null);
             // 淇濆瓨鐢ㄦ埛璧颁竴涓猻ervice 淇濊瘉浜嬪姟
-            sysUserService.saveUser(user, selectedRoles, selectedDeparts, selectedProductions);
+            sysUserService.saveUser(user, selectedRoles, selectedDeparts, selectedProductions, selectedRepairDeparts);
             baseCommonService.addLog("娣诲姞鐢ㄦ埛锛寀sername锛� " + user.getUsername(), CommonConstant.LOG_TYPE_2, 2);
             result.success("娣诲姞鎴愬姛锛�");
         } catch (Exception e) {
@@ -219,6 +226,7 @@
                 String roles = jsonObject.getString("selectedroles");
                 String departs = jsonObject.getString("selecteddeparts");
                 String productions = jsonObject.getString("selectedProduction");
+                String repairDeparts = jsonObject.getString("selectedRepairDeparts");
                 if (oConvertUtils.isEmpty(departs)) {
                     //vue3.0鍓嶇鍙紶閫掍簡departIds
                     departs = user.getDepartIds();
@@ -226,10 +234,13 @@
                 if (oConvertUtils.isNotEmpty(productions)) {
                     productions = user.getProductionIds();
                 }
+                if (oConvertUtils.isNotEmpty(repairDeparts)) {
+                    repairDeparts = user.getRepairDepartIds();
+                }
                 //鐢ㄦ埛琛ㄥ瓧娈祇rg_code涓嶈兘鍦ㄨ繖閲岃缃粬鐨勫��
                 user.setOrgCode(null);
                 // 淇敼鐢ㄦ埛璧颁竴涓猻ervice 淇濊瘉浜嬪姟
-                sysUserService.editUser(user, roles, departs, productions);
+                sysUserService.editUser(user, roles, departs, productions, repairDeparts);
                 result.success("淇敼鎴愬姛!");
             }
         } catch (Exception e) {
@@ -423,6 +434,30 @@
         }
     }
 
+    @AutoLog(value = "鐢ㄦ埛琛�-鏌ヨ鎸囧畾鐢ㄦ埛鍜岀淮淇儴闂ㄥ叧鑱旂殑鏁版嵁")
+    @ApiOperation(value = "鐢ㄦ埛琛�-鏌ヨ鎸囧畾鐢ㄦ埛鍜岀淮淇儴闂ㄥ叧鑱旂殑鏁版嵁", notes = "鐢ㄦ埛琛�-鏌ヨ鎸囧畾鐢ㄦ埛鍜岀淮淇儴闂ㄥ叧鑱旂殑鏁版嵁")
+    @GetMapping(value = "/userRepairDepartList")
+    public Result<List<RepairDepartIdModel>> userRepairDepartList(@RequestParam(name = "userId", required = true) String userId) {
+        Result<List<RepairDepartIdModel>> result = new Result<>();
+        try {
+            List<RepairDepartIdModel> repDepIdModelList = this.eamBaseRepairDepartUserService.queryRepairDepartIdsOfUser(userId);
+            if (repDepIdModelList != null && !repDepIdModelList.isEmpty()) {
+                result.setSuccess(true);
+                result.setMessage("鏌ユ壘鎴愬姛");
+                result.setResult(repDepIdModelList);
+            } else {
+                result.setSuccess(false);
+                result.setMessage("鏌ユ壘澶辫触");
+            }
+            return result;
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.setSuccess(false);
+            result.setMessage("鏌ユ壘杩囩▼涓嚭鐜颁簡寮傚父: " + e.getMessage());
+            return result;
+        }
+    }
+
     /**
      * 鐢熸垚鍦ㄦ坊鍔犵敤鎴锋儏鍐典笅娌℃湁涓婚敭鐨勯棶棰�,杩斿洖缁欏墠绔�,鏍规嵁璇d缁戝畾閮ㄩ棬鏁版嵁
      *
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/entity/EamBaseRepairDepart.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/EamBaseRepairDepart.java
similarity index 98%
rename from lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/entity/EamBaseRepairDepart.java
rename to lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/EamBaseRepairDepart.java
index 30aa37e..36af3cc 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/entity/EamBaseRepairDepart.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/EamBaseRepairDepart.java
@@ -1,4 +1,4 @@
-package org.jeecg.modules.eam.base.entity;
+package org.jeecg.modules.system.entity;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/entity/EamBaseRepairDepartUser.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/EamBaseRepairDepartUser.java
similarity index 96%
rename from lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/entity/EamBaseRepairDepartUser.java
rename to lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/EamBaseRepairDepartUser.java
index 43353cd..2b8d59b 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/entity/EamBaseRepairDepartUser.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/EamBaseRepairDepartUser.java
@@ -1,4 +1,4 @@
-package org.jeecg.modules.eam.base.entity;
+package org.jeecg.modules.system.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java
index 76ac551..a4894ba 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java
@@ -105,6 +105,9 @@
     /**浜х嚎鍚嶇О*/
     private transient String productionName;
 
+    /**缁翠慨閮ㄩ棬鍚嶇О*/
+    private transient String repairDepartName;
+
     /**
      * 鐘舵��(1锛氭甯�  2锛氬喕缁� 锛�
      */
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartMapper.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/EamBaseRepairDepartMapper.java
similarity index 91%
rename from lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartMapper.java
rename to lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/EamBaseRepairDepartMapper.java
index 23d2a16..5e3f4aa 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartMapper.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/EamBaseRepairDepartMapper.java
@@ -1,9 +1,9 @@
-package org.jeecg.modules.eam.base.mapper;
+package org.jeecg.modules.system.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
-import org.jeecg.modules.eam.base.entity.EamBaseRepairDepart;
+import org.jeecg.modules.system.entity.EamBaseRepairDepart;
 
 import java.util.List;
 
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartUserMapper.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/EamBaseRepairDepartUserMapper.java
similarity index 80%
rename from lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartUserMapper.java
rename to lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/EamBaseRepairDepartUserMapper.java
index 75a2e3f..7487ac1 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartUserMapper.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/EamBaseRepairDepartUserMapper.java
@@ -1,8 +1,8 @@
-package org.jeecg.modules.eam.base.mapper;
+package org.jeecg.modules.system.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
-import org.jeecg.modules.eam.base.entity.EamBaseRepairDepartUser;
+import org.jeecg.modules.system.entity.EamBaseRepairDepartUser;
 
 import java.util.List;
 
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java
index 754e8ed..a00919a 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java
@@ -8,6 +8,7 @@
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.system.entity.SysUser;
 import org.jeecg.modules.system.model.SysUserSysDepartModel;
+import org.jeecg.modules.system.vo.EamUserRepDepVo;
 import org.jeecg.modules.system.vo.MdcUserProVo;
 import org.jeecg.modules.system.vo.SysUserDepVo;
 
@@ -193,4 +194,9 @@
     List<SysUser> getEquipmentAdmin(@Param("roleCode") String roleCode, @Param("equipmentId") String equipmentId);
 
 	List<SysUser> getUserByRoleCodeList(@Param("roleCodeList") List<String> roleCodeList);
+
+	/**
+	 * 鏍规嵁鐢ㄦ埛Ids,鏌ヨ鐢ㄦ埛鎵�灞炵淮淇儴闂ㄥ悕绉颁俊鎭�
+	 */
+	List<EamUserRepDepVo> getRepDepNamesByUserIds(@Param("userIds") List<String> userIds);
 }
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartMapper.xml b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/EamBaseRepairDepartMapper.xml
similarity index 92%
rename from lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartMapper.xml
rename to lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/EamBaseRepairDepartMapper.xml
index 137d8ed..37303fb 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartMapper.xml
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/EamBaseRepairDepartMapper.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.jeecg.modules.eam.base.mapper.EamBaseRepairDepartMapper">
+<mapper namespace="org.jeecg.modules.system.mapper.EamBaseRepairDepartMapper">
 
     <!--閫掑綊鏌ヨ鎵�鏈夊瓙鑺傜偣-->
     <select id="recursionChildren" resultType="java.lang.String">
@@ -32,7 +32,7 @@
         SELECT TOP 1 t2.id id FROM mdc_user_maintain t1 LEFT JOIN sys_maintain_depart t2 ON t1.pro_id = t2.id WHERE t1.user_id = #{userId} AND t2.org_type = '3'
     </select>
 
-    <select id="findMaintainList" resultType="org.jeecg.modules.eam.base.entity.EamBaseRepairDepart">
+    <select id="findMaintainList" resultType="org.jeecg.modules.system.entity.EamBaseRepairDepart">
         SELECT
             t1.*
         FROM
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartUserMapper.xml b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/EamBaseRepairDepartUserMapper.xml
similarity index 81%
rename from lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartUserMapper.xml
rename to lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/EamBaseRepairDepartUserMapper.xml
index eb78982..a5fbdbe 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartUserMapper.xml
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/EamBaseRepairDepartUserMapper.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.jeecg.modules.eam.base.mapper.EamBaseRepairDepartUserMapper">
+<mapper namespace="org.jeecg.modules.system.mapper.EamBaseRepairDepartUserMapper">
 
     <!--鏍规嵁鎸囧畾鐢ㄦ埛id鏌ヨ浜х嚎id闆嗗悎-->
     <select id="queryRepairDepartIdsByUserId" resultType="java.lang.String">
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml
index 6aa707b..acf40f3 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml
@@ -236,4 +236,12 @@
 			and username = #{username}
 		</if>
 	</select>
+
+	<!-- 鏌ヨ鐢ㄦ埛鐨勬墍灞炰骇绾垮悕绉颁俊鎭� -->
+	<select id="getRepDepNamesByUserIds" resultType="org.jeecg.modules.system.vo.EamUserRepDepVo">
+		SELECT t2.depart_name repairDepartName, t1.user_id FROM eam_base_repair_depart_user t1, eam_base_repair_depart t2 WHERE t2.id = t1.depart_id AND t1.user_id IN
+		<foreach collection="userIds" index="index" item="id" open="(" separator="," close=")">
+			#{id}
+		</foreach>
+	</select>
 </mapper>
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/model/EamBaseRepairDepartTreeModel.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/model/EamBaseRepairDepartTreeModel.java
similarity index 96%
rename from lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/model/EamBaseRepairDepartTreeModel.java
rename to lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/model/EamBaseRepairDepartTreeModel.java
index d338eea..73860b3 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/model/EamBaseRepairDepartTreeModel.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/model/EamBaseRepairDepartTreeModel.java
@@ -1,10 +1,10 @@
-package org.jeecg.modules.eam.base.model;
+package org.jeecg.modules.system.model;
 
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
-import org.jeecg.modules.eam.base.entity.EamBaseRepairDepart;
+import org.jeecg.modules.system.entity.EamBaseRepairDepart;
 
 import java.io.Serializable;
 import java.util.ArrayList;
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/model/RepairDepartIdModel.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/model/RepairDepartIdModel.java
similarity index 76%
rename from lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/model/RepairDepartIdModel.java
rename to lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/model/RepairDepartIdModel.java
index af68235..61959bb 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/model/RepairDepartIdModel.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/model/RepairDepartIdModel.java
@@ -1,9 +1,9 @@
-package org.jeecg.modules.eam.base.model;
+package org.jeecg.modules.system.model;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
-import org.jeecg.modules.eam.base.entity.EamBaseRepairDepart;
+import org.jeecg.modules.system.entity.EamBaseRepairDepart;
 
 import java.io.Serializable;
 import java.util.ArrayList;
@@ -56,10 +56,10 @@
      *
      * @return
      */
-    public RepairDepartIdModel convertByUserMaintainDepart(EamBaseRepairDepart mdcMaintainDepart) {
-        this.key = mdcMaintainDepart.getId();
-        this.value = mdcMaintainDepart.getId();
-        this.title = mdcMaintainDepart.getDepartName();
+    public RepairDepartIdModel convertByUserRepairDepart(EamBaseRepairDepart eamBaseRepairDepart) {
+        this.key = eamBaseRepairDepart.getId();
+        this.value = eamBaseRepairDepart.getId();
+        this.title = eamBaseRepairDepart.getDepartName();
         return this;
     }
 }
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/IEamBaseRepairDepartService.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IEamBaseRepairDepartService.java
similarity index 89%
rename from lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/IEamBaseRepairDepartService.java
rename to lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IEamBaseRepairDepartService.java
index 90ddfb6..7d43f89 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/IEamBaseRepairDepartService.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IEamBaseRepairDepartService.java
@@ -1,9 +1,9 @@
-package org.jeecg.modules.eam.base.service;
+package org.jeecg.modules.system.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import org.jeecg.modules.eam.base.entity.EamBaseRepairDepart;
-import org.jeecg.modules.eam.base.model.EamBaseRepairDepartTreeModel;
-import org.jeecg.modules.eam.base.model.RepairDepartIdModel;
+import org.jeecg.modules.system.entity.EamBaseRepairDepart;
+import org.jeecg.modules.system.model.EamBaseRepairDepartTreeModel;
+import org.jeecg.modules.system.model.RepairDepartIdModel;
 
 import java.util.List;
 
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IEamBaseRepairDepartUserService.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IEamBaseRepairDepartUserService.java
new file mode 100644
index 0000000..5e48992
--- /dev/null
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IEamBaseRepairDepartUserService.java
@@ -0,0 +1,26 @@
+package org.jeecg.modules.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.system.entity.EamBaseRepairDepartUser;
+import org.jeecg.modules.system.model.RepairDepartIdModel;
+
+import java.util.List;
+
+/**
+ * @Author: Lius
+ * @CreateTime: 2025-07-03
+ * @Description: 鐢ㄦ埛缁翠慨閮ㄩ棬/鐝粍
+ */
+public interface IEamBaseRepairDepartUserService extends IService<EamBaseRepairDepartUser> {
+
+    /**
+     * 鏍规嵁鎸囧畾鐢ㄦ埛id鏌ヨ浜х嚎淇℃伅
+     */
+    List<RepairDepartIdModel> queryRepairDepartIdsOfUser(String userId);
+
+//    /**
+//     * 鏍规嵁鎸囧畾鐢ㄦ埛id鏌ヨ浜х嚎id闆嗗悎
+//     */
+//    List<String> queryProductionIdsByUserId(String userId);
+
+}
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserService.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
index cf414ed..573a864 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
@@ -288,8 +288,9 @@
 	 * @param selectedRoles 閫夋嫨鐨勮鑹瞚d锛屽涓互閫楀彿闅斿紑
 	 * @param selectedDeparts 閫夋嫨鐨勯儴闂╥d锛屽涓互閫楀彿闅斿紑
 	 * @param selectedProductions 閫夋嫨鐨勪骇绾縤d锛屽涓互閫楀彿闅斿紑
+	 * @param selectedRepairDeparts 閫夋嫨鐨勭淮淇儴闂╥d锛屽涓互閫楀彿闅斿紑
 	 */
-	void saveUser(SysUser user, String selectedRoles, String selectedDeparts, String selectedProductions);
+	void saveUser(SysUser user, String selectedRoles, String selectedDeparts, String selectedProductions, String selectedRepairDeparts);
 
 	/**
 	 * 缂栬緫鐢ㄦ埛
@@ -297,8 +298,9 @@
 	 * @param roles 閫夋嫨鐨勮鑹瞚d锛屽涓互閫楀彿闅斿紑
 	 * @param departs 閫夋嫨鐨勯儴闂╥d锛屽涓互閫楀彿闅斿紑
 	 * @param productions 閫夋嫨鐨勪骇绾縤d锛屽涓互閫楀彿闅斿紑
+	 * @param repairDeparts 閫夋嫨鐨勭淮淇儴闂╥d锛屽涓互閫楀彿闅斿紑
 	 */
-	void editUser(SysUser user, String roles, String departs, String productions);
+	void editUser(SysUser user, String roles, String departs, String productions, String repairDeparts);
 
 	/**
      * userId杞负username
@@ -321,6 +323,11 @@
 	Map<String, String> getProNamesByUserIds(List<String> userIds);
 
 	/**
+	 * 鏍规嵁 userIds鏌ヨ锛屾煡璇㈢敤鎴锋墍灞炰骇绾跨殑鍚嶇О锛堝涓骇绾垮悕閫楀彿闅斿紑锛�
+	 */
+	Map<String, String> getRepDepNamesByUserIds(List<String> userIds);
+
+	/**
 	 * 鏍规嵁瑙掕壊Id鏌ヨ璇ヨ鑹蹭笅鐨勬墍鏈夌敤鎴蜂俊鎭�,涓嶅垎椤�
 	 *
 	 * @param
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/EamBaseRepairDepartImpl.java
similarity index 95%
rename from lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java
rename to lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/EamBaseRepairDepartImpl.java
index 6df251a..6f2db32 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/EamBaseRepairDepartImpl.java
@@ -1,4 +1,4 @@
-package org.jeecg.modules.eam.base.service.impl;
+package org.jeecg.modules.system.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -9,16 +9,16 @@
 import org.jeecg.common.constant.FillRuleConstant;
 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.EamBaseRepairDepart;
+import org.jeecg.modules.system.entity.EamBaseRepairDepartUser;
+import org.jeecg.modules.system.mapper.EamBaseRepairDepartMapper;
+import org.jeecg.modules.system.mapper.EamBaseRepairDepartUserMapper;
+import org.jeecg.modules.system.service.IEamBaseRepairDepartService;
+import org.jeecg.modules.system.model.EamBaseRepairDepartTreeModel;
+import org.jeecg.modules.system.model.RepairDepartIdModel;
 import org.jeecg.modules.system.entity.SysUser;
 import org.jeecg.modules.system.mapper.SysUserMapper;
+import org.jeecg.modules.system.util.FindsRepairDepartsChildrenUtil;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/EamBaseRepairDepartUserServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/EamBaseRepairDepartUserServiceImpl.java
new file mode 100644
index 0000000..db92a43
--- /dev/null
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/EamBaseRepairDepartUserServiceImpl.java
@@ -0,0 +1,58 @@
+package org.jeecg.modules.system.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.system.entity.EamBaseRepairDepart;
+import org.jeecg.modules.system.entity.EamBaseRepairDepartUser;
+import org.jeecg.modules.system.mapper.EamBaseRepairDepartUserMapper;
+import org.jeecg.modules.system.model.RepairDepartIdModel;
+import org.jeecg.modules.system.service.IEamBaseRepairDepartService;
+import org.jeecg.modules.system.service.IEamBaseRepairDepartUserService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description: 鐢ㄦ埛缁翠慨閮ㄩ棬/鐝粍
+ * @author: LiuS
+ * @create: 2023-03-27 11:58
+ */
+@Service
+public class EamBaseRepairDepartUserServiceImpl extends ServiceImpl<EamBaseRepairDepartUserMapper, EamBaseRepairDepartUser> implements IEamBaseRepairDepartUserService {
+
+    @Resource
+    private IEamBaseRepairDepartService eamBaseRepairDepartService;
+
+    /**
+     * 鏍规嵁鐢ㄦ埛id鏌ヨ缁翠慨閮ㄩ棬/鐝粍淇℃伅
+     */
+    @Override
+    public List<RepairDepartIdModel> queryRepairDepartIdsOfUser(String userId) {
+        LambdaQueryWrapper<EamBaseRepairDepartUser> queryUserRepDep = new LambdaQueryWrapper<>();
+        LambdaQueryWrapper<EamBaseRepairDepart> queryRepDep = new LambdaQueryWrapper<>();
+        try {
+            queryUserRepDep.eq(EamBaseRepairDepartUser::getUserId, userId);
+            List<String> repRepDepIdList = new ArrayList<>();
+            List<RepairDepartIdModel> repDepIdModelList = new ArrayList<>();
+            List<EamBaseRepairDepartUser> userRepDepList = this.list(queryUserRepDep);
+            if (userRepDepList != null && !userRepDepList.isEmpty()) {
+                for (EamBaseRepairDepartUser eamBaseRepairDepartUser : userRepDepList) {
+                    repRepDepIdList.add(eamBaseRepairDepartUser.getDepartId());
+                }
+                queryRepDep.in(EamBaseRepairDepart::getId, repRepDepIdList);
+                List<EamBaseRepairDepart> repDepList = eamBaseRepairDepartService.list(queryRepDep);
+                if (repDepList != null && !repDepList.isEmpty()) {
+                    for (EamBaseRepairDepart eamBaseRepairDepart : repDepList) {
+                        repDepIdModelList.add(new RepairDepartIdModel().convertByUserRepairDepart(eamBaseRepairDepart));
+                    }
+                }
+                return repDepIdModelList;
+            }
+        } catch (Exception e) {
+            e.fillInStackTrace();
+        }
+        return null;
+    }
+}
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
index f9c8e61..064343b 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
@@ -25,6 +25,7 @@
 import org.jeecg.modules.system.model.SysUserSysDepartModel;
 import org.jeecg.modules.system.service.ISysDictService;
 import org.jeecg.modules.system.service.ISysUserService;
+import org.jeecg.modules.system.vo.EamUserRepDepVo;
 import org.jeecg.modules.system.vo.MdcUserProVo;
 import org.jeecg.modules.system.vo.SysUserDepVo;
 import org.jeecg.modules.system.vo.UserSelector;
@@ -79,6 +80,8 @@
 	SysRoleIndexMapper sysRoleIndexMapper;
 	@Resource
 	MdcUserProductionMapper mdcUserProductionMapper;
+	@Resource
+	EamBaseRepairDepartUserMapper eamBaseRepairDepartUserMapper;
 	@Resource
 	private ISysDictService sysDictService;
 
@@ -570,7 +573,7 @@
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void saveUser(SysUser user, String selectedRoles, String selectedDeparts, String selectedProductions) {
+	public void saveUser(SysUser user, String selectedRoles, String selectedDeparts, String selectedProductions, String selectedRepairDeparts) {
 		//step.1 淇濆瓨鐢ㄦ埛
 		this.save(user);
 		//step.2 淇濆瓨瑙掕壊
@@ -597,12 +600,20 @@
 				mdcUserProductionMapper.insert(mdcUserProduction);
 			}
 		}
+		//step.5 淇濆瓨鎵�灞炵淮淇儴闂�
+		if (oConvertUtils.isNotEmpty(selectedRepairDeparts)) {
+			String[] arr = selectedRepairDeparts.split(",");
+			for (String repairDepartId : arr) {
+				EamBaseRepairDepartUser eamBaseRepairDepartUser = new EamBaseRepairDepartUser(user.getId(), repairDepartId);
+				eamBaseRepairDepartUserMapper.insert(eamBaseRepairDepartUser);
+			}
+		}
 	}
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	@CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true)
-	public void editUser(SysUser user, String roles, String departs, String productions) {
+	public void editUser(SysUser user, String roles, String departs, String productions, String repairDeparts) {
 		//step.1 淇敼鐢ㄦ埛鍩虹淇℃伅
 		this.updateById(user);
 		//step.2 淇敼瑙掕壊
@@ -658,6 +669,19 @@
 				mdcUserProductionMapper.insert(mdcUserProduction);
 			}
 		}
+		//step.5 淇敼缁翠慨閮ㄩ棬
+		String[] arrayRepDep = {};
+		if(oConvertUtils.isNotEmpty(repairDeparts)){
+			arrayRepDep = repairDeparts.split(",");
+		}
+		//鍏堝垹鍚庡姞
+		eamBaseRepairDepartUserMapper.delete(new QueryWrapper<EamBaseRepairDepartUser>().lambda().eq(EamBaseRepairDepartUser::getUserId, user.getId()));
+		if (oConvertUtils.isNotEmpty(repairDeparts)) {
+			for (String repairDepartId : arrayRepDep) {
+				EamBaseRepairDepartUser eamBaseRepairDepartUser = new EamBaseRepairDepartUser(user.getId(), repairDepartId);
+				eamBaseRepairDepartUserMapper.insert(eamBaseRepairDepartUser);
+			}
+		}
 		//step.5 淇敼鎵嬫満鍙峰拰閭
 		// 鏇存柊鎵嬫満鍙枫�侀偖绠辩┖瀛楃涓蹭负 null
 		userMapper.updateNullByEmptyString("email");
@@ -704,6 +728,21 @@
 		return res;
 	}
 
+	@Override
+	public Map<String, String> getRepDepNamesByUserIds(List<String> userIds) {
+		List<EamUserRepDepVo> list = this.baseMapper.getRepDepNamesByUserIds(userIds);
+
+		Map<String, String> res = new HashMap<>(5);
+		list.forEach(item -> {
+			if (res.get(item.getUserId()) == null) {
+				res.put(item.getUserId(), item.getRepairDepartName());
+			} else {
+				res.put(item.getUserId(), res.get(item.getUserId()) + "," + item.getRepairDepartName());
+			}
+		});
+		return res;
+	}
+
 	// 鏍规嵁瑙掕壊Id鏌ヨ璇ヨ鑹蹭笅鐨勬墍鏈夌敤鎴蜂俊鎭�
 	@Override
 	public List<SysUser> getAllUsersByRoleId(String roleId) {
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/util/FindsRepairDepartsChildrenUtil.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/util/FindsRepairDepartsChildrenUtil.java
similarity index 94%
rename from lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/util/FindsRepairDepartsChildrenUtil.java
rename to lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/util/FindsRepairDepartsChildrenUtil.java
index 673ceb6..f5d661d 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/util/FindsRepairDepartsChildrenUtil.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/util/FindsRepairDepartsChildrenUtil.java
@@ -1,9 +1,9 @@
-package org.jeecg.modules.eam.base.util;
+package org.jeecg.modules.system.util;
 
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.eam.base.entity.EamBaseRepairDepart;
-import org.jeecg.modules.eam.base.model.EamBaseRepairDepartTreeModel;
-import org.jeecg.modules.eam.base.model.RepairDepartIdModel;
+import org.jeecg.modules.system.entity.EamBaseRepairDepart;
+import org.jeecg.modules.system.model.EamBaseRepairDepartTreeModel;
+import org.jeecg.modules.system.model.RepairDepartIdModel;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/vo/EamUserRepDepVo.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/vo/EamUserRepDepVo.java
new file mode 100644
index 0000000..6bd3f20
--- /dev/null
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/vo/EamUserRepDepVo.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.system.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: Lius
+ * @CreateTime: 2025-07-03
+ * @Description:
+ */
+@Data
+public class EamUserRepDepVo {
+    private String userId;
+    private String repairDepartName;
+}

--
Gitblit v1.9.3