From e0c293d21511f090986458506b2e57de7336dd12 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 11 May 2023 10:52:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B1=85=E6=B0=91=E4=BF=A1=E6=81=AF=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=9D=A1=E4=BB=B6=EF=BC=8C=E5=88=97=E8=A1=A8=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SysDictDataServiceImpl.java | 9 +- .../commons/tools/enums/DictTypeEnum.java | 3 + .../service/impl/IcResiUserServiceImpl.java | 88 +++++++++++++------ 3 files changed, 71 insertions(+), 29 deletions(-) diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java index 52c44b78f6..8df3d7c5cf 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java @@ -24,15 +24,13 @@ import com.epmet.dto.SysDictDataDTO; import com.epmet.entity.SysDictDataEntity; import com.epmet.entity.SysDictTypeEntity; import com.epmet.service.SysDictDataService; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -223,6 +221,9 @@ public class SysDictDataServiceImpl extends BaseServiceImpl dictMap(String dictType) { List resultDTOList = baseDao.selectDictList(dictType); + if(CollectionUtils.isEmpty(resultDTOList)){ + return new HashMap<>(); + } return resultDTOList.stream().collect(Collectors.toMap(DictListResultDTO::getValue, DictListResultDTO::getLabel)); } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java index a07838684d..3790d9e9ba 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java @@ -34,6 +34,9 @@ public enum DictTypeEnum { TRAFFIC_TYPE("traffic_type", "交通方式", 36), SOJOURN_HISTORY("sojourn_history", "7天内旅居史情况", 37), TRIP_DATA_TYPE("trip_data_type", "行程记录类型", 39), + YT_KEY_POINT_USER_TYPE("yt_key_point_user_type","重点人群",40), + YT_POPULATION_TYPE("yt_population_type","人口类型",41), + YT_POLITICS_STATUS("yt_politics_status","政治面貌",42) ; private final String code; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 98c22b85ff..fa69d45d32 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -796,7 +796,6 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> pageResiMap(IcResiUserPageFormDTO formDTO) { - // 查询列表展示项,如果没有,直接返回 - CustomerFormQueryDTO queryDTO1 = ConvertUtils.sourceToTarget(formDTO,CustomerFormQueryDTO.class); - Result> resultColumnRes = operCustomizeOpenFeignClient.queryConditions(queryDTO1); - if (!resultColumnRes.success() || CollectionUtils.isEmpty(resultColumnRes.getData())) { - log.warn("没有配置列表展示列"); - return new PageData(new ArrayList(), NumConstant.ZERO); - } - List resultColumns = resultColumnRes.getData(); + List resultColumns = queryResultColumns(formDTO); // 查询结果列对应的表: Set resultColumnTables = resultColumns.stream().map(IcFormResColumnDTO::getTableName).collect(Collectors.toSet()); @@ -984,7 +976,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> subTablesRes = operCustomizeOpenFeignClient.querySubTables(queryDTO1); + Result> subTablesRes = operCustomizeOpenFeignClient.querySubTables(ConvertUtils.sourceToTarget(formDTO,CustomerFormQueryDTO.class)); List subTables = subTablesRes.getData(); // log.info("1、所有的子表subTables:"+JSON.toJSONString(subTables,true)); @@ -1041,7 +1033,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> list = pageInfo.getList(); - //查询网格名称 + //查询网格名称、房屋名称用 List gridIds = new ArrayList<>(); Set houseIds = new HashSet<>(); for (Map map : list) { @@ -1052,25 +1044,47 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> gridInfoRes = govOrgOpenFeignClient.getGridListByGridIds(gridIds); - List gridInfoList = gridInfoRes.success() && !CollectionUtils.isEmpty(gridInfoRes.getData()) ? gridInfoRes.getData() : new ArrayList<>(); - Map gridInfoMap = gridInfoList.stream().collect(Collectors.toMap(AllGridsByUserIdResultDTO::getGridId, Function.identity())); - + Map gridInfoMap =getGridInfoMap(gridIds); //查询房子名称 - Result> houseInfoRes = govOrgOpenFeignClient.queryListHouseInfo(houseIds, formDTO.getCustomerId()); - List houseInfoDTOList = houseInfoRes.success() && !CollectionUtils.isEmpty(houseInfoRes.getData()) ? houseInfoRes.getData() : new ArrayList<>(); - Map houseInfoMap = houseInfoDTOList.stream().collect(Collectors.toMap(HouseInfoDTO::getHomeId, Function.identity())); + Map houseInfoMap =getHouseInfoMap(houseIds,formDTO.getCustomerId()); + handleList(list,gridInfoMap,houseInfoMap,formDTO.getCustomerId()); + pageInfo.setList(list); + if (formDTO.getIsPage()) { + return new PageData<>(pageInfo.getList(), pageInfo.getTotal(), formDTO.getPageSize()); + } + return new PageData<>(pageInfo.getList(), pageInfo.getTotal()); + } + private List queryResultColumns(IcResiUserPageFormDTO formDTO) { + // 查询列表展示项,如果没有,直接返回 + CustomerFormQueryDTO queryDTO1 = ConvertUtils.sourceToTarget(formDTO,CustomerFormQueryDTO.class); + Result> resultColumnRes = operCustomizeOpenFeignClient.queryConditions(queryDTO1); + if (!resultColumnRes.success() || CollectionUtils.isEmpty(resultColumnRes.getData())) { + log.error(formDTO.getCustomerId()+"没有配置列表展示列"); + // return new PageData(new ArrayList(), NumConstant.ZERO); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"居民信息表单未配置列表展示项","居民信息表单未配置列表展示项"); + } + List resultColumns = resultColumnRes.getData(); + return resultColumns; + } + + private void handleList(List> list, Map gridInfoMap, Map houseInfoMap,String customerId) { + if(CollectionUtils.isEmpty(list)){ + return; + } //查询需求分类字典 UserDemandNameQueryFormDTO userDemandNameQueryFormDTO = new UserDemandNameQueryFormDTO(); - userDemandNameQueryFormDTO.setCustomerId(formDTO.getCustomerId()); + userDemandNameQueryFormDTO.setCustomerId(customerId); userDemandNameQueryFormDTO.setCodeSet(new HashSet<>()); Result> demandNameRes = heartOpenFeignClient.queryDemandNames(userDemandNameQueryFormDTO); if (!demandNameRes.success() || CollectionUtils.isEmpty(demandNameRes.getData())) { throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "获取需求分类字典表数据异常", EpmetErrorCode.SERVER_ERROR.getMsg()); } Map demandDictMap = demandNameRes.getData().stream().collect(Collectors.toMap(IcResiDemandDictDTO::getCategoryCode, Function.identity())); - + // 重点人群+人口类型+政治面貌需要特殊赋值 + Result> keyPointUserTypeMapRes = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.YT_KEY_POINT_USER_TYPE.getCode()); + Result> populationTypeMapRes = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.YT_POPULATION_TYPE.getCode()); + Result> politicsStatusMapRes = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.YT_POLITICS_STATUS.getCode()); for (Map resultMap : list) { String gridIdValue = null != resultMap.get(UserConstant.GRID_ID) ? resultMap.get(UserConstant.GRID_ID).toString() : StrConstant.EPMETY_STR; resultMap.put("GRID_ID_VALUE", gridIdValue); @@ -1120,12 +1134,36 @@ public class IcResiUserServiceImpl extends BaseServiceImpl(pageInfo.getList(), pageInfo.getTotal(), formDTO.getPageSize()); - } - return new PageData<>(pageInfo.getList(), pageInfo.getTotal()); + } + + private Map getHouseInfoMap(Set houseIds,String customerId) { + //查询房子名称 + Result> houseInfoRes = govOrgOpenFeignClient.queryListHouseInfo(houseIds, customerId); + List houseInfoDTOList = houseInfoRes.success() && !CollectionUtils.isEmpty(houseInfoRes.getData()) ? houseInfoRes.getData() : new ArrayList<>(); + Map houseInfoMap = houseInfoDTOList.stream().collect(Collectors.toMap(HouseInfoDTO::getHomeId, Function.identity())); + return houseInfoMap; + } + + private Map getGridInfoMap(List gridIds) { + Result> gridInfoRes = govOrgOpenFeignClient.getGridListByGridIds(gridIds); + List gridInfoList = gridInfoRes.success() && !CollectionUtils.isEmpty(gridInfoRes.getData()) ? gridInfoRes.getData() : new ArrayList<>(); + Map gridInfoMap = gridInfoList.stream().collect(Collectors.toMap(AllGridsByUserIdResultDTO::getGridId, Function.identity())); + return gridInfoMap; } private String queryUserDemandName(String icResiUserId, Map demandDictMap) {