From f30a977b18541d2f1b9a7863b1377e5f366df9dc Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <279049017@qq.com>
Date: Mon, 16 Nov 2020 18:01:41 +0800
Subject: [PATCH] 修改时间的bug

---
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java |   76 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 73 insertions(+), 3 deletions(-)

diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java
index 57b269b..dd0308c 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java
@@ -1,12 +1,19 @@
 package com.kidgrow.usercenter.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.kidgrow.common.annotation.LoginUser;
 import com.kidgrow.common.model.ResultBody;
 import com.kidgrow.common.model.SysOrganization;
 import com.kidgrow.common.model.SysUser;
 import com.kidgrow.common.model.SysUserOrg;
+import com.kidgrow.redis.util.RedisConstant;
+import com.kidgrow.redis.util.RedisUtils;
+import com.kidgrow.usercenter.model.SysDepartment;
+import com.kidgrow.usercenter.model.SysHospital;
 import com.kidgrow.usercenter.service.ISysOrganizationService;
 import com.kidgrow.usercenter.service.ISysUserOrgService;
+import com.kidgrow.usercenter.service.impl.SysDepartmentServiceImpl;
+import com.kidgrow.usercenter.service.impl.SysHospitalServiceImpl;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -29,6 +36,12 @@
     private ISysUserOrgService sysUserOrgService;
     @Autowired
     private ISysOrganizationService sysOrganizationService;
+    @Autowired
+    private SysDepartmentServiceImpl sysDepartmentService;
+    @Autowired
+    private SysHospitalServiceImpl sysHospitalService;
+    @Autowired
+    private RedisUtils redisUtils;
 
     @PostMapping("getListByMap")
     public List<SysUserOrg> getListByMap(@RequestParam Map<String, Object> map) {
@@ -59,7 +72,17 @@
         } else {
             if (sysUserOrg.getUserId() != null) {
                 String createUserOrgCode = "";
-                List<SysOrganization> userOrgData = sysUser.getOrganizations();
+                List<SysOrganization> userOrgData = new ArrayList<>();
+                SysOrganization byId = sysOrganizationService.getById(sysUserOrg.getOrgId());
+                if(byId==null){
+                    return ResultBody.failed().data(null).msg("该组织id异常");
+                }
+                SysOrganization parentId = sysOrganizationService.getById(byId.getOrgParentId());
+                userOrgData.add(parentId);
+                userOrgData.add(byId);
+                if(parentId==null){
+                    return ResultBody.failed().data(null).msg("该组织id异常");
+                }
                 if (userOrgData != null) {
                     if (userOrgData.size() == 2) {
                         createUserOrgCode = userOrgData.get(1).getOrgCode();
@@ -74,6 +97,30 @@
                         for (int i = 0; i < userOrgList.size(); i++) {
                             if (sysUserOrg.getId().equals(userOrgList.get(i).getId())) {
                                 userOrgList.get(i).setOrgId(sysUserOrg.getOrgId());
+                                userOrgList.get(i).setFromLevel(2);
+
+                                //查询  科室
+                                QueryWrapper queryWrapper = new QueryWrapper();
+                                queryWrapper.eq("org_id", sysUserOrg.getOrgId());
+                                queryWrapper.eq("is_del", 0);
+                                queryWrapper.eq("enabled", 1);
+                                List<SysDepartment> list = sysDepartmentService.list(queryWrapper);
+                                if (!list.isEmpty()) {
+                                    userOrgList.get(i).setFromId(list.get(0).getId());
+                                } else {
+                                    userOrgList.get(i).setFromId(null);
+                                }
+                            } else {
+                                QueryWrapper queryWrapper = new QueryWrapper();
+                                queryWrapper.eq("org_id", sysUserOrg.getUpdateUserId());
+                                queryWrapper.eq("is_del", 0);
+                                queryWrapper.eq("enabled", 1);
+                                List<SysHospital> listHospital = sysHospitalService.list(queryWrapper);
+                                if (!listHospital.isEmpty()) {
+                                    userOrgList.get(i).setFromId(listHospital.get(0).getId());
+                                }
+                                userOrgList.get(i).setFromLevel(1);
+                                userOrgList.get(i).setOrgId(sysUserOrg.getUpdateUserId());
                             }
                             userOrgList.get(i).setEnabled(sysUserOrg.getEnabled());
                             userOrgList.get(i).setCreateUserOrgCode(createUserOrgCode);
@@ -89,16 +136,39 @@
                             sysUserOrgTemp.setUserId(sysUserOrg.getUserId());
                             sysUserOrgTemp.setEnabled(sysUserOrg.getEnabled());
                             sysUserOrgTemp.setCreateUserOrgCode(createUserOrgCode);
-                            userOrgList.add(sysUserOrgTemp);
+                            sysUserOrgTemp.setFromLevel(2);
 
-                            sysUserOrg.setUpdateUserId(0L);
+                            //查询  科室
+                            QueryWrapper queryWrapper = new QueryWrapper();
+                            queryWrapper.eq("org_id", sysUserOrg.getOrgId());
+                            queryWrapper.eq("is_del", 0);
+                            queryWrapper.eq("enabled", 1);
+                            List<SysDepartment> list = sysDepartmentService.list(queryWrapper);
+                            if (!list.isEmpty()) {
+                                sysUserOrgTemp.setFromId(list.get(0).getId());
+                            }
+                            userOrgList.add(sysUserOrgTemp);
+                            //查询 医院
+                            queryWrapper = new QueryWrapper();
+                            queryWrapper.eq("org_id", sysUserOrg.getUpdateUserId());
+                            queryWrapper.eq("is_del", 0);
+                            queryWrapper.eq("enabled", 1);
+                            List<SysHospital> listHospital = sysHospitalService.list(queryWrapper);
+                            if (!listHospital.isEmpty()) {
+                                sysUserOrg.setFromId(listHospital.get(0).getId());
+                            }
+                            sysUserOrg.setFromLevel(1);
+//                            sysUserOrg.setUpdateUserId(0L);
+                            sysUserOrg.setOrgId(sysOrganization.getOrgParentId());
                             sysUserOrg.setCreateUserOrgCode(createUserOrgCode);
                             userOrgList.add(sysUserOrg);
                         } else {
                             return ResultBody.failed().data(null).msg("该组织的上级组织数据异常!");
                         }
                     }
+                    //查询
                     boolean v = sysUserOrgService.saveOrUpdateBatch(userOrgList);
+                    redisUtils.hset(RedisConstant.USER_ORGANIZATION,sysUserOrg.getUserId().toString(), userOrgList);
                     if (v) {
                         return ResultBody.ok().data(sysUserOrg).msg("保存成功");
                     } else {

--
Gitblit v1.8.0