From 6891ae6f2d5313bcebff27e43f40e99c7ce715c8 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期三, 07 五月 2025 17:32:46 +0800 Subject: [PATCH] 分析统计 --- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/DepartmentController.java | 120 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 89 insertions(+), 31 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/DepartmentController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/DepartmentController.java index b75396f..cd91124 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/DepartmentController.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/DepartmentController.java @@ -4,10 +4,9 @@ import com.panzhihua.common.interfaces.OperLog; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.utlis.StringUtils; -import com.panzhihua.sangeshenbian.model.entity.Department; -import com.panzhihua.sangeshenbian.model.entity.SystemUser; -import com.panzhihua.sangeshenbian.service.IDepartmentService; -import com.panzhihua.sangeshenbian.service.ISystemUserService; +import com.panzhihua.sangeshenbian.model.entity.*; +import com.panzhihua.sangeshenbian.model.vo.RegionVO; +import com.panzhihua.sangeshenbian.service.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -27,46 +26,105 @@ @Api @RestController @RequestMapping("/department") -public class DepartmentController { +public class DepartmentController { @Resource private IDepartmentService departmentService; @Resource private ISystemUserService systemUserService; + + @Resource + private IBcRegionService bcRegionService; + + @Resource + private IComStreetService comStreetService; + + @Resource + private IComActService comActService; @GetMapping("/list") - @ApiOperation(value = "获取单位列表", tags = {"三个身边后台-用户管理"}) - @OperLog(operModul = "三个身边后台",operType = 0, businessType = "获取单位列表") - public R<List<Department>> list(String name){ - List<Department> list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 4)); - Set<Integer> collect3 = list4.stream().map(Department::getPid).collect(Collectors.toSet()); - List<Department> list3 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 3) - .or().in(collect3.size() > 0, Department::getId, collect3)); - Set<Integer> collect2 = list3.stream().map(Department::getPid).collect(Collectors.toSet()); - List<Department> list2 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 2) - .or().in(collect2.size() > 0, Department::getId, collect2)); - Set<Integer> collect1 = list2.stream().map(Department::getPid).collect(Collectors.toSet()); - List<Department> list1 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 1) - .or().in(collect1.size() > 0, Department::getId, collect1)); - for (Department department : list1) { - List<Department> departmentList2 = list2.stream().filter(s -> s.getPid().equals(department.getId())).collect(Collectors.toList()); - for (Department department1 : departmentList2) { - List<Department> departmentList3 = list3.stream().filter(s -> s.getPid().equals(department1.getId())).collect(Collectors.toList()); - for (Department department2 : departmentList3) { - List<Department> departmentList4 = list4.stream().filter(s -> s.getPid().equals(department2.getId())).collect(Collectors.toList()); - department2.setChild(departmentList4); + @ApiOperation(value = "获取单位列表1", tags = {"三个身边后台-用户管理"}) + @OperLog(operModul = "三个身边后台",operType = 0, businessType = "获取单位列表1") + public R<List<RegionVO>> list(String name){ + // 社区 + List<ComAct> list2 = comActService.list(new LambdaQueryWrapper<ComAct>().eq(ComAct::getCityCode,510400).like(StringUtils.isNotEmpty(name), ComAct::getName, name)); + Set<Long> collect2 = list2.stream().map(ComAct::getStreetId).collect(Collectors.toSet()); + + // 街道 + List<ComStreet> list3 = comStreetService.list(new LambdaQueryWrapper<ComStreet>().eq(ComStreet::getCityCode,510400).like(StringUtils.isNotEmpty(name), ComStreet::getName, name) + .or().in(collect2.size() > 0, ComStreet::getStreetId, collect2)); + Set<Integer> collect3 = list3.stream().map(ComStreet::getAreaCode).collect(Collectors.toSet()); + + // 区 + List<BcRegion> list1 = bcRegionService.list(new LambdaQueryWrapper<BcRegion>().eq(BcRegion::getParentId,510400).like(StringUtils.isNotEmpty(name), BcRegion::getRegionName, name) + .or().in(collect3.size() > 0, BcRegion::getRegionCode, collect3)); + + List<RegionVO> dispatchVOList = new ArrayList<>(); + for (BcRegion bcRegion : list1) { + RegionVO regionVO = new RegionVO(); + regionVO.setTier(1); + regionVO.setId(bcRegion.getRegionCode()); + regionVO.setName(bcRegion.getRegionName()); + List<RegionVO> dispatchVOList1 = new ArrayList<>(); + List<ComStreet> collect = list3.stream().filter(e -> e.getAreaCode().toString().equals(bcRegion.getRegionCode())).collect(Collectors.toList()); + for (ComStreet street : collect) { + List<RegionVO> dispatchVOList2 = new ArrayList<>(); + RegionVO regionVO1 = new RegionVO(); + regionVO1.setTier(2); + regionVO1.setId(street.getStreetId()); + regionVO1.setName(street.getName()); + List<ComAct> collect1 = list2.stream().filter(e -> e.getStreetId().toString().equals(street.getStreetId())).collect(Collectors.toList()); + for (ComAct comAct : collect1) { + RegionVO regionVO2 = new RegionVO(); + regionVO2.setTier(3); + regionVO2.setId(comAct.getCommunityId().toString()); + regionVO2.setName(comAct.getName()); + dispatchVOList2.add(regionVO2); } - department1.setChild(departmentList3); + regionVO1.setChildren(dispatchVOList2); + dispatchVOList1.add(regionVO1); } - department.setChild(departmentList2); + regionVO.setChildren(dispatchVOList1); + dispatchVOList.add(regionVO); } - return R.ok(list1); + + return R.ok(dispatchVOList); } - - - + + +// @GetMapping("/list") +// @ApiOperation(value = "获取单位列表", tags = {"三个身边后台-用户管理"}) +// @OperLog(operModul = "三个身边后台",operType = 0, businessType = "获取单位列表") +// public R<List<Department>> list(String name){ +// List<Department> list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 4)); +// Set<Integer> collect3 = list4.stream().map(Department::getPid).collect(Collectors.toSet()); +// List<Department> list3 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 3) +// .or().in(collect3.size() > 0, Department::getId, collect3)); +// Set<Integer> collect2 = list3.stream().map(Department::getPid).collect(Collectors.toSet()); +// List<Department> list2 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 2) +// .or().in(collect2.size() > 0, Department::getId, collect2)); +// Set<Integer> collect1 = list2.stream().map(Department::getPid).collect(Collectors.toSet()); +// List<Department> list1 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 1) +// .or().in(collect1.size() > 0, Department::getId, collect1)); +// for (Department department : list1) { +// List<Department> departmentList2 = list2.stream().filter(s -> s.getPid().equals(department.getId())).collect(Collectors.toList()); +// for (Department department1 : departmentList2) { +// List<Department> departmentList3 = list3.stream().filter(s -> s.getPid().equals(department1.getId())).collect(Collectors.toList()); +// for (Department department2 : departmentList3) { +// List<Department> departmentList4 = list4.stream().filter(s -> s.getPid().equals(department2.getId())).collect(Collectors.toList()); +// department2.setChild(departmentList4); +// } +// department1.setChild(departmentList3); +// } +// department.setChild(departmentList2); +// } +// return R.ok(list1); +// } + + + @PostMapping("/add") @ApiOperation(value = "添加单位信息", tags = {"三个身边后台-用户管理"}) @OperLog(operModul = "三个身边后台",operType = 1, businessType = "添加单位信息") -- Gitblit v1.7.1