From e84df331a8ee600d369eeac4172b750db563926d Mon Sep 17 00:00:00 2001 From: houruijun <411269194@kidgrow.com> Date: Sun, 09 Aug 2020 15:16:37 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java | 3 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java | 357 +++++++++++++++++++++++++++----------------------- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java | 7 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java | 19 ++ 4 files changed, 216 insertions(+), 170 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 54ad012..7e46bb3 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 @@ -120,6 +120,7 @@ /** * 根据userid删除医生数据 + * * @param userId * @return */ @@ -129,8 +130,10 @@ params.put("userId", userId); return baseMapper.deleteByMap(params); } + /** * 统计医生的数量 + * * @param datatype 业务类型 * 0 自注册医生 * 1 签约医生 @@ -147,167 +150,210 @@ @Override public ResultBody enable(Map<String, Object> params) { - Long aLong = MapUtils.getLong(params,"id"); + Long aLong = MapUtils.getLong(params, "id"); SysDoctor sysDoctor = baseMapper.selectById(aLong); Boolean enabled = MapUtils.getBoolean(params, "enabled"); if (sysDoctor != null && sysDoctor.getUserId() != null) { SysUser byId = iSysUserService.getById(sysDoctor.getUserId()); - if(byId!=null){ + if (byId != null) { byId.setEnabled(enabled); iSysUserService.updateById(byId); } } - if(sysDoctor!=null){ + if (sysDoctor != null) { sysDoctor.setEnabled(enabled); baseMapper.updateById(sysDoctor); - }else { + } else { return ResultBody.failed("禁用失败"); } - return ResultBody.ok(0,"禁用成功"); + return ResultBody.ok(0, "禁用成功"); } @Override @Transactional(rollbackFor = Exception.class) - public ResultBody saveOrUpdateSer(SysDoctorDto sysDoctor, HttpServletRequest request,SysUser user) { + public ResultBody saveOrUpdateSer(SysDoctorDto sysDoctor, HttpServletRequest request, SysUser user) { String id = request.getHeader(SecurityConstants.USER_ID_HEADER); - if(null==sysDoctor){ - return ResultBody.failed("请填写信息"); - }else { - if(sysDoctor.getRoles()==null||sysDoctor.getRoles().size()<=0){ - return ResultBody.failed("选择一个角色"); - } - /** - * 限制管理员只有一个 - */ - - Boolean flag=false; - 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()==CommonConstant.HOSPITAL_ADMIN_ID){ - flag=true; - } - } + if (null == sysDoctor) { + return ResultBody.failed("请填写信息"); + } else { + Boolean flag = false; + if (sysDoctor.getDoctorType() != 2) { + if (sysDoctor.getRoles() == null || sysDoctor.getRoles().size() <= 0) { + return ResultBody.failed("选择一个角色"); } } - if(flag){ - return ResultBody.failed("该部门已经有管理员"); + /** + * 管理员只有一个 + */ + if (isSupperRole(sysDoctor)) { + return ResultBody.failed("该部门已经有管理员"); } /** * 限制只有创建医生的个数 * */ - if(sysUserServiceImpl.departmetAccountsCount(sysDoctor.getDepartmentId())<=0){ - return ResultBody.failed("该部门创建人数已经达到上限"); - } - SysHospital sysHospital= sysHospitalMapper.selectById(sysDoctor.getHospitalId()); - SysDepartment sysDepartment= sysDepartmentMapper.selectById(sysDoctor.getDepartmentId()); - if (sysDoctor.getId()==null) { - //保存 - SysUser sysUser=new SysUser(); - sysUser.setUsername(sysDoctor.getUsername()); - sysUser.setPassword(passwordEncoder.encode(sysDoctor.getPassword())); - sysUser.setNickname(sysDoctor.getHospitalName()); - sysUser.setHeadImgUrl(sysDoctor.getDoctorLogo()); - sysUser.setMobile(sysDoctor.getDoctorTel()); - sysUser.setType(UserType.DOCTOR.name()); - sysUser.setTenantId(CommonConstant.H_TENANT); - sysUser.setCreateTime(new Date()); - SysUser byId = iSysUserService.getById(id); - if(byId!=null){ - sysUser.setCreateUserId(byId.getId()); - sysUser.setCreateUserName(byId.getUsername()); - } - iSysUserService.save(sysUser); - //保存 角色信息 -// Map<String,Object> map= new HashMap<>(); -// map.put("code",HOSPITAL_ADMIN); -// map.put("enabled",1); -// map.put("is_del",0); -// List<SysRole> sysRoles = sysRoleMapper.selectByMap(map); -// if(sysRoles.size()>0){ - //保存一个角色 - sysDoctor.getRoles().forEach(e->{ - SysRoleUser sysRoleUser=new SysRoleUser(); - sysRoleUser.setRoleId(e); - sysRoleUser.setUserId(sysUser.getId()); - int insert = sysUserRoleMapper.insert(sysRoleUser); - }); + if (sysUserServiceImpl.departmetAccountsCount(sysDoctor.getDepartmentId()) <= 0) { + return ResultBody.failed("该部门创建人数已经达到上限"); + } + SysHospital sysHospital = sysHospitalMapper.selectById(sysDoctor.getHospitalId()); + SysDepartment sysDepartment = sysDepartmentMapper.selectById(sysDoctor.getDepartmentId()); + if (sysDoctor.getId() == null) { + Long sysUserId = null; + //保存部门信息 + sysUserId = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment); //保存doctor的数据 - SysDoctor sysDoc=new SysDoctor(); + SysDoctor sysDoc = new SysDoctor(); BeanCopier beanCopier = BeanCopier.create(SysDoctorDto.class, SysDoctor.class, false); - beanCopier.copy(sysDoctor,sysDoc,null); - sysDoc.setUserId(sysUser.getId()); - if(user.getOrganizations()!=null){ + beanCopier.copy(sysDoctor, sysDoc, null); + sysDoc.setUserId(sysUserId); + if (user.getOrganizations() != null) { List<SysOrganization> organizations = user.getOrganizations(); - sysDoc.setCreateUserOrgCode(organizations.get(organizations.size()-1).getOrgCode()); + sysDoc.setCreateUserOrgCode(organizations.get(organizations.size() - 1).getOrgCode()); } - baseMapper.insert(sysDoc); - //保存将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()); - //保存公司 - sysUserOrgService.saveOrUpdate(sysUserOrg); - SysUserOrg sysGongsi=new SysUserOrg(); - sysGongsi.setUserId(sysUser.getId()); - sysGongsi.setOrgId(sysHospital.getOrgId()); - sysGongsi.setFromId(sysDoctor.getHospitalId()); - sysGongsi.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL); - sysUserOrgService.saveOrUpdate(sysGongsi); - //保存到Redis - boolean hset = redisUtils.hset(RedisConstant.USER_ORGANIZATION, sysUserOrg.getUserId().toString(), sysUserOrg); - }else { + } else { //更新 SysDoctor getOne = baseMapper.selectById(sysDoctor.getId()); - Map<String, Object> columnMap=new HashMap<>(); - columnMap.put("user_id",sysDoctor.getUserId()); - boolean b = sysUserOrgService.removeByMap(columnMap); - //保存将sys_user_org - SysUserOrg sysUserOrg=new SysUserOrg(); - sysUserOrg.setUserId(getOne.getUserId()); - sysUserOrg.setEnabled(false); - sysUserOrg.setFromId(sysDoctor.getDepartmentId()); - sysUserOrg.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL); - sysUserOrg.setOrgId(sysDepartment.getOrgId()); - sysUserOrg.setCreateTime(new Date()); - 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); - sysUserOrgService.saveOrUpdate(sysGongsi); - baseMapper.updateById(sysDoctor); - if(redisUtils.hHasKey(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString())){ + if (getOne.getDoctorType() != 2 && sysDoctor.getDoctorType() != 2) { + Map<String, Object> columnMap = new HashMap<>(); + columnMap.put("user_id", sysDoctor.getUserId()); + boolean b = sysUserOrgService.removeByMap(columnMap); + //保存将sys_user_org + SysUserOrg sysUserOrg = new SysUserOrg(); + sysUserOrg.setUserId(getOne.getUserId()); + sysUserOrg.setEnabled(false); + sysUserOrg.setFromId(sysDoctor.getDepartmentId()); + sysUserOrg.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL); + sysUserOrg.setOrgId(sysDepartment.getOrgId()); + sysUserOrg.setCreateTime(new Date()); + 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); + 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); + } else if (getOne.getDoctorType() == 2 && sysDoctor.getDoctorType() != 2) { + /** + * 管理员只有一个 + */ + if (isSupperRole(sysDoctor)) { + return ResultBody.failed("该部门已经有管理员"); + } + Long sysUserId = saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment); + sysDoctor.setUserId(sysUserId); + baseMapper.updateById(sysDoctor); + } else if (getOne.getDoctorType() != 2 && sysDoctor.getDoctorType() == 2) { + //将组织删除 + Map<String, Object> columnMap = new HashMap<>(); + columnMap.put("user_id", getOne.getUserId()); + boolean b = sysUserOrgService.removeByMap(columnMap); + SysUser byId = iSysUserService.getById(getOne.getUserId()); + //将角色删除 + QueryWrapper queryWrapper=new QueryWrapper(); + queryWrapper.eq("user_id",getOne.getUserId()); + int delete = sysUserRoleMapper.delete(queryWrapper); + if(byId!=null){ +// iSysUserService.delUser(byId.getId()); + boolean userdelete = iSysUserService.removeById(byId.getId()); + } redisUtils.hdel(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString()); + sysDoctor.setUserId(null); + baseMapper.updateById(sysDoctor); + } else if (getOne.getDoctorType() == 2 && sysDoctor.getDoctorType() == 2) { + baseMapper.updateById(sysDoctor); } - redisUtils.hset(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString(), sysUserOrg); } } return ResultBody.ok(); } + //是否可以使是超管角色 + public Boolean isSupperRole(SysDoctorDto sysDoctor){ + Boolean flag = false; + /** + * 限制管理员只有一个 + */ + 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() == CommonConstant.HOSPITAL_ADMIN_ID) { + flag = true; + } + } + } + } + return flag; + } + + //保存的分接口 + public Long saveFenjiekou(SysDoctorDto sysDoctor, String id, SysHospital sysHospital, SysDepartment sysDepartment) { + Long sysUserId = null; + if (sysDoctor.getDoctorType() != 2) { + //保存 + SysUser sysUser = new SysUser(); + sysUser.setUsername(sysDoctor.getUsername()); + sysUser.setPassword(passwordEncoder.encode(sysDoctor.getPassword())); + sysUser.setNickname(sysDoctor.getHospitalName()); + sysUser.setHeadImgUrl(sysDoctor.getDoctorLogo()); + sysUser.setMobile(sysDoctor.getDoctorTel()); + sysUser.setType(UserType.DOCTOR.name()); + sysUser.setTenantId(CommonConstant.H_TENANT); + sysUser.setCreateTime(new Date()); + SysUser byId = iSysUserService.getById(id); + if (byId != null) { + sysUser.setCreateUserId(byId.getId()); + sysUser.setCreateUserName(byId.getUsername()); + } + iSysUserService.save(sysUser); + sysUserId = sysUser.getId(); + //保存一个角色 + sysDoctor.getRoles().forEach(e -> { + SysRoleUser sysRoleUser = new SysRoleUser(); + sysRoleUser.setRoleId(e); + sysRoleUser.setUserId(sysUser.getId()); + int insert = sysUserRoleMapper.insert(sysRoleUser); + }); + //保存将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()); + //保存公司 + sysUserOrgService.saveOrUpdate(sysUserOrg); + SysUserOrg sysGongsi = new SysUserOrg(); + sysGongsi.setUserId(sysUser.getId()); + sysGongsi.setOrgId(sysHospital.getOrgId()); + sysGongsi.setFromId(sysDoctor.getHospitalId()); + sysGongsi.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL); + sysUserOrgService.saveOrUpdate(sysGongsi); + //保存到Redis + boolean hset = redisUtils.hset(RedisConstant.USER_ORGANIZATION, sysUserOrg.getUserId().toString(), sysUserOrg); + } + return sysUserId; + } @Override public List<SysDoctor> findByMap(Map<String, Object> map) { - map.put("enabled",1); - map.put("is_del",0); + map.put("enabled", 1); + map.put("is_del", 0); return baseMapper.selectByMap(map); } @@ -316,100 +362,83 @@ public ResultBody setAdminDoctor(Map<String, Object> params) { Long id = MapUtils.getLong(params, "id"); Long adminId = MapUtils.getLong(params, "adminId"); - if (id>0&&adminId>0) { - Map<String,Object> map= new HashMap<>(); - map.put("user_id",adminId); + if (id > 0 && adminId > 0) { + Map<String, Object> map = new HashMap<>(); + map.put("user_id", adminId); List<SysDoctor> sysDoctors = baseMapper.selectByMap(map); - if(sysDoctors==null||sysDoctors.size()<=0){ + if (sysDoctors == null || sysDoctors.size() <= 0) { return ResultBody.failed("当前操作用户不是管理员"); } SysDoctor sysDoctor = sysDoctors.get(0); //先检查操作用户是否管理员 - if(sysDoctor!=null){ + if (sysDoctor != null) { if (sysDoctor.getIsAdminUser()) { //将超级管理员的角色设为普通角色 - SysRoleUser sysRoleUser=new SysRoleUser(); + SysRoleUser sysRoleUser = new SysRoleUser(); sysRoleUser.setUserId(adminId); sysRoleUser.setRoleId(CommonConstant.HOSPITAL_DOCTOR_ID); - QueryWrapper queryWrapper=new QueryWrapper(); - queryWrapper.eq("user_id",adminId); - queryWrapper.eq("role_id",CommonConstant.HOSPITAL_ADMIN_ID); + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("user_id", adminId); + queryWrapper.eq("role_id", CommonConstant.HOSPITAL_ADMIN_ID); int update = sysUserRoleMapper.update(sysRoleUser, queryWrapper); //现将操作人员设为非管理角色 sysDoctor.setIsAdminUser(false); - if(baseMapper.updateById(sysDoctor)>0) - { + if (baseMapper.updateById(sysDoctor) > 0) { //再将新用户设为管理 - sysDoctor=baseMapper.selectById(id); + sysDoctor = baseMapper.selectById(id); if (sysDoctor != null) { if (!sysDoctor.getIsAdminUser()) { //现将普通人员设为管理角色 - sysRoleUser=new SysRoleUser(); + sysRoleUser = new SysRoleUser(); sysRoleUser.setUserId(sysDoctor.getUserId()); sysRoleUser.setRoleId(CommonConstant.HOSPITAL_ADMIN_ID); - queryWrapper=new QueryWrapper(); - queryWrapper.eq("user_id",sysDoctor.getUserId()); - queryWrapper.eq("role_id",CommonConstant.HOSPITAL_DOCTOR_ID); + queryWrapper = new QueryWrapper(); + queryWrapper.eq("user_id", sysDoctor.getUserId()); + queryWrapper.eq("role_id", CommonConstant.HOSPITAL_DOCTOR_ID); sysUserRoleMapper.update(sysRoleUser, queryWrapper); sysDoctor.setIsAdminUser(true); - if (baseMapper.updateById(sysDoctor)>0) { + if (baseMapper.updateById(sysDoctor) > 0) { return ResultBody.ok().data(true).msg("管理员设置成功!"); - } - else - { + } else { return ResultBody.failed("设为管理失败!").data(false); } - } - else - { + } else { return ResultBody.failed("设为管理失败,改用户就是管理员!").data(false); } - } - else - { + } else { return ResultBody.failed("用户信息有误!").data(false); } - } - else - { + } else { return ResultBody.failed("设为管理失败!").data(false); } - } - else - { + } else { return ResultBody.failed("当前操作用户不是管理员!").data(false); } - } - else - { + } else { return ResultBody.failed("用户信息有误!").data(false); } - } - else - { + } else { return ResultBody.failed("业务参数有误!").data(false); } } /** * 判断用户名是否管理员 + * * @param userName * @return */ @Override public ResultBody userIsAdmin(String userName) { if (StringUtils.isNotBlank(userName)) { - SysDoctor sysDoctor= baseMapper.userIsAdmin(userName); + SysDoctor sysDoctor = baseMapper.userIsAdmin(userName); if (sysDoctor != null) { return ResultBody.ok().data(sysDoctor.getIsAdminUser()); - } - else - { + } else { return ResultBody.failed().data(false); } - }else - { + } else { return ResultBody.failed("用户名不能为空!").data(false); } } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java index d3795a3..49f6395 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java @@ -38,6 +38,7 @@ RedisUtils redisUtils; @Autowired SysUserOrgMapper sysUserOrgMapper; + /** * 列表 * @@ -137,6 +138,12 @@ @Override public ResultBody getTree(Map<String, Object> params) { List<SysOrganization> sysOrganizations = baseMapper.selectByMap(params); + //查询 ,父类为-1的;即顶级父类 +// params.put("org_parent_id",Long.valueOf("-1")); +// List<SysOrganization> sysOrgs=baseMapper.selectByMap(params); +// if (sysOrgs.isEmpty()) { +// return ResultBody.ok().data(null); +// } List<Map<String, Object>> treeData = getTreeData(Long.valueOf("-1"), sysOrganizations); return ResultBody.ok().data(treeData); } @@ -144,7 +151,7 @@ @Override public int deleteByUserId(Long userId) { Map<String, Object> params = new HashMap<>(); - params.put("userId", userId); + params.put("user_id", userId); return sysUserOrgMapper.deleteByMap(params); } @@ -158,7 +165,7 @@ public List<Map<String, Object>> getTreeData(Long MyId, List<SysOrganization> sysOrganizations) { List<Map<String, Object>> listMap = new ArrayList<>(); Map<Long, SysOrganization> collect = sysOrganizations.stream().collect(Collectors.toMap(SysOrganization::getId, SysOrganization -> SysOrganization)); - List<Long> idList = sysOrganizations.stream().filter(e -> e.getOrgParentId() == MyId).map(e -> e.getId()).collect(Collectors.toList()); + List<Long> idList = sysOrganizations.stream().filter(e -> MyId.equals(e.getOrgParentId())).map(e -> e.getId()).collect(Collectors.toList()); for (Long id : idList ) { Map<String, Object> map = new HashMap<>(); @@ -166,7 +173,9 @@ map.put("name", collect.get(id).getOrgName()); map.put("level", collect.get(id).getOrgLevel()); map.put("parentId", collect.get(id).getOrgParentId()); - List<Long> childs = sysOrganizations.stream().filter(e -> e.getOrgParentId() == id).map(e -> e.getId()).collect(Collectors.toList()); + List<Long> childs = sysOrganizations.stream().filter(e -> + id.equals(e.getOrgParentId()) + ).map(e -> e.getId()).collect(Collectors.toList()); if (childs.size() > 0) { List<Map<String, Object>> treeData = getTreeData(id, sysOrganizations); map.put("children", treeData); @@ -230,7 +239,7 @@ List<SysOrganization> list = baseMapper.selectList(queryWrapper); if (list.size() > 0) { SysOrganization sysOrganizationLast = list.get(list.size() - 1); - if(sysOrganizationLast.getOrgLevel()>=2){ + if (sysOrganizationLast.getOrgLevel() >= 2) { String orgCodeLast = sysOrganizationLast.getOrgCode(); //取前部分 String orgCodeLastQianZhui = orgCodeLast.substring(0, orgCodeLast.length() - 3); @@ -240,7 +249,7 @@ str += (codenum + 1); String substring = str.substring(str.length() - 3); return orgCodeLastQianZhui + substring; - }else { + } else { String orgCodeLast = sysOrganizationLast.getOrgCode(); //取前部分 String orgCodeLastQianZhui = orgCodeLast.substring(0, orgCodeLast.length() - 7); diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java index 2286aa9..5586df4 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java @@ -1,10 +1,12 @@ package com.kidgrow.usercenter.controller; +import com.kidgrow.common.annotation.LoginUser; import com.kidgrow.common.controller.BaseController; import com.kidgrow.common.model.PageResult; import com.kidgrow.common.model.ResultBody; import com.kidgrow.common.model.SysOrganization; import com.kidgrow.common.utils.StringUtils; +import com.kidgrow.common.model.SysUser; import com.kidgrow.usercenter.model.SysDepartment; import com.kidgrow.usercenter.service.ISysDepartmentService; import com.kidgrow.usercenter.service.ISysOrganizationService; @@ -110,7 +112,7 @@ @ApiOperation(value = "保存") @PostMapping("/{hosId}") @Transactional(rollbackFor = {Exception.class}) - public ResultBody save(@Valid @RequestBody SysDepartment sysDepartment,@PathVariable Long hosId, BindingResult bindingResult) { + public ResultBody save(@Valid @RequestBody SysDepartment sysDepartment,@PathVariable Long hosId, BindingResult bindingResult,@LoginUser SysUser sysUser) { List<String> errMsg = new ArrayList<>(); if (bindingResult.hasErrors()) { for (ObjectError error : bindingResult.getAllErrors()) { @@ -143,6 +145,9 @@ sysOrganization.setOrgLevel(2); //临时暂用其它字段承载数据 sysOrganization.setOrgParentId(sysDepartment.getUpdateUserId()); + if(!sysUser.getOrganizations().isEmpty()){ + sysOrganization.setCreateUserOrgCode(sysUser.getOrganizations().get(1).getOrgCode()); + } } else { sysOrganization.setOrgName(sysDepartment.getDepartmentName()); } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java index 50aa8a4..090a6ec 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java @@ -167,6 +167,9 @@ sysOrganization.setOrgAttr(1); sysOrganization.setOrgLevel(1); sysOrganization.setOrgParentId(DictionariesConstants.ORG_PARENT_ID); + if(!sysUser.getOrganizations().isEmpty()){ + sysOrganization.setCreateUserOrgCode(sysUser.getOrganizations().get(1).getOrgCode()); + } } else { sysOrganization.setOrgName(sysHospital.getHospitalName()); } -- Gitblit v1.8.0