From 10570eaae57fe8aec5449c056d0600c473736466 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 12 Apr 2022 15:41:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=BC=80=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/BuildingController.java | 12 ++++ .../com/epmet/service/BuildingService.java | 1 + .../service/impl/BuildingServiceImpl.java | 65 +++++++++++++++++++ .../src/main/resources/mapper/IcHouseDao.xml | 5 +- 4 files changed, 82 insertions(+), 1 deletion(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java index fca09fe069..6ca644bd31 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java @@ -118,6 +118,18 @@ public class BuildingController { List buildingTreeLevelDTOS =buildingService.treeList(tokenDTO.getCustomerId(), tokenDTO.getUserId()); return new Result().ok(buildingTreeLevelDTOS); } + + /** + * Desc: 根据前端方便,新开接口,只返回树的ID + * @param tokenDTO + * @author zxc + * @date 2022/4/12 15:20 + */ + @PostMapping("tree-ids") + public Result treeIds(@LoginUser TokenDto tokenDTO){ + List ids =buildingService.treeIds(tokenDTO.getCustomerId(), tokenDTO.getUserId()); + return new Result().ok(ids); + } /** * 导出模板 * @param response diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/BuildingService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/BuildingService.java index 81a9f10390..d5d1dd7903 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/BuildingService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/BuildingService.java @@ -57,6 +57,7 @@ public interface BuildingService { void addBuilding(String customerId, IcBulidingFormDTO formDTO); List treeList(String customerId, String staffId); + List treeIds(String customerId, String staffId); List importExcel(String customerId, List list, String staffId, List numList); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java index 04670fde28..d178eb7540 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java @@ -261,6 +261,71 @@ public class BuildingServiceImpl implements BuildingService { } + @Override + public List treeIds(String customerId, String staffId) { + List result = new ArrayList<>(); + CustomerStaffInfoCacheResult agency = CustomerStaffRedis.getStaffInfo(customerId, staffId); + if(null == agency || StringUtils.isBlank(agency.getAgencyId())){ + log.error("com.epmet.service.impl.BuildingServiceImpl.treeIds,没有找到工作人员所属的机关信息,用户Id:{}",staffId); + return new ArrayList<>(); + } + //1.获取所在组织及下级组织 + CustomerAgencyEntity customerAgency = customerAgencyDao.selectById(agency.getAgencyId()); + List customerAgencyList = icBuildingDao.selectAgencyChildrenList(agency.getAgencyId()); + customerAgencyList.add(customerAgency); + if(CollectionUtils.isEmpty(customerAgencyList)){ + return new ArrayList<>(); + } + result.addAll(customerAgencyList.stream().map(m -> m.getId()).collect(Collectors.toList())); + List agencyList = customerAgencyList.stream().map(item -> { + BuildingTreeLevelDTO buildingTreeLevelDTO = new BuildingTreeLevelDTO(); + buildingTreeLevelDTO.setId(item.getId()); + buildingTreeLevelDTO.setPId(item.getPid()); + buildingTreeLevelDTO.setLabel(item.getOrganizationName()); + buildingTreeLevelDTO.setLevel(item.getLevel()); + buildingTreeLevelDTO.setLongitude(item.getLongitude()); + buildingTreeLevelDTO.setLatitude(item.getLatitude()); + buildingTreeLevelDTO.setChildren(new ArrayList<>()); + //当前组织有几个下级组织 + buildingTreeLevelDTO.setShowNum(StrConstant.EPMETY_STR); + return buildingTreeLevelDTO; + }).collect(Collectors.toList()); + //2.获取组织所在网格 + List agencyIdList = customerAgencyList.stream().map(BaseEpmetEntity::getId).collect(Collectors.toList()); + List customerGridList = customerGridDao.selectList(new QueryWrapper().lambda().in(CustomerGridEntity::getPid, agencyIdList)); + if(CollectionUtils.isEmpty(customerGridList)){ + return result; + } + result.addAll(customerGridList.stream().map(m -> m.getId()).collect(Collectors.toList())); + List gridList = customerGridList.stream().map(item -> { + BuildingTreeLevelDTO buildingTreeLevelDTO = new BuildingTreeLevelDTO(); + buildingTreeLevelDTO.setId(item.getId()); + buildingTreeLevelDTO.setLabel(item.getGridName()); + buildingTreeLevelDTO.setLevel("grid"); + buildingTreeLevelDTO.setPId(item.getPid()); + buildingTreeLevelDTO.setLongitude(item.getLongitude()); + buildingTreeLevelDTO.setLatitude(item.getLatitude()); + buildingTreeLevelDTO.setChildren(new ArrayList<>()); + //当前网格下有几个小区 + buildingTreeLevelDTO.setShowNum(StrConstant.EPMETY_STR); + return buildingTreeLevelDTO; + }).collect(Collectors.toList()); + + + //3.获取网格下的所有小区 + List gridIdList = customerGridList.stream().map(BaseEpmetEntity::getId).collect(Collectors.toList()); + LambdaQueryWrapper queryWrapper = new QueryWrapper().lambda() + .in(IcNeighborHoodEntity::getGridId, gridIdList) + .orderByAsc(IcNeighborHoodEntity::getCreatedTime); + List icNeighborHoodList = icNeighborHoodDao.selectList(queryWrapper); + if(CollectionUtils.isEmpty(icNeighborHoodList)){ + agencyList.addAll(gridList); + return result; + } + result.addAll(icNeighborHoodList.stream().map(m -> m.getId()).collect(Collectors.toList())); + return result; + } + @Override @Transactional(rollbackFor = Exception.class) public List importExcel(String customerId, List list, String staffId, List numList) { diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml index 9150a4f6fc..d472f38195 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml @@ -154,7 +154,10 @@ b.BUILDING_NAME as buildingName, d.UNIT_NUM as unitNum, a.DOOR_NAME as doorName, - if(a.RENT_FLAG=0,'自住',if(a.RENT_FLAG=1,'出租','闲置')) as rentFlag, + (case when a.RENT_FLAG = '0' then '自住' + when a.RENT_FLAG = '1' then '出租' + when a.RENT_FLAG = '2' then '闲置' + else '' end) as rentFlag, a.OWNER_NAME as ownerName, /*a.RENT_FLAG as rentFlag, a.PURPOSE as purpose,*/