From da0e45a47b2b6e05734db2e62ed61987871323d3 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 05 Feb 2024 15:06:28 +0800
Subject: [PATCH] 用户机构调整绑定警格处理调整
---
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java | 82 +++++++++++++++++++++++++++++++++++------
1 files changed, 70 insertions(+), 12 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..59bb6f0 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,11 +623,15 @@
// 判断角色
if (!userInfo.getRoleId().contains("1727864411451359233")){
userInfo.setRoleId(userInfo.getRoleId() + ",1727864411451359233");
- // 更新
- updateById(userInfo);
- // 更新社区民警绑定信息
- updateCommunityInfo(userExcel,userInfo);
}
+ // 更新机构
+ setDeptId(userInfo,userExcel);
+ // 更新
+ updateById(userInfo);
+ // 更新用户机构绑定
+ submitUserDept(userInfo);
+ // 更新社区民警绑定信息
+ updateGridBind(userInfo);
}else {
// 插入用户角色
User user = new User();
@@ -638,18 +642,72 @@
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()){
+ DeptNotHandle(user, dept);
+ }else {
+ user.setDeptId(dept.getId().toString());
+ }
+ }
+ }
+ }
+
+ /**
+ * 机构不为空时处理
+ * @param user
+ * @param dept
+ */
+ public void DeptNotHandle(User user, Dept dept) {
+ // 更新设置机构
+ if (!Strings.isBlank(user.getDeptId())){
+ // 查询对应的派出所(去掉)
+ Dept deptPcs = SpringUtil.getBean(IDeptService.class).getDeptByDeptIds(user.getDeptId());
+ if (null!=deptPcs) {
+ // 如果存在需要去掉派出所的机构id
+ List<String> list = new ArrayList<>(Arrays.asList(user.getDeptId().split(",")));
+ // 先删除派出所对应的机构ID
+ if (list.contains(deptPcs.getId().toString())){
+ list.remove(deptPcs.getId().toString());
+ user.setDeptId(String.join(",",list));
+ }
+ if (!user.getDeptId().contains(dept.getId().toString())) {
+ user.setDeptId(user.getDeptId() + "," + dept.getId());
+ }
+ }else {
+ if (!user.getDeptId().contains(dept.getId().toString())) {
+ user.setDeptId(user.getDeptId() + "," + dept.getId());
+ }
}
}
}
--
Gitblit v1.9.3