From 30d95dba557faa1e013ceadd2592b339a8c3f819 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 05 Feb 2024 14:19:23 +0800
Subject: [PATCH] 用户机构调整绑定警格处理

---
 src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java |   52 +++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 43 insertions(+), 9 deletions(-)

diff --git a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
index 4e0bbba..fda9a49 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -623,10 +623,14 @@
 				// 判断角色
 				if (!userInfo.getRoleId().contains("1727864411451359233")){
 					userInfo.setRoleId(userInfo.getRoleId() + ",1727864411451359233");
+					// 更新机构
+					setDeptId(userInfo,userExcel);
 					// 更新
 					updateById(userInfo);
+					// 更新用户机构绑定
+					submitUserDept(userInfo);
 					// 更新社区民警绑定信息
-					updateCommunityInfo(userExcel,userInfo);
+					updateGridBind(userInfo);
 				}
 			}else {
 				// 插入用户角色
@@ -638,18 +642,48 @@
 				user.setRealName(userExcel.getRealName());
 				user.setPhone(userExcel.getPhone());
 				user.setAccount(userExcel.getPhone());
-				// 查询机构
-				QueryWrapper<Dept> queryWrapper = new QueryWrapper<>();
-				queryWrapper.eq("is_deleted",0).eq("dept_name",userExcel.getPoliceStationName());
-				Dept dept = SpringUtil.getBean(IDeptService.class).getOne(queryWrapper);
-				if (null!=dept){
-					user.setDeptId(dept.getId().toString());
-				}
+				// 更新机构
+				setDeptId(user,userExcel);
+				// 设置初始密码
 				user.setPassword("123456");
 				// 保存
 				submit(user);
+				// 更新用户机构绑定
+				submitUserDept(user);
 				// 更新社区民警绑定信息
-				updateCommunityInfo(userExcel,user);
+				updateGridBind(user);
+			}
+		}
+	}
+
+	/**
+	 * 设置机构
+	 */
+	public void setDeptId(User user,PoliceUserExcel userExcel) {
+		// 查询机构
+		QueryWrapper<PoliceAffairsGridEntity> queryWrapper = new QueryWrapper<>();
+		queryWrapper.eq("is_deleted",0)
+			.eq("community_code",userExcel.getCommunityCode())
+			.eq("pcs_name",userExcel.getPoliceStationName());
+		PoliceAffairsGridEntity policeAffairsGridEntity = policeAffairsGridService.getOne(queryWrapper);
+		if (null!=policeAffairsGridEntity){
+			// 查询对应绑定的机构
+			QueryWrapper<Dept> wrapper = new QueryWrapper<>();
+			wrapper.eq("is_deleted",0)
+				.eq("dept_nature",1)
+				.eq("region_code",policeAffairsGridEntity.getJwGridCode());
+			Dept dept = SpringUtil.getBean(IDeptService.class).getOne(wrapper);
+			if (null!=dept){
+				if (null!=user.getId()){
+					// 更新设置机构
+					if (!Strings.isBlank(user.getDeptId())){
+						if (!user.getDeptId().contains(dept.getId().toString())){
+							user.setDeptId(user.getDeptId() + "," + dept.getId());
+						}
+					}
+				}else {
+					user.setDeptId(dept.getId().toString());
+				}
 			}
 		}
 	}

--
Gitblit v1.9.3