From 1dcf43467f34eb70002be3c2f3cd7605ceb5dcdd Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期一, 17 二月 2025 10:18:18 +0800
Subject: [PATCH] 设备权限与车间权限

---
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java |   45 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 37 insertions(+), 8 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 106de85..1434c07 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
@@ -48,7 +48,7 @@
 @Service
 @Slf4j
 public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService {
-	
+
 	@Autowired
 	private SysUserMapper userMapper;
 	@Autowired
@@ -79,6 +79,10 @@
 	MdcUserProductionMapper mdcUserProductionMapper;
 	@Resource
 	private ISysDictService sysDictService;
+	@Resource
+	private MdcProductionEquipmentMapper mdcProductionEquipmentMapper;
+	@Resource
+	private DncDevicePermissionMapper dncDevicePermissionMapper;
 
     @Override
     @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
@@ -141,8 +145,8 @@
 	public SysUser getUserByName(String username) {
 		return userMapper.getUserByName(username);
 	}
-	
-	
+
+
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void addUserWithRole(SysUser user, String roles) {
@@ -203,7 +207,7 @@
 				roleIndex = list.get(0);
 			}
 		}
-		
+
 		//濡傛灉componentUrl涓虹┖锛屽垯杩斿洖绌�
 		if(oConvertUtils.isEmpty(roleIndex.getComponent())){
 			return null;
@@ -269,7 +273,7 @@
 			info.setSysUserName(sysUser.getRealname());
 			info.setSysOrgCode(sysUser.getOrgCode());
 		}
-		
+
 		//澶氶儴闂ㄦ敮鎸乮n鏌ヨ
 		List<SysDepart> list = sysDepartMapper.queryUserDeparts(sysUser.getId());
 		List<String> sysMultiOrgCode = new ArrayList<String>();
@@ -285,7 +289,7 @@
 			}
 		}
 		info.setSysMultiOrgCode(sysMultiOrgCode);
-		
+
 		return info;
 	}
 
@@ -577,12 +581,24 @@
 				sysUserDepartMapper.insert(userDeaprt);
 			}
 		}
+		String[] arr = {};
 		//step.4 淇濆瓨鎵�灞炰骇绾�
 		if (oConvertUtils.isNotEmpty(selectedProductions)) {
-			String[] arr = selectedProductions.split(",");
+			arr = selectedProductions.split(",");
 			for (String productionId : arr) {
 				MdcUserProduction mdcUserProduction = new MdcUserProduction(user.getId(), productionId);
 				mdcUserProductionMapper.insert(mdcUserProduction);
+			}
+		}
+		//step.5 淇濆瓨璁惧鏉冮檺
+		List<String> EquipmentIds= mdcProductionEquipmentMapper.selectList(new QueryWrapper<MdcProductionEquipment>().in("production_id",arr))
+				.stream().map(MdcProductionEquipment::getEquipmentId).collect(Collectors.toList());
+		if (oConvertUtils.isNotEmpty(EquipmentIds)) {
+			for (String equipmentId : EquipmentIds) {
+				DncDevicePermission dncDevicePermission=new DncDevicePermission();
+				dncDevicePermission.setDeviceId(equipmentId);
+				dncDevicePermission.setUserId(user.getId());
+				dncDevicePermissionMapper.insert(dncDevicePermission);
 			}
 		}
 	}
@@ -646,7 +662,20 @@
 				mdcUserProductionMapper.insert(mdcUserProduction);
 			}
 		}
-		//step.5 淇敼鎵嬫満鍙峰拰閭
+		//step.5 淇敼璁惧鏉冮檺
+		//鍏堝垹鍚庡姞
+		dncDevicePermissionMapper.delete(new QueryWrapper<DncDevicePermission>().lambda().eq(DncDevicePermission::getUserId, user.getId()));
+		List<String> EquipmentIds= mdcProductionEquipmentMapper.selectList(new QueryWrapper<MdcProductionEquipment>().in("production_id",array))
+				.stream().map(MdcProductionEquipment::getEquipmentId).collect(Collectors.toList());
+		if (oConvertUtils.isNotEmpty(EquipmentIds)) {
+			for (String equipmentId : EquipmentIds) {
+				DncDevicePermission dncDevicePermission=new DncDevicePermission();
+				dncDevicePermission.setDeviceId(equipmentId);
+				dncDevicePermission.setUserId(user.getId());
+				dncDevicePermissionMapper.insert(dncDevicePermission);
+			}
+		}
+		//step.6 淇敼鎵嬫満鍙峰拰閭
 		// 鏇存柊鎵嬫満鍙枫�侀偖绠辩┖瀛楃涓蹭负 null
 		userMapper.updateNullByEmptyString("email");
 		userMapper.updateNullByEmptyString("phone");

--
Gitblit v1.9.3