Browse Source

【五大图层】数据展示:初步完成,待联调

feature/teamB_zz_wgh
wangxianzhang 3 years ago
parent
commit
a2570217f5
  1. 5
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/CoverageAnalisisDataListResultDTO.java
  2. 9
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcHouseEntity.java
  3. 22
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgCoverageService.java
  4. 52
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgCoverageServiceImpl.java
  5. 3
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java
  6. 92
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java

5
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/CoverageAnalisisDataListResultDTO.java

@ -15,6 +15,11 @@ public class CoverageAnalisisDataListResultDTO {
*/
private String categoryKey;
/**
* 类别名称
*/
private String categoryName;
/**
* 场所类型
*/

9
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcHouseEntity.java

@ -42,6 +42,11 @@ public class IcHouseEntity extends BaseEpmetEntity {
*/
private String customerId;
/**
* 所属组织的PIDS包括agencygrid
*/
private String orgIdPath;
/**
* 小区id
*/
@ -117,4 +122,8 @@ public class IcHouseEntity extends BaseEpmetEntity {
*/
private String houseCode;
private String houseQrcodeUrl;
/**
* 居住人数
*/
private String resiNumber;
}

22
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgCoverageService.java

@ -1,5 +1,6 @@
package com.epmet.dataaggre.service.govorg;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dataaggre.dto.govorg.result.IcEnterisePatrolResultDTO;
import com.epmet.dataaggre.entity.govorg.*;
import com.epmet.dataaggre.entity.heart.IcCommunitySelfOrganizationEntity;
@ -81,8 +82,8 @@ public interface GovOrgCoverageService {
* @param pageSize
* @return
*/
List<IcHouseEntity> searchGroupRentHouseEntities(String customerId, String agencyIdPath, String search, String categoryKey,
Boolean isPage, Integer pageNo, Integer pageSize);
List<IcHouseEntity> searchByResiNumber(String customerId, String agencyIdPath, String search, Integer resiNumberGreaterThan,
Boolean isPage, Integer pageNo, Integer pageSize);
/**
* 搜索公共服务
@ -119,4 +120,21 @@ public interface GovOrgCoverageService {
List<IcEnterisePatrolResultDTO> listEnterprisePatrol(String customerId, String agencyId, String staffOrgIds,
String search, String categoryKey, Boolean isPage, Integer pageNo,
Integer pageSize);
/**
* 通过居民数量等条件查询房屋数量
* @param customerId
* @param staffOrgIds
* @param search
* @param resiNumberBiggerThan 查询居住人数大于多少的房屋
* @return
*/
Integer countByResiNumber(String customerId, String staffOrgIds, String search, Integer resiNumberBiggerThan);
/**
* 查询客户下指定分类key对应的对象数据
* @param categoryKey
* @return
*/
IcCoverageCategoryDictEntity selectByCategoryKey(String categoryKey);
}

52
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgCoverageServiceImpl.java

@ -1,7 +1,9 @@
package com.epmet.dataaggre.service.govorg.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.dao.govorg.*;
import com.epmet.dataaggre.dto.govorg.result.IcEnterisePatrolResultDTO;
@ -39,6 +41,23 @@ public class GovOrgCoverageServiceImpl implements GovOrgCoverageService {
@Autowired
private IcEnterprisePatrolRecordDao enterprisePatrolRecordDao;
@Autowired
private IcHouseDao ichousedao;
/**
* 查询客户下指定分类key对应的对象数据
* @param categoryKey
* @return
*/
@Override
public IcCoverageCategoryDictEntity selectByCategoryKey(String categoryKey) {
String customerId = EpmetRequestHolder.getLoginUserCustomerId();
LambdaQueryWrapper<IcCoverageCategoryDictEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(IcCoverageCategoryDictEntity::getCategoryKey, categoryKey);
queryWrapper.eq(IcCoverageCategoryDictEntity::getCustomerId, customerId);
return coverageCategoryDictDao.selectOne(queryWrapper);
}
/**
* 根据categoryKeys分类key列表查询他们和图层时间的关系映射为一个map
* @param categoryKeys
@ -176,9 +195,13 @@ public class GovOrgCoverageServiceImpl implements GovOrgCoverageService {
}
@Override
public List<IcHouseEntity> searchGroupRentHouseEntities(String customerId, String agencyIdPath, String search, String categoryKey,
public List<IcHouseEntity> searchByResiNumber(String customerId, String agencyIdPath, String search, Integer resiNumberGreaterThan,
Boolean isPage, Integer pageNo, Integer pageSize) {
return null;
LambdaQueryWrapper<IcHouseEntity> query = constructHouseByResiNumber(customerId, agencyIdPath, search, resiNumberGreaterThan);
if (isPage) {
PageHelper.startPage(pageNo, pageSize);
}
return ichousedao.selectList(query);
}
/**
@ -190,7 +213,8 @@ public class GovOrgCoverageServiceImpl implements GovOrgCoverageService {
*/
@Override
public Integer countPublicServiceEntities(String customerId, String staffOrgIds, String search, String categoryKey) {
return null;
LambdaQueryWrapper<IcPublicServiceEntity> query = constructPublicServiceQueryWrapper(customerId, staffOrgIds, search, categoryKey);
return publicServiceDao.selectCount(query);
}
/**
@ -274,6 +298,28 @@ public class GovOrgCoverageServiceImpl implements GovOrgCoverageService {
public List<IcEnterisePatrolResultDTO> listEnterprisePatrol(String customerId, String agencyId, String staffOrgIds,
String search, String categoryKey, Boolean isPage,
Integer pageNo, Integer pageSize) {
if (isPage) {
PageHelper.startPage(pageNo, pageSize);
}
return enterprisePatrolRecordDao.listEnterprisePatrol(customerId, agencyId, staffOrgIds, search, categoryKey);
}
@Override
public Integer countByResiNumber(String customerId, String staffOrgIds, String search, Integer resiNumberBiggerThan) {
return ichousedao.selectCount(constructHouseByResiNumber(customerId, staffOrgIds, search, resiNumberBiggerThan));
}
/**
* "根据居住人数查询房屋"构造条件
*/
private LambdaQueryWrapper<IcHouseEntity> constructHouseByResiNumber(String customerId, String staffOrgIds, String search, Integer resiNumberBiggerThan) {
LambdaQueryWrapper<IcHouseEntity> query = new LambdaQueryWrapper<>();
query.eq(IcHouseEntity::getCustomerId, customerId);
query.likeRight(IcHouseEntity::getOrgIdPath, staffOrgIds);
if (StringUtils.isNotBlank(search)) {
query.like(IcHouseEntity::getHouseName, search); // todo 这个字段要么丰富一下,要么建立新字段用于查询
}
query.ge(IcHouseEntity::getResiNumber, resiNumberBiggerThan);
return query;
}
}

3
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java

@ -659,6 +659,9 @@ public class GovProjectServiceImpl implements GovProjectService {
public List<IcEventEntity> searchIcEventEntities(String customerId, String staffOrgIds, String search,
Boolean isDifficultPoint, Boolean isPage, Integer pageNo, Integer pageSize) {
LambdaQueryWrapper<IcEventEntity> query = constructIcEventQueryWrapper(customerId, staffOrgIds, search, isDifficultPoint);
if (isPage) {
PageHelper.startPage(pageNo, pageSize);
}
return icEventDao.selectList(query);
}

92
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java

@ -183,6 +183,16 @@ public class CoverageServiceImpl implements CoverageService {
}
}
/**
* 计算数据条数
* @param customerId
* @param agencyId
* @param staffOrgIds
* @param placeType
* @param categoryKey
* @param search
* @return
*/
public Integer doDataListCount(String customerId, String agencyId, String staffOrgIds, String placeType,
String categoryKey, String search) {
@ -215,8 +225,8 @@ public class CoverageServiceImpl implements CoverageService {
// 企事业单位巡查
return orgCoverageService.countEnterprisePatrol(customerId, agencyId, staffOrgIds, search, categoryKey);
} else if (PLACE_TYPE_GROUP_RENT.equals(placeType)) {
// 群租房。出租的房屋,住的人口超过5人属于群租房(是个规定) todo
// 群租房。出租的房屋,住的人口超过5人属于群租房(是个规定
return orgCoverageService.countByResiNumber(customerId, staffOrgIds, search, 5);
} else if (PLACE_TYPE_PUBLIC_SERVICE.equals(placeType)) {
// 公共服务
return orgCoverageService.countPublicServiceEntities(customerId, staffOrgIds, search, categoryKey);
@ -238,12 +248,18 @@ public class CoverageServiceImpl implements CoverageService {
* @param search 关键词
* @return
*/
public List<CoverageAnalisisDataListResultDTO> doDataListSearch(String customerId, String agencyId, String staffOrgIds, String placeType, String categoryKey, String search,
public List<CoverageAnalisisDataListResultDTO> doDataListSearch(String customerId, String agencyId, String staffOrgIds,
String placeType, String categoryKey, String search,
Integer pageNo, Integer pageSize,Boolean isPage) {
// 根据categoryKey查询类别名称
IcCoverageCategoryDictEntity categoryDict = orgCoverageService.selectByCategoryKey(categoryKey);
if (PLACE_TYPE_RESI.equals(placeType)) {
// 使用分类查询居民信息
List<IcResiUserEntity> resiEntities = icResiService.listResisByCategories4Coverage(customerId, agencyId, staffOrgIds, categoryKey, search, pageNo, pageSize, isPage);
List<IcResiUserEntity> resiEntities = icResiService.listResisByCategories4Coverage(
customerId, agencyId, staffOrgIds, categoryKey, search, pageNo, pageSize, isPage);
return resiEntities.stream().map(re -> {
// 使用楼栋的坐标补充居民的坐标信息
BuildingInfoCache resiBuilding = getBuildingInfo(re.getId(), re.getBuildId());
@ -253,11 +269,15 @@ public class CoverageServiceImpl implements CoverageService {
buildingLatitude = resiBuilding.getLatitude();
buildingLongitude = resiBuilding.getLongitude();
}
return new CoverageAnalisisDataListResultDTO(re.getId(), categoryKey, placeType, re.getName(), buildingLatitude, buildingLongitude);
return new CoverageAnalisisDataListResultDTO(
re.getId(), categoryKey, categoryDict.getCategoryName(), placeType, re.getName(), buildingLatitude, buildingLongitude);
}).collect(Collectors.toList());
} else if (PLACE_TYPE_SPECIAL_RESI.equals(placeType)) {
// 特殊人群
List<IcResiInfoResultDTO> resiInfos = icResiService.listSpecialResisBySpecialType(customerId, agencyId, staffOrgIds, categoryKey, search, pageNo, pageSize, isPage);
List<IcResiInfoResultDTO> resiInfos = icResiService.listSpecialResisBySpecialType(
customerId, agencyId, staffOrgIds, categoryKey, search, pageNo, pageSize, isPage);
return resiInfos.stream().map(re -> {
BuildingInfoCache resiBuilding = getBuildingInfo(re.getId(), re.getBuildId());
String buildingLatitude = null;
@ -266,37 +286,48 @@ public class CoverageServiceImpl implements CoverageService {
buildingLatitude = resiBuilding.getLatitude();
buildingLongitude = resiBuilding.getLongitude();
}
return new CoverageAnalisisDataListResultDTO(re.getId(), categoryKey, placeType, re.getName(), buildingLatitude, buildingLongitude);
return new CoverageAnalisisDataListResultDTO(
re.getId(), categoryKey, categoryDict.getCategoryName(), placeType, re.getName(), buildingLatitude, buildingLongitude);
}).collect(Collectors.toList());
} else if (PLACE_TYPE_EVENT.equals(placeType)) {
// 难点痛点
List<IcEventEntity> icEventEntities = govProjectService.searchIcEventEntities(
customerId, staffOrgIds, search, true, isPage, pageNo, pageSize);
return icEventEntities.stream()
.map(e -> new CoverageAnalisisDataListResultDTO(e.getId(), categoryKey, placeType, e.getName(), e.getLatitude(), e.getLongitude()))
.map(e -> new CoverageAnalisisDataListResultDTO(
e.getId(), categoryKey, categoryDict.getCategoryName(), placeType, e.getName(), e.getLatitude(), e.getLongitude()))
.collect(Collectors.toList());
} else if (PLACE_TYPE_CITY_MANAGEMENT.equals(placeType)) {
// 城市资源管理
List<IcCityManagementEntity> cityResources = orgCoverageService.searchCityResourceEntities(
customerId, staffOrgIds, search, categoryKey, isPage, pageNo, pageSize);
return cityResources.stream()
.map(resource -> new CoverageAnalisisDataListResultDTO(resource.getId(), categoryKey, placeType, resource.getName(), resource.getLatitude(), resource.getLongitude()))
.map(resource -> new CoverageAnalisisDataListResultDTO(
resource.getId(), categoryKey, categoryDict.getCategoryName(), placeType, resource.getName(), resource.getLatitude(), resource.getLongitude()))
.collect(Collectors.toList());
} else if (PLACE_TYPE_COMUNITY_ORG.equals(placeType)) {
// 社区自组织
List<IcCommunitySelfOrganizationEntity> l = heartService.searchCommunityOrgEntities(
customerId, agencyId, staffOrgIds, search, categoryKey, isPage, pageNo, pageSize);
return l.stream()
.map(org -> new CoverageAnalisisDataListResultDTO(org.getId(), categoryKey, placeType, org.getOrganizationName(), org.getLatitude(), org.getLongitude()))
.map(org -> new CoverageAnalisisDataListResultDTO(
org.getId(), categoryKey, categoryDict.getCategoryName(), placeType, org.getOrganizationName(), org.getLatitude(), org.getLongitude()))
.collect(Collectors.toList());
} else if (PLACE_TYPE_PARTY_UNIT.equals(placeType)) {
// 机关直属部门(联建单位) 楼宇党建 0;两新组织 1;区域单位党建 2;机关直属部门 3;社会团体 4;民办非企业单位 5;基金会 6;其他 7
if (categoryKey.equals("pu_jgzsbm")) {
String partyUnitType = "3";
List<IcPartyUnitEntity> l = heartService.searchPartyUnitEntities(
customerId, agencyId, staffOrgIds, partyUnitType, search, isPage, pageNo, pageSize);
return l.stream().map(dc -> new CoverageAnalisisDataListResultDTO(dc.getId(), categoryKey, placeType, dc.getUnitName(), dc.getLatitude(), dc.getLongitude()))
return l.stream()
.map(dc -> new CoverageAnalisisDataListResultDTO(dc.getId(), categoryKey, categoryDict.getCategoryName(), placeType, dc.getUnitName(), dc.getLatitude(), dc.getLongitude()))
.collect(Collectors.toList());
}
return new ArrayList<>();
@ -304,38 +335,47 @@ public class CoverageServiceImpl implements CoverageService {
// 危化企业
List<IcDangerousChemicalsEntity> l = orgCoverageService.searchDangerousChemicalEntities(
customerId, staffOrgIds, search, categoryKey, isPage, pageNo, pageSize);
return l.stream().map(dc -> new CoverageAnalisisDataListResultDTO(dc.getId(), categoryKey, placeType, dc.getName(), dc.getLatitude(), dc.getLongitude()))
return l.stream()
.map(dc -> new CoverageAnalisisDataListResultDTO(dc.getId(), categoryKey, categoryDict.getCategoryName(), placeType, dc.getName(), dc.getLatitude(), dc.getLongitude()))
.collect(Collectors.toList());
} else if (PLACE_TYPE_ENTERPRISE_PARTROL.equals(placeType)) {
// 企事业单位巡查
List<IcEnterisePatrolResultDTO> list = orgCoverageService.listEnterprisePatrol(
customerId, agencyId, staffOrgIds, search, categoryKey, isPage, pageNo, pageSize);
return list.stream().map(dc -> new CoverageAnalisisDataListResultDTO(dc.getPatrolId(), categoryKey, placeType, dc.getPlaceOrgName(), dc.getLatitude(), dc.getLongitude()))
return list.stream()
.map(dc -> new CoverageAnalisisDataListResultDTO(dc.getPatrolId(), categoryKey, categoryDict.getCategoryName(), placeType, dc.getPlaceOrgName(), dc.getLatitude(), dc.getLongitude()))
.collect(Collectors.toList());
} else if (PLACE_TYPE_GROUP_RENT.equals(placeType)) {
// 群租房。出租的房屋,住的人口超过5人属于群租房(是个规定) todo
//select h.id, b.LATITUDE, b.LONGITUDE, concat(nei.NEIGHBOR_HOOD_NAME, b.BUILDING_NAME, u.UNIT_NAME)
//from ic_house h
//inner join ic_neighbor_hood nei on (h.NEIGHBOR_HOOD_ID = nei.ID and nei.DEL_FLAG='0')
//inner join ic_building b on (h.BUILDING_ID = b.ID and b.DEL_FLAG='0')
//inner join ic_building_unit u on (h.BUILDING_UNIT_ID = u.ID and u.DEL_FLAG='0')
//List<IcHouseEntity> houses = orgCoverageService.searchGroupRentHouseEntities(customerId, staffOrgIds, search, isPage, pageNo, pageSize);
//return houses.stream().map(h -> {
// new CoverageAnalisisDataListResultDTO(h.getId(), categoryKey, placeType, h.getName(), h.getLatitude(), h.getLongitude());
//})
// .collect(Collectors.toList());
// 群租房。出租的房屋,住的人口超过5人属于群租房(是个规定
List<IcHouseEntity> houses = orgCoverageService.searchByResiNumber(customerId, staffOrgIds, search, 5, isPage, pageNo, pageSize);
return houses.stream().map(h -> {
BuildingInfoCache buildingInfo = govOrgService.queryBuildingInfo(h.getBuildingId());
String latitude = null;
String longitude = null;
if (buildingInfo != null) {
latitude = buildingInfo.getLatitude();
longitude = buildingInfo.getLongitude();
}
return new CoverageAnalisisDataListResultDTO(h.getId(), categoryKey, categoryDict.getCategoryName(), placeType, h.getHouseName(), latitude, longitude);
}).collect(Collectors.toList());
} else if (PLACE_TYPE_PUBLIC_SERVICE.equals(placeType)) {
// 公共服务
List<IcPublicServiceEntity> l = orgCoverageService.searchPublicServiceEntities(
customerId, staffOrgIds, search, categoryKey, isPage, pageNo, pageSize);
return l.stream().map(dc -> new CoverageAnalisisDataListResultDTO(dc.getId(), categoryKey, placeType, dc.getName(), dc.getLatitude(), dc.getLongitude()))
return l.stream()
.map(dc -> new CoverageAnalisisDataListResultDTO(dc.getId(), categoryKey, categoryDict.getCategoryName(), placeType, dc.getName(), dc.getLatitude(), dc.getLongitude()))
.collect(Collectors.toList());
} else if (PLACE_TYPE_SUPERIOR_RESOURCE.equals(placeType)) {
// 优势资源
List<IcSuperiorResourceEntity> l = orgCoverageService.searchSuporiorResourceEntities(
customerId, staffOrgIds, search, categoryKey, isPage, pageNo, pageSize);
return l.stream().map(dc -> new CoverageAnalisisDataListResultDTO(dc.getId(), categoryKey, placeType, dc.getName(), dc.getLatitude(), dc.getLongitude()))
return l.stream()
.map(dc -> new CoverageAnalisisDataListResultDTO(dc.getId(), categoryKey, categoryDict.getCategoryName(), placeType, dc.getName(), dc.getLatitude(), dc.getLongitude()))
.collect(Collectors.toList());
}
return new ArrayList<>();

Loading…
Cancel
Save