| | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import cn.hutool.core.util.IdcardUtil; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.panzhihua.common.enums.PopulPoliticalOutlookEnum; |
| | | import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto; |
| | | import com.panzhihua.common.model.vos.community.building.admin.PageBuildingListVo; |
| | | import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingUnitHouseListDto; |
| | | import com.panzhihua.common.model.vos.community.ComMngVillageVO; |
| | | import com.panzhihua.common.model.vos.community.building.admin.BuildingUnitHouseListAdminVo; |
| | | import com.panzhihua.common.model.vos.community.building.admin.PageBuildingListAdminVo; |
| | | import com.panzhihua.common.model.vos.grid.ComMngVillageBuildingHouseDetailVO; |
| | | import com.panzhihua.common.model.vos.grid.ComMngVillageBuildingHouseVO; |
| | | import com.panzhihua.common.model.vos.grid.ComMngVillageBuildingVO; |
| | | import com.panzhihua.common.model.vos.grid.PopulationListVO; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public R pageBuildingAdmin(PageBuildingListDto pageBuildingListDto){ |
| | | IPage<PageBuildingListVo> pageBuildingList = this.baseMapper.pageBuildingAdmin( |
| | | IPage<PageBuildingListAdminVo> pageBuildingList = this.baseMapper.pageBuildingAdmin( |
| | | new Page(pageBuildingListDto.getPageNum(),pageBuildingListDto.getPageSize()),pageBuildingListDto); |
| | | return R.ok(pageBuildingList); |
| | | } |
| | |
| | | public R buildingListHeaderStatisticsAdmin(Long communityId){ |
| | | return R.ok(this.baseMapper.buildingListHeaderStatisticsAdmin(communityId)); |
| | | } |
| | | |
| | | /** |
| | | * 社区后台-查询楼栋详情 |
| | | * @param id 楼栋id |
| | | * @return 楼栋详情 |
| | | */ |
| | | @Override |
| | | public R detailBuildAdmin(Long id){ |
| | | return R.ok(this.baseMapper.detailBuildAdmin(id)); |
| | | } |
| | | |
| | | /** |
| | | * 查询楼栋下单元列表 |
| | | * @param id 楼栋id |
| | | * @return 单元列表 |
| | | */ |
| | | @Override |
| | | public R buildingUnitListAdmin(Long id){ |
| | | //查询该楼栋信息 |
| | | ComMngBuildingDO buildingDO = this.baseMapper.selectById(id); |
| | | if(buildingDO == null){ |
| | | return R.fail("未查询到该楼栋信息"); |
| | | } |
| | | List<ComMngVillageBuildingVO> buildList = new ArrayList<>(); |
| | | if(StringUtils.isNotEmpty(buildingDO.getName())){ |
| | | buildList = this.baseMapper.buildingUnitList(buildingDO.getVillageId(),buildingDO.getName()); |
| | | buildList.forEach(villageBuilding -> { |
| | | if (!villageBuilding.getFloor().contains("栋")) { |
| | | villageBuilding.setFloorString(villageBuilding.getFloor() + "栋"); |
| | | } else { |
| | | villageBuilding.setFloorString(villageBuilding.getFloor()); |
| | | } |
| | | if (!villageBuilding.getUnitNo().contains("单元")) { |
| | | villageBuilding.setUnitNoString(villageBuilding.getUnitNo() + "单元"); |
| | | } else { |
| | | villageBuilding.setUnitNoString(villageBuilding.getUnitNo()); |
| | | } |
| | | }); |
| | | } |
| | | return R.ok(buildList); |
| | | } |
| | | |
| | | /** |
| | | * 查询楼栋单元下房屋列表 |
| | | * @param unitHouseListDto 请求参数 |
| | | * @return 单元列表 |
| | | */ |
| | | @Override |
| | | public R buildingUnitHouseListAdmin(PageBuildingUnitHouseListDto unitHouseListDto){ |
| | | |
| | | BuildingUnitHouseListAdminVo houseListAdminVo = new BuildingUnitHouseListAdminVo(); |
| | | //查询该楼栋信息 |
| | | ComMngBuildingDO buildingDO = this.baseMapper.selectById(unitHouseListDto.getId()); |
| | | if(buildingDO == null){ |
| | | return R.fail("未查询到该楼栋信息"); |
| | | } |
| | | unitHouseListDto.setVillageId(buildingDO.getVillageId()); |
| | | unitHouseListDto.setFloor(buildingDO.getName()); |
| | | List<ComMngVillageBuildingHouseVO> buildHouseList = new ArrayList<>(); |
| | | if(StringUtils.isNotEmpty(buildingDO.getName())){ |
| | | IPage<ComMngVillageBuildingHouseVO> buildingHousePage = this.baseMapper.getBuildingUnitHouseList(new Page(unitHouseListDto.getPageNum(),unitHouseListDto.getPageSize()),unitHouseListDto); |
| | | buildingHousePage.getRecords().forEach(house -> { |
| | | if(StringUtils.isNotEmpty(house.getHouseNo())){ |
| | | boolean result = house.getHouseNo().matches("[0-9]+"); |
| | | if (result) {// 该字段为纯数字 |
| | | if (house.getHouseNo().length() == 4) { |
| | | house.setBuildingNum(house.getHouseNo().substring(0, 2).replaceAll("^(0+)", "")); |
| | | } else if (house.getHouseNo().length() == 3) { |
| | | house.setBuildingNum(house.getHouseNo().substring(0, 1).replaceAll("^(0+)", "")); |
| | | } |
| | | } else { |
| | | house.setBuildingNum("-"); |
| | | } |
| | | } else { |
| | | house.setBuildingNum("-"); |
| | | } |
| | | }); |
| | | buildHouseList = buildingHousePage.getRecords(); |
| | | |
| | | //查询统计数据 |
| | | Map<String,Object> statisticsMap = this.baseMapper.getBuildingUnitHouseStatistics(buildingDO.getVillageId(),buildingDO.getName(),unitHouseListDto.getUnit()); |
| | | if(statisticsMap != null){ |
| | | houseListAdminVo.setHouseNum(Integer.parseInt(statisticsMap.get("houseNum").toString())); |
| | | houseListAdminVo.setLiveTotal(Integer.parseInt(statisticsMap.get("liveTotal").toString())); |
| | | houseListAdminVo.setLeaseTotal(Integer.parseInt(statisticsMap.get("leaseTotal").toString())); |
| | | houseListAdminVo.setVacantNum(Integer.parseInt(statisticsMap.get("vacantNum").toString())); |
| | | } |
| | | } |
| | | houseListAdminVo.setHouseList(buildHouseList); |
| | | |
| | | return R.ok(houseListAdminVo); |
| | | } |
| | | |
| | | @Override |
| | | public R buildingUnitHouseDetailAdmin(Long houseId,Long communityId){ |
| | | ComMngVillageBuildingHouseDetailVO buildingHouseDetailVO = |
| | | this.baseMapper.buildingUnitHouseDetailAdmin(houseId); |
| | | if (buildingHouseDetailVO != null) { |
| | | |
| | | // 转换楼层数 |
| | | String houseNo = buildingHouseDetailVO.getHouseNo(); |
| | | boolean result = houseNo.matches("[0-9]+"); |
| | | if (result) {// 该字段为纯数字 |
| | | if (houseNo.length() == 4) { |
| | | buildingHouseDetailVO.setBuildingNum(houseNo.substring(0, 2).replaceAll("^(0+)", "")); |
| | | } else if (houseNo.length() == 3) { |
| | | buildingHouseDetailVO.setBuildingNum(houseNo.substring(0, 1).replaceAll("^(0+)", "")); |
| | | } |
| | | } else { |
| | | buildingHouseDetailVO.setBuildingNum("-"); |
| | | } |
| | | |
| | | // 查询该房屋的户主信息 |
| | | List<PopulationListVO> householderList = |
| | | this.baseMapper.getGridVillageBuildingPopulationList(buildingHouseDetailVO.getId(),communityId, 1, null); |
| | | if (!householderList.isEmpty()) { |
| | | householderList.forEach(householder -> { |
| | | if(householder.getPoliticalOutlook() != null){ |
| | | householder.setOutlook(PopulPoliticalOutlookEnum.getCnDescByName(householder.getPoliticalOutlook())); |
| | | }else{ |
| | | householder.setOutlook("暂无"); |
| | | } |
| | | try { |
| | | Integer age = IdcardUtil.getAgeByIdCard(householder.getCardNo()); |
| | | householder.setAge(age); |
| | | } catch (Exception e) { |
| | | log.error("身份证号码转换年龄失败,人员id:" + householder.getId()); |
| | | } |
| | | }); |
| | | buildingHouseDetailVO.setHouseholderList(householderList); |
| | | } |
| | | // 查询该房屋的住户信息 |
| | | List<PopulationListVO> populationList = |
| | | this.baseMapper.getGridVillageBuildingPopulationList(buildingHouseDetailVO.getId(),communityId, null, null); |
| | | if (!populationList.isEmpty()) { |
| | | populationList.forEach(population -> { |
| | | if(population.getPoliticalOutlook() != null){ |
| | | population.setOutlook(PopulPoliticalOutlookEnum.getCnDescByName(population.getPoliticalOutlook())); |
| | | }else{ |
| | | population.setOutlook("暂无"); |
| | | } |
| | | try { |
| | | Integer age = IdcardUtil.getAgeByIdCard(population.getCardNo()); |
| | | population.setAge(age); |
| | | } catch (Exception e) { |
| | | log.error("身份证号码转换年龄失败,人员id:" + population.getId()); |
| | | } |
| | | }); |
| | | buildingHouseDetailVO.setPopulationList(populationList); |
| | | } |
| | | } |
| | | return R.ok(buildingHouseDetailVO); |
| | | } |
| | | |
| | | @Override |
| | | public R buildingVillageListAdmin(Long communityId){ |
| | | List<ComMngVillageVO> villageList = this.baseMapper.buildingVillageListAdmin(communityId); |
| | | villageList.forEach(village -> { |
| | | if(StringUtils.isEmpty(village.getName())){ |
| | | village.setName(village.getAlley() + village.getHouseNum()); |
| | | } |
| | | }); |
| | | return R.ok(villageList); |
| | | } |
| | | } |