|
|
@ -18,6 +18,7 @@ |
|
|
|
package com.epmet.service.impl; |
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.epmet.bean.ResiExportBaseInfoData; |
|
|
@ -66,6 +67,7 @@ import com.google.common.cache.Cache; |
|
|
|
import com.google.common.cache.CacheBuilder; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.commons.collections4.CollectionUtils; |
|
|
|
import org.apache.commons.compress.utils.Lists; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.data.redis.core.RedisTemplate; |
|
|
@ -127,8 +129,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
@Resource |
|
|
|
private IcTripReportRecordService icTripReportRecordService; |
|
|
|
|
|
|
|
private QueryWrapper<IcResiUserEntity> getWrapper(Map<String, Object> params){ |
|
|
|
String id = (String)params.get(FieldConstant.ID_HUMP); |
|
|
|
private QueryWrapper<IcResiUserEntity> getWrapper(Map<String, Object> params) { |
|
|
|
String id = (String) params.get(FieldConstant.ID_HUMP); |
|
|
|
|
|
|
|
QueryWrapper<IcResiUserEntity> wrapper = new QueryWrapper<>(); |
|
|
|
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); |
|
|
@ -172,7 +174,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
if (str.length() > NumConstant.ZERO ) { |
|
|
|
if (str.length() > NumConstant.ZERO) { |
|
|
|
String errorMsg = String.format("新增居民信息,必要字段值为空,%s值为空", str); |
|
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg); |
|
|
|
} |
|
|
@ -193,7 +195,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
map.put("customer_id", tokenDto.getCustomerId()); |
|
|
|
map.put("created_by", tokenDto.getUserId()); |
|
|
|
map.put("updated_by", tokenDto.getUserId()); |
|
|
|
if(!map.containsKey("AGENCY_ID")){ |
|
|
|
if (!map.containsKey("AGENCY_ID")) { |
|
|
|
throw new RenException("新增居民信息--入参AGENCY_ID为空"); |
|
|
|
} |
|
|
|
//2021.11.25 新增需求 客户下身份证号唯一 start
|
|
|
@ -425,7 +427,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
IcResiCategoryStatsConfigDTO sfdto = new IcResiCategoryStatsConfigDTO(); |
|
|
|
sfdto.setCustomerId(tokenDto.getCustomerId()); |
|
|
|
Result<List<IcResiCategoryStatsConfigDTO>> categoryListResult = operCustomizeOpenFeignClient.getCategoryList(sfdto); |
|
|
|
if (!categoryListResult.success()){ |
|
|
|
if (!categoryListResult.success()) { |
|
|
|
throw new RenException("居民信息修改,获取客户居民类别预警配置表数据失败"); |
|
|
|
} |
|
|
|
//修改前数据库居民十八类信息值
|
|
|
@ -495,7 +497,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public List<HomeUserResultDTO> getPeopleByRoom(String homeId) { |
|
|
|
if(StringUtils.isBlank(homeId)) { |
|
|
|
if (StringUtils.isBlank(homeId)) { |
|
|
|
return Collections.emptyList(); |
|
|
|
} |
|
|
|
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>(); |
|
|
@ -515,72 +517,70 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public PageData<Map<String, Object>> pageResiMap(IcResiUserPageFormDTO formDTO) { |
|
|
|
CustomerStaffInfoCacheResult staffInfoCacheResult=CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(),formDTO.getStaffId()); |
|
|
|
CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); |
|
|
|
String staffOrgPath; |
|
|
|
if(StringUtils.isNotBlank(staffInfoCacheResult.getAgencyPIds())&& !NumConstant.ZERO_STR.equals(staffInfoCacheResult.getAgencyPIds())){ |
|
|
|
staffOrgPath=staffInfoCacheResult.getAgencyPIds().concat(":").concat(staffInfoCacheResult.getAgencyId()); |
|
|
|
}else{ |
|
|
|
staffOrgPath=staffInfoCacheResult.getAgencyId(); |
|
|
|
if (StringUtils.isNotBlank(staffInfoCacheResult.getAgencyPIds()) && !NumConstant.ZERO_STR.equals(staffInfoCacheResult.getAgencyPIds())) { |
|
|
|
staffOrgPath = staffInfoCacheResult.getAgencyPIds().concat(":").concat(staffInfoCacheResult.getAgencyId()); |
|
|
|
} else { |
|
|
|
staffOrgPath = staffInfoCacheResult.getAgencyId(); |
|
|
|
} |
|
|
|
|
|
|
|
// 查询列表展示项,如果没有,直接返回
|
|
|
|
CustomerFormQueryDTO queryDTO1=new CustomerFormQueryDTO(); |
|
|
|
CustomerFormQueryDTO queryDTO1 = new CustomerFormQueryDTO(); |
|
|
|
queryDTO1.setCustomerId(formDTO.getCustomerId()); |
|
|
|
queryDTO1.setFormCode(formDTO.getFormCode()); |
|
|
|
Result<List<IcFormResColumnDTO>> resultColumnRes=operCustomizeOpenFeignClient.queryConditions(queryDTO1); |
|
|
|
Result<List<IcFormResColumnDTO>> resultColumnRes = operCustomizeOpenFeignClient.queryConditions(queryDTO1); |
|
|
|
if (!resultColumnRes.success() || CollectionUtils.isEmpty(resultColumnRes.getData())) { |
|
|
|
log.warn("没有配置列表展示列"); |
|
|
|
return new PageData(new ArrayList(), NumConstant.ZERO); |
|
|
|
} |
|
|
|
List<IcFormResColumnDTO> resultColumns = resultColumnRes.getData(); |
|
|
|
// 查询结果列对应的表:
|
|
|
|
Set<String> resultColumnTables=resultColumns.stream().map(IcFormResColumnDTO::getTableName).collect(Collectors.toSet()); |
|
|
|
Set<String> resultColumnTables = resultColumns.stream().map(IcFormResColumnDTO::getTableName).collect(Collectors.toSet()); |
|
|
|
|
|
|
|
// 查询列表展示项需要用到哪些子表
|
|
|
|
Result<List<SubTableJoinDTO>> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO1); |
|
|
|
List<SubTableJoinDTO> subTables =subTablesRes.getData(); |
|
|
|
Result<List<SubTableJoinDTO>> subTablesRes = operCustomizeOpenFeignClient.querySubTables(queryDTO1); |
|
|
|
List<SubTableJoinDTO> subTables = subTablesRes.getData(); |
|
|
|
// log.info("1、所有的子表subTables:"+JSON.toJSONString(subTables,true));
|
|
|
|
|
|
|
|
//关联哪些子表:查询条件用到的表名+查询的列对应的表 并集去重
|
|
|
|
Set<String> whereConditionTables=formDTO.getConditions().stream().map(ResiUserQueryValueDTO::getTableName).collect(Collectors.toSet()); |
|
|
|
Set<String> tables=new HashSet<>(); |
|
|
|
Set<String> whereConditionTables = formDTO.getConditions().stream().map(ResiUserQueryValueDTO::getTableName).collect(Collectors.toSet()); |
|
|
|
Set<String> tables = new HashSet<>(); |
|
|
|
tables.addAll(whereConditionTables); |
|
|
|
tables.addAll(resultColumnTables); |
|
|
|
// log.info("2、查询条件+查询列对应的tables并集去重:"+ JSON.toJSONString(tables,true));
|
|
|
|
//最终关联的子表对应的sql:
|
|
|
|
List<String> finalSubTables =new ArrayList<>(); |
|
|
|
subTables.forEach(subTable->{ |
|
|
|
if(tables.contains(subTable.getTableName())){ |
|
|
|
List<String> finalSubTables = new ArrayList<>(); |
|
|
|
subTables.forEach(subTable -> { |
|
|
|
if (tables.contains(subTable.getTableName())) { |
|
|
|
finalSubTables.add(subTable.getJoinTableSql()); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
PageInfo<Map<String, Object>> pageInfo=new PageInfo<>(); |
|
|
|
if (null == formDTO.getPageFlag()||formDTO.getPageFlag()) { |
|
|
|
PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(); |
|
|
|
if (null == formDTO.getPageFlag() || formDTO.getPageFlag()) { |
|
|
|
//分页
|
|
|
|
String finalStaffOrgPath = staffOrgPath; |
|
|
|
pageInfo= PageHelper.startPage(formDTO.getPageNo(), |
|
|
|
pageInfo = PageHelper.startPage(formDTO.getPageNo(), |
|
|
|
formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.selectListResiMap(formDTO.getCustomerId(), |
|
|
|
formDTO.getFormCode(), |
|
|
|
formDTO.getConditions(), |
|
|
|
resultColumns, |
|
|
|
finalSubTables, |
|
|
|
staffInfoCacheResult.getAgencyId(), finalStaffOrgPath,null, formDTO.getKeyword())); |
|
|
|
}else{ |
|
|
|
List<Map<String,Object>> list=baseDao.selectListResiMap(formDTO.getCustomerId(), |
|
|
|
staffInfoCacheResult.getAgencyId(), finalStaffOrgPath, null, formDTO.getKeyword())); |
|
|
|
} else { |
|
|
|
List<Map<String, Object>> list = baseDao.selectListResiMap(formDTO.getCustomerId(), |
|
|
|
formDTO.getFormCode(), |
|
|
|
formDTO.getConditions(), |
|
|
|
resultColumns, |
|
|
|
finalSubTables, |
|
|
|
staffInfoCacheResult.getAgencyId(), |
|
|
|
staffOrgPath,null, |
|
|
|
staffOrgPath, null, |
|
|
|
formDTO.getKeyword()); |
|
|
|
pageInfo.setTotal(CollectionUtils.isEmpty(list)?NumConstant.ZERO:list.size()); |
|
|
|
pageInfo.setTotal(CollectionUtils.isEmpty(list) ? NumConstant.ZERO : list.size()); |
|
|
|
pageInfo.setList(list); |
|
|
|
} |
|
|
|
|
|
|
@ -596,23 +596,23 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
houseIds.add(map.get(UserConstant.HOME_ID).toString()); |
|
|
|
} |
|
|
|
} |
|
|
|
Result<List<AllGridsByUserIdResultDTO>> gridInfoRes=govOrgOpenFeignClient.getGridListByGridIds(gridIds); |
|
|
|
Result<List<AllGridsByUserIdResultDTO>> gridInfoRes = govOrgOpenFeignClient.getGridListByGridIds(gridIds); |
|
|
|
List<AllGridsByUserIdResultDTO> gridInfoList = gridInfoRes.success() && !CollectionUtils.isEmpty(gridInfoRes.getData()) ? gridInfoRes.getData() : new ArrayList<>(); |
|
|
|
Map<String, AllGridsByUserIdResultDTO> gridInfoMap = gridInfoList.stream().collect(Collectors.toMap(AllGridsByUserIdResultDTO::getGridId, Function.identity())); |
|
|
|
|
|
|
|
//查询房子名称
|
|
|
|
Result<List<HouseInfoDTO>> houseInfoRes=govOrgOpenFeignClient.queryListHouseInfo(houseIds,formDTO.getCustomerId()); |
|
|
|
Result<List<HouseInfoDTO>> houseInfoRes = govOrgOpenFeignClient.queryListHouseInfo(houseIds, formDTO.getCustomerId()); |
|
|
|
List<HouseInfoDTO> houseInfoDTOList = houseInfoRes.success() && !CollectionUtils.isEmpty(houseInfoRes.getData()) ? houseInfoRes.getData() : new ArrayList<>(); |
|
|
|
Map<String, HouseInfoDTO> houseInfoMap = houseInfoDTOList.stream().collect(Collectors.toMap(HouseInfoDTO::getHomeId, Function.identity())); |
|
|
|
|
|
|
|
//查询需求分类字典
|
|
|
|
UserDemandNameQueryFormDTO userDemandNameQueryFormDTO=new UserDemandNameQueryFormDTO(); |
|
|
|
UserDemandNameQueryFormDTO userDemandNameQueryFormDTO = new UserDemandNameQueryFormDTO(); |
|
|
|
userDemandNameQueryFormDTO.setCustomerId(formDTO.getCustomerId()); |
|
|
|
Result<List<IcResiDemandDictDTO>> demandNameRes=heartOpenFeignClient.queryDemandNames(userDemandNameQueryFormDTO); |
|
|
|
if(!demandNameRes.success()||CollectionUtils.isEmpty(demandNameRes.getData())){ |
|
|
|
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(),"获取需求分类字典表数据异常",EpmetErrorCode.SERVER_ERROR.getMsg()); |
|
|
|
Result<List<IcResiDemandDictDTO>> demandNameRes = heartOpenFeignClient.queryDemandNames(userDemandNameQueryFormDTO); |
|
|
|
if (!demandNameRes.success() || CollectionUtils.isEmpty(demandNameRes.getData())) { |
|
|
|
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "获取需求分类字典表数据异常", EpmetErrorCode.SERVER_ERROR.getMsg()); |
|
|
|
} |
|
|
|
Map<String,IcResiDemandDictDTO> demandDictMap=demandNameRes.getData().stream().collect(Collectors.toMap(IcResiDemandDictDTO::getCategoryCode,Function.identity())); |
|
|
|
Map<String, IcResiDemandDictDTO> demandDictMap = demandNameRes.getData().stream().collect(Collectors.toMap(IcResiDemandDictDTO::getCategoryCode, Function.identity())); |
|
|
|
|
|
|
|
for (Map<String, Object> resultMap : list) { |
|
|
|
String gridIdValue = null != resultMap.get(UserConstant.GRID_ID) ? resultMap.get(UserConstant.GRID_ID).toString() : StrConstant.EPMETY_STR; |
|
|
@ -650,7 +650,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
} |
|
|
|
resultMap.put(UserConstant.HOME_ID, neighBorName.concat(buildName).concat(unitName).concat(doorName)); |
|
|
|
|
|
|
|
resultMap.put("CATEGORY_NAME",queryUserDemandName((String) resultMap.get("icResiUserId"),demandDictMap)); |
|
|
|
resultMap.put("CATEGORY_NAME", queryUserDemandName((String) resultMap.get("icResiUserId"), demandDictMap)); |
|
|
|
} |
|
|
|
|
|
|
|
if (resultMap.containsKey(UserConstant.GENDER)) { |
|
|
@ -668,31 +668,31 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
return new PageData<>(pageInfo.getList(), pageInfo.getTotal()); |
|
|
|
} |
|
|
|
|
|
|
|
private String queryUserDemandName(String icResiUserId,Map<String,IcResiDemandDictDTO> demandDictMap) { |
|
|
|
private String queryUserDemandName(String icResiUserId, Map<String, IcResiDemandDictDTO> demandDictMap) { |
|
|
|
// epmet_user.ic_resi_demand.category_code存储的值为 分类编码的全路径,eg:
|
|
|
|
// 1003,10030002
|
|
|
|
// 1012,10120003
|
|
|
|
// 1016,10160003
|
|
|
|
Set<String> demandCodePath=baseDao.selectUserDemandCode(icResiUserId); |
|
|
|
if(CollectionUtils.isEmpty(demandCodePath)){ |
|
|
|
Set<String> demandCodePath = baseDao.selectUserDemandCode(icResiUserId); |
|
|
|
if (CollectionUtils.isEmpty(demandCodePath)) { |
|
|
|
return StrConstant.EPMETY_STR; |
|
|
|
} |
|
|
|
List<String> nameList=new ArrayList<>(); |
|
|
|
for(String codePath:demandCodePath){ |
|
|
|
List<String> nameList = new ArrayList<>(); |
|
|
|
for (String codePath : demandCodePath) { |
|
|
|
if (StringUtils.isNotBlank(codePath) && codePath.contains(StrConstant.COMMA)) { |
|
|
|
String[] codeAtt=codePath.split(StrConstant.COMMA); |
|
|
|
String code=codeAtt[codeAtt.length-1]; |
|
|
|
if(StringUtils.isNotBlank(code)&&demandDictMap.containsKey(code)){ |
|
|
|
String[] codeAtt = codePath.split(StrConstant.COMMA); |
|
|
|
String code = codeAtt[codeAtt.length - 1]; |
|
|
|
if (StringUtils.isNotBlank(code) && demandDictMap.containsKey(code)) { |
|
|
|
nameList.add(demandDictMap.get(code).getParentName()); |
|
|
|
} |
|
|
|
}else{ |
|
|
|
if(StringUtils.isNotBlank(codePath)&&demandDictMap.containsKey(codePath)){ |
|
|
|
} else { |
|
|
|
if (StringUtils.isNotBlank(codePath) && demandDictMap.containsKey(codePath)) { |
|
|
|
nameList.add(demandDictMap.get(codePath).getParentName()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
String demandName=String.join(StrConstant.COMMA_ZH,nameList); |
|
|
|
return demandName; |
|
|
|
String demandName = String.join(StrConstant.COMMA_ZH, nameList); |
|
|
|
return demandName; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -708,17 +708,17 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
public Map queryIcResiDetail(IcResiDetailFormDTO pageFormDTO) { |
|
|
|
Map resultMap = new HashMap(); |
|
|
|
// 先查询主表,主表没有记录,直接返回空
|
|
|
|
List<Map<String, Object>> icResiUserMapList = baseDao.selectListMapById(pageFormDTO.getCustomerId(),pageFormDTO.getIcResiUserId()); |
|
|
|
List<Map<String, Object>> icResiUserMapList = baseDao.selectListMapById(pageFormDTO.getCustomerId(), pageFormDTO.getIcResiUserId()); |
|
|
|
if (CollectionUtils.isEmpty(icResiUserMapList)) { |
|
|
|
return new HashMap(); |
|
|
|
} |
|
|
|
resultMap.put("ic_resi_user", icResiUserMapList); |
|
|
|
CustomerFormQueryDTO queryDTO=ConvertUtils.sourceToTarget(pageFormDTO,CustomerFormQueryDTO.class); |
|
|
|
CustomerFormQueryDTO queryDTO = ConvertUtils.sourceToTarget(pageFormDTO, CustomerFormQueryDTO.class); |
|
|
|
//循环查询每个子表的记录
|
|
|
|
Result<Set<String>> subTableRes=operCustomizeOpenFeignClient.queryIcResiSubTables(queryDTO); |
|
|
|
if(subTableRes.success()&&!CollectionUtils.isEmpty(subTableRes.getData())){ |
|
|
|
Result<Set<String>> subTableRes = operCustomizeOpenFeignClient.queryIcResiSubTables(queryDTO); |
|
|
|
if (subTableRes.success() && !CollectionUtils.isEmpty(subTableRes.getData())) { |
|
|
|
for (String subTalbeName : subTableRes.getData()) { |
|
|
|
List<Map<String, Object>> list = baseDao.selectSubTableRecords(pageFormDTO.getCustomerId(),pageFormDTO.getIcResiUserId(), subTalbeName); |
|
|
|
List<Map<String, Object>> list = baseDao.selectSubTableRecords(pageFormDTO.getCustomerId(), pageFormDTO.getIcResiUserId(), subTalbeName); |
|
|
|
if (!CollectionUtils.isEmpty(list)) { |
|
|
|
resultMap.put(subTalbeName, list); |
|
|
|
} |
|
|
@ -732,6 +732,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
|
|
|
|
/** |
|
|
|
* desc:动态查询 某表的所有字段值 |
|
|
|
* |
|
|
|
* @param customerId |
|
|
|
* @param formCode |
|
|
|
* @param resultTableName |
|
|
@ -739,50 +740,50 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public List<Map<String,Object>> dynamicQuery(String customerId, |
|
|
|
String formCode, |
|
|
|
String resultTableName, |
|
|
|
List<ResiUserQueryValueDTO> conditions, |
|
|
|
String currentStaffAgencyId, |
|
|
|
String staffOrgPath){ |
|
|
|
CustomerFormQueryDTO queryDTO=new CustomerFormQueryDTO(); |
|
|
|
public List<Map<String, Object>> dynamicQuery(String customerId, |
|
|
|
String formCode, |
|
|
|
String resultTableName, |
|
|
|
List<ResiUserQueryValueDTO> conditions, |
|
|
|
String currentStaffAgencyId, |
|
|
|
String staffOrgPath) { |
|
|
|
CustomerFormQueryDTO queryDTO = new CustomerFormQueryDTO(); |
|
|
|
queryDTO.setCustomerId(customerId); |
|
|
|
queryDTO.setFormCode(formCode); |
|
|
|
//所有的子表
|
|
|
|
Result<List<SubTableJoinDTO>> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO); |
|
|
|
Result<List<SubTableJoinDTO>> subTablesRes = operCustomizeOpenFeignClient.querySubTables(queryDTO); |
|
|
|
/*List<String> subTablesBak=new ArrayList<>(); |
|
|
|
if(subTablesRes.success()&&CollectionUtils.isNotEmpty(subTablesRes.getData())){ |
|
|
|
subTablesBak =subTablesRes.getData().stream().map(SubTableJoinDTO::getJoinTableSql).collect(Collectors.toList()); |
|
|
|
}*/ |
|
|
|
List<SubTableJoinDTO> subTables =subTablesRes.getData(); |
|
|
|
List<SubTableJoinDTO> subTables = subTablesRes.getData(); |
|
|
|
// log.info("1、所有的子表subTables:"+JSON.toJSONString(subTables,true));
|
|
|
|
//关联哪些子表:查询条件用到的表名+查询的列对应的表 并集去重
|
|
|
|
Set<String> whereConditionTables=conditions.stream().map(ResiUserQueryValueDTO::getTableName).collect(Collectors.toSet()); |
|
|
|
Set<String> tables=new HashSet<>(); |
|
|
|
Set<String> whereConditionTables = conditions.stream().map(ResiUserQueryValueDTO::getTableName).collect(Collectors.toSet()); |
|
|
|
Set<String> tables = new HashSet<>(); |
|
|
|
tables.addAll(whereConditionTables); |
|
|
|
tables.add(resultTableName); |
|
|
|
// log.info("2、查询条件+查询列对应的tables并集去重:"+ JSON.toJSONString(tables,true));
|
|
|
|
//最终关联的子表对应的sql:
|
|
|
|
List<String> finalSubTables =new ArrayList<>(); |
|
|
|
subTables.forEach(subTable->{ |
|
|
|
if(tables.contains(subTable.getTableName())){ |
|
|
|
List<String> finalSubTables = new ArrayList<>(); |
|
|
|
subTables.forEach(subTable -> { |
|
|
|
if (tables.contains(subTable.getTableName())) { |
|
|
|
finalSubTables.add(subTable.getJoinTableSql()); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
return baseDao.dynamicQuery(customerId,resultTableName,conditions,finalSubTables,currentStaffAgencyId,staffOrgPath); |
|
|
|
return baseDao.dynamicQuery(customerId, resultTableName, conditions, finalSubTables, currentStaffAgencyId, staffOrgPath); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Description 查询个人数据 |
|
|
|
* @param formDTO |
|
|
|
* @Description 查询个人数据 |
|
|
|
* @author zxc |
|
|
|
* @date 2021/11/3 9:21 上午 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public PersonDataResultDTO personData(PersonDataFormDTO formDTO) { |
|
|
|
PersonDataResultDTO personData = baseDao.personData(formDTO.getUserId()); |
|
|
|
if (null == personData){ |
|
|
|
if (null == personData) { |
|
|
|
return new PersonDataResultDTO(); |
|
|
|
} |
|
|
|
//新增以下2个返参
|
|
|
@ -796,16 +797,16 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
personData.setIcResiUserId(formDTO.getUserId()); |
|
|
|
|
|
|
|
// 房屋信息查询
|
|
|
|
Result<List<String>> listResult = govOrgOpenFeignClient.selectHouseInfoByIdCard(personData.getIdCard(),formDTO.getCustomerId()); |
|
|
|
if (!listResult.success()){ |
|
|
|
Result<List<String>> listResult = govOrgOpenFeignClient.selectHouseInfoByIdCard(personData.getIdCard(), formDTO.getCustomerId()); |
|
|
|
if (!listResult.success()) { |
|
|
|
throw new RenException("查询房屋信息失败"); |
|
|
|
} |
|
|
|
personData.setHouseInfo(listResult.getData()); |
|
|
|
|
|
|
|
// 志愿者处理
|
|
|
|
if (personData.getIsVolunteer().equals(NumConstant.ONE_STR)){ |
|
|
|
if (personData.getIsVolunteer().equals(NumConstant.ONE_STR)) { |
|
|
|
List<String> volunteerList = baseDao.selectVolunteerByUserId(formDTO.getUserId()); |
|
|
|
if (!CollectionUtils.isEmpty(volunteerList)){ |
|
|
|
if (!CollectionUtils.isEmpty(volunteerList)) { |
|
|
|
List<String> volunteers = new ArrayList<>(); |
|
|
|
List<String> finalVolunteers = volunteers; |
|
|
|
volunteerList.forEach(v -> { |
|
|
@ -815,7 +816,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
volunteers = volunteers.stream().distinct().collect(Collectors.toList()); |
|
|
|
// 去customize 查询志愿者类别
|
|
|
|
Result<List<String>> volunteerResult = operCustomizeOpenFeignClient.volunteerLabelByValues(volunteers, personData.getCustomerId()); |
|
|
|
if (!volunteerResult.success()){ |
|
|
|
if (!volunteerResult.success()) { |
|
|
|
throw new RenException("查询志愿者类别失败..."); |
|
|
|
} |
|
|
|
personData.setVolunteerCategory(volunteerResult.getData()); |
|
|
@ -823,7 +824,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
} |
|
|
|
// 网格名
|
|
|
|
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(personData.getGridId()); |
|
|
|
if (null != gridInfo){ |
|
|
|
if (null != gridInfo) { |
|
|
|
personData.setGridName(gridInfo.getGridNamePath()); |
|
|
|
} |
|
|
|
/** |
|
|
@ -834,22 +835,22 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
IcResiCategoryStatsConfigDTO dto = new IcResiCategoryStatsConfigDTO(); |
|
|
|
dto.setCustomerId(personData.getCustomerId()); |
|
|
|
Result<List<IcResiCategoryStatsConfigDTO>> categoryListResult = operCustomizeOpenFeignClient.getCategoryList(dto); |
|
|
|
if (!categoryListResult.success()){ |
|
|
|
if (!categoryListResult.success()) { |
|
|
|
throw new RenException("查询客户下的人员类别失败..."); |
|
|
|
} |
|
|
|
List<IcResiCategoryStatsConfigDTO> categoryData = categoryListResult.getData(); |
|
|
|
if (!CollectionUtils.isEmpty(categoryData)){ |
|
|
|
if (!CollectionUtils.isEmpty(categoryData)) { |
|
|
|
Map<String, List<IcResiCategoryStatsConfigDTO>> groupByStatus = categoryData.stream().collect(Collectors.groupingBy(IcResiCategoryStatsConfigDTO::getStatus)); |
|
|
|
List<IcResiCategoryStatsConfigDTO> showList = groupByStatus.get(IcPlatformConstant.PERSON_CATEGORY_SHOW); |
|
|
|
List<String> personCategoryList = new ArrayList<>(); |
|
|
|
if (!CollectionUtils.isEmpty(showList)){ |
|
|
|
if (!CollectionUtils.isEmpty(showList)) { |
|
|
|
Map<String, List<IcResiCategoryStatsConfigDTO>> groupByTableName = showList.stream().collect(Collectors.groupingBy(IcResiCategoryStatsConfigDTO::getTableName)); |
|
|
|
groupByTableName.forEach((tableName,list) -> { |
|
|
|
groupByTableName.forEach((tableName, list) -> { |
|
|
|
List<String> columns = list.stream().map(IcResiCategoryStatsConfigDTO::getColumnName).collect(Collectors.toList()); |
|
|
|
Map<String, String> result = baseDao.selectPersonType(columns, personData.getCustomerId(), tableName,formDTO.getUserId()); |
|
|
|
Map<String, String> result = baseDao.selectPersonType(columns, personData.getCustomerId(), tableName, formDTO.getUserId()); |
|
|
|
list.forEach(l -> { |
|
|
|
result.forEach((k,v) -> { |
|
|
|
if (l.getColumnName().equals(k) && v.equals(NumConstant.ONE_STR)){ |
|
|
|
result.forEach((k, v) -> { |
|
|
|
if (l.getColumnName().equals(k) && v.equals(NumConstant.ONE_STR)) { |
|
|
|
personCategoryList.add(l.getLabel()); |
|
|
|
} |
|
|
|
}); |
|
|
@ -862,7 +863,6 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Description 根据名字搜索 |
|
|
|
* @param formDTO |
|
|
|
* @author zxc |
|
|
|
* @date 2021/11/3 1:42 下午 |
|
|
@ -871,29 +871,29 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
public PageData<SearchByNameResultDTO> searchByName(SearchByNameFormDTO formDTO) { |
|
|
|
// 查询工作人员所属组织
|
|
|
|
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); |
|
|
|
if (null == staffInfo){ |
|
|
|
if (null == staffInfo) { |
|
|
|
throw new RenException("未查询到当前工作人员所属组织"); |
|
|
|
} |
|
|
|
Integer no = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); |
|
|
|
PageInfo<SearchByNameResultDTO> pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.searchByName(formDTO.getName(), formDTO.getColumnName(),staffInfo.getAgencyId(), no)); |
|
|
|
PageInfo<SearchByNameResultDTO> pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.searchByName(formDTO.getName(), formDTO.getColumnName(), staffInfo.getAgencyId(), no)); |
|
|
|
List<SearchByNameResultDTO> result = pageInfo.getList(); |
|
|
|
if (CollectionUtils.isEmpty(result)){ |
|
|
|
if (CollectionUtils.isEmpty(result)) { |
|
|
|
return new PageData<>(new ArrayList<>(), pageInfo.getTotal()); |
|
|
|
} |
|
|
|
// 查询小区,楼号,网格
|
|
|
|
Result<List<AllGridsByUserIdResultDTO>> gridResult = govOrgOpenFeignClient.getGridListByGridIds(result.stream().map(SearchByNameResultDTO::getGridId).collect(Collectors.toList())); |
|
|
|
if (!gridResult.success()) { |
|
|
|
throw new RenException(gridResult.getCode(),gridResult.getMsg()); |
|
|
|
throw new RenException(gridResult.getCode(), gridResult.getMsg()); |
|
|
|
} |
|
|
|
Map<String, String> gridMap = gridResult.getData().stream().collect(Collectors.toMap(AllGridsByUserIdResultDTO::getGridId, AllGridsByUserIdResultDTO::getGridName)); |
|
|
|
Result<List<IcNeighborHoodDTO>> neighborHoodResult = govOrgOpenFeignClient.getListByIds(result.stream().map(SearchByNameResultDTO::getNeighborHoodId).collect(Collectors.toList())); |
|
|
|
if (!neighborHoodResult.success()) { |
|
|
|
throw new RenException(neighborHoodResult.getCode(),neighborHoodResult.getMsg()); |
|
|
|
throw new RenException(neighborHoodResult.getCode(), neighborHoodResult.getMsg()); |
|
|
|
} |
|
|
|
Map<String, String> neighborHoodMap = neighborHoodResult.getData().stream().collect(Collectors.toMap(IcNeighborHoodDTO::getId, IcNeighborHoodDTO::getNeighborHoodName)); |
|
|
|
Result<List<BuildingResultDTO>> buildResult = govOrgOpenFeignClient.buildingListByIds(result.stream().map(SearchByNameResultDTO::getBuildId).collect(Collectors.toList())); |
|
|
|
if (!buildResult.success()) { |
|
|
|
throw new RenException(buildResult.getCode(),buildResult.getMsg()); |
|
|
|
throw new RenException(buildResult.getCode(), buildResult.getMsg()); |
|
|
|
} |
|
|
|
Map<String, String> buildMap = buildResult.getData().stream().collect(Collectors.toMap(BuildingResultDTO::getBuildingId, BuildingResultDTO::getBuildingName)); |
|
|
|
AtomicInteger i = new AtomicInteger(NumConstant.ONE); |
|
|
@ -910,8 +910,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
/** |
|
|
|
* desc:条件导出 |
|
|
|
* |
|
|
|
* |
|
|
|
* @param formItemMap key 表名 value formItem |
|
|
|
* @param formItemMap key 表名 value formItem |
|
|
|
* @param baseTableName |
|
|
|
* @return |
|
|
|
*/ |
|
|
@ -927,33 +926,33 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
//获取用户Id
|
|
|
|
if (IcResiUserConstant.IC_RESI_USER.equals(baseTableName)) { |
|
|
|
resiId = (String) resiUser.get("ID"); |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
resiId = (String) resiUser.get(UserConstant.IC_RESI_USER); |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(resiId)){ |
|
|
|
log.error("getDataForExport error,resiId is net exist:{}",resiUser); |
|
|
|
if (StringUtils.isBlank(resiId)) { |
|
|
|
log.error("getDataForExport error,resiId is net exist:{}", resiUser); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
//遍历所有字段 格式化时间字段
|
|
|
|
resiUser.forEach((k,o) -> { |
|
|
|
if (o instanceof java.sql.Date){ |
|
|
|
o = DateUtils.format(((Date) o),DateUtils.DATE_PATTERN); |
|
|
|
}else if (o instanceof java.sql.Timestamp){ |
|
|
|
o = DateUtils.format(new Date(((Timestamp) o).getTime()),DateUtils.DATE_TIME_PATTERN); |
|
|
|
resiUser.forEach((k, o) -> { |
|
|
|
if (o instanceof java.sql.Date) { |
|
|
|
o = DateUtils.format(((Date) o), DateUtils.DATE_PATTERN); |
|
|
|
} else if (o instanceof java.sql.Timestamp) { |
|
|
|
o = DateUtils.format(new Date(((Timestamp) o).getTime()), DateUtils.DATE_TIME_PATTERN); |
|
|
|
} |
|
|
|
resiUser.put(k,o); |
|
|
|
resiUser.put(k, o); |
|
|
|
}); |
|
|
|
|
|
|
|
//当前条数据原始的id值 resiUser
|
|
|
|
Map<String,Object> originalConditionMap = new ConcurrentHashMap<>(); |
|
|
|
formItemMap.getItemMap().values().parallelStream().forEach(e->{ |
|
|
|
Map<String, Object> originalConditionMap = new ConcurrentHashMap<>(); |
|
|
|
formItemMap.getItemMap().values().parallelStream().forEach(e -> { |
|
|
|
String columnName = getColumnName(e); |
|
|
|
Object temp = resiUser.get(columnName); |
|
|
|
String vauleStr = temp == null ? StrConstant.EPMETY_STR : temp.toString(); |
|
|
|
originalConditionMap.putIfAbsent(columnName,vauleStr); |
|
|
|
originalConditionMap.putIfAbsent(columnName, vauleStr); |
|
|
|
if (Constant.OPITON_SOURCE_REMOTE.equals(e.getOptionSourceType()) && StringUtils.isNotBlank(vauleStr)) { |
|
|
|
putRemoteValue(formItemMap.getRemoteItemConditionMap().get(e.getItemId()), currentStaffAgencyId, resiUser,originalConditionMap, e, columnName, vauleStr); |
|
|
|
putRemoteValue(formItemMap.getRemoteItemConditionMap().get(e.getItemId()), currentStaffAgencyId, resiUser, originalConditionMap, e, columnName, vauleStr); |
|
|
|
} else { |
|
|
|
putOptionValue(resiUser, e, columnName, vauleStr); |
|
|
|
} |
|
|
@ -962,14 +961,14 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
if (IcResiUserConstant.IC_RESI_USER.equals(baseTableName)) { |
|
|
|
//把人放入redis缓存 便于后面的sheet使用基础信息
|
|
|
|
ResiExportBaseInfoData infoData = ConvertUtils.mapToEntity(resiUser, ResiExportBaseInfoData.class); |
|
|
|
redisTemplate.opsForValue().set(RedisKeys.getExportResiBaseInfoKey(resiId), infoData,RedisUtils.MINUTE_THIRTY_EXPIRE, TimeUnit.SECONDS); |
|
|
|
redisTemplate.opsForValue().set(RedisKeys.getExportResiBaseInfoKey(resiId), infoData, RedisUtils.MINUTE_THIRTY_EXPIRE, TimeUnit.SECONDS); |
|
|
|
} else { |
|
|
|
ResiExportBaseInfoData temp = (ResiExportBaseInfoData) redisTemplate.opsForValue().get(RedisKeys.getExportResiBaseInfoKey(resiId)); |
|
|
|
if (temp != null){ |
|
|
|
if (temp != null) { |
|
|
|
try { |
|
|
|
resiUser.putAll(ConvertUtils.entityToMap(temp)); |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("entityToMap exception,temp:{}",temp); |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("entityToMap exception,temp:{}", temp); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -981,15 +980,16 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
/** |
|
|
|
* key:itemId,value: key:columnName,中文 |
|
|
|
*/ |
|
|
|
private static Map<String,Cache<String,String>> remoteOptionCacheMap = new HashMap<>(); |
|
|
|
private static Map<String, Cache<String, String>> remoteOptionCacheMap = new HashMap<>(); |
|
|
|
|
|
|
|
private void putRemoteValue(Set<FormItemResult> conditionItemSet, String currentStaffAgencyId, Map<String, Object> map, Map<String, Object> originalConditionMap, FormItemResult e, String columnName, String vauleStr) { |
|
|
|
try { |
|
|
|
Map<String, IcResiUserImportServiceImpl.ColumnWrapper> columnWrappers = new HashMap<>(); |
|
|
|
if (e.getOptionSourceValue().contains(StrConstant.QUESTION_MARK)){ |
|
|
|
if (e.getOptionSourceValue().contains(StrConstant.QUESTION_MARK)) { |
|
|
|
for (FormItemResult o : conditionItemSet) { |
|
|
|
String column = getColumnName(o); |
|
|
|
Object conditionValue = originalConditionMap.getOrDefault(column, map.get(column)); |
|
|
|
originalConditionMap.putIfAbsent(column,conditionValue.toString()); |
|
|
|
originalConditionMap.putIfAbsent(column, conditionValue.toString()); |
|
|
|
IcResiUserImportServiceImpl.ColumnWrapper value = new IcResiUserImportServiceImpl.ColumnWrapper(); |
|
|
|
value.setColValue(conditionValue.toString()); |
|
|
|
columnWrappers.put(o.getItemId(), value); |
|
|
@ -1003,10 +1003,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
continue; |
|
|
|
}*/ |
|
|
|
Cache<String, String> cache = remoteOptionCacheMap.getOrDefault(e.getItemId(), CacheBuilder.newBuilder().maximumSize(NumConstant.FIVE_HUNDRED).build()); |
|
|
|
remoteOptionCacheMap.putIfAbsent(e.getItemId(),cache); |
|
|
|
remoteOptionCacheMap.putIfAbsent(e.getItemId(), cache); |
|
|
|
String cacheValue = cache.getIfPresent(vauleStr); |
|
|
|
if (StringUtils.isNotBlank(cacheValue)){ |
|
|
|
map.put(columnName,cacheValue); |
|
|
|
if (StringUtils.isNotBlank(cacheValue)) { |
|
|
|
map.put(columnName, cacheValue); |
|
|
|
} else { |
|
|
|
String[] parts = icResiUserImportService.splitOptionSourceUrl(e.getOptionSourceValue()); |
|
|
|
|
|
|
@ -1018,7 +1018,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
if (vauleStr.equals(value)) { |
|
|
|
map.put(columnName, label); |
|
|
|
} |
|
|
|
cache.put(value,label); |
|
|
|
cache.put(value, label); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
@ -1048,7 +1048,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
} |
|
|
|
|
|
|
|
private String getColumnName(FormItemResult e) { |
|
|
|
return e.getColumnNum() == NumConstant.ZERO? e.getColumnName():e.getColumnName().concat(e.getColumnNum().toString()); |
|
|
|
return e.getColumnNum() == NumConstant.ZERO ? e.getColumnName() : e.getColumnName().concat(e.getColumnNum().toString()); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@ -1119,7 +1119,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<DemandUserResDTO> queryDemandUsers(DemandUserFormDTO formDTO) { |
|
|
|
return baseDao.selectDemandUsers(formDTO.getAgencyId(),formDTO.getGridId(),formDTO.getName()); |
|
|
|
return baseDao.selectDemandUsers(formDTO.getAgencyId(), formDTO.getGridId(), formDTO.getName()); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@ -1130,11 +1130,11 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public IcResiUserDTO getByIdCard(String customerId, String idNum,String icResiUserId) { |
|
|
|
if(StringUtils.isBlank(idNum)&&StringUtils.isBlank(icResiUserId)){ |
|
|
|
public IcResiUserDTO getByIdCard(String customerId, String idNum, String icResiUserId) { |
|
|
|
if (StringUtils.isBlank(idNum) && StringUtils.isBlank(icResiUserId)) { |
|
|
|
return null; |
|
|
|
} |
|
|
|
return baseDao.selectIdByIdCard(customerId,idNum,icResiUserId); |
|
|
|
return baseDao.selectIdByIdCard(customerId, idNum, icResiUserId); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@ -1193,40 +1193,40 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
|
|
|
|
@Override |
|
|
|
public IcResiUserDTO get(String icResiUserId) { |
|
|
|
IcResiUserEntity icResiUserEntity=baseDao.selectById(icResiUserId); |
|
|
|
return ConvertUtils.sourceToTarget(icResiUserEntity,IcResiUserDTO.class); |
|
|
|
IcResiUserEntity icResiUserEntity = baseDao.selectById(icResiUserId); |
|
|
|
return ConvertUtils.sourceToTarget(icResiUserEntity, IcResiUserDTO.class); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Description 【社区查询】人员预警右侧列表 |
|
|
|
* @param formDTO |
|
|
|
* @param tokenDto |
|
|
|
* @Description 【社区查询】人员预警右侧列表 |
|
|
|
* @author zxc |
|
|
|
* @date 2022/1/17 4:25 下午 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public PersonWarnRightListResultDTO personWarnRightList(PersonWarnRightListFormDTO formDTO, TokenDto tokenDto) { |
|
|
|
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); |
|
|
|
if (null == staffInfo){ |
|
|
|
throw new EpmetException(String.format("未查询到此工作人员信息%s",tokenDto.getUserId())); |
|
|
|
if (null == staffInfo) { |
|
|
|
throw new EpmetException(String.format("未查询到此工作人员信息%s", tokenDto.getUserId())); |
|
|
|
} |
|
|
|
Result<List<CustomerCategoryShowAndWarnListResultDTO>> configListResult = operCustomizeOpenFeignClient.getCustomerCategoryShowAndWarnList(tokenDto.getCustomerId()); |
|
|
|
if (!configListResult.success()){ |
|
|
|
if (!configListResult.success()) { |
|
|
|
throw new EpmetException("查询居民分类配置失败..."); |
|
|
|
} |
|
|
|
PersonWarnRightListResultDTO result = new PersonWarnRightListResultDTO(); |
|
|
|
if (CollectionUtils.isEmpty(configListResult.getData())){ |
|
|
|
if (CollectionUtils.isEmpty(configListResult.getData())) { |
|
|
|
return result; |
|
|
|
} |
|
|
|
List<CustomerCategoryShowAndWarnListResultDTO> configListOrigin = configListResult.getData(); |
|
|
|
List<CustomerCategoryShowAndWarnListResultDTO> configList = new ArrayList<>(); |
|
|
|
if (StringUtils.isNotBlank(formDTO.getCategoryCode())){ |
|
|
|
if (StringUtils.isNotBlank(formDTO.getCategoryCode())) { |
|
|
|
for (CustomerCategoryShowAndWarnListResultDTO c : configListOrigin) { |
|
|
|
if (c.getColumnName().equals(formDTO.getCategoryCode())){ |
|
|
|
if (c.getColumnName().equals(formDTO.getCategoryCode())) { |
|
|
|
configList.add(c); |
|
|
|
} |
|
|
|
} |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
configList = configListOrigin; |
|
|
|
} |
|
|
|
List<CustomerCategoryShowAndWarnListResultDTO> finalConfigList = configList; |
|
|
@ -1237,8 +1237,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
} |
|
|
|
result.setTotal(Integer.valueOf(String.valueOf(pageInfo.getTotal()))); |
|
|
|
List<PersonWarnRightListResultDTO.PersonWarnRightList> userList = disposeCategory(list, configList); |
|
|
|
Result<List<HouseInfoDTO>> houseInfosResult = govOrgOpenFeignClient.queryListHouseInfo(userList.stream().distinct().map(m -> m.getHomeId()).collect(Collectors.toSet()),tokenDto.getCustomerId()); |
|
|
|
if (!houseInfosResult.success()){ |
|
|
|
Result<List<HouseInfoDTO>> houseInfosResult = govOrgOpenFeignClient.queryListHouseInfo(userList.stream().distinct().map(m -> m.getHomeId()).collect(Collectors.toSet()), tokenDto.getCustomerId()); |
|
|
|
if (!houseInfosResult.success()) { |
|
|
|
throw new EpmetException("查询房屋信息失败..."); |
|
|
|
} |
|
|
|
List<HouseInfoDTO> houseInfos = houseInfosResult.getData(); |
|
|
@ -1256,6 +1256,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
|
|
|
|
/** |
|
|
|
* Desc: 根据房屋IDs查询房屋下是否有存在居民的 |
|
|
|
* |
|
|
|
* @param ids |
|
|
|
* @author zxc |
|
|
|
* @date 2022/3/2 10:32 上午 |
|
|
@ -1294,7 +1295,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
Set<String> houseIds = new HashSet<>(); |
|
|
|
List<String> houseIdList = list.stream().map(EpidemicPreventionResultDTO::getHomeId).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList()); |
|
|
|
houseIds.addAll(houseIdList); |
|
|
|
Result<List<HouseInfoDTO>> houseInfoRes=govOrgOpenFeignClient.queryListHouseInfo(houseIds,formDTO.getCustomerId()); |
|
|
|
Result<List<HouseInfoDTO>> houseInfoRes = govOrgOpenFeignClient.queryListHouseInfo(houseIds, formDTO.getCustomerId()); |
|
|
|
List<HouseInfoDTO> houseInfoDTOList = houseInfoRes.success() && !CollectionUtils.isEmpty(houseInfoRes.getData()) ? houseInfoRes.getData() : new ArrayList<>(); |
|
|
|
Map<String, HouseInfoDTO> houseInfoMap = houseInfoDTOList.stream().collect(Collectors.toMap(HouseInfoDTO::getHomeId, Function.identity())); |
|
|
|
list.forEach(item -> { |
|
|
@ -1318,19 +1319,19 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
} |
|
|
|
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); |
|
|
|
List<EpidemicPreventionResultDTO> list = new ArrayList<>(); |
|
|
|
if (formDTO.getAttentionType().equals(NumConstant.TWO)){ |
|
|
|
if (formDTO.getAttentionType().equals(NumConstant.TWO)) { |
|
|
|
list = baseDao.natList(formDTO); |
|
|
|
}else if (formDTO.getAttentionType().equals(NumConstant.ONE)){ |
|
|
|
} else if (formDTO.getAttentionType().equals(NumConstant.ONE)) { |
|
|
|
list = baseDao.vaccineList(formDTO); |
|
|
|
} |
|
|
|
Set<String> homeIds = list.stream().filter(m -> StringUtils.isNotBlank(m.getIdCard())).map(m -> m.getHomeId()).distinct().collect(Collectors.toSet()); |
|
|
|
if (CollectionUtils.isNotEmpty(homeIds)){ |
|
|
|
if (CollectionUtils.isNotEmpty(homeIds)) { |
|
|
|
Result<List<HouseInfoDTO>> houseInfoRes = govOrgOpenFeignClient.queryListHouseInfo(homeIds, formDTO.getCustomerId()); |
|
|
|
if (!houseInfoRes.success()){ |
|
|
|
if (!houseInfoRes.success()) { |
|
|
|
throw new EpmetException("查询居民所属房屋失败..."); |
|
|
|
} |
|
|
|
if (CollectionUtils.isNotEmpty(houseInfoRes.getData())){ |
|
|
|
list.forEach(l -> houseInfoRes.getData().stream().filter( h -> h.getHomeId().equals(l.getHomeId())).forEach(h -> l.setHouseName(h.getAllName()))); |
|
|
|
if (CollectionUtils.isNotEmpty(houseInfoRes.getData())) { |
|
|
|
list.forEach(l -> houseInfoRes.getData().stream().filter(h -> h.getHomeId().equals(l.getHomeId())).forEach(h -> l.setHouseName(h.getAllName()))); |
|
|
|
} |
|
|
|
} |
|
|
|
PageInfo<EpidemicPreventionResultDTO> pageInfo = new PageInfo<>(list); |
|
|
@ -1402,31 +1403,31 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Description 居民分类 和 网格名 处理 |
|
|
|
* @param list |
|
|
|
* @param configList |
|
|
|
* @Description 居民分类 和 网格名 处理 |
|
|
|
* @author zxc |
|
|
|
* @date 2022/1/18 3:22 下午 |
|
|
|
*/ |
|
|
|
public List<PersonWarnRightListResultDTO.PersonWarnRightList> disposeCategory(List<Map<String, Object>> list,List<CustomerCategoryShowAndWarnListResultDTO> configList){ |
|
|
|
public List<PersonWarnRightListResultDTO.PersonWarnRightList> disposeCategory(List<Map<String, Object>> list, List<CustomerCategoryShowAndWarnListResultDTO> configList) { |
|
|
|
List<PersonWarnRightListResultDTO.PersonWarnRightList> userList = new ArrayList<>(); |
|
|
|
list.forEach(l -> { |
|
|
|
PersonWarnRightListResultDTO.PersonWarnRightList dto = ConvertUtils.mapToEntity(l, PersonWarnRightListResultDTO.PersonWarnRightList.class); |
|
|
|
// 分类名字
|
|
|
|
List<String> types = new ArrayList<>(); |
|
|
|
configList.forEach(c -> { |
|
|
|
l.forEach((k,v) -> { |
|
|
|
if (c.getColumnName().equals(k) && null != v && v.equals(NumConstant.ONE_STR)){ |
|
|
|
l.forEach((k, v) -> { |
|
|
|
if (c.getColumnName().equals(k) && null != v && v.equals(NumConstant.ONE_STR)) { |
|
|
|
types.add(c.getLabel()); |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
// 只显示有类别的居民
|
|
|
|
if (CollectionUtils.isNotEmpty(types)){ |
|
|
|
if (CollectionUtils.isNotEmpty(types)) { |
|
|
|
dto.setType(types); |
|
|
|
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(dto.getGridId()); |
|
|
|
if (null == gridInfo){ |
|
|
|
throw new EpmetException(String.format("查询网格信息失败%s",dto.getGridId())); |
|
|
|
if (null == gridInfo) { |
|
|
|
throw new EpmetException(String.format("查询网格信息失败%s", dto.getGridId())); |
|
|
|
} |
|
|
|
dto.setGridName(gridInfo.getGridNamePath()); |
|
|
|
userList.add(dto); |
|
|
@ -1437,6 +1438,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
|
|
|
|
/** |
|
|
|
* 查询志愿者类别options |
|
|
|
* |
|
|
|
* @param customerId |
|
|
|
* @return |
|
|
|
*/ |
|
|
@ -1485,7 +1487,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
OptionDataResultDTO dto = new OptionDataResultDTO(); |
|
|
|
dto.setCode(item.getValue()); |
|
|
|
dto.setLabel(item.getLabel()); |
|
|
|
dto.setValue(null == finalMap.get(item.getValue())?NumConstant.ZERO_STR:finalMap.get(item.getValue())); |
|
|
|
dto.setValue(null == finalMap.get(item.getValue()) ? NumConstant.ZERO_STR : finalMap.get(item.getValue())); |
|
|
|
BigDecimal radio = new BigDecimal("0.00"); |
|
|
|
if (NumConstant.ZERO != finalTotal) { |
|
|
|
BigDecimal sum = new BigDecimal(finalTotal); |
|
|
@ -1516,7 +1518,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
return new PageData<>(list, pageInfo.getTotal()); |
|
|
|
} |
|
|
|
List<PartyMemberAgeResultDTO> list = baseDao.getPartyMemberAgeList(formDTO.getOrgType(), formDTO.getOrgId(), formDTO.getCode()); |
|
|
|
return new PageData<>(list, null == list?NumConstant.ZERO:list.size()); |
|
|
|
return new PageData<>(list, null == list ? NumConstant.ZERO : list.size()); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@ -1548,7 +1550,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
OptionDataResultDTO dto = new OptionDataResultDTO(); |
|
|
|
dto.setCode(item.getValue()); |
|
|
|
dto.setLabel(item.getLabel()); |
|
|
|
dto.setValue(null == finalMap.get(item.getValue())?NumConstant.ZERO_STR:finalMap.get(item.getValue())); |
|
|
|
dto.setValue(null == finalMap.get(item.getValue()) ? NumConstant.ZERO_STR : finalMap.get(item.getValue())); |
|
|
|
BigDecimal radio = new BigDecimal("0.00"); |
|
|
|
if (NumConstant.ZERO != finalTotal) { |
|
|
|
BigDecimal sum = new BigDecimal(finalTotal); |
|
|
@ -1591,7 +1593,36 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
item.setEducation(null == mapResult.getData().get(item.getEducation()) ? "" : mapResult.getData().get(item.getEducation())); |
|
|
|
}); |
|
|
|
} |
|
|
|
return new PageData<>(list, null == list?NumConstant.ZERO:list.size()); |
|
|
|
return new PageData<>(list, null == list ? NumConstant.ZERO : list.size()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<HomeUserBriefResultDTO> listHomeUserBrief(String houseId, String customerId) { |
|
|
|
LambdaQueryWrapper<IcResiUserEntity> lqw = new LambdaQueryWrapper<>(); |
|
|
|
lqw.eq(IcResiUserEntity::getCustomerId, customerId) |
|
|
|
.eq(IcResiUserEntity::getHomeId, houseId) |
|
|
|
.select( |
|
|
|
IcResiUserEntity::getId, |
|
|
|
IcResiUserEntity::getHomeId, |
|
|
|
IcResiUserEntity::getName, |
|
|
|
IcResiUserEntity::getIsParty, |
|
|
|
IcResiUserEntity::getYhzgx, |
|
|
|
IcResiUserEntity::getGender, |
|
|
|
IcResiUserEntity::getMobile, |
|
|
|
IcResiUserEntity::getIdCard, |
|
|
|
IcResiUserEntity::getBirthday |
|
|
|
) |
|
|
|
.orderByAsc(IcResiUserEntity::getYhzgx, IcResiUserEntity::getCreatedTime, IcResiUserEntity::getId); |
|
|
|
|
|
|
|
List<IcResiUserEntity> homeUserList = baseDao.selectList(lqw); |
|
|
|
if (CollUtil.isEmpty(homeUserList)) { |
|
|
|
return Lists.newArrayList(); |
|
|
|
} |
|
|
|
homeUserList.forEach( |
|
|
|
item -> item.setYhzgx(RelationshipEnum.getEnum(item.getYhzgx()).getName()) |
|
|
|
); |
|
|
|
|
|
|
|
return ConvertUtils.sourceToTarget(homeUserList, HomeUserBriefResultDTO.class); |
|
|
|
} |
|
|
|
} |
|
|
|