From 20e90c7c1a69b50644840cd65d1580c6ff8b558d Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <279049017@qq.com>
Date: Thu, 29 Oct 2020 09:25:21 +0800
Subject: [PATCH] 修改 医院条件查询无变化的bug
---
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java | 54 ++++++++++++++++++++++++++++++++----------------------
1 files changed, 32 insertions(+), 22 deletions(-)
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
index 7598b03..d2850bf 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
@@ -256,18 +256,21 @@
sysUserOrg.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL);
sysUserOrg.setOrgId(sysDepartment.getOrgId());
sysUserOrg.setCreateTime(new Date());
+ List<SysUserOrg> sysUserOrgs=new ArrayList<>();
+ sysUserOrgs.add(sysUserOrg);
sysUserOrgService.saveOrUpdate(sysUserOrg);
SysUserOrg sysGongsi = new SysUserOrg();
sysGongsi.setUserId(getOne.getId());
sysGongsi.setOrgId(sysHospital.getOrgId());
sysGongsi.setFromId(sysDoctor.getHospitalId());
sysGongsi.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL);
+ sysUserOrgs.add(sysGongsi);
sysUserOrgService.saveOrUpdate(sysGongsi);
baseMapper.updateById(sysDoctor);
if (redisUtils.hHasKey(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString())) {
redisUtils.hdel(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString());
}
- redisUtils.hset(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString(), sysUserOrg);
+ redisUtils.hset(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString(), sysUserOrgs);
//角色更换
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("user_id", getOne.getUserId());
@@ -330,22 +333,24 @@
/**
* 限制管理员只有一个
*/
- if (sysDoctor.getRoles().contains(CommonConstant.HOSPITAL_ADMIN_ID)) {
- //查询一个部门下的所有医生
- QueryWrapper wrapper = new QueryWrapper();
- wrapper.eq("is_del", 0);
- wrapper.eq("enabled", 1);
- wrapper.eq("department_id", sysDoctor.getDepartmentId());
- List<SysDoctor> doctoerList = this.baseMapper.selectList(wrapper);
- if (doctoerList.size() > 0) {
- //查询role——user
- List<Long> collect = doctoerList.stream().map(e -> e.getUserId()).collect(Collectors.toList());
- wrapper = new QueryWrapper();
- wrapper.in("user_id", collect);
- List<SysRoleUser> list = this.sysUserRoleMapper.selectList(wrapper);
- for (SysRoleUser sysRoleUser : list) {
- if (sysRoleUser.getRoleId().equals(CommonConstant.HOSPITAL_ADMIN_ID)) {
- flag = true;
+ if (sysDoctor.getDoctorType() != 2) {
+ if (sysDoctor.getRoles().contains(CommonConstant.HOSPITAL_ADMIN_ID)) {
+ //查询一个部门下的所有医生
+ QueryWrapper wrapper = new QueryWrapper();
+ wrapper.eq("is_del", 0);
+ wrapper.eq("enabled", 1);
+ wrapper.eq("department_id", sysDoctor.getDepartmentId());
+ List<SysDoctor> doctoerList = this.baseMapper.selectList(wrapper);
+ if (doctoerList.size() > 0) {
+ //查询role——user
+ List<Long> collect = doctoerList.stream().map(e -> e.getUserId()).collect(Collectors.toList());
+ wrapper = new QueryWrapper();
+ wrapper.in("user_id", collect);
+ List<SysRoleUser> list = this.sysUserRoleMapper.selectList(wrapper);
+ for (SysRoleUser sysRoleUser : list) {
+ if (sysRoleUser.getRoleId().equals(CommonConstant.HOSPITAL_ADMIN_ID)) {
+ flag = true;
+ }
}
}
}
@@ -413,12 +418,14 @@
sysRoleUser.setUserId(sysUser.getId());
int insert = sysUserRoleMapper.insert(sysRoleUser);
});
+ List<SysUserOrg> sysUserOrgs=new ArrayList<>();
//保存将sys_user_org 保存部门
SysUserOrg sysUserOrg = new SysUserOrg();
sysUserOrg.setUserId(sysUser.getId());
sysUserOrg.setFromId(sysDoctor.getDepartmentId());
sysUserOrg.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL);
sysUserOrg.setOrgId(sysDepartment.getOrgId());
+ sysUserOrgs.add(sysUserOrg);
//保存公司
sysUserOrgService.saveOrUpdate(sysUserOrg);
SysUserOrg sysGongsi = new SysUserOrg();
@@ -427,8 +434,9 @@
sysGongsi.setFromId(sysDoctor.getHospitalId());
sysGongsi.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL);
sysUserOrgService.saveOrUpdate(sysGongsi);
+ sysUserOrgs.add(sysGongsi);
//保存到Redis
- boolean hset = redisUtils.hset(RedisConstant.USER_ORGANIZATION, sysUserOrg.getUserId().toString(), sysUserOrg);
+ boolean hset = redisUtils.hset(RedisConstant.USER_ORGANIZATION, sysUserOrg.getUserId().toString(), sysUserOrgs);
}
return ResultBody.ok().data(sysUserId);
}
@@ -465,8 +473,9 @@
sysRoleUser.setRoleId(CommonConstant.HOSPITAL_DOCTOR_ID);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("user_id", adminId);
- queryWrapper.eq("role_id", CommonConstant.HOSPITAL_ADMIN_ID);
- int update = sysUserRoleMapper.update(sysRoleUser, queryWrapper);
+// queryWrapper.eq("role_id", CommonConstant.HOSPITAL_ADMIN_ID);
+ int delete = sysUserRoleMapper.delete(queryWrapper);
+ int update = sysUserRoleMapper.insert(sysRoleUser);
//现将操作人员设为非管理角色
sysDoctor.setIsAdminUser(false);
if (baseMapper.updateById(sysDoctor) > 0) {
@@ -480,8 +489,9 @@
sysRoleUser.setRoleId(CommonConstant.HOSPITAL_ADMIN_ID);
queryWrapper = new QueryWrapper();
queryWrapper.eq("user_id", sysDoctor.getUserId());
- queryWrapper.eq("role_id", CommonConstant.HOSPITAL_DOCTOR_ID);
- sysUserRoleMapper.update(sysRoleUser, queryWrapper);
+// queryWrapper.eq("role_id", CommonConstant.HOSPITAL_DOCTOR_ID);
+ sysUserRoleMapper.delete(queryWrapper);
+ sysUserRoleMapper.insert(sysRoleUser);
sysDoctor.setIsAdminUser(true);
if (baseMapper.updateById(sysDoctor) > 0) {
return ResultBody.ok().data(true).msg("管理员设置成功!");
--
Gitblit v1.8.0