From 26f417382ff5cea9635d0ca65852e83938228e8a Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期六, 18 七月 2026 14:28:17 +0800
Subject: [PATCH] 【景宁】用户-关系删除原有关系
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 27 ++++++++++++++++-----------
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserDeptMapper.java | 2 ++
ruoyi-system/src/main/resources/mapper/system/SysUserDeptMapper.xml | 18 ++++++++++++++++++
3 files changed, 36 insertions(+), 11 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserDeptMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserDeptMapper.java
index 020091d..88562e9 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserDeptMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserDeptMapper.java
@@ -74,5 +74,7 @@
public int deleteSysUserDeptByCode(SysUserDept sysUserDept);
+ public int deleteSysUserDeptByUserId(SysUserDept sysUserDept);
+
public int updateSysUserDeptForSync(SysUserDept sysUserDept);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 1c28e14..315404e 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -709,7 +709,15 @@
// sysUserDeptMapper.insertSysUserDept(sysUserDep);
// }
// }
+
if (!CollectionUtils.isEmpty(user.getDeptCodes())) {
+ //鍒犻櫎鍘熸湁鍏崇郴
+ SysUserDept delSysUserDept = new SysUserDept();
+ delSysUserDept.setUserId(user.getUserId());
+ delSysUserDept.setOrgid(user.getOrgid());
+ delSysUserDept.setDeptType("1");
+ sysUserDeptMapper.deleteSysUserDeptByUserId(delSysUserDept);
+
for (String deptCode : user.getDeptCodes()) {
SysDept sysDept = sysDeptMapper.selectDeptByCode("1", user.getOrgid(), deptCode);
if (ObjectUtils.isEmpty(sysDept)) {
@@ -721,21 +729,23 @@
sysUserDept.setOrgid(user.getOrgid());
sysUserDept.setDeptCode(deptCode);
sysUserDept.setDeptId(sysDept.getDeptId());
- List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
sysUserDept.setDelFlag(0L);
sysUserDept.setDeptType("1");
sysUserDept.setDeptName(sysDept.getDeptName());
sysUserDept.setUpdateTime(new Date());
- if (!CollectionUtils.isEmpty(sysUserDepts)) {
- sysUserDept.setId(sysUserDepts.get(0).getId());
- sysUserDeptMapper.updateSysUserDept(sysUserDept);
- continue;
- }
sysUserDept.setCreateTime(new Date());
sysUserDeptMapper.insertSysUserDept(sysUserDept);
}
}
+
if (!CollectionUtils.isEmpty(user.getWardCodes())) {
+ //鍒犻櫎鍘熸湁鍏崇郴
+ SysUserDept delSysUserDept = new SysUserDept();
+ delSysUserDept.setUserId(user.getUserId());
+ delSysUserDept.setOrgid(user.getOrgid());
+ delSysUserDept.setDeptType("2");
+ sysUserDeptMapper.deleteSysUserDeptByUserId(delSysUserDept);
+
for (String wardCode : user.getWardCodes()) {
SysDept sysDept = sysDeptMapper.selectDeptByCode("2", user.getOrgid(), wardCode);
if (ObjectUtils.isEmpty(sysDept)) {
@@ -746,16 +756,11 @@
sysUserDept.setDeptCode(wardCode);
sysUserDept.setDeptId(sysDept.getDeptId());
sysUserDept.setOrgid(user.getOrgid());
- List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
sysUserDept.setDelFlag(0L);
sysUserDept.setDeptType("2");
sysUserDept.setOrgid(user.getOrgid());
sysUserDept.setDeptName(sysDept.getDeptName());
sysUserDept.setUpdateTime(new Date());
- if (!CollectionUtils.isEmpty(sysUserDepts)) {
- sysUserDeptMapper.updateSysUserDept(sysUserDept);
- continue;
- }
sysUserDept.setCreateTime(new Date());
sysUserDeptMapper.insertSysUserDept(sysUserDept);
}
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserDeptMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserDeptMapper.xml
index cbb6490..4795ebc 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserDeptMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserDeptMapper.xml
@@ -237,6 +237,24 @@
where user_id =#{userId} and dept_code=#{deptCode}
</update>
+ <update id="deleteSysUserDeptByUserId" parameterType="String">
+ update sys_user_dept
+ <trim prefix="SET" suffixOverrides=",">
+ del_flag =1,
+ update_time = sysdate()
+ </trim>
+ where del_flag = 0
+ <if test="userId != null">
+ and user_id =#{userId}
+ </if>
+ <if test="orgid != null ">
+ and orgid = #{orgid}
+ </if>
+ <if test="deptType != null ">
+ and dept_type = #{deptType}
+ </if>
+ </update>
+
<update id="updateSysUserDeptForSync" parameterType="com.ruoyi.common.core.domain.entity.SysUserDept">
update sys_user_dept
<trim prefix="SET" suffixOverrides=",">
--
Gitblit v1.9.3