From d3bf339bd64d7b7efddc0afdd4beb1866b8b5a04 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期六, 21 九月 2024 00:47:55 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java |  103 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 81 insertions(+), 22 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 4d3edcd..19080a2 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
@@ -26,9 +26,7 @@
 import org.springframework.util.CollectionUtils;
 
 import javax.validation.Validator;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -42,6 +40,10 @@
 
     @Autowired
     private SysUserMapper userMapper;
+
+    @Autowired
+    private SysDeptMapper sysDeptMapper;
+
     @Autowired
     private SysUserDeptMapper sysUserDeptMapper;
 
@@ -132,11 +134,30 @@
         }
 
         sysUser.setDepts(deptIds);
-        if (!CollectionUtils.isEmpty(sysUserDeptBQs))
-            sysUser.setLeavehospitaldistrictcodes(sysUserDeptBQs.stream().map(SysUserDept::getDeptCode).collect(Collectors.toList()));
-        if (!CollectionUtils.isEmpty(sysUserDeptKSs))
-            sysUser.setLeaveldeptcodes(sysUserDeptKSs.stream().map(SysUserDept::getDeptCode).collect(Collectors.toList()));
-
+        if (!CollectionUtils.isEmpty(sysUserDeptBQs)) {
+            List<Map<String, Object>> list = new ArrayList<>();
+            for (SysUserDept sud : sysUserDeptBQs) {
+                Map<String, Object> map = new HashMap<>();
+                map.put("districtCode", "");
+                if (StringUtils.isNotEmpty(sud.getDeptCode())) map.put("districtCode", sud.getDeptCode());
+                map.put("districtName", "");
+                if (StringUtils.isNotEmpty(sud.getDeptName())) map.put("districtName", sud.getDeptName());
+                list.add(map);
+            }
+            sysUser.setBelongWards(list);
+        }
+        if (!CollectionUtils.isEmpty(sysUserDeptKSs)) {
+            List<Map<String, Object>> list = new ArrayList<>();
+            for (SysUserDept sud : sysUserDeptKSs) {
+                Map<String, Object> map = new HashMap<>();
+                map.put("deptCode", "");
+                if (StringUtils.isNotEmpty(sud.getDeptCode())) map.put("deptCode", sud.getDeptCode());
+                map.put("deptName", "");
+                if (StringUtils.isNotEmpty(sud.getDeptName())) map.put("deptName", sud.getDeptName());
+                list.add(map);
+            }
+            sysUser.setBelongDepts(list);
+        }
         return sysUser;
     }
 
@@ -326,26 +347,64 @@
         //鍒犻櫎鐢ㄦ埛涓庨儴闂ㄧ殑鍏宠仈
         Long[] ids = {user.getUserId()};
         //鏂板鐢ㄦ埛涓庨儴闂ㄥ叧鑱�
-        sysUserDeptMapper.deleteSysUserDeptByIds(ids);
-        if (!CollectionUtils.isEmpty(user.getDepts())) {
-            for (Long deptId : user.getDepts()) {
-                SysUserDept sysUserDep = new SysUserDept();
-                sysUserDep.setUserId(user.getUserId());
-                sysUserDep.setDeptId(deptId);
-                //鏌ヨ鏄惁 宸茬粡鍏宠仈璇ラ儴闂�
-                List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDep);
+//        sysUserDeptMapper.deleteSysUserDeptByIds(ids);
+//        if (!CollectionUtils.isEmpty(user.getDepts())) {
+//            for (Long deptId : user.getDepts()) {
+//                SysUserDept sysUserDep = new SysUserDept();
+//                sysUserDep.setUserId(user.getUserId());
+//                sysUserDep.setDeptId(deptId);
+//                //鏌ヨ鏄惁 宸茬粡鍏宠仈璇ラ儴闂�
+//                List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDep);
+//                if (!CollectionUtils.isEmpty(sysUserDepts)) {
+//                    SysUserDept sysUserDept = sysUserDepts.get(0);
+//                    sysUserDept.setDelFlag(0L);
+//                    sysUserDeptMapper.updateSysUserDept(sysUserDept);
+//                    continue;
+//                }
+//                sysUserDep.setCreateTime(new Date());
+//                sysUserDep.setUpdateTime(new Date());
+//                sysUserDeptMapper.insertSysUserDept(sysUserDep);
+//            }
+//        }
+        if (!CollectionUtils.isEmpty(user.getDeptCodes())) {
+            for (String deptCode : user.getDeptCodes()) {
+                SysDept sysDept = sysDeptMapper.selectDeptByCode(deptCode);
+
+                SysUserDept sysUserDept = new SysUserDept();
+                sysUserDept.setUserId(user.getUserId());
+                sysUserDept.setDeptCode(deptCode);
+                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 sysUserDept = sysUserDepts.get(0);
-                    sysUserDept.setDelFlag(0L);
                     sysUserDeptMapper.updateSysUserDept(sysUserDept);
                     continue;
                 }
-                sysUserDep.setCreateTime(new Date());
-                sysUserDep.setUpdateTime(new Date());
-                sysUserDeptMapper.insertSysUserDept(sysUserDep);
+                sysUserDept.setCreateTime(new Date());
+                sysUserDeptMapper.insertSysUserDept(sysUserDept);
             }
-        } else {
+        }
+        if (!CollectionUtils.isEmpty(user.getWardCodes())) {
+            for (String wardCode : user.getWardCodes()) {
+                SysDept sysDept = sysDeptMapper.selectDeptByCode(wardCode);
 
+                SysUserDept sysUserDept = new SysUserDept();
+                sysUserDept.setUserId(user.getUserId());
+                sysUserDept.setDeptCode(wardCode);
+                List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
+                sysUserDept.setDelFlag(0L);
+                sysUserDept.setDeptType("2");
+                sysUserDept.setDeptName(sysDept.getDeptName());
+                sysUserDept.setUpdateTime(new Date());
+                if (!CollectionUtils.isEmpty(sysUserDepts)) {
+                    sysUserDeptMapper.updateSysUserDept(sysUserDept);
+                    continue;
+                }
+                sysUserDept.setCreateTime(new Date());
+                sysUserDeptMapper.insertSysUserDept(sysUserDept);
+            }
         }
         return userMapper.updateUser(user);
     }

--
Gitblit v1.9.3