diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/LingShanLianHuResiUserFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/LingShanLianHuResiUserFormDTO.java new file mode 100644 index 0000000000..4ce99a8f04 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/LingShanLianHuResiUserFormDTO.java @@ -0,0 +1,15 @@ +package com.epmet.dataaggre.dto.epmetuser.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; + +/** + * @Description + * @Author yzm + * @Date 2023/5/19 9:23 + */ +@Data +public class LingShanLianHuResiUserFormDTO extends PageFormDTO { + private String partyCenterHouseId; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/IcResiUserResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/IcResiUserResultDTO.java new file mode 100644 index 0000000000..98f4d8889d --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/IcResiUserResultDTO.java @@ -0,0 +1,17 @@ +package com.epmet.dataaggre.dto.epmetuser.result; + +import lombok.Data; + +/** + * @Description + * @Author yzm + * @Date 2023/5/19 9:52 + */ +@Data +public class IcResiUserResultDTO { + private String icResiUserId; + private String name; + private String mobile; + private String homeId; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/LingShanLianHuResiUserResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/LingShanLianHuResiUserResultDTO.java new file mode 100644 index 0000000000..90a516b53d --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/LingShanLianHuResiUserResultDTO.java @@ -0,0 +1,36 @@ +package com.epmet.dataaggre.dto.epmetuser.result; + +import lombok.Data; + +/** + * @Description 灵山大屏-党员中共新户联户群众列表 + * @Author yzm + * @Date 2023/5/19 9:10 + */ +@Data +public class LingShanLianHuResiUserResultDTO extends IcResiUserResultDTO{ + /** + * 与入参一致 + * 党员中心户房屋id, + */ + private String partyCenterHouseId; + /** + * 房主姓名 + */ + private String partyCenterHouseOwnerName; + // 关联的房屋信息 + private String neighborHoodId; + private String neighborHoodName; + private String buildingId; + private String buildingName; + private String buildingUnitId; + private String unitName; + private String doorName; + private String houseId; + + // // 每个房屋里住的居民 + // private List resiList; + + +} + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java index 263a862971..5a1a3e3a7c 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java @@ -5,6 +5,7 @@ import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.annotation.MaskResponse; import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.constant.NumConstant; @@ -24,6 +25,8 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dataaggre.beans.GridMemberDataAnalysisExcelExportBean; +import com.epmet.dataaggre.dto.epmetuser.form.LingShanLianHuResiUserFormDTO; +import com.epmet.dataaggre.dto.epmetuser.result.LingShanLianHuResiUserResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.StaffSelectResDTO; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; @@ -567,4 +570,16 @@ public class GovOrgController { } } + + /** + * 灵山大屏:根据房屋id,查询联户里的居民信息列表 + * + * @param formDTO + * @return + */ + @MaskResponse(fieldNames = {"mobile"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE}) + @PostMapping("lianHuResi") + public Result> lianHuResi(@RequestBody LingShanLianHuResiUserFormDTO formDTO) { + return new Result>().ok(govOrgService.lianHuResi(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getPartyCenterHouseId())); + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcHouseDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcHouseDao.java index 568e74e5cb..8350e4c753 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcHouseDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcHouseDao.java @@ -2,6 +2,7 @@ package com.epmet.dataaggre.dao.govorg; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dataaggre.dto.epmetuser.form.ResisByPolicyRulesFormDTO; +import com.epmet.dataaggre.dto.epmetuser.result.LingShanLianHuResiUserResultDTO; import com.epmet.dataaggre.entity.govorg.IcHouseEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -36,4 +37,11 @@ public interface IcHouseDao extends BaseDao { @Param("houseId") String houseId, @Param("houseRule") List houseRule, @Param("statRule") List statRule); + + /** + * 灵山项目:查询房屋关联的联户房屋 + * @param partyCenterHouseId + * @return + */ + List selectListLianHuHouse(@Param("partyCenterHouseId") String partyCenterHouseId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java index ec87a71781..c178cf0da8 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java @@ -11,7 +11,6 @@ import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO; import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; import com.epmet.dataaggre.dto.govorg.form.OrgStatisticsFormDTO; import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO; -import com.epmet.dataaggre.dto.govorg.result.CoverageAnalisisDataListResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridDateIdResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.dto.govorg.result.MemberProjectInfoResultDTO; @@ -269,4 +268,11 @@ public interface EpmetUserService { Integer pageNo, Integer pageSize); Integer staffQtyInGridsOfRole(String roleKeyAgent, Set staffIds); + + /** + * 根据房屋id,查询居民信息 + * @param houseIds + * @return + */ + PageData listIcResiUserByHouseId(Integer pageNo,Integer pageSize,List houseIds); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index 9e04d840db..3a6219508b 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -1187,4 +1187,34 @@ public class EpmetUserServiceImpl implements EpmetUserService, ResultDataResolve return customerStaffDao.countStaffQtyByStaffIdsAndRole(staffIds, role.getId()); } + + /** + * 根据房屋id,查询居民信息 + * + * @param pageNo + * @param pageSize + * @param houseIds + * @return + */ + @Override + public PageData listIcResiUserByHouseId(Integer pageNo,Integer pageSize,List houseIds) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(IcResiUserEntity::getHomeId, houseIds) + .eq(IcResiUserEntity::getStatus,NumConstant.ZERO_STR); + PageHelper.startPage(pageNo, pageSize); + List list = icResiUserDao.selectList(queryWrapper); + PageInfo pageInfo = new PageInfo<>(list); + + List resultList = new ArrayList<>(); + for (IcResiUserEntity entity : list) { + IcResiUserResultDTO resultDTO = new IcResiUserResultDTO(); + resultDTO.setIcResiUserId(entity.getId()); + resultDTO.setName(entity.getName()); + resultDTO.setMobile(entity.getMobile()); + resultDTO.setHomeId(entity.getHomeId()); + resultList.add(resultDTO); + } + pageInfo.setList(resultList); + return new PageData<>(resultList, pageInfo.getTotal(),pageSize); + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index d8ffe1e59b..c9fbed85c9 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -5,6 +5,7 @@ import com.epmet.commons.tools.redis.common.bean.BuildingInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dataaggre.beans.LingShanAgentServiceStaffAndGrid; import com.epmet.dataaggre.dto.epmetuser.form.ResisByPolicyRulesFormDTO; +import com.epmet.dataaggre.dto.epmetuser.result.LingShanLianHuResiUserResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.StaffSelectResDTO; import com.epmet.dataaggre.dto.evaluationindex.ScreenAgencyOrGridListDTO; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; @@ -309,4 +310,13 @@ public interface GovOrgService { Set getStaffIdsInGrid(String gridId); List listBelongGridsByStaffId(String staffId); + + /** + * 灵山大屏:根据房屋id,查询联户里的居民信息列表 + * @param pageNo + * @param pageSize + * @param partyCenterHouseId + * @return + */ + PageData lianHuResi(Integer pageNo, Integer pageSize, String partyCenterHouseId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index 68a8b8dac3..d71e6e04ce 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -37,10 +37,7 @@ import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.constant.OrgConstant; import com.epmet.dataaggre.dao.govorg.*; import com.epmet.dataaggre.dto.epmetuser.form.ResisByPolicyRulesFormDTO; -import com.epmet.dataaggre.dto.epmetuser.result.CustomerStaffResultDTO; -import com.epmet.dataaggre.dto.epmetuser.result.ListStaffResultDTO; -import com.epmet.dataaggre.dto.epmetuser.result.StaffRoleListResultDTO; -import com.epmet.dataaggre.dto.epmetuser.result.StaffSelectResDTO; +import com.epmet.dataaggre.dto.epmetuser.result.*; import com.epmet.dataaggre.dto.evaluationindex.ScreenAgencyOrGridListDTO; import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO; import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerGridDTO; @@ -51,6 +48,7 @@ import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO; import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; import com.epmet.dataaggre.entity.govorg.CustomerGridEntity; import com.epmet.dataaggre.entity.govorg.CustomerStaffGridEntity; +import com.epmet.dataaggre.entity.govorg.IcHouseEntity; import com.epmet.dataaggre.excel.GridLivelyDetailExcel; import com.epmet.dataaggre.excel.GridLivelyExcel; import com.epmet.dataaggre.service.commonservice.AreaCodeService; @@ -1572,4 +1570,48 @@ public class GovOrgServiceImpl implements GovOrgService { q2.in(CustomerGridEntity::getId, staffAndGrids.stream().map(CustomerStaffGridEntity::getGridId).collect(Collectors.toList())); return customerGridDao.selectList(q2); } + + + /** + * 灵山大屏:根据房屋id,查询联户里的居民信息列表 + * + * @param pageNo + * @param pageSize + * @param partyCenterHouseId + * @return + */ + public PageData lianHuResi(Integer pageNo, Integer pageSize, String partyCenterHouseId) { + IcHouseEntity partyHouseInfo=houseDao.selectById(partyCenterHouseId); + List houseList = houseDao.selectListLianHuHouse(partyCenterHouseId); + if (CollectionUtils.isEmpty(houseList)) { + return new PageData<>(); + } + List houseIds = houseList.stream().map(o -> o.getHouseId()).collect(Collectors.toList()); + // 先查询关联的房屋id + PageData resiPage = epmetUserService.listIcResiUserByHouseId(pageNo, pageSize, houseIds); + if (CollectionUtils.isEmpty(resiPage.getList())) { + return new PageData<>(); + } + Map lianHouseMap=houseList.stream().collect(Collectors.toMap(LingShanLianHuResiUserResultDTO :: getHouseId, v -> v, (v1, v2) -> v1)); + List resList=new ArrayList(); + resiPage.getList().forEach(dto->{ + LingShanLianHuResiUserResultDTO resultDTO=ConvertUtils.sourceToTarget(dto,LingShanLianHuResiUserResultDTO.class); + + LingShanLianHuResiUserResultDTO houseInfo = lianHouseMap.get(dto.getHomeId()); + resultDTO.setPartyCenterHouseId(houseInfo.getPartyCenterHouseId()); + resultDTO.setNeighborHoodId(houseInfo.getNeighborHoodId()); + resultDTO.setNeighborHoodName(houseInfo.getNeighborHoodName()); + resultDTO.setBuildingId(houseInfo.getBuildingId()); + resultDTO.setBuildingName(houseInfo.getBuildingName()); + resultDTO.setBuildingUnitId(houseInfo.getBuildingUnitId()); + resultDTO.setUnitName(houseInfo.getUnitName()); + resultDTO.setDoorName(houseInfo.getDoorName()); + resultDTO.setHouseId(houseInfo.getHouseId()); + resultDTO.setPartyCenterHouseId(partyHouseInfo.getOwnerName()); + resList.add(resultDTO); + }); + return new PageData<>(resList, resiPage.getTotal(),pageSize); + } + + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcHouseDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcHouseDao.xml index c679f9a5ce..fea9a017be 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcHouseDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcHouseDao.xml @@ -38,4 +38,29 @@ + + diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserBriefDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserBriefDTO.java index ca832d0643..cb428b8aef 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserBriefDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserBriefDTO.java @@ -38,6 +38,7 @@ public class IcResiUserBriefDTO extends HouseUserDTO implements Serializable { * 手机号 */ private String mobile; + private String realMobile; /** * 性别 @@ -48,6 +49,7 @@ public class IcResiUserBriefDTO extends HouseUserDTO implements Serializable { * 身份证号 */ private String idCard; + private String realIdCard; /** * 出生日期 diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LingShanSpecialCrowdListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LingShanSpecialCrowdListResultDTO.java index efa7a61b47..3d9cd904b6 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LingShanSpecialCrowdListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LingShanSpecialCrowdListResultDTO.java @@ -23,4 +23,10 @@ public class LingShanSpecialCrowdListResultDTO { @JsonFormat(pattern = "yyyy-MM-dd") private Date updatedTime; + private Integer gender; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date birthday; + + private Integer age; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 97150ec2e7..cb804c078e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -1696,6 +1696,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> mzRes=epmetAdminOpenFeignClient.getNationOption(); if(mzRes.success()&&CollectionUtils.isNotEmpty(mzRes.getData())){ diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcSpecialDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcSpecialDao.xml index 9535299885..d103b6da3c 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcSpecialDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcSpecialDao.xml @@ -16,6 +16,9 @@ , s.CREATED_TIME , s.UPDATED_TIME , s.SPECIAL_RQLB SPECIAL_TYPES_STR + , r.GENDER + , r.BIRTHDAY + , year(now()) - year(r.BIRTHDAY) as age from ic_resi_user r inner join ic_special s on (r.ID = s.IC_RESI_USER and s.DEL_FLAG = 0) where