From fa2ea8ba96fe9b52814fcd55f5cebf2b5ce43f9d Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期三, 09 七月 2025 10:31:59 +0800
Subject: [PATCH] 用户管理添加eam中心

---
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java            |    9 ++++
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IBaseFactoryUserService.java         |   12 ++++++
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryUserServiceImpl.java |   43 +++++++++++++++++++++
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml                           |    2 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/vo/EamBaseFactoryVo.java                     |   14 +++++++
 5 files changed, 79 insertions(+), 1 deletions(-)

diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml
index a48ead6..afac1e1 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml
@@ -42,6 +42,6 @@
         select * from
                      eam_equipment
                  where del_flag = 0
-        and factory_org_code =(select org_cod,e from eam_base_factory where eam_base_factory.id=#{eamCenterId})
+        and factory_org_code =(select org_code from eam_base_factory where eam_base_factory.id=#{eamCenterId})
     </select>
 </mapper>
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 511cde0..a3a94d7 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
@@ -167,6 +167,7 @@
                 item.setOrgCodeTxt(useDepNames.get(item.getId()));
                 item.setProductionName(useProNames.get(item.getId()));
                 item.setRepairDepartName(useRepDepNames.get(item.getId()));
+                item.setEamFactoryIds( String.join(",",iBaseFactoryUserService.queryEamCenterIdsByUserId(item.getId())));
             });
         }
         result.setSuccess(true);
@@ -184,6 +185,7 @@
         String selectedDeparts = jsonObject.getString("selecteddeparts");
         String selectedProductions = jsonObject.getString("selectedProduction");
         String selectedRepairDeparts = jsonObject.getString("selectedRepairDeparts");
+        String factoryIds=jsonObject.getString("selectedBaseFactory");
         try {
             SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class);
             user.setCreateTime(new Date());//璁剧疆鍒涘缓鏃堕棿
@@ -199,6 +201,9 @@
             user.setOrgCode(null);
             // 淇濆瓨鐢ㄦ埛璧颁竴涓猻ervice 淇濊瘉浜嬪姟
             sysUserService.saveUser(user, selectedRoles, selectedDeparts, selectedProductions, selectedRepairDeparts);
+            if (oConvertUtils.isNotEmpty(factoryIds)) {
+                iBaseFactoryUserService.addUserFactory(user.getId(), factoryIds);
+            }
             baseCommonService.addLog("娣诲姞鐢ㄦ埛锛寀sername锛� " + user.getUsername(), CommonConstant.LOG_TYPE_2, 2);
             result.success("娣诲姞鎴愬姛锛�");
         } catch (Exception e) {
@@ -227,6 +232,7 @@
                 String departs = jsonObject.getString("selecteddeparts");
                 String productions = jsonObject.getString("selectedProduction");
                 String repairDeparts = jsonObject.getString("selectedRepairDeparts");
+                String factoryIds=jsonObject.getString("selectedBaseFactory");
                 if (oConvertUtils.isEmpty(departs)) {
                     //vue3.0鍓嶇鍙紶閫掍簡departIds
                     departs = user.getDepartIds();
@@ -237,6 +243,9 @@
                 if (oConvertUtils.isNotEmpty(repairDeparts)) {
                     repairDeparts = user.getRepairDepartIds();
                 }
+                if (oConvertUtils.isNotEmpty(factoryIds)) {
+                    iBaseFactoryUserService.addUserFactory(user.getId(), factoryIds);
+                }
                 //鐢ㄦ埛琛ㄥ瓧娈祇rg_code涓嶈兘鍦ㄨ繖閲岃缃粬鐨勫��
                 user.setOrgCode(null);
                 // 淇敼鐢ㄦ埛璧颁竴涓猻ervice 淇濊瘉浜嬪姟
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IBaseFactoryUserService.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IBaseFactoryUserService.java
index d469c6d..e799873 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IBaseFactoryUserService.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IBaseFactoryUserService.java
@@ -19,4 +19,16 @@
      * 鏍规嵁鎸囧畾鐢ㄦ埛id鏌ヨ浜х嚎淇℃伅
      */
     List<EamBaseFactoryIdModel> queryEamBaseFactoryIdsOfUser(String userId);
+
+    /**
+     * 鏍规嵁鎸囧畾鐢ㄦ埛id鏌ヨEAM涓績淇℃伅
+     */
+    List<String> queryEamCenterIdsByUserId(String userId);
+
+    /**
+     * 娣诲姞鍗曚釜鐢ㄦ埛涓庝竴缁勪腑蹇�
+     * @param userId
+     * @param factoryIds
+     */
+    void addUserFactory(String userId, String factoryIds);
 }
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryUserServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryUserServiceImpl.java
index 6b432bb..0d8bf23 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryUserServiceImpl.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryUserServiceImpl.java
@@ -58,4 +58,47 @@
         }
         return null;
     }
+
+    /**
+     * 鏍规嵁鎸囧畾鐢ㄦ埛id鏌ヨEAM涓績淇℃伅
+     */
+    @Override
+    public List<String> queryEamCenterIdsByUserId(String userId){
+        LambdaQueryWrapper<BaseFactoryUser> factoryUserLambdaQueryWrapper=new LambdaQueryWrapper<>();
+        factoryUserLambdaQueryWrapper.eq(BaseFactoryUser::getUserId, userId);
+        factoryUserLambdaQueryWrapper.exists("select 1 from eam_base_factory b where b.id=eam_base_factory_user.factory_id and b.del_flag=0");
+        List<BaseFactoryUser> baseFactoryUsers=this.list(factoryUserLambdaQueryWrapper);
+        List<String> eamCenterIds=new ArrayList<>();
+        if(baseFactoryUsers!=null&& !baseFactoryUsers.isEmpty()) {
+            for (BaseFactoryUser baseFactoryUser : baseFactoryUsers) {
+                eamCenterIds.add(baseFactoryUser.getFactoryId());
+            }
+        }
+        return eamCenterIds;
+    }
+
+    /**
+     * 娣诲姞鍗曚釜鐢ㄦ埛涓庝竴缁勪腑蹇�
+     * @param userId
+     * @param factoryIds
+     */
+    @Override
+    public void addUserFactory(String userId, String factoryIds){
+        if (factoryIds.contains(",")){
+            //鍏堟煡璇�
+            List<String> eamCenterIds=this.queryEamCenterIdsByUserId(userId);
+            if (eamCenterIds != null && !eamCenterIds.isEmpty()) {
+                for (String eamCenterId : eamCenterIds) {
+                    this.remove(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId, userId).eq(BaseFactoryUser::getFactoryId, eamCenterId));
+                }
+            }
+            String [] factoryIdArray=factoryIds.split(",");
+            for(String factoryId:factoryIdArray){
+                BaseFactoryUser baseFactoryUser=new BaseFactoryUser();
+                baseFactoryUser.setUserId(userId);
+                baseFactoryUser.setFactoryId(factoryId);
+                this.save(baseFactoryUser);
+            }
+        }
+    }
 }
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/vo/EamBaseFactoryVo.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/vo/EamBaseFactoryVo.java
new file mode 100644
index 0000000..5ff1bae
--- /dev/null
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/vo/EamBaseFactoryVo.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.system.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: Lius
+ * @CreateTime: 2025-07-03
+ * @Description:
+ */
+@Data
+public class EamBaseFactoryVo {
+    private String userId;
+    private String factoryName;
+}

--
Gitblit v1.9.3