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 ++++++++++++++++-----------
 1 files changed, 16 insertions(+), 11 deletions(-)

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);
             }

--
Gitblit v1.9.3