Browse Source

新增接口,查询房屋家庭成员

dev
YUJT 3 years ago
parent
commit
d4f36ec9f7
  1. 24
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HomeUserBriefResultDTO.java
  2. 98
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  3. 48
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
  4. 330
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

24
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HomeUserBriefResultDTO.java

@ -0,0 +1,24 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2021/11/1 10:47
*/
@Data
public class HomeUserBriefResultDTO implements Serializable {
private static final long serialVersionUID = 7747977114455488862L;
private String id;
private String homeId;
private String name;
private String isParty;
private String gender;
private String yhzgx;
private String mobile;
private String idCard;
private String birthday;
}

98
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

@ -227,7 +227,7 @@ public class IcResiUserController implements ResultDataResolver {
//推送MQ事件 //推送MQ事件
IcResiUserAddMQMsg mqMsg = new IcResiUserAddMQMsg(); IcResiUserAddMQMsg mqMsg = new IcResiUserAddMQMsg();
mqMsg.setCustomerId(tokenDto.getCustomerId()); mqMsg.setCustomerId(tokenDto.getCustomerId());
log.info("customer id is {}",tokenDto.getCustomerId()); log.info("customer id is {}", tokenDto.getCustomerId());
mqMsg.setIcResiUser(resiUserId); mqMsg.setIcResiUser(resiUserId);
SystemMsgFormDTO form = new SystemMsgFormDTO(); SystemMsgFormDTO form = new SystemMsgFormDTO();
form.setMessageType(SystemMessageType.IC_RESI_USER_EDIT); form.setMessageType(SystemMessageType.IC_RESI_USER_EDIT);
@ -250,12 +250,13 @@ public class IcResiUserController implements ResultDataResolver {
/** /**
* 根据ic_resi_user找家属 * 根据ic_resi_user找家属
*
* @param icResiUserId * @param icResiUserId
* @return * @return
*/ */
@GetMapping("findfamilymem/{icResiUserId}") @GetMapping("findfamilymem/{icResiUserId}")
public Result<IcResiUserBriefDTO> findFamilyMem(@PathVariable("icResiUserId") String icResiUserId){ public Result<IcResiUserBriefDTO> findFamilyMem(@PathVariable("icResiUserId") String icResiUserId) {
if(StringUtils.isNotBlank(icResiUserId)){ if (StringUtils.isNotBlank(icResiUserId)) {
return new Result<IcResiUserBriefDTO>().ok(icResiUserService.findFamilyMem(icResiUserId)); return new Result<IcResiUserBriefDTO>().ok(icResiUserService.findFamilyMem(icResiUserId));
} }
return new Result<>(); return new Result<>();
@ -267,7 +268,7 @@ public class IcResiUserController implements ResultDataResolver {
pageFormDTO.setCustomerId(tokenDto.getCustomerId()); pageFormDTO.setCustomerId(tokenDto.getCustomerId());
pageFormDTO.setStaffId(tokenDto.getUserId()); pageFormDTO.setStaffId(tokenDto.getUserId());
ValidatorUtils.validateEntity(pageFormDTO, IcResiUserPageFormDTO.AddUserInternalGroup.class); ValidatorUtils.validateEntity(pageFormDTO, IcResiUserPageFormDTO.AddUserInternalGroup.class);
if(null==pageFormDTO.getConditions()){ if (null == pageFormDTO.getConditions()) {
pageFormDTO.setConditions(new ArrayList<>()); pageFormDTO.setConditions(new ArrayList<>());
} }
return new Result<PageData<Map<String, Object>>>().ok(icResiUserService.pageResiMap(pageFormDTO)); return new Result<PageData<Map<String, Object>>>().ok(icResiUserService.pageResiMap(pageFormDTO));
@ -299,12 +300,12 @@ public class IcResiUserController implements ResultDataResolver {
* @return void * @return void
* @author LiuJanJun * @author LiuJanJun
* @date 2021/11/19 4:24 下午 * @date 2021/11/19 4:24 下午
* @remark:分页批量导出 oss目录在 各个环境对应的前缀文件夹/file-template/resi-template/客户ID.xlsx, * @remark:分页批量导出 oss目录在 各个环境对应的前缀文件夹/file-template/resi-template/客户ID.xlsx,
* 如果某个客户需要更新模版 则替换掉上面的模版文件然后 更新缓存里的值或者删除也行 再导出就会下载新的模版了 * 如果某个客户需要更新模版 则替换掉上面的模版文件然后 更新缓存里的值或者删除也行 再导出就会下载新的模版了
*/ */
@NoRepeatSubmit @NoRepeatSubmit
@RequestMapping(value = "/exportExcel") @RequestMapping(value = "/exportExcel")
public void exportExcelByEasyExcel(@RequestHeader String customerId,@LoginUser TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) throws Exception { public void exportExcelByEasyExcel(@RequestHeader String customerId, @LoginUser TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) throws Exception {
//tokenDto.setUserId("9e37adcce6472152e6508a19d3683e02"); //tokenDto.setUserId("9e37adcce6472152e6508a19d3683e02");
long startM = System.currentTimeMillis(); long startM = System.currentTimeMillis();
CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(customerId, tokenDto.getUserId()); CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(customerId, tokenDto.getUserId());
@ -330,23 +331,23 @@ public class IcResiUserController implements ResultDataResolver {
List<FormItemResult> resiFormAllItems = icResiUserService.listFormItems(customerId, IcFormCodeEnum.RESI_BASE_INFO.getCode()); List<FormItemResult> resiFormAllItems = icResiUserService.listFormItems(customerId, IcFormCodeEnum.RESI_BASE_INFO.getCode());
Map<String, FormItemResult> allItemMap = resiFormAllItems.stream().collect(Collectors.toMap(FormItemResult::getItemId, o -> o)); Map<String, FormItemResult> allItemMap = resiFormAllItems.stream().collect(Collectors.toMap(FormItemResult::getItemId, o -> o));
Map<String, ExportResiUserItemDTO> map = new HashMap<>(); Map<String, ExportResiUserItemDTO> map = new HashMap<>();
allItemMap.values().forEach(item->{ allItemMap.values().forEach(item -> {
String tableName = item.getTableName(); String tableName = item.getTableName();
ExportResiUserItemDTO exportItem = map.getOrDefault(tableName, new ExportResiUserItemDTO()); ExportResiUserItemDTO exportItem = map.getOrDefault(tableName, new ExportResiUserItemDTO());
map.putIfAbsent(tableName,exportItem); map.putIfAbsent(tableName, exportItem);
String columnName = item.getColumnName().concat(item.getColumnNum() == NumConstant.ZERO ? StrConstant.EPMETY_STR : item.getColumnNum().toString()); String columnName = item.getColumnName().concat(item.getColumnNum() == NumConstant.ZERO ? StrConstant.EPMETY_STR : item.getColumnNum().toString());
exportItem.getItemMap().put(columnName,item); exportItem.getItemMap().put(columnName, item);
if (Constant.OPITON_SOURCE_REMOTE.equals(item.getOptionSourceType())&&item.getOptionSourceValue().contains(StrConstant.QUESTION_MARK)){ if (Constant.OPITON_SOURCE_REMOTE.equals(item.getOptionSourceType()) && item.getOptionSourceValue().contains(StrConstant.QUESTION_MARK)) {
//多个参数 //多个参数
String[] paramArr = item.getOptionSourceValue().split(StrConstant.QUESTION_MARK_TRANSFER)[NumConstant.ONE].split(StrConstant.AND_MARK); String[] paramArr = item.getOptionSourceValue().split(StrConstant.QUESTION_MARK_TRANSFER)[NumConstant.ONE].split(StrConstant.AND_MARK);
Arrays.stream(paramArr).forEach(o->{ Arrays.stream(paramArr).forEach(o -> {
FormItemResult value = allItemMap.get(o); FormItemResult value = allItemMap.get(o);
if (value == null){ if (value == null) {
return; return;
} }
Set<FormItemResult> conditionSet = exportItem.getRemoteItemConditionMap().getOrDefault(item.getItemId(),new HashSet<>()); Set<FormItemResult> conditionSet = exportItem.getRemoteItemConditionMap().getOrDefault(item.getItemId(), new HashSet<>());
conditionSet.add(value); conditionSet.add(value);
exportItem.getRemoteItemConditionMap().putIfAbsent(item.getItemId(),conditionSet); exportItem.getRemoteItemConditionMap().putIfAbsent(item.getItemId(), conditionSet);
}); });
} }
}); });
@ -373,7 +374,7 @@ public class IcResiUserController implements ResultDataResolver {
stopSearchSet.add(tableName); stopSearchSet.add(tableName);
} }
//如果没有 构建新的writeSheet //如果没有 构建新的writeSheet
WriteSheet writeSheet = childTableWriteSheetMap.getOrDefault(tableName,EasyExcel.writerSheet(tableEnum.getSheetNo()).build()); WriteSheet writeSheet = childTableWriteSheetMap.getOrDefault(tableName, EasyExcel.writerSheet(tableEnum.getSheetNo()).build());
childTableWriteSheetMap.putIfAbsent(tableName, writeSheet); childTableWriteSheetMap.putIfAbsent(tableName, writeSheet);
//写入数据 //写入数据
excelWriter.fill(new FillWrapper("t" + (tableEnum.getSheetNo() + NumConstant.ONE), resiResultList), writeSheet); excelWriter.fill(new FillWrapper("t" + (tableEnum.getSheetNo() + NumConstant.ONE), resiResultList), writeSheet);
@ -386,10 +387,10 @@ public class IcResiUserController implements ResultDataResolver {
} }
} finally { } finally {
if (excelWriter != null){ if (excelWriter != null) {
excelWriter.finish(); excelWriter.finish();
} }
log.info("exportExcelByEasyExcel resi info cost time:{}s",(System.currentTimeMillis()-startM)/NumConstant.ONE_THOUSAND); log.info("exportExcelByEasyExcel resi info cost time:{}s", (System.currentTimeMillis() - startM) / NumConstant.ONE_THOUSAND);
} }
} }
@ -399,7 +400,7 @@ public class IcResiUserController implements ResultDataResolver {
* @param customerId * @param customerId
* @return * @return
*/ */
private File getIcResiTemplateFile(String customerId, IcUserTemplateEnums template) throws Exception{ private File getIcResiTemplateFile(String customerId, IcUserTemplateEnums template) throws Exception {
String fileType = ".xlsx"; String fileType = ".xlsx";
String fileName = customerId + fileType; String fileName = customerId + fileType;
File file = new File(IC_RESI_DOWNLOAD_DIR.resolve(fileName).toString()); File file = new File(IC_RESI_DOWNLOAD_DIR.resolve(fileName).toString());
@ -417,11 +418,11 @@ public class IcResiUserController implements ResultDataResolver {
if (result == null || !result.success()) { if (result == null || !result.success()) {
log.warn("获取居民模版失败,path:{},走默认模版", ossFilePath); log.warn("获取居民模版失败,path:{},走默认模版", ossFilePath);
InputStream resourceAsStream = this.getClass().getClassLoader().getResourceAsStream(template.getPathInApp()); InputStream resourceAsStream = this.getClass().getClassLoader().getResourceAsStream(template.getPathInApp());
FileUtils.copyInputStreamToFile(resourceAsStream,file); FileUtils.copyInputStreamToFile(resourceAsStream, file);
log.warn("getIcResiTemplateFile copy default file to template,customerId:{}",customerId); log.warn("getIcResiTemplateFile copy default file to template,customerId:{}", customerId);
} else { } else {
log.warn("getIcResiTemplateFile reload file form oss default file to template,customerId:{}",customerId); log.warn("getIcResiTemplateFile reload file form oss default file to template,customerId:{}", customerId);
FileUtils.writeByteArrayToFile(file,result.getData()); FileUtils.writeByteArrayToFile(file, result.getData());
} }
redisUtils.hSet(RedisKeys.getResiTempChangedKey(customerId), serverIp, NumConstant.ZERO_STR); redisUtils.hSet(RedisKeys.getResiTempChangedKey(customerId), serverIp, NumConstant.ZERO_STR);
return file; return file;
@ -436,7 +437,7 @@ public class IcResiUserController implements ResultDataResolver {
*/ */
@NoRepeatSubmit @NoRepeatSubmit
@PostMapping("importExcel") @PostMapping("importExcel")
public Result importExcelByEasyExcel(@RequestHeader("customerId") String customerId,@RequestPart("file") MultipartFile file, HttpServletRequest multipartRequest, HttpServletResponse response) { public Result importExcelByEasyExcel(@RequestHeader("customerId") String customerId, @RequestPart("file") MultipartFile file, HttpServletRequest multipartRequest, HttpServletResponse response) {
if (file.isEmpty()) { if (file.isEmpty()) {
throw new RenException("请上传文件"); throw new RenException("请上传文件");
} }
@ -467,7 +468,7 @@ public class IcResiUserController implements ResultDataResolver {
executorService.execute(() -> { executorService.execute(() -> {
boolean isAllSuccess = false; boolean isAllSuccess = false;
try { try {
List<FormItemResult> formItemList = icResiUserService.listFormItems(customerId,IcFormCodeEnum.RESI_BASE_INFO.getCode()); List<FormItemResult> formItemList = icResiUserService.listFormItems(customerId, IcFormCodeEnum.RESI_BASE_INFO.getCode());
isAllSuccess = icResiUserImportService.importIcResiInfoFromExcel(importTaskId, formItemList, importTempFileSavePath.toString(), response, IC_RESI_UPLOAD_DIR); isAllSuccess = icResiUserImportService.importIcResiInfoFromExcel(importTaskId, formItemList, importTempFileSavePath.toString(), response, IC_RESI_UPLOAD_DIR);
} catch (Throwable e) { } catch (Throwable e) {
String errorMsg = ExceptionUtils.getThrowableErrorStackTrace(e); String errorMsg = ExceptionUtils.getThrowableErrorStackTrace(e);
@ -485,7 +486,7 @@ public class IcResiUserController implements ResultDataResolver {
} finally { } finally {
try { try {
// 都导入成功了没问题,才删除 // 都导入成功了没问题,才删除
if (importTempFileSavePath != null){ if (importTempFileSavePath != null) {
if (isAllSuccess) { if (isAllSuccess) {
Files.delete(importTempFileSavePath); Files.delete(importTempFileSavePath);
} else { } else {
@ -517,9 +518,9 @@ public class IcResiUserController implements ResultDataResolver {
* @date 2021/11/3 9:21 上午 * @date 2021/11/3 9:21 上午
*/ */
@PostMapping("persondata") @PostMapping("persondata")
public Result<PersonDataResultDTO> personData(@LoginUser TokenDto tokenDto,@RequestBody PersonDataFormDTO formDTO) { public Result<PersonDataResultDTO> personData(@LoginUser TokenDto tokenDto, @RequestBody PersonDataFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setCustomerId(tokenDto.getCustomerId());
ValidatorUtils.validateEntity(formDTO,PersonDataFormDTO.PersonDataForm.class); ValidatorUtils.validateEntity(formDTO, PersonDataFormDTO.PersonDataForm.class);
return new Result<PersonDataResultDTO>().ok(icResiUserService.personData(formDTO)); return new Result<PersonDataResultDTO>().ok(icResiUserService.personData(formDTO));
} }
@ -573,10 +574,10 @@ public class IcResiUserController implements ResultDataResolver {
} }
/** /**
* @LoginUser TokenDto tokenDto,
* 新增需求需求人列表展示当前工作人员所属组织+页面已选择所属网格 下的居民列表
* @param formDTO * @param formDTO
* @return * @return
* @LoginUser TokenDto tokenDto,
* 新增需求需求人列表展示当前工作人员所属组织+页面已选择所属网格 下的居民列表
*/ */
@PostMapping("demandusers") @PostMapping("demandusers")
public Result<List<DemandUserResDTO>> queryDemandUsers(@RequestBody DemandUserFormDTO formDTO) { public Result<List<DemandUserResDTO>> queryDemandUsers(@RequestBody DemandUserFormDTO formDTO) {
@ -586,6 +587,7 @@ public class IcResiUserController implements ResultDataResolver {
/** /**
* 下载ic居民信息导入excel模板 * 下载ic居民信息导入excel模板
*
* @return * @return
*/ */
@PostMapping("import/download-template") @PostMapping("import/download-template")
@ -616,6 +618,7 @@ public class IcResiUserController implements ResultDataResolver {
/** /**
* 党员年龄范围统计 * 党员年龄范围统计
*
* @Param formDTO * @Param formDTO
* @Return {@link Result< List< OptionDataResultDTO >>} * @Return {@link Result< List< OptionDataResultDTO >>}
* @Author zhaoqifeng * @Author zhaoqifeng
@ -629,6 +632,7 @@ public class IcResiUserController implements ResultDataResolver {
/** /**
* 党员年龄列表 * 党员年龄列表
*
* @Param formDTO * @Param formDTO
* @Return {@link Result< PageData< PartyMemberEducationResultDTO>>} * @Return {@link Result< PageData< PartyMemberEducationResultDTO>>}
* @Author zhaoqifeng * @Author zhaoqifeng
@ -642,6 +646,7 @@ public class IcResiUserController implements ResultDataResolver {
/** /**
* 党员学历统计 * 党员学历统计
*
* @Param formDTO * @Param formDTO
* @Return {@link Result< List< OptionDataResultDTO>>} * @Return {@link Result< List< OptionDataResultDTO>>}
* @Author zhaoqifeng * @Author zhaoqifeng
@ -655,6 +660,7 @@ public class IcResiUserController implements ResultDataResolver {
/** /**
* 党员学历列表 * 党员学历列表
*
* @Param formDTO * @Param formDTO
* @Return {@link Result< PageData< PartyMemberEducationResultDTO>>} * @Return {@link Result< PageData< PartyMemberEducationResultDTO>>}
* @Author zhaoqifeng * @Author zhaoqifeng
@ -668,6 +674,7 @@ public class IcResiUserController implements ResultDataResolver {
/** /**
* 根据居民id查询居民信息简介 * 根据居民id查询居民信息简介
*
* @param resiUserId * @param resiUserId
* @return * @return
*/ */
@ -680,12 +687,13 @@ public class IcResiUserController implements ResultDataResolver {
/** /**
* 获取ic_resi_user * 获取ic_resi_user
*
* @param icResiUserId * @param icResiUserId
* @return * @return
*/ */
@PostMapping("geticresiuser/{icResiUserId}") @PostMapping("geticresiuser/{icResiUserId}")
public Result<IcResiUserDTO> getIcResiUserDTO(@PathVariable("icResiUserId") String icResiUserId){ public Result<IcResiUserDTO> getIcResiUserDTO(@PathVariable("icResiUserId") String icResiUserId) {
if(StringUtils.isNotBlank(icResiUserId)){ if (StringUtils.isNotBlank(icResiUserId)) {
return new Result<IcResiUserDTO>().ok(icResiUserService.get(icResiUserId)); return new Result<IcResiUserDTO>().ok(icResiUserService.get(icResiUserId));
} }
return new Result<>(); return new Result<>();
@ -693,6 +701,7 @@ public class IcResiUserController implements ResultDataResolver {
/** /**
* 社区查询搜索居民们 * 社区查询搜索居民们
*
* @param input * @param input
* @return * @return
*/ */
@ -721,33 +730,34 @@ public class IcResiUserController implements ResultDataResolver {
} }
/** /**
* @Description 社区查询人员预警右侧列表
* @param formDTO * @param formDTO
* @param tokenDto * @param tokenDto
* @Description 社区查询人员预警右侧列表
* @author zxc * @author zxc
* @date 2022/1/17 4:25 下午 * @date 2022/1/17 4:25 下午
*/ */
@PostMapping("personwarn/rightlist") @PostMapping("personwarn/rightlist")
public Result<PersonWarnRightListResultDTO> personWarnRightList(@RequestBody PersonWarnRightListFormDTO formDTO,@LoginUser TokenDto tokenDto){ public Result<PersonWarnRightListResultDTO> personWarnRightList(@RequestBody PersonWarnRightListFormDTO formDTO, @LoginUser TokenDto tokenDto) {
ValidatorUtils.validateEntity(formDTO, PersonWarnRightListFormDTO.PersonWarnRightListForm.class); ValidatorUtils.validateEntity(formDTO, PersonWarnRightListFormDTO.PersonWarnRightListForm.class);
return new Result<PersonWarnRightListResultDTO>().ok(icResiUserService.personWarnRightList(formDTO,tokenDto)); return new Result<PersonWarnRightListResultDTO>().ok(icResiUserService.personWarnRightList(formDTO, tokenDto));
} }
/** /**
* Desc: 根据房屋IDs查询房屋下是否有存在居民的 * Desc: 根据房屋IDs查询房屋下是否有存在居民的
*
* @param ids * @param ids
* @author zxc * @author zxc
* @date 2022/3/2 10:32 上午 * @date 2022/3/2 10:32 上午
*/ */
@PostMapping("getexistuserbyhouseids") @PostMapping("getexistuserbyhouseids")
public Result<List<String>> getExistUserByHouseIds(@RequestBody List<String> ids){ public Result<List<String>> getExistUserByHouseIds(@RequestBody List<String> ids) {
return new Result<List<String>>().ok(icResiUserService.getExistUserByHouseIds(ids)); return new Result<List<String>>().ok(icResiUserService.getExistUserByHouseIds(ids));
} }
// public static ThreadLocal tl = new ThreadLocal(); // public static ThreadLocal tl = new ThreadLocal();
@PostMapping("test-async") @PostMapping("test-async")
public Result testAsync(HttpServletRequest request){ public Result testAsync(HttpServletRequest request) {
// tl.set("wxz"); // tl.set("wxz");
executorService.submit(() -> { executorService.submit(() -> {
try { try {
@ -761,4 +771,20 @@ public class IcResiUserController implements ResultDataResolver {
}); });
return new Result(); return new Result();
} }
/**
* 根据房屋主键查询户内家庭成员简信息
*
* @param houseId 房屋主键
* @param loginUser 登录用户
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.dto.result.HomeUserBriefResultDTO>>
* @author work@yujt.net.cn
* @date 2022/4/21/0021 15:00
*/
@PostMapping("listhomeuserbrief/{houseId}")
public Result<List<HomeUserBriefResultDTO>> listHomeUserBrief(@PathVariable("houseId") String houseId, @LoginUser TokenDto loginUser) {
String customerId = loginUser.getCustomerId();
List<HomeUserBriefResultDTO> r = icResiUserService.listHomeUserBrief(houseId, customerId);
return new Result().ok(r);
}
} }

48
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java

@ -67,38 +67,38 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
*/ */
List<HomeUserResultDTO> getPeopleByRoom(String homeId); List<HomeUserResultDTO> getPeopleByRoom(String homeId);
PageData<Map<String,Object>> pageResiMap(IcResiUserPageFormDTO formDTO); PageData<Map<String, Object>> pageResiMap(IcResiUserPageFormDTO formDTO);
/** /**
* 编辑页面显示居民信息详情 * 编辑页面显示居民信息详情
* *
* @param pageFormDTO * @param pageFormDTO
* @return java.util.Map * @return java.util.Map
* @author yinzuomei * @author yinzuomei
* @date 2021/10/28 10:29 上午 * @date 2021/10/28 10:29 上午
*/ */
Map queryIcResiDetail(IcResiDetailFormDTO pageFormDTO); Map queryIcResiDetail(IcResiDetailFormDTO pageFormDTO);
List<Map<String, Object>> dynamicQuery(String customerId,
List<Map<String,Object>> dynamicQuery(String customerId, String formCode,
String formCode, String resultTableName,
String resultTableName, List<ResiUserQueryValueDTO> conditions,
List<ResiUserQueryValueDTO> conditions, String currentStaffAgencyId,
String currentStaffAgencyId, String staffOrgPath);
String staffOrgPath);
/** /**
* @Description 查询个人数据
* @param formDTO * @param formDTO
* @Description 查询个人数据
* @author zxc * @author zxc
* @date 2021/11/3 9:21 上午 * @date 2021/11/3 9:21 上午
*/ */
PersonDataResultDTO personData(PersonDataFormDTO formDTO); PersonDataResultDTO personData(PersonDataFormDTO formDTO);
/** /**
* @Description 根据名字搜索
* @param formDTO * @param formDTO
* @param tokenDto * @param tokenDto
* @Description 根据名字搜索
* @author zxc * @author zxc
* @date 2021/11/3 1:42 下午 * @date 2021/11/3 1:42 下午
*/ */
@ -110,7 +110,7 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
* *
* @param exportResiUserItemDTO * @param exportResiUserItemDTO
* @param baseTableName * @param baseTableName
* @return Map<String,Map<String,Object>> 用户Id用户信息所有的字段名及值 * @return Map<String, Map < String, Object>> 用户Id用户信息所有的字段名及值
*/ */
List<Map<String, Object>> getDataForExport(ExportResiUserItemDTO exportResiUserItemDTO, String baseTableName, IcResiUserPageFormDTO pageFormDTO, String currentStaffAgencyId, List<Map<String, Object>> getDataForExport(ExportResiUserItemDTO exportResiUserItemDTO, String baseTableName, IcResiUserPageFormDTO pageFormDTO, String currentStaffAgencyId,
String staffOrgPath); String staffOrgPath);
@ -151,12 +151,13 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
* @param idNum * @param idNum
* @return * @return
*/ */
IcResiUserDTO getByIdCard(String customerId, String idNum,String icResiUserId); IcResiUserDTO getByIdCard(String customerId, String idNum, String icResiUserId);
IcResiUserBriefDTO findFamilyMem(String icResiUserId); IcResiUserBriefDTO findFamilyMem(String icResiUserId);
/** /**
* 党员年龄范围统计 * 党员年龄范围统计
*
* @Param formDTO * @Param formDTO
* @Return {@link List< OptionDataResultDTO >} * @Return {@link List< OptionDataResultDTO >}
* @Author zhaoqifeng * @Author zhaoqifeng
@ -166,6 +167,7 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
/** /**
* 获取年龄范围内党员列表 * 获取年龄范围内党员列表
*
* @Param formDTO * @Param formDTO
* @Return {@link PageData< PartyMemberAgeResultDTO>} * @Return {@link PageData< PartyMemberAgeResultDTO>}
* @Author zhaoqifeng * @Author zhaoqifeng
@ -175,6 +177,7 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
/** /**
* 党员文化程度统计 * 党员文化程度统计
*
* @Param formDTO * @Param formDTO
* @Return {@link List< OptionDataResultDTO>} * @Return {@link List< OptionDataResultDTO>}
* @Author zhaoqifeng * @Author zhaoqifeng
@ -184,6 +187,7 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
/** /**
* 按教育程度获取党员列表 * 按教育程度获取党员列表
*
* @Param formDTO * @Param formDTO
* @Return {@link PageData< PartyMemberEducationResultDTO>} * @Return {@link PageData< PartyMemberEducationResultDTO>}
* @Author zhaoqifeng * @Author zhaoqifeng
@ -195,15 +199,16 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
/** /**
* 获取居民主表记录 * 获取居民主表记录
*
* @param icResiUserId * @param icResiUserId
* @return * @return
*/ */
IcResiUserDTO get(String icResiUserId); IcResiUserDTO get(String icResiUserId);
/** /**
* @Description 社区查询人员预警右侧列表
* @param formDTO * @param formDTO
* @param tokenDto * @param tokenDto
* @Description 社区查询人员预警右侧列表
* @author zxc * @author zxc
* @date 2022/1/17 4:25 下午 * @date 2022/1/17 4:25 下午
*/ */
@ -211,6 +216,7 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
/** /**
* Desc: 根据房屋IDs查询房屋下是否有存在居民的 * Desc: 根据房屋IDs查询房屋下是否有存在居民的
*
* @param ids * @param ids
* @author zxc * @author zxc
* @date 2022/3/2 10:32 上午 * @date 2022/3/2 10:32 上午
@ -226,10 +232,12 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
* @Date 2022/3/29 14:27 * @Date 2022/3/29 14:27
*/ */
PageData<EpidemicPreventionResultDTO> epidemicPreventionList(EpidemicPreventionFormDTO formDTO); PageData<EpidemicPreventionResultDTO> epidemicPreventionList(EpidemicPreventionFormDTO formDTO);
PageData<EpidemicPreventionResultDTO> userList(EpidemicPreventionFormDTO formDTO); PageData<EpidemicPreventionResultDTO> userList(EpidemicPreventionFormDTO formDTO);
/** /**
* 居民防疫信息详情 * 居民防疫信息详情
*
* @Param formDTO * @Param formDTO
* @Return {@link EpidemicPreventionResultDTO} * @Return {@link EpidemicPreventionResultDTO}
* @Author zhaoqifeng * @Author zhaoqifeng
@ -239,10 +247,22 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
/** /**
* 居民防疫信息详情:核酸疫苗行程 * 居民防疫信息详情:核酸疫苗行程
*
* @Param formDTO * @Param formDTO
* @Return {@link EpidemicPreventionInfoDTO} * @Return {@link EpidemicPreventionInfoDTO}
* @Author zhaoqifeng * @Author zhaoqifeng
* @Date 2022/3/29 16:25 * @Date 2022/3/29 16:25
*/ */
EpidemicPreventionInfoDTO getEpidemicPreventionInfo(EpidemicPreventionFormDTO formDTO); EpidemicPreventionInfoDTO getEpidemicPreventionInfo(EpidemicPreventionFormDTO formDTO);
/**
* 根据房屋主键查询户内家庭成员简信息
*
* @param houseId 房屋主键
* @param customerId 客户ID
* @return java.util.List<com.epmet.dto.result.HomeUserBriefResultDTO>
* @author work@yujt.net.cn
* @date 2022/4/21/0021 15:02
*/
List<HomeUserBriefResultDTO> listHomeUserBrief(String houseId, String customerId);
} }

330
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

@ -18,6 +18,7 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import cn.hutool.core.bean.BeanUtil; 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.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.epmet.bean.ResiExportBaseInfoData; import com.epmet.bean.ResiExportBaseInfoData;
@ -66,6 +67,7 @@ import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheBuilder;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
@ -127,8 +129,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
@Resource @Resource
private IcTripReportRecordService icTripReportRecordService; private IcTripReportRecordService icTripReportRecordService;
private QueryWrapper<IcResiUserEntity> getWrapper(Map<String, Object> params){ private QueryWrapper<IcResiUserEntity> getWrapper(Map<String, Object> params) {
String id = (String)params.get(FieldConstant.ID_HUMP); String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<IcResiUserEntity> wrapper = new QueryWrapper<>(); QueryWrapper<IcResiUserEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); 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) {
throw new RenException(String.format("新增居民信息,必要字段值为空,%s值为空", str)); throw new RenException(String.format("新增居民信息,必要字段值为空,%s值为空", str));
} }
} else { } else {
@ -192,7 +194,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
map.put("customer_id", tokenDto.getCustomerId()); map.put("customer_id", tokenDto.getCustomerId());
map.put("created_by", tokenDto.getUserId()); map.put("created_by", tokenDto.getUserId());
map.put("updated_by", tokenDto.getUserId()); map.put("updated_by", tokenDto.getUserId());
if(!map.containsKey("AGENCY_ID")){ if (!map.containsKey("AGENCY_ID")) {
throw new RenException("新增居民信息--入参AGENCY_ID为空"); throw new RenException("新增居民信息--入参AGENCY_ID为空");
} }
//2021.11.25 新增需求 客户下身份证号唯一 start //2021.11.25 新增需求 客户下身份证号唯一 start
@ -396,7 +398,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
IcResiCategoryStatsConfigDTO sfdto = new IcResiCategoryStatsConfigDTO(); IcResiCategoryStatsConfigDTO sfdto = new IcResiCategoryStatsConfigDTO();
sfdto.setCustomerId(tokenDto.getCustomerId()); sfdto.setCustomerId(tokenDto.getCustomerId());
Result<List<IcResiCategoryStatsConfigDTO>> categoryListResult = operCustomizeOpenFeignClient.getCategoryList(sfdto); Result<List<IcResiCategoryStatsConfigDTO>> categoryListResult = operCustomizeOpenFeignClient.getCategoryList(sfdto);
if (!categoryListResult.success()){ if (!categoryListResult.success()) {
throw new RenException("居民信息修改,获取客户居民类别预警配置表数据失败"); throw new RenException("居民信息修改,获取客户居民类别预警配置表数据失败");
} }
//修改前数据库居民十八类信息值 //修改前数据库居民十八类信息值
@ -466,7 +468,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
*/ */
@Override @Override
public List<HomeUserResultDTO> getPeopleByRoom(String homeId) { public List<HomeUserResultDTO> getPeopleByRoom(String homeId) {
if(StringUtils.isBlank(homeId)) { if (StringUtils.isBlank(homeId)) {
return Collections.emptyList(); return Collections.emptyList();
} }
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>();
@ -486,72 +488,70 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
} }
@Override @Override
public PageData<Map<String, Object>> pageResiMap(IcResiUserPageFormDTO formDTO) { 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; String staffOrgPath;
if(StringUtils.isNotBlank(staffInfoCacheResult.getAgencyPIds())&& !NumConstant.ZERO_STR.equals(staffInfoCacheResult.getAgencyPIds())){ if (StringUtils.isNotBlank(staffInfoCacheResult.getAgencyPIds()) && !NumConstant.ZERO_STR.equals(staffInfoCacheResult.getAgencyPIds())) {
staffOrgPath=staffInfoCacheResult.getAgencyPIds().concat(":").concat(staffInfoCacheResult.getAgencyId()); staffOrgPath = staffInfoCacheResult.getAgencyPIds().concat(":").concat(staffInfoCacheResult.getAgencyId());
}else{ } else {
staffOrgPath=staffInfoCacheResult.getAgencyId(); staffOrgPath = staffInfoCacheResult.getAgencyId();
} }
// 查询列表展示项,如果没有,直接返回 // 查询列表展示项,如果没有,直接返回
CustomerFormQueryDTO queryDTO1=new CustomerFormQueryDTO(); CustomerFormQueryDTO queryDTO1 = new CustomerFormQueryDTO();
queryDTO1.setCustomerId(formDTO.getCustomerId()); queryDTO1.setCustomerId(formDTO.getCustomerId());
queryDTO1.setFormCode(formDTO.getFormCode()); 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())) { if (!resultColumnRes.success() || CollectionUtils.isEmpty(resultColumnRes.getData())) {
log.warn("没有配置列表展示列"); log.warn("没有配置列表展示列");
return new PageData(new ArrayList(), NumConstant.ZERO); return new PageData(new ArrayList(), NumConstant.ZERO);
} }
List<IcFormResColumnDTO> resultColumns = resultColumnRes.getData(); 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); Result<List<SubTableJoinDTO>> subTablesRes = operCustomizeOpenFeignClient.querySubTables(queryDTO1);
List<SubTableJoinDTO> subTables =subTablesRes.getData(); List<SubTableJoinDTO> subTables = subTablesRes.getData();
// log.info("1、所有的子表subTables:"+JSON.toJSONString(subTables,true)); // log.info("1、所有的子表subTables:"+JSON.toJSONString(subTables,true));
//关联哪些子表:查询条件用到的表名+查询的列对应的表 并集去重 //关联哪些子表:查询条件用到的表名+查询的列对应的表 并集去重
Set<String> whereConditionTables=formDTO.getConditions().stream().map(ResiUserQueryValueDTO::getTableName).collect(Collectors.toSet()); Set<String> whereConditionTables = formDTO.getConditions().stream().map(ResiUserQueryValueDTO::getTableName).collect(Collectors.toSet());
Set<String> tables=new HashSet<>(); Set<String> tables = new HashSet<>();
tables.addAll(whereConditionTables); tables.addAll(whereConditionTables);
tables.addAll(resultColumnTables); tables.addAll(resultColumnTables);
// log.info("2、查询条件+查询列对应的tables并集去重:"+ JSON.toJSONString(tables,true)); // log.info("2、查询条件+查询列对应的tables并集去重:"+ JSON.toJSONString(tables,true));
//最终关联的子表对应的sql: //最终关联的子表对应的sql:
List<String> finalSubTables =new ArrayList<>(); List<String> finalSubTables = new ArrayList<>();
subTables.forEach(subTable->{ subTables.forEach(subTable -> {
if(tables.contains(subTable.getTableName())){ if (tables.contains(subTable.getTableName())) {
finalSubTables.add(subTable.getJoinTableSql()); finalSubTables.add(subTable.getJoinTableSql());
} }
}); });
PageInfo<Map<String, Object>> pageInfo=new PageInfo<>(); PageInfo<Map<String, Object>> pageInfo = new PageInfo<>();
if (null == formDTO.getPageFlag()||formDTO.getPageFlag()) { if (null == formDTO.getPageFlag() || formDTO.getPageFlag()) {
//分页 //分页
String finalStaffOrgPath = staffOrgPath; String finalStaffOrgPath = staffOrgPath;
pageInfo= PageHelper.startPage(formDTO.getPageNo(), pageInfo = PageHelper.startPage(formDTO.getPageNo(),
formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.selectListResiMap(formDTO.getCustomerId(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.selectListResiMap(formDTO.getCustomerId(),
formDTO.getFormCode(), formDTO.getFormCode(),
formDTO.getConditions(), formDTO.getConditions(),
resultColumns, resultColumns,
finalSubTables, finalSubTables,
staffInfoCacheResult.getAgencyId(), finalStaffOrgPath,null, formDTO.getKeyword())); staffInfoCacheResult.getAgencyId(), finalStaffOrgPath, null, formDTO.getKeyword()));
}else{ } else {
List<Map<String,Object>> list=baseDao.selectListResiMap(formDTO.getCustomerId(), List<Map<String, Object>> list = baseDao.selectListResiMap(formDTO.getCustomerId(),
formDTO.getFormCode(), formDTO.getFormCode(),
formDTO.getConditions(), formDTO.getConditions(),
resultColumns, resultColumns,
finalSubTables, finalSubTables,
staffInfoCacheResult.getAgencyId(), staffInfoCacheResult.getAgencyId(),
staffOrgPath,null, staffOrgPath, null,
formDTO.getKeyword()); formDTO.getKeyword());
pageInfo.setTotal(CollectionUtils.isEmpty(list)?NumConstant.ZERO:list.size()); pageInfo.setTotal(CollectionUtils.isEmpty(list) ? NumConstant.ZERO : list.size());
pageInfo.setList(list); pageInfo.setList(list);
} }
@ -567,23 +567,23 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
houseIds.add(map.get(UserConstant.HOME_ID).toString()); 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<>(); 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())); 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<>(); 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())); 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()); userDemandNameQueryFormDTO.setCustomerId(formDTO.getCustomerId());
Result<List<IcResiDemandDictDTO>> demandNameRes=heartOpenFeignClient.queryDemandNames(userDemandNameQueryFormDTO); Result<List<IcResiDemandDictDTO>> demandNameRes = heartOpenFeignClient.queryDemandNames(userDemandNameQueryFormDTO);
if(!demandNameRes.success()||CollectionUtils.isEmpty(demandNameRes.getData())){ if (!demandNameRes.success() || CollectionUtils.isEmpty(demandNameRes.getData())) {
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(),"获取需求分类字典表数据异常",EpmetErrorCode.SERVER_ERROR.getMsg()); 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) { for (Map<String, Object> resultMap : list) {
String gridIdValue = null != resultMap.get(UserConstant.GRID_ID) ? resultMap.get(UserConstant.GRID_ID).toString() : StrConstant.EPMETY_STR; String gridIdValue = null != resultMap.get(UserConstant.GRID_ID) ? resultMap.get(UserConstant.GRID_ID).toString() : StrConstant.EPMETY_STR;
@ -621,7 +621,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
} }
resultMap.put(UserConstant.HOME_ID, neighBorName.concat(buildName).concat(unitName).concat(doorName)); 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)) { if (resultMap.containsKey(UserConstant.GENDER)) {
@ -639,31 +639,31 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
return new PageData<>(pageInfo.getList(), pageInfo.getTotal()); 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: // epmet_user.ic_resi_demand.category_code存储的值为 分类编码的全路径,eg:
// 1003,10030002 // 1003,10030002
// 1012,10120003 // 1012,10120003
// 1016,10160003 // 1016,10160003
Set<String> demandCodePath=baseDao.selectUserDemandCode(icResiUserId); Set<String> demandCodePath = baseDao.selectUserDemandCode(icResiUserId);
if(CollectionUtils.isEmpty(demandCodePath)){ if (CollectionUtils.isEmpty(demandCodePath)) {
return StrConstant.EPMETY_STR; return StrConstant.EPMETY_STR;
} }
List<String> nameList=new ArrayList<>(); List<String> nameList = new ArrayList<>();
for(String codePath:demandCodePath){ for (String codePath : demandCodePath) {
if (StringUtils.isNotBlank(codePath) && codePath.contains(StrConstant.COMMA)) { if (StringUtils.isNotBlank(codePath) && codePath.contains(StrConstant.COMMA)) {
String[] codeAtt=codePath.split(StrConstant.COMMA); String[] codeAtt = codePath.split(StrConstant.COMMA);
String code=codeAtt[codeAtt.length-1]; String code = codeAtt[codeAtt.length - 1];
if(StringUtils.isNotBlank(code)&&demandDictMap.containsKey(code)){ if (StringUtils.isNotBlank(code) && demandDictMap.containsKey(code)) {
nameList.add(demandDictMap.get(code).getParentName()); nameList.add(demandDictMap.get(code).getParentName());
} }
}else{ } else {
if(StringUtils.isNotBlank(codePath)&&demandDictMap.containsKey(codePath)){ if (StringUtils.isNotBlank(codePath) && demandDictMap.containsKey(codePath)) {
nameList.add(demandDictMap.get(codePath).getParentName()); nameList.add(demandDictMap.get(codePath).getParentName());
} }
} }
} }
String demandName=String.join(StrConstant.COMMA_ZH,nameList); String demandName = String.join(StrConstant.COMMA_ZH, nameList);
return demandName; return demandName;
} }
@ -679,17 +679,17 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
public Map queryIcResiDetail(IcResiDetailFormDTO pageFormDTO) { public Map queryIcResiDetail(IcResiDetailFormDTO pageFormDTO) {
Map resultMap = new HashMap(); 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)) { if (CollectionUtils.isEmpty(icResiUserMapList)) {
return new HashMap(); return new HashMap();
} }
resultMap.put("ic_resi_user", icResiUserMapList); 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); Result<Set<String>> subTableRes = operCustomizeOpenFeignClient.queryIcResiSubTables(queryDTO);
if(subTableRes.success()&&!CollectionUtils.isEmpty(subTableRes.getData())){ if (subTableRes.success() && !CollectionUtils.isEmpty(subTableRes.getData())) {
for (String subTalbeName : 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)) { if (!CollectionUtils.isEmpty(list)) {
resultMap.put(subTalbeName, list); resultMap.put(subTalbeName, list);
} }
@ -703,6 +703,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
/** /**
* desc:动态查询 某表的所有字段值 * desc:动态查询 某表的所有字段值
*
* @param customerId * @param customerId
* @param formCode * @param formCode
* @param resultTableName * @param resultTableName
@ -710,50 +711,50 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
* @return * @return
*/ */
@Override @Override
public List<Map<String,Object>> dynamicQuery(String customerId, public List<Map<String, Object>> dynamicQuery(String customerId,
String formCode, String formCode,
String resultTableName, String resultTableName,
List<ResiUserQueryValueDTO> conditions, List<ResiUserQueryValueDTO> conditions,
String currentStaffAgencyId, String currentStaffAgencyId,
String staffOrgPath){ String staffOrgPath) {
CustomerFormQueryDTO queryDTO=new CustomerFormQueryDTO(); CustomerFormQueryDTO queryDTO = new CustomerFormQueryDTO();
queryDTO.setCustomerId(customerId); queryDTO.setCustomerId(customerId);
queryDTO.setFormCode(formCode); queryDTO.setFormCode(formCode);
//所有的子表 //所有的子表
Result<List<SubTableJoinDTO>> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO); Result<List<SubTableJoinDTO>> subTablesRes = operCustomizeOpenFeignClient.querySubTables(queryDTO);
/*List<String> subTablesBak=new ArrayList<>(); /*List<String> subTablesBak=new ArrayList<>();
if(subTablesRes.success()&&CollectionUtils.isNotEmpty(subTablesRes.getData())){ if(subTablesRes.success()&&CollectionUtils.isNotEmpty(subTablesRes.getData())){
subTablesBak =subTablesRes.getData().stream().map(SubTableJoinDTO::getJoinTableSql).collect(Collectors.toList()); 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)); // log.info("1、所有的子表subTables:"+JSON.toJSONString(subTables,true));
//关联哪些子表:查询条件用到的表名+查询的列对应的表 并集去重 //关联哪些子表:查询条件用到的表名+查询的列对应的表 并集去重
Set<String> whereConditionTables=conditions.stream().map(ResiUserQueryValueDTO::getTableName).collect(Collectors.toSet()); Set<String> whereConditionTables = conditions.stream().map(ResiUserQueryValueDTO::getTableName).collect(Collectors.toSet());
Set<String> tables=new HashSet<>(); Set<String> tables = new HashSet<>();
tables.addAll(whereConditionTables); tables.addAll(whereConditionTables);
tables.add(resultTableName); tables.add(resultTableName);
// log.info("2、查询条件+查询列对应的tables并集去重:"+ JSON.toJSONString(tables,true)); // log.info("2、查询条件+查询列对应的tables并集去重:"+ JSON.toJSONString(tables,true));
//最终关联的子表对应的sql: //最终关联的子表对应的sql:
List<String> finalSubTables =new ArrayList<>(); List<String> finalSubTables = new ArrayList<>();
subTables.forEach(subTable->{ subTables.forEach(subTable -> {
if(tables.contains(subTable.getTableName())){ if (tables.contains(subTable.getTableName())) {
finalSubTables.add(subTable.getJoinTableSql()); 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 * @param formDTO
* @Description 查询个人数据
* @author zxc * @author zxc
* @date 2021/11/3 9:21 上午 * @date 2021/11/3 9:21 上午
*/ */
@Override @Override
public PersonDataResultDTO personData(PersonDataFormDTO formDTO) { public PersonDataResultDTO personData(PersonDataFormDTO formDTO) {
PersonDataResultDTO personData = baseDao.personData(formDTO.getUserId()); PersonDataResultDTO personData = baseDao.personData(formDTO.getUserId());
if (null == personData){ if (null == personData) {
return new PersonDataResultDTO(); return new PersonDataResultDTO();
} }
//新增以下2个返参 //新增以下2个返参
@ -767,16 +768,16 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
personData.setIcResiUserId(formDTO.getUserId()); personData.setIcResiUserId(formDTO.getUserId());
// 房屋信息查询 // 房屋信息查询
Result<List<String>> listResult = govOrgOpenFeignClient.selectHouseInfoByIdCard(personData.getIdCard(),formDTO.getCustomerId()); Result<List<String>> listResult = govOrgOpenFeignClient.selectHouseInfoByIdCard(personData.getIdCard(), formDTO.getCustomerId());
if (!listResult.success()){ if (!listResult.success()) {
throw new RenException("查询房屋信息失败"); throw new RenException("查询房屋信息失败");
} }
personData.setHouseInfo(listResult.getData()); 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()); List<String> volunteerList = baseDao.selectVolunteerByUserId(formDTO.getUserId());
if (!CollectionUtils.isEmpty(volunteerList)){ if (!CollectionUtils.isEmpty(volunteerList)) {
List<String> volunteers = new ArrayList<>(); List<String> volunteers = new ArrayList<>();
List<String> finalVolunteers = volunteers; List<String> finalVolunteers = volunteers;
volunteerList.forEach(v -> { volunteerList.forEach(v -> {
@ -786,7 +787,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
volunteers = volunteers.stream().distinct().collect(Collectors.toList()); volunteers = volunteers.stream().distinct().collect(Collectors.toList());
// 去customize 查询志愿者类别 // 去customize 查询志愿者类别
Result<List<String>> volunteerResult = operCustomizeOpenFeignClient.volunteerLabelByValues(volunteers, personData.getCustomerId()); Result<List<String>> volunteerResult = operCustomizeOpenFeignClient.volunteerLabelByValues(volunteers, personData.getCustomerId());
if (!volunteerResult.success()){ if (!volunteerResult.success()) {
throw new RenException("查询志愿者类别失败..."); throw new RenException("查询志愿者类别失败...");
} }
personData.setVolunteerCategory(volunteerResult.getData()); personData.setVolunteerCategory(volunteerResult.getData());
@ -794,7 +795,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
} }
// 网格名 // 网格名
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(personData.getGridId()); GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(personData.getGridId());
if (null != gridInfo){ if (null != gridInfo) {
personData.setGridName(gridInfo.getGridNamePath()); personData.setGridName(gridInfo.getGridNamePath());
} }
/** /**
@ -805,22 +806,22 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
IcResiCategoryStatsConfigDTO dto = new IcResiCategoryStatsConfigDTO(); IcResiCategoryStatsConfigDTO dto = new IcResiCategoryStatsConfigDTO();
dto.setCustomerId(personData.getCustomerId()); dto.setCustomerId(personData.getCustomerId());
Result<List<IcResiCategoryStatsConfigDTO>> categoryListResult = operCustomizeOpenFeignClient.getCategoryList(dto); Result<List<IcResiCategoryStatsConfigDTO>> categoryListResult = operCustomizeOpenFeignClient.getCategoryList(dto);
if (!categoryListResult.success()){ if (!categoryListResult.success()) {
throw new RenException("查询客户下的人员类别失败..."); throw new RenException("查询客户下的人员类别失败...");
} }
List<IcResiCategoryStatsConfigDTO> categoryData = categoryListResult.getData(); 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)); Map<String, List<IcResiCategoryStatsConfigDTO>> groupByStatus = categoryData.stream().collect(Collectors.groupingBy(IcResiCategoryStatsConfigDTO::getStatus));
List<IcResiCategoryStatsConfigDTO> showList = groupByStatus.get(IcPlatformConstant.PERSON_CATEGORY_SHOW); List<IcResiCategoryStatsConfigDTO> showList = groupByStatus.get(IcPlatformConstant.PERSON_CATEGORY_SHOW);
List<String> personCategoryList = new ArrayList<>(); 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)); 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()); 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 -> { list.forEach(l -> {
result.forEach((k,v) -> { result.forEach((k, v) -> {
if (l.getColumnName().equals(k) && v.equals(NumConstant.ONE_STR)){ if (l.getColumnName().equals(k) && v.equals(NumConstant.ONE_STR)) {
personCategoryList.add(l.getLabel()); personCategoryList.add(l.getLabel());
} }
}); });
@ -833,9 +834,9 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
} }
/** /**
* @Description 根据名字搜索
* @param formDTO * @param formDTO
* @param tokenDto * @param tokenDto
* @Description 根据名字搜索
* @author zxc * @author zxc
* @date 2021/11/3 1:42 下午 * @date 2021/11/3 1:42 下午
*/ */
@ -843,29 +844,29 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
public PageData<SearchByNameResultDTO> searchByName(SearchByNameFormDTO formDTO, TokenDto tokenDto) { public PageData<SearchByNameResultDTO> searchByName(SearchByNameFormDTO formDTO, TokenDto tokenDto) {
// 查询工作人员所属组织 // 查询工作人员所属组织
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
if (null == staffInfo){ if (null == staffInfo) {
throw new RenException("未查询到当前工作人员所属组织"); throw new RenException("未查询到当前工作人员所属组织");
} }
Integer no = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); Integer no = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize();
PageInfo<SearchByNameResultDTO> pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.searchByName(formDTO.getName(), staffInfo.getAgencyId(), no)); PageInfo<SearchByNameResultDTO> pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.searchByName(formDTO.getName(), staffInfo.getAgencyId(), no));
List<SearchByNameResultDTO> result = pageInfo.getList(); List<SearchByNameResultDTO> result = pageInfo.getList();
if (CollectionUtils.isEmpty(result)){ if (CollectionUtils.isEmpty(result)) {
return new PageData<>(new ArrayList<>(), pageInfo.getTotal()); return new PageData<>(new ArrayList<>(), pageInfo.getTotal());
} }
// 查询小区,楼号,网格 // 查询小区,楼号,网格
Result<List<AllGridsByUserIdResultDTO>> gridResult = govOrgOpenFeignClient.getGridListByGridIds(result.stream().map(SearchByNameResultDTO::getGridId).collect(Collectors.toList())); Result<List<AllGridsByUserIdResultDTO>> gridResult = govOrgOpenFeignClient.getGridListByGridIds(result.stream().map(SearchByNameResultDTO::getGridId).collect(Collectors.toList()));
if (!gridResult.success()) { 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)); 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())); Result<List<IcNeighborHoodDTO>> neighborHoodResult = govOrgOpenFeignClient.getListByIds(result.stream().map(SearchByNameResultDTO::getNeighborHoodId).collect(Collectors.toList()));
if (!neighborHoodResult.success()) { 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)); 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())); Result<List<BuildingResultDTO>> buildResult = govOrgOpenFeignClient.buildingListByIds(result.stream().map(SearchByNameResultDTO::getBuildId).collect(Collectors.toList()));
if (!buildResult.success()) { 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)); Map<String, String> buildMap = buildResult.getData().stream().collect(Collectors.toMap(BuildingResultDTO::getBuildingId, BuildingResultDTO::getBuildingName));
AtomicInteger i = new AtomicInteger(NumConstant.ONE); AtomicInteger i = new AtomicInteger(NumConstant.ONE);
@ -882,8 +883,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
/** /**
* desc:条件导出 * desc:条件导出
* *
* * @param formItemMap key 表名 value formItem
* @param formItemMap key 表名 value formItem
* @param baseTableName * @param baseTableName
* @return * @return
*/ */
@ -899,33 +899,33 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
//获取用户Id //获取用户Id
if (IcResiUserConstant.IC_RESI_USER.equals(baseTableName)) { if (IcResiUserConstant.IC_RESI_USER.equals(baseTableName)) {
resiId = (String) resiUser.get("ID"); resiId = (String) resiUser.get("ID");
}else { } else {
resiId = (String) resiUser.get(UserConstant.IC_RESI_USER); resiId = (String) resiUser.get(UserConstant.IC_RESI_USER);
} }
if (StringUtils.isBlank(resiId)){ if (StringUtils.isBlank(resiId)) {
log.error("getDataForExport error,resiId is net exist:{}",resiUser); log.error("getDataForExport error,resiId is net exist:{}", resiUser);
return; return;
} }
//遍历所有字段 格式化时间字段 //遍历所有字段 格式化时间字段
resiUser.forEach((k,o) -> { resiUser.forEach((k, o) -> {
if (o instanceof java.sql.Date){ if (o instanceof java.sql.Date) {
o = DateUtils.format(((Date) o),DateUtils.DATE_PATTERN); o = DateUtils.format(((Date) o), DateUtils.DATE_PATTERN);
}else if (o instanceof java.sql.Timestamp){ } else if (o instanceof java.sql.Timestamp) {
o = DateUtils.format(new Date(((Timestamp) o).getTime()),DateUtils.DATE_TIME_PATTERN); o = DateUtils.format(new Date(((Timestamp) o).getTime()), DateUtils.DATE_TIME_PATTERN);
} }
resiUser.put(k,o); resiUser.put(k, o);
}); });
//当前条数据原始的id值 resiUser //当前条数据原始的id值 resiUser
Map<String,Object> originalConditionMap = new ConcurrentHashMap<>(); Map<String, Object> originalConditionMap = new ConcurrentHashMap<>();
formItemMap.getItemMap().values().parallelStream().forEach(e->{ formItemMap.getItemMap().values().parallelStream().forEach(e -> {
String columnName = getColumnName(e); String columnName = getColumnName(e);
Object temp = resiUser.get(columnName); Object temp = resiUser.get(columnName);
String vauleStr = temp == null ? StrConstant.EPMETY_STR : temp.toString(); 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)) { 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 { } else {
putOptionValue(resiUser, e, columnName, vauleStr); putOptionValue(resiUser, e, columnName, vauleStr);
} }
@ -934,14 +934,14 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
if (IcResiUserConstant.IC_RESI_USER.equals(baseTableName)) { if (IcResiUserConstant.IC_RESI_USER.equals(baseTableName)) {
//把人放入redis缓存 便于后面的sheet使用基础信息 //把人放入redis缓存 便于后面的sheet使用基础信息
ResiExportBaseInfoData infoData = ConvertUtils.mapToEntity(resiUser, ResiExportBaseInfoData.class); 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 { } else {
ResiExportBaseInfoData temp = (ResiExportBaseInfoData) redisTemplate.opsForValue().get(RedisKeys.getExportResiBaseInfoKey(resiId)); ResiExportBaseInfoData temp = (ResiExportBaseInfoData) redisTemplate.opsForValue().get(RedisKeys.getExportResiBaseInfoKey(resiId));
if (temp != null){ if (temp != null) {
try { try {
resiUser.putAll(ConvertUtils.entityToMap(temp)); resiUser.putAll(ConvertUtils.entityToMap(temp));
} catch (Exception e) { } catch (Exception e) {
log.error("entityToMap exception,temp:{}",temp); log.error("entityToMap exception,temp:{}", temp);
} }
} }
} }
@ -953,15 +953,16 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
/** /**
* key:itemId,value: key:columnName,中文 * 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) { private void putRemoteValue(Set<FormItemResult> conditionItemSet, String currentStaffAgencyId, Map<String, Object> map, Map<String, Object> originalConditionMap, FormItemResult e, String columnName, String vauleStr) {
try { try {
Map<String, IcResiUserImportServiceImpl.ColumnWrapper> columnWrappers = new HashMap<>(); 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) { for (FormItemResult o : conditionItemSet) {
String column = getColumnName(o); String column = getColumnName(o);
Object conditionValue = originalConditionMap.getOrDefault(column, map.get(column)); Object conditionValue = originalConditionMap.getOrDefault(column, map.get(column));
originalConditionMap.putIfAbsent(column,conditionValue.toString()); originalConditionMap.putIfAbsent(column, conditionValue.toString());
IcResiUserImportServiceImpl.ColumnWrapper value = new IcResiUserImportServiceImpl.ColumnWrapper(); IcResiUserImportServiceImpl.ColumnWrapper value = new IcResiUserImportServiceImpl.ColumnWrapper();
value.setColValue(conditionValue.toString()); value.setColValue(conditionValue.toString());
columnWrappers.put(o.getItemId(), value); columnWrappers.put(o.getItemId(), value);
@ -975,10 +976,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
continue; continue;
}*/ }*/
Cache<String, String> cache = remoteOptionCacheMap.getOrDefault(e.getItemId(), CacheBuilder.newBuilder().maximumSize(NumConstant.FIVE_HUNDRED).build()); 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); String cacheValue = cache.getIfPresent(vauleStr);
if (StringUtils.isNotBlank(cacheValue)){ if (StringUtils.isNotBlank(cacheValue)) {
map.put(columnName,cacheValue); map.put(columnName, cacheValue);
} else { } else {
String[] parts = icResiUserImportService.splitOptionSourceUrl(e.getOptionSourceValue()); String[] parts = icResiUserImportService.splitOptionSourceUrl(e.getOptionSourceValue());
@ -990,7 +991,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
if (vauleStr.equals(value)) { if (vauleStr.equals(value)) {
map.put(columnName, label); map.put(columnName, label);
} }
cache.put(value,label); cache.put(value, label);
}); });
} }
} }
@ -1020,7 +1021,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
} }
private String getColumnName(FormItemResult e) { 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());
} }
/** /**
@ -1038,9 +1039,9 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
IcResiUserEntity user = baseDao.selectById(userId); IcResiUserEntity user = baseDao.selectById(userId);
//获取用户所在家庭的户主 //获取用户所在家庭的户主
Result<IcHouseDTO> houseResult = govOrgOpenFeignClient.get(user.getHomeId()); Result<IcHouseDTO> houseResult = govOrgOpenFeignClient.get(user.getHomeId());
if (!houseResult.success()) { if (!houseResult.success()) {
throw new RenException(houseResult.getCode(),houseResult.getMsg()); throw new RenException(houseResult.getCode(), houseResult.getMsg());
} }
result.setOwnerName(houseResult.getData().getOwnerName()); result.setOwnerName(houseResult.getData().getOwnerName());
@ -1094,7 +1095,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
@Override @Override
public List<DemandUserResDTO> queryDemandUsers(DemandUserFormDTO formDTO) { public List<DemandUserResDTO> queryDemandUsers(DemandUserFormDTO formDTO) {
return baseDao.selectDemandUsers(formDTO.getAgencyId(),formDTO.getGridId(),formDTO.getName()); return baseDao.selectDemandUsers(formDTO.getAgencyId(), formDTO.getGridId(), formDTO.getName());
} }
/** /**
@ -1105,11 +1106,11 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
* @return * @return
*/ */
@Override @Override
public IcResiUserDTO getByIdCard(String customerId, String idNum,String icResiUserId) { public IcResiUserDTO getByIdCard(String customerId, String idNum, String icResiUserId) {
if(StringUtils.isBlank(idNum)&&StringUtils.isBlank(icResiUserId)){ if (StringUtils.isBlank(idNum) && StringUtils.isBlank(icResiUserId)) {
return null; return null;
} }
return baseDao.selectIdByIdCard(customerId,idNum,icResiUserId); return baseDao.selectIdByIdCard(customerId, idNum, icResiUserId);
} }
@Override @Override
@ -1168,40 +1169,40 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
@Override @Override
public IcResiUserDTO get(String icResiUserId) { public IcResiUserDTO get(String icResiUserId) {
IcResiUserEntity icResiUserEntity=baseDao.selectById(icResiUserId); IcResiUserEntity icResiUserEntity = baseDao.selectById(icResiUserId);
return ConvertUtils.sourceToTarget(icResiUserEntity,IcResiUserDTO.class); return ConvertUtils.sourceToTarget(icResiUserEntity, IcResiUserDTO.class);
} }
/** /**
* @Description 社区查询人员预警右侧列表
* @param formDTO * @param formDTO
* @param tokenDto * @param tokenDto
* @Description 社区查询人员预警右侧列表
* @author zxc * @author zxc
* @date 2022/1/17 4:25 下午 * @date 2022/1/17 4:25 下午
*/ */
@Override @Override
public PersonWarnRightListResultDTO personWarnRightList(PersonWarnRightListFormDTO formDTO, TokenDto tokenDto) { public PersonWarnRightListResultDTO personWarnRightList(PersonWarnRightListFormDTO formDTO, TokenDto tokenDto) {
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
if (null == staffInfo){ if (null == staffInfo) {
throw new EpmetException(String.format("未查询到此工作人员信息%s",tokenDto.getUserId())); throw new EpmetException(String.format("未查询到此工作人员信息%s", tokenDto.getUserId()));
} }
Result<List<CustomerCategoryShowAndWarnListResultDTO>> configListResult = operCustomizeOpenFeignClient.getCustomerCategoryShowAndWarnList(tokenDto.getCustomerId()); Result<List<CustomerCategoryShowAndWarnListResultDTO>> configListResult = operCustomizeOpenFeignClient.getCustomerCategoryShowAndWarnList(tokenDto.getCustomerId());
if (!configListResult.success()){ if (!configListResult.success()) {
throw new EpmetException("查询居民分类配置失败..."); throw new EpmetException("查询居民分类配置失败...");
} }
PersonWarnRightListResultDTO result = new PersonWarnRightListResultDTO(); PersonWarnRightListResultDTO result = new PersonWarnRightListResultDTO();
if (CollectionUtils.isEmpty(configListResult.getData())){ if (CollectionUtils.isEmpty(configListResult.getData())) {
return result; return result;
} }
List<CustomerCategoryShowAndWarnListResultDTO> configListOrigin = configListResult.getData(); List<CustomerCategoryShowAndWarnListResultDTO> configListOrigin = configListResult.getData();
List<CustomerCategoryShowAndWarnListResultDTO> configList = new ArrayList<>(); List<CustomerCategoryShowAndWarnListResultDTO> configList = new ArrayList<>();
if (StringUtils.isNotBlank(formDTO.getCategoryCode())){ if (StringUtils.isNotBlank(formDTO.getCategoryCode())) {
for (CustomerCategoryShowAndWarnListResultDTO c : configListOrigin) { for (CustomerCategoryShowAndWarnListResultDTO c : configListOrigin) {
if (c.getColumnName().equals(formDTO.getCategoryCode())){ if (c.getColumnName().equals(formDTO.getCategoryCode())) {
configList.add(c); configList.add(c);
} }
} }
}else { } else {
configList = configListOrigin; configList = configListOrigin;
} }
List<CustomerCategoryShowAndWarnListResultDTO> finalConfigList = configList; List<CustomerCategoryShowAndWarnListResultDTO> finalConfigList = configList;
@ -1212,8 +1213,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
} }
result.setTotal(Integer.valueOf(String.valueOf(pageInfo.getTotal()))); result.setTotal(Integer.valueOf(String.valueOf(pageInfo.getTotal())));
List<PersonWarnRightListResultDTO.PersonWarnRightList> userList = disposeCategory(list, configList); 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()); Result<List<HouseInfoDTO>> houseInfosResult = govOrgOpenFeignClient.queryListHouseInfo(userList.stream().distinct().map(m -> m.getHomeId()).collect(Collectors.toSet()), tokenDto.getCustomerId());
if (!houseInfosResult.success()){ if (!houseInfosResult.success()) {
throw new EpmetException("查询房屋信息失败..."); throw new EpmetException("查询房屋信息失败...");
} }
List<HouseInfoDTO> houseInfos = houseInfosResult.getData(); List<HouseInfoDTO> houseInfos = houseInfosResult.getData();
@ -1231,6 +1232,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
/** /**
* Desc: 根据房屋IDs查询房屋下是否有存在居民的 * Desc: 根据房屋IDs查询房屋下是否有存在居民的
*
* @param ids * @param ids
* @author zxc * @author zxc
* @date 2022/3/2 10:32 上午 * @date 2022/3/2 10:32 上午
@ -1269,7 +1271,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
Set<String> houseIds = new HashSet<>(); Set<String> houseIds = new HashSet<>();
List<String> houseIdList = list.stream().map(EpidemicPreventionResultDTO::getHomeId).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList()); List<String> houseIdList = list.stream().map(EpidemicPreventionResultDTO::getHomeId).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
houseIds.addAll(houseIdList); 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<>(); 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())); Map<String, HouseInfoDTO> houseInfoMap = houseInfoDTOList.stream().collect(Collectors.toMap(HouseInfoDTO::getHomeId, Function.identity()));
list.forEach(item -> { list.forEach(item -> {
@ -1293,9 +1295,9 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
} }
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<EpidemicPreventionResultDTO> list = new ArrayList<>(); List<EpidemicPreventionResultDTO> list = new ArrayList<>();
if (formDTO.getAttentionType().equals(NumConstant.TWO)){ if (formDTO.getAttentionType().equals(NumConstant.TWO)) {
list = baseDao.natList(formDTO); list = baseDao.natList(formDTO);
}else if (formDTO.getAttentionType().equals(NumConstant.ONE)){ } else if (formDTO.getAttentionType().equals(NumConstant.ONE)) {
list = baseDao.vaccineList(formDTO); list = baseDao.vaccineList(formDTO);
} }
PageInfo<EpidemicPreventionResultDTO> pageInfo = new PageInfo<>(list); PageInfo<EpidemicPreventionResultDTO> pageInfo = new PageInfo<>(list);
@ -1367,31 +1369,31 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
} }
/** /**
* @Description 居民分类 网格名 处理
* @param list * @param list
* @param configList * @param configList
* @Description 居民分类 网格名 处理
* @author zxc * @author zxc
* @date 2022/1/18 3:22 下午 * @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<PersonWarnRightListResultDTO.PersonWarnRightList> userList = new ArrayList<>();
list.forEach(l -> { list.forEach(l -> {
PersonWarnRightListResultDTO.PersonWarnRightList dto = ConvertUtils.mapToEntity(l, PersonWarnRightListResultDTO.PersonWarnRightList.class); PersonWarnRightListResultDTO.PersonWarnRightList dto = ConvertUtils.mapToEntity(l, PersonWarnRightListResultDTO.PersonWarnRightList.class);
// 分类名字 // 分类名字
List<String> types = new ArrayList<>(); List<String> types = new ArrayList<>();
configList.forEach(c -> { configList.forEach(c -> {
l.forEach((k,v) -> { l.forEach((k, v) -> {
if (c.getColumnName().equals(k) && null != v && v.equals(NumConstant.ONE_STR)){ if (c.getColumnName().equals(k) && null != v && v.equals(NumConstant.ONE_STR)) {
types.add(c.getLabel()); types.add(c.getLabel());
} }
}); });
}); });
// 只显示有类别的居民 // 只显示有类别的居民
if (CollectionUtils.isNotEmpty(types)){ if (CollectionUtils.isNotEmpty(types)) {
dto.setType(types); dto.setType(types);
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(dto.getGridId()); GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(dto.getGridId());
if (null == gridInfo){ if (null == gridInfo) {
throw new EpmetException(String.format("查询网格信息失败%s",dto.getGridId())); throw new EpmetException(String.format("查询网格信息失败%s", dto.getGridId()));
} }
dto.setGridName(gridInfo.getGridNamePath()); dto.setGridName(gridInfo.getGridNamePath());
userList.add(dto); userList.add(dto);
@ -1402,6 +1404,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
/** /**
* 查询志愿者类别options * 查询志愿者类别options
*
* @param customerId * @param customerId
* @return * @return
*/ */
@ -1450,7 +1453,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
OptionDataResultDTO dto = new OptionDataResultDTO(); OptionDataResultDTO dto = new OptionDataResultDTO();
dto.setCode(item.getValue()); dto.setCode(item.getValue());
dto.setLabel(item.getLabel()); 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"); BigDecimal radio = new BigDecimal("0.00");
if (NumConstant.ZERO != finalTotal) { if (NumConstant.ZERO != finalTotal) {
BigDecimal sum = new BigDecimal(finalTotal); BigDecimal sum = new BigDecimal(finalTotal);
@ -1509,7 +1512,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
OptionDataResultDTO dto = new OptionDataResultDTO(); OptionDataResultDTO dto = new OptionDataResultDTO();
dto.setCode(item.getValue()); dto.setCode(item.getValue());
dto.setLabel(item.getLabel()); 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"); BigDecimal radio = new BigDecimal("0.00");
if (NumConstant.ZERO != finalTotal) { if (NumConstant.ZERO != finalTotal) {
BigDecimal sum = new BigDecimal(finalTotal); BigDecimal sum = new BigDecimal(finalTotal);
@ -1544,4 +1547,33 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
} }
return new PageData<>(list, pageInfo.getTotal()); return new PageData<>(list, pageInfo.getTotal());
} }
@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);
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);
}
} }

Loading…
Cancel
Save