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/mapper/DeptMapper.java | 7 +++
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml | 8 ++++
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java | 52 +++++++++++++++++++-------
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java | 10 +++++
src/main/java/org/springblade/modules/system/service/IDeptService.java | 7 +++
5 files changed, 70 insertions(+), 14 deletions(-)
diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
index dde1c82..c52324e 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
@@ -98,4 +98,11 @@
* @return
*/
List<DeptVO> getGridDeptAndParentList();
+
+ /**
+ * 查询对应的派出所
+ * @param deptId
+ * @return
+ */
+ Dept getDeptByDeptIds(@Param("deptId") String deptId);
}
diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
index cc0951e..c22b69a 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -194,4 +194,12 @@
where bd.dept_name like '%网格%'
</select>
+ <!--查询对应的派出所-->
+ <select id="getDeptByDeptIds" resultType="org.springblade.modules.system.entity.Dept">
+ select * from blade_dept
+ where is_deleted = 0
+ and locate(id,#{deptId})>0
+ and dept_name like '%派出所%'
+ </select>
+
</mapper>
diff --git a/src/main/java/org/springblade/modules/system/service/IDeptService.java b/src/main/java/org/springblade/modules/system/service/IDeptService.java
index ec2f554..8a8aab9 100644
--- a/src/main/java/org/springblade/modules/system/service/IDeptService.java
+++ b/src/main/java/org/springblade/modules/system/service/IDeptService.java
@@ -146,4 +146,11 @@
* 数据处理(社区绑定)-- 处理社区(派出所下)
*/
Object dataHandleCommunityByPolice();
+
+ /**
+ * 查询对应的派出所
+ * @param deptId
+ * @return
+ */
+ Dept getDeptByDeptIds(String deptId);
}
diff --git a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
index 9e51e45..027413b 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -450,4 +450,14 @@
}
return null;
}
+
+ /**
+ * 查询对应的派出所
+ * @param deptId
+ * @return
+ */
+ @Override
+ public Dept getDeptByDeptIds(String deptId) {
+ return baseMapper.getDeptByDeptIds(deptId);
+ }
}
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 fda9a49..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,15 +623,15 @@
// 判断角色
if (!userInfo.getRoleId().contains("1727864411451359233")){
userInfo.setRoleId(userInfo.getRoleId() + ",1727864411451359233");
- // 更新机构
- setDeptId(userInfo,userExcel);
- // 更新
- updateById(userInfo);
- // 更新用户机构绑定
- submitUserDept(userInfo);
- // 更新社区民警绑定信息
- updateGridBind(userInfo);
}
+ // 更新机构
+ setDeptId(userInfo,userExcel);
+ // 更新
+ updateById(userInfo);
+ // 更新用户机构绑定
+ submitUserDept(userInfo);
+ // 更新社区民警绑定信息
+ updateGridBind(userInfo);
}else {
// 插入用户角色
User user = new User();
@@ -675,12 +675,7 @@
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());
- }
- }
+ DeptNotHandle(user, dept);
}else {
user.setDeptId(dept.getId().toString());
}
@@ -689,6 +684,35 @@
}
/**
+ * 机构不为空时处理
+ * @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());
+ }
+ }
+ }
+ }
+
+ /**
* 更新社区民警绑定信息
* @param userExcel
* @param user
--
Gitblit v1.9.3