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/SysUserServiceImpl.java |   43 +++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 41 insertions(+), 2 deletions(-)

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) {

--
Gitblit v1.9.3