From ccb5d44c524d0f941b173418586d4b7ed8e93530 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 21 三月 2025 17:07:57 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/boymi/YiFeiNN --- medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java | 62 +++++++++++++++++++++++------- 1 files changed, 47 insertions(+), 15 deletions(-) diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java index aac9f1f..5f66a4f 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java @@ -14,7 +14,6 @@ import com.sinata.system.domain.MwApplication; import com.sinata.system.domain.SysDepartment; import com.sinata.system.domain.SysDepartmentInfo; -import com.sinata.system.domain.SysUserDepartment; import com.sinata.system.domain.dto.DisposalUnitDTO; import com.sinata.system.domain.dto.MedicalInstitutionDTO; import com.sinata.system.domain.dto.RegulatoryUnitDTO; @@ -26,6 +25,7 @@ import com.sinata.system.domain.vo.SysDepartmentVO; import com.sinata.system.enums.DepartmentEnum; import com.sinata.system.mapper.SysDepartmentMapper; +import com.sinata.system.service.ISysUserService; import com.sinata.system.service.SysDepartmentInfoService; import com.sinata.system.service.SysDepartmentService; import com.sinata.system.service.SysUserDepartmentService; @@ -60,6 +60,7 @@ private final SysUserDepartmentService sysUserDepartmentService; private final RedisTemplate<Object, Object> redisTemplate; private final SysDepartmentInfoService sysDepartmentInfoService; + private final ISysUserService sysUserService; /** * 获取区域树 * @return @@ -87,6 +88,9 @@ break; case 4: childrenMap = getChildrenDepartmentByOrgType(myDepartment, Arrays.asList(DepartmentEnum.REGION.getCode(), DepartmentEnum.REGULATORY_UNIT.getCode())); + break; + case 5: + childrenMap = getChildrenDepartmentByOrgType(myDepartment, Arrays.asList(DepartmentEnum.REGION.getCode(), DepartmentEnum.MEDICAL_INSTITUTION.getCode(), DepartmentEnum.DISPOSAL_UNIT.getCode())); break; default: childrenMap = getChildrenDepartmentByOrgType(myDepartment, null); @@ -136,7 +140,6 @@ private Map<Long, List<SysDepartment>> getChildrenDepartmentByOrgType(SysDepartment myDepartment, List<Integer> orgTypes) { List<SysDepartment> sysDepartmentList = this.lambdaQuery() .likeRight(SysDepartment::getTreeCode, myDepartment.getTreeCode()) - .in(CollUtils.isNotEmpty(orgTypes), SysDepartment::getOrgType, orgTypes) .orderByDesc(SysDepartment::getCreateTime) .list(); return sysDepartmentList.stream() @@ -194,16 +197,44 @@ } public List<SysDepartmentVO> getRegionTree2(String keyword) { +// SysDepartment currentDepartment = getMyDepartment(); + List<SysDepartmentVO> root = new ArrayList<>(); - SysDepartment currentDepartment = this.baseMapper.selectById(-1); + SysDepartment currentDepartment = getMyDepartment(); if (Objects.isNull(currentDepartment)) { return root; } - if (!currentDepartment.getOrgType().equals(DepartmentEnum.REGION.getCode())) { - return root; - } +// if (!currentDepartment.getOrgType().equals(DepartmentEnum.REGION.getCode())) { +// return root; +// } Map<Long, List<SysDepartment>> childrenMap = getChildrenDepartmentByOrgType(currentDepartment, Collections.singletonList(DepartmentEnum.REGION.getCode())); SysDepartmentVO sysDepartmentVO = fillChildrenTreeModel(currentDepartment, childrenMap); + if (sysDepartmentVO.getTreeCode().length()==10){ + SysDepartment sysDepartment = this.baseMapper.selectById(sysDepartmentVO.getParentId()); + SysDepartmentVO sysDepartmentVO1 = new SysDepartmentVO(); + BeanUtils.copyProperties(sysDepartment,sysDepartmentVO1); + List<SysDepartmentVO> root1 = new ArrayList<>(); + root1.add(sysDepartmentVO); + sysDepartmentVO1.setChildren(root1); + sysDepartmentVO = sysDepartmentVO1; + } + if (sysDepartmentVO.getTreeCode().length()==14){ + SysDepartment sysDepartment = this.baseMapper.selectById(sysDepartmentVO.getParentId()); + SysDepartmentVO sysDepartmentVO1 = new SysDepartmentVO(); + BeanUtils.copyProperties(sysDepartment,sysDepartmentVO1); + List<SysDepartmentVO> root1 = new ArrayList<>(); + root1.add(sysDepartmentVO); + sysDepartmentVO1.setChildren(root1); + + + SysDepartment sysDepartment2 = this.baseMapper.selectById(sysDepartment.getParentId()); + SysDepartmentVO sysDepartmentVO2 = new SysDepartmentVO(); + BeanUtils.copyProperties(sysDepartment2,sysDepartmentVO2); + List<SysDepartmentVO> root2 = new ArrayList<>(); + root2.add(sysDepartmentVO1); + sysDepartmentVO2.setChildren(root2); + sysDepartmentVO = sysDepartmentVO2; + } root.add(sysDepartmentVO); if (StringUtils.isNotBlank(keyword)) { treeMatch(root, keyword); @@ -420,9 +451,9 @@ .orderByDesc(SysDepartment::getCreateTime) .list(); List<Long> departmentIds = sysDepartmentList.stream().map(SysDepartment::getId).collect(Collectors.toList()); - Long count = sysUserDepartmentService.lambdaQuery().in(SysUserDepartment::getDepartmentId, departmentIds).count(); + Long count = sysUserService.lambdaQuery().in(SysUser::getDepartmentId, departmentIds).count(); if (count > 0) { - throw new ServiceException("该区域已存在用户,无法删除"); + throw new ServiceException("该区域已关联用户,无法删除"); } removeById(id); } @@ -515,7 +546,8 @@ * @param department * @return */ - private String getRegionName(SysDepartment department) { + @Override + public String getRegionName(SysDepartment department) { String region = department.getDepartmentName(); SysDepartment sysDepartment = this.lambdaQuery().eq(SysDepartment::getId, department.getParentId()).ne(SysDepartment::getId, -1).one(); if (Objects.nonNull(sysDepartment)) { @@ -594,9 +626,9 @@ */ @Override public void deleteMedical(Long id) { - Long count = sysUserDepartmentService.lambdaQuery().eq(SysUserDepartment::getDepartmentId, id).count(); + Long count = sysUserService.lambdaQuery().eq(SysUser::getDepartmentId, id).count(); if (count > 0) { - throw new ServiceException("该医疗机构已存在用户,无法删除"); + throw new ServiceException("该医疗机构已关联用户,无法删除"); } removeById(id); } @@ -716,9 +748,9 @@ @Override public void deleteDisposalUnit(Long id) { - Long count = sysUserDepartmentService.lambdaQuery().eq(SysUserDepartment::getDepartmentId, id).count(); + Long count = sysUserService.lambdaQuery().eq(SysUser::getDepartmentId, id).count(); if (count > 0) { - throw new ServiceException("该处置单位构已存在用户,无法删除"); + throw new ServiceException("该处置单位构已关联用户,无法删除"); } removeById(id); } @@ -844,9 +876,9 @@ */ @Override public void deleteRegulatoryUnit(Long id) { - Long count = sysUserDepartmentService.lambdaQuery().eq(SysUserDepartment::getDepartmentId, id).count(); + Long count = sysUserService.lambdaQuery().eq(SysUser::getDepartmentId, id).count(); if (count > 0) { - throw new ServiceException("该监管单位构已存在用户,无法删除"); + throw new ServiceException("该监管单位构已关联用户,无法删除"); } removeById(id); } -- Gitblit v1.7.1