Browse Source

房屋信息大屏-找人+找人详情接口

feature/syp_points
songyunpeng 5 years ago
parent
commit
de176f8efd
  1. 4
      esua-epdc/epdc-gateway/pom.xml
  2. 3
      esua-epdc/epdc-gateway/src/main/resources/application.yml
  3. 56
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiScreenPopulationController.java
  4. 22
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  5. 10
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
  6. 16
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java
  7. 10
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  8. 17
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/constant/HouseHeadRelationConstant.java
  9. 19
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/constant/PopulationIdentify.java
  10. 28
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcScreenSelectPeopleDetailFormDTO.java
  11. 43
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcScreenSelectPeopleFormDTO.java
  12. 38
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcScreenSelectPeopleDetailResultDTO.java
  13. 36
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcScreenSelectPeopleResultDTO.java
  14. 24
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/FamilyMember.java
  15. 28
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/HousingInfo.java
  16. 72
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcScreenPopulationInformationController.java
  17. 8
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/HousingInformationDao.java
  18. 10
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/PopulationInformationDao.java
  19. 8
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/HousingInformationService.java
  20. 20
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/PopulationInformationService.java
  21. 5
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/HousingInformationServiceImpl.java
  22. 148
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PopulationInformationServiceImpl.java
  23. 8
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/HousingInformationDao.xml
  24. 90
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PopulationInformationDao.xml

4
esua-epdc/epdc-gateway/pom.xml

@ -104,8 +104,8 @@
<gateway.routes.epdc-admin-server.uri>http://127.0.0.1:9092</gateway.routes.epdc-admin-server.uri>
<gateway.routes.epdc-activiti-server.uri>lb://epdc-activiti-server
</gateway.routes.epdc-activiti-server.uri>
<gateway.routes.epdc-api-server.uri>lb://epdc-api-server</gateway.routes.epdc-api-server.uri>
<!-- <gateway.routes.epdc-api-server.uri>http://127.0.0.1:9040</gateway.routes.epdc-api-server.uri>-->
<!-- <gateway.routes.epdc-api-server.uri>lb://epdc-api-server</gateway.routes.epdc-api-server.uri>-->
<gateway.routes.epdc-api-server.uri>http://127.0.0.1:9040</gateway.routes.epdc-api-server.uri>
<gateway.routes.epdc-app-server.uri>lb://epdc-app-server</gateway.routes.epdc-app-server.uri>
<!-- <gateway.routes.epdc-app-server.uri>http://127.0.0.1:9058</gateway.routes.epdc-app-server.uri>-->
<gateway.routes.epdc-heart-server.uri>lb://epdc-heart-server</gateway.routes.epdc-heart-server.uri>

3
esua-epdc/epdc-gateway/src/main/resources/application.yml

@ -269,6 +269,8 @@ renren:
- /api/work/user/scripLogin #工作端-用户凭证登录
- /api/work/*/swagger/**
- /api/residentConfig/getResidentConfig #获取居民端配置
- /api/screenPopulationInfo/** #获取居民端配置
workUrls:
- /api/work/** #工作端接口
- /api/analysis/** #数据端接口
@ -297,3 +299,4 @@ epdc:
- /api/analysis/** #数据端接口不拦截
- /cloudAnalysis/** #数据端接口
- /api/residentConfig/getResidentConfig #获取居民端配置
- /api/screenPopulationInfo/** #获取居民端配置

56
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiScreenPopulationController.java

@ -0,0 +1,56 @@
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.epdc.form.EpdcScreenSelectPeopleDetailFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcScreenSelectPeopleFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleDetailResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleResultDTO;
import com.elink.esua.epdc.service.AppUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 用户模块
*
* @author yujintao
* @email yujintao@elink-cn.com
* @date 2019/9/6 19:30
*/
@RestController
@RequestMapping("screenPopulationInfo")
public class ApiScreenPopulationController {
@Autowired
private AppUserService appUserService;
/**
* @Description 大屏找人接口
* @Author songyunpeng
* @Date 2020/9/14
* @Param [epdcScreenSelectPeopleFormDTO]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleResultDTO>>
**/
@PostMapping("selectPeople")
public Result<List<EpdcScreenSelectPeopleResultDTO>> selectPeople(@RequestBody EpdcScreenSelectPeopleFormDTO dto){
ValidatorUtils.validateEntity(dto);
return appUserService.selectPeople(dto);
}
/**
* @Description 大屏找人详情接口
* @Author songyunpeng
* @Date 2020/9/14
* @Param [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleDetailResultDTO>
**/
@PostMapping("selectPeopleDetail")
public Result<EpdcScreenSelectPeopleDetailResultDTO> selectPeopleDetail(@RequestBody EpdcScreenSelectPeopleDetailFormDTO dto){
ValidatorUtils.validateEntity(dto);
return appUserService.selectPeopleDetail(dto);
}
}

22
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java

@ -482,4 +482,26 @@ public interface UserFeignClient {
@GetMapping(value = "app-user/usersign/addConsequentSignPoints", consumes = MediaType.APPLICATION_JSON_VALUE)
Result addConsequentSignPoints(UserSignDTO userSignDTO);
/**
* @Description 大屏找人接口
* @Author songyunpeng
* @Date 2020/9/14
* @Param [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleResultDTO>>
**/
@PostMapping(value = "app-user/screenPopulationInfo/selectPeople", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<EpdcScreenSelectPeopleResultDTO>> selectPeople(EpdcScreenSelectPeopleFormDTO dto);
/**
* @Description 大屏找人详情接口
* @Author songyunpeng
* @Date 2020/9/14
* @Param [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleResultDTO>>
**/
@PostMapping(value = "app-user/screenPopulationInfo/selectPeopleDetail", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<EpdcScreenSelectPeopleDetailResultDTO> selectPeopleDetail(EpdcScreenSelectPeopleDetailFormDTO dto);
}

10
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java

@ -232,4 +232,14 @@ public class UserFeignClientFallback implements UserFeignClient {
public Result addConsequentSignPoints(UserSignDTO userSignDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "addConsequentSignPoints", userSignDTO);
}
@Override
public Result<List<EpdcScreenSelectPeopleResultDTO>> selectPeople(EpdcScreenSelectPeopleFormDTO dto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "selectPeople", dto);
}
@Override
public Result<EpdcScreenSelectPeopleDetailResultDTO> selectPeopleDetail(EpdcScreenSelectPeopleDetailFormDTO dto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "selectPeopleDetail", dto);
}
}

16
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java

@ -318,4 +318,20 @@ public interface AppUserService {
* @return com.elink.esua.epdc.commons.tools.utils.Result
**/
Result userSign(TokenDto userDetail);
/**
* @Description 大屏找人接口
* @Author songyunpeng
* @Date 2020/9/14
* @Param [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleResultDTO>>
**/
Result<List<EpdcScreenSelectPeopleResultDTO>> selectPeople(EpdcScreenSelectPeopleFormDTO dto);
/**
* @Description 大屏找人详情接口
* @Author songyunpeng
* @Date 2020/9/14
* @Param [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleDetailResultDTO>
**/
Result<EpdcScreenSelectPeopleDetailResultDTO> selectPeopleDetail(EpdcScreenSelectPeopleDetailFormDTO dto);
}

10
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java

@ -1586,4 +1586,14 @@ public class AppUserServiceImpl implements AppUserService {
return new Result().ok("您已连续签到"+userSignDTO.getConsequentSignDays()+"天,继续努力吧");
}
@Override
public Result<List<EpdcScreenSelectPeopleResultDTO>> selectPeople(EpdcScreenSelectPeopleFormDTO dto) {
return userFeignClient.selectPeople(dto);
}
@Override
public Result<EpdcScreenSelectPeopleDetailResultDTO> selectPeopleDetail(EpdcScreenSelectPeopleDetailFormDTO dto) {
return userFeignClient.selectPeopleDetail(dto);
}
}

17
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/constant/HouseHeadRelationConstant.java

@ -0,0 +1,17 @@
package com.elink.esua.epdc.constant;
/**
* @author: songyunpeng
* @Date: 2020/08/19 14:12
* @Description: 房屋用处
*/
public interface HouseHeadRelationConstant {
String CHILDREN = "0";
String HUSBAND_AND_WIFE = "1";
String PARENT = "2";
String OTHER = "3";
}

19
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/constant/PopulationIdentify.java

@ -0,0 +1,19 @@
package com.elink.esua.epdc.constant;
/**
* @author songyunpeng
* @Description 人口信息 人口身份标识
* @create 2020-09-14
*/
public interface PopulationIdentify {
String PROPERTY_OWNER = "0";
String HOUSE_HEAD = "1";
String HOUSE_RESIDENT = "2";
}

28
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcScreenSelectPeopleDetailFormDTO.java

@ -0,0 +1,28 @@
package com.elink.esua.epdc.dto.epdc.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author songyunpeng
* @Description 大屏找人接口详情参数
* @create 2020-09-14
*/
@Data
public class EpdcScreenSelectPeopleDetailFormDTO {
/**
* 人口ID
*/
private String populationId;
/**
* 房屋ID
*/
private String houseId;
/**
* 身份标识
*/
@NotBlank(message = "身份标识不能为空")
private String identifyFlag;
}

43
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcScreenSelectPeopleFormDTO.java

@ -0,0 +1,43 @@
package com.elink.esua.epdc.dto.epdc.form;
import lombok.Data;
import javax.validation.constraints.Min;
/**
* @author songyunpeng
* @Description 大屏找人接口参数
* @create 2020-09-14
*/
@Data
public class EpdcScreenSelectPeopleFormDTO {
/**
* 页码
*/
@Min(value = 1, message = "页码必须大于0")
private Integer pageIndex;
/**
* 页容量
*/
@Min(value = 1, message = "页容量必须大于0")
private Integer pageSize;
/**
* 姓名
*/
private String name;
/**
* 社区ID
*/
private String communityId;
/**
* 电话
*/
private String phone;
/**
* 网格ID
*/
private String gridId;
}

38
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcScreenSelectPeopleDetailResultDTO.java

@ -0,0 +1,38 @@
package com.elink.esua.epdc.dto.epdc.result;
import lombok.Data;
import java.util.List;
/**
* @author songyunpeng
* @Description 大屏找人详情接口结果
* @create 2020-09-14
*/
@Data
public class EpdcScreenSelectPeopleDetailResultDTO {
/**
* 姓名
*/
private String name;
/**
* 性别
*/
private String sex;
/**
* 年龄
*/
private String age;
/**
* 电话
*/
private String phone;
/**
* 房屋信息
*/
List<HousingInfo> housingInfo;
/**
* 家庭成员信息
*/
List<FamilyMember> familyMember;
}

36
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcScreenSelectPeopleResultDTO.java

@ -0,0 +1,36 @@
package com.elink.esua.epdc.dto.epdc.result;
import lombok.Data;
/**
* @author songyunpeng
* @Description 大屏找人接口结果
* @create 2020-09-14
*/
@Data
public class EpdcScreenSelectPeopleResultDTO {
/**
* 姓名
*/
private String name;
/**
* 网格名
*/
private String gridName;
/**
* 身份
*/
private String identityName;
/**
* 身份标识
*/
private String identityFlag;
/**
* 房屋ID
*/
private String houseId;
/**
* 居民ID
*/
private String populationId;
}

24
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/FamilyMember.java

@ -0,0 +1,24 @@
package com.elink.esua.epdc.dto.epdc.result;
import lombok.Data;
/**
* @author songyunpeng
* @Description 大屏找人详情接口 家庭成员信息
* @create 2020-09-14
*/
@Data
public class FamilyMember {
/**
* 姓名
*/
private String name;
/**
* 关系
*/
private String relation;
/**
* 电话
*/
private String phone;
}

28
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/HousingInfo.java

@ -0,0 +1,28 @@
package com.elink.esua.epdc.dto.epdc.result;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author songyunpeng
* @Description 大屏详情接口 房屋信息
* @create 2020-09-14
*/
@Data
public class HousingInfo {
/**
* 房屋地址
*/
private String houseAddress;
/**
* 房屋面积
*/
private BigDecimal houseArea;
/**
* 房屋用途
*/
private String houseUse;
}

72
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcScreenPopulationInformationController.java

@ -0,0 +1,72 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.epdc.form.EpdcScreenSelectPeopleDetailFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcScreenSelectPeopleFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleDetailResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleResultDTO;
import com.elink.esua.epdc.service.PopulationInformationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 大屏接口
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2020-08-19
*/
@RestController
@RequestMapping("screenPopulationInfo")
public class EpdcScreenPopulationInformationController {
@Autowired
private PopulationInformationService populationInformationService;
/**
* @Description 大屏找人接口
* @Author songyunpeng
* @Date 2020/9/14
* @Param [epdcScreenSelectPeopleFormDTO]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleResultDTO>>
**/
@PostMapping("selectPeople")
public Result<List<EpdcScreenSelectPeopleResultDTO>> selectPeople(@RequestBody EpdcScreenSelectPeopleFormDTO dto){
return populationInformationService.selectPeople(dto);
}
/**
* @Description 大屏找人详情接口
* @Author songyunpeng
* @Date 2020/9/14
* @Param [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleDetailResultDTO>
**/
@PostMapping("selectPeopleDetail")
public Result<EpdcScreenSelectPeopleDetailResultDTO> selectPeopleDetail(@RequestBody EpdcScreenSelectPeopleDetailFormDTO dto){
return populationInformationService.selectPeopleDetail(dto);
}
}

8
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/HousingInformationDao.java

@ -69,4 +69,12 @@ public interface HousingInformationDao extends BaseDao<HousingInformationEntity>
* @return java.util.List<com.elink.esua.epdc.dto.BaseResidentInformationExportDto>
**/
List<BaseResidentInformationExportDto> selectBaseResidentInformationExcelList(@Param("houseHeadIds") Set<String> houseHeadIds);
/**
* @Description 根据户主ID获取所有房子信息
* @Author songyunpeng
* @Date 2020/9/14
* @Param [houseHeadId]
* @return java.util.List<com.elink.esua.epdc.dto.HousingInformationDTO>
**/
List<HousingInformationDTO> getHouseInfoByHouseHeadID(String houseHeadId);
}

10
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/PopulationInformationDao.java

@ -20,6 +20,8 @@ package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.PopulationInfoOverviewDTO;
import com.elink.esua.epdc.dto.PopulationInformationDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcScreenSelectPeopleFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleResultDTO;
import com.elink.esua.epdc.entity.PopulationInformationEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -100,4 +102,12 @@ public interface PopulationInformationDao extends BaseDao<PopulationInformationE
* @return void
**/
void setUnemploymentRegisterTimeToNull(@Param("id")String id);
/**
* @Description 大屏找人接口
* @Author songyunpeng
* @Date 2020/9/14
* @Param [dto]
* @return java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleResultDTO>
**/
List<EpdcScreenSelectPeopleResultDTO> selectListPeople(EpdcScreenSelectPeopleFormDTO dto);
}

8
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/HousingInformationService.java

@ -129,4 +129,12 @@ public interface HousingInformationService extends BaseService<HousingInformatio
* @return java.util.List<com.elink.esua.epdc.dto.BaseResidentInformationExportDto>
**/
List<BaseResidentInformationExportDto> selectBaseResidentInformationExcelList(Set<String> houseHeadIds);
/**
* @Description 根据户主ID获取所有房子信息
* @Author songyunpeng
* @Date 2020/9/14
* @Param [populationId]
* @return java.util.List<com.elink.esua.epdc.dto.HousingInformationDTO>
**/
List<HousingInformationDTO> getHouseInfoByHouseHeadID(String houseHeadId);
}

20
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/PopulationInformationService.java

@ -22,6 +22,10 @@ import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.PopulationInfoOverviewDTO;
import com.elink.esua.epdc.dto.PopulationInformationDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcScreenSelectPeopleDetailFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcScreenSelectPeopleFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleDetailResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleResultDTO;
import com.elink.esua.epdc.entity.PopulationInformationEntity;
import java.util.List;
@ -159,4 +163,20 @@ public interface PopulationInformationService extends BaseService<PopulationInfo
* @return void
**/
void setUnemploymentRegisterTimeToNull(String id);
/**
* @Description 大屏找人接口
* @Author songyunpeng
* @Date 2020/9/14
* @Param [epdcScreenSelectPeopleFormDTO]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleResultDTO>>
**/
Result<List<EpdcScreenSelectPeopleResultDTO>> selectPeople(EpdcScreenSelectPeopleFormDTO epdcScreenSelectPeopleFormDTO);
/**
* @Description 大屏找人详情接口
* @Author songyunpeng
* @Date 2020/9/14
* @Param [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleDetailResultDTO>
**/
Result<EpdcScreenSelectPeopleDetailResultDTO> selectPeopleDetail(EpdcScreenSelectPeopleDetailFormDTO dto);
}

5
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/HousingInformationServiceImpl.java

@ -386,6 +386,11 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
return baseDao.selectBaseResidentInformationExcelList(houseHeadIds);
}
@Override
public List<HousingInformationDTO> getHouseInfoByHouseHeadID(String houseHeadId) {
return baseDao.getHouseInfoByHouseHeadID(houseHeadId);
}
/**
* @return void
* @Description 校验完成后插入居民信息

148
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PopulationInformationServiceImpl.java

@ -21,16 +21,30 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.IdentityNoUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.constant.HouseHeadRelationConstant;
import com.elink.esua.epdc.constant.HouseUseConstant;
import com.elink.esua.epdc.constant.PopulationIdentify;
import com.elink.esua.epdc.dao.HouseResidentDao;
import com.elink.esua.epdc.dao.PopulationInformationDao;
import com.elink.esua.epdc.dto.BaseResidentInformationExportDto;
import com.elink.esua.epdc.dto.HousingInformationDTO;
import com.elink.esua.epdc.dto.PopulationInfoOverviewDTO;
import com.elink.esua.epdc.dto.PopulationInformationDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcScreenSelectPeopleDetailFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcScreenSelectPeopleFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleDetailResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleResultDTO;
import com.elink.esua.epdc.dto.epdc.result.FamilyMember;
import com.elink.esua.epdc.dto.epdc.result.HousingInfo;
import com.elink.esua.epdc.entity.HouseResidentEntity;
import com.elink.esua.epdc.entity.HousingInformationEntity;
import com.elink.esua.epdc.entity.PopulationInformationEntity;
import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.redis.PopulationInformationRedis;
import com.elink.esua.epdc.service.HouseResidentService;
import com.elink.esua.epdc.service.HousingInformationService;
@ -40,10 +54,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 人口信息表
@ -63,6 +74,9 @@ public class PopulationInformationServiceImpl extends BaseServiceImpl<Population
private HouseResidentDao houseResidentDao;
@Autowired
private HousingInformationService housingInformationService;
@Autowired
private AdminFeignClient adminFeignClient;
@Override
public PageData<PopulationInformationDTO> page(Map<String, Object> params) {
@ -285,4 +299,130 @@ public class PopulationInformationServiceImpl extends BaseServiceImpl<Population
baseDao.setUnemploymentRegisterTimeToNull(id);
}
@Override
public Result<List<EpdcScreenSelectPeopleResultDTO>> selectPeople(EpdcScreenSelectPeopleFormDTO dto) {
int pageIndex = (dto.getPageIndex() - NumConstant.ONE) * dto.getPageSize();
dto.setPageIndex(pageIndex);
List<EpdcScreenSelectPeopleResultDTO> data = baseDao.selectListPeople(dto);
return new Result().ok(data);
}
@Override
public Result<EpdcScreenSelectPeopleDetailResultDTO> selectPeopleDetail(EpdcScreenSelectPeopleDetailFormDTO dto) {
EpdcScreenSelectPeopleDetailResultDTO epdcScreenSelectPeopleDetailResultDTO = new EpdcScreenSelectPeopleDetailResultDTO();
//根据身份标识寻找对应人员信息
if(PopulationIdentify.PROPERTY_OWNER.equals(dto.getIdentifyFlag())){
if(StringUtils.isBlank(dto.getHouseId())){
return new Result<EpdcScreenSelectPeopleDetailResultDTO>().error("查询产权人信息失败:房屋ID为空");
}
//如果是产权人,人口信息从房屋信息表拿
HousingInformationEntity housingInformationEntity = housingInformationService.selectById(dto.getHouseId());
epdcScreenSelectPeopleDetailResultDTO.setName(housingInformationEntity.getPropertyOwner());
epdcScreenSelectPeopleDetailResultDTO.setSex("");
epdcScreenSelectPeopleDetailResultDTO.setAge("");
epdcScreenSelectPeopleDetailResultDTO.setPhone(housingInformationEntity.getPropertyOwnerMobile());
//房屋信息
List<HousingInfo> housingInfoList = new ArrayList<>();
HousingInfo housingInfo = new HousingInfo();
housingInfo.setHouseAddress(housingInformationEntity.getHouseAddress());
housingInfo.setHouseArea(housingInformationEntity.getHouseArea());
setHouseUse(housingInformationEntity.getHouseUse(),housingInfo);
housingInfoList.add(housingInfo);
epdcScreenSelectPeopleDetailResultDTO.setHousingInfo(housingInfoList);
return new Result<EpdcScreenSelectPeopleDetailResultDTO>().ok(epdcScreenSelectPeopleDetailResultDTO);
} else if(PopulationIdentify.HOUSE_HEAD.equals(dto.getIdentifyFlag())) {
if(StringUtils.isBlank(dto.getPopulationId())){
return new Result<EpdcScreenSelectPeopleDetailResultDTO>().error("查询产权人信息失败:人口ID为空");
}
//如果是户主,人口信息从人口表拿
PopulationInformationEntity populationInformationEntity = this.selectById(dto.getPopulationId());
epdcScreenSelectPeopleDetailResultDTO.setName(populationInformationEntity.getResidentsName());
epdcScreenSelectPeopleDetailResultDTO.setSex("0".equals(populationInformationEntity.getResidentsSex())?"女":"男");
if(IdentityNoUtils.IdentityNoVerification(populationInformationEntity.getResidentsIdentityNo())==null){
epdcScreenSelectPeopleDetailResultDTO.setAge(IdentityNoUtils.getAge(populationInformationEntity.getResidentsIdentityNo())+"");
}else {
epdcScreenSelectPeopleDetailResultDTO.setAge("");
}
epdcScreenSelectPeopleDetailResultDTO.setPhone(populationInformationEntity.getResidentsPhone());
//房屋信息
List<HousingInformationDTO> housingInformationDTOList = housingInformationService.getHouseInfoByHouseHeadID(dto.getPopulationId());
List<HousingInfo> housingInfoList = ConvertUtils.sourceToTarget(housingInformationDTOList, HousingInfo.class);
housingInfoList.forEach(housingInfo -> {
setHouseUse(housingInfo.getHouseUse(),housingInfo);
});
epdcScreenSelectPeopleDetailResultDTO.setHousingInfo(housingInfoList);
//居住人信息
List<FamilyMember> familyMemberList = new ArrayList<>();
Set<String> houseHeadIds = new HashSet<>(1);
houseHeadIds.add(dto.getPopulationId());
List<BaseResidentInformationExportDto> baseResidentInformationExportDtos = housingInformationService.selectBaseResidentInformationExcelList(houseHeadIds);
FamilyMember familyMember = new FamilyMember();
baseResidentInformationExportDtos.forEach(a -> {
familyMember.setName(a.getResidentsName());
familyMember.setPhone("");
switch (a.getHouseHeadRelation()){
case HouseHeadRelationConstant.CHILDREN :
familyMember.setRelation("子女");
break;
case HouseHeadRelationConstant.HUSBAND_AND_WIFE :
familyMember.setRelation("夫妻");
break;
case HouseHeadRelationConstant.PARENT :
familyMember.setRelation("父母");
break;
case HouseHeadRelationConstant.OTHER :
familyMember.setRelation("其他");
break;
default:
familyMember.setRelation("");
break;
}
familyMemberList.add(familyMember);
});
epdcScreenSelectPeopleDetailResultDTO.setFamilyMember(familyMemberList);
return new Result<EpdcScreenSelectPeopleDetailResultDTO>().ok(epdcScreenSelectPeopleDetailResultDTO);
} else if(PopulationIdentify.HOUSE_RESIDENT.equals(dto.getIdentifyFlag())) {
if(StringUtils.isBlank(dto.getPopulationId())){
return new Result<EpdcScreenSelectPeopleDetailResultDTO>().error("查询产权人信息失败:人口ID为空");
}
//居住人,人口信息从人口表拿
PopulationInformationEntity populationInformationEntity = this.selectById(dto.getPopulationId());
epdcScreenSelectPeopleDetailResultDTO.setName(populationInformationEntity.getResidentsName());
epdcScreenSelectPeopleDetailResultDTO.setSex("0".equals(populationInformationEntity.getResidentsSex())?"女":"男");
epdcScreenSelectPeopleDetailResultDTO.setAge("");
epdcScreenSelectPeopleDetailResultDTO.setPhone("");
//房屋信息 - 继承户主的房屋信息
//查询该居住人的户主ID
Map<String,Object> params = new HashMap<>();
params.put("RESIDENT_ID",dto.getPopulationId());
params.put("IS_HOUSE_HEAD","0");
List<HouseResidentEntity> houseResidentEntityList = houseResidentDao.selectByMap(params);
String houseHeadId = houseResidentEntityList.get(0).getHouseHeadId();
//房屋信息
List<HousingInformationDTO> housingInformationDTOList = housingInformationService.getHouseInfoByHouseHeadID(houseHeadId);
List<HousingInfo> housingInfoList = ConvertUtils.sourceToTarget(housingInformationDTOList, HousingInfo.class);
housingInfoList.forEach(housingInfo -> {
setHouseUse(housingInfo.getHouseUse(),housingInfo);
});
epdcScreenSelectPeopleDetailResultDTO.setHousingInfo(housingInfoList);
return new Result<EpdcScreenSelectPeopleDetailResultDTO>().ok(epdcScreenSelectPeopleDetailResultDTO);
}
return new Result<EpdcScreenSelectPeopleDetailResultDTO>().error("查询错误:身份标识参数无法匹配");
}
private void setHouseUse(String houseUse,HousingInfo housingInfo){
switch (houseUse){
case HouseUseConstant.RENT :
housingInfo.setHouseUse("租赁");
break;
case HouseUseConstant.SINCE_THE_LIVING :
housingInfo.setHouseUse("自住");
break;
case HouseUseConstant.BUSINESS :
housingInfo.setHouseUse("经营");
break;
default:
housingInfo.setHouseUse("");
break;
}
}
}

8
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/HousingInformationDao.xml

@ -170,7 +170,6 @@
from epdc_house_resident t
left join epdc_population_information t1 on t.RESIDENT_ID = t1.ID
left join epdc_population_information t2 on t.HOUSE_HEAD_ID = t2.ID
where t.DEL_FLAG ='0' and t1.DEL_FLAG = '0' and t2.DEL_FLAG ='0'
and t.HOUSE_HEAD_ID in
<foreach collection="houseHeadIds" index="index" item="houseHeadId" open="(" separator="," close=")">
@ -178,6 +177,13 @@
</foreach>
order by t.CREATED_TIME desc
</select>
<select id="getHouseInfoByHouseHeadID" resultType="com.elink.esua.epdc.dto.HousingInformationDTO">
select t.HOUSE_ADDRESS,t.HOUSE_AREA,t.HOUSE_USE
from epdc_housing_information t
left join epdc_house_resident t1 on t1.HOUSE_ID = t.ID and t1.DEL_FLAG = '0'
where t.DEL_FLAG ='0' and t1.RESIDENT_ID = #{houseHeadId} and t1.IS_HOUSE_HEAD = '1'
</select>
</mapper>

90
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PopulationInformationDao.xml

@ -175,6 +175,96 @@
from epdc_population_information where DEL_FLAG = 0 and RESIDENTS_IDENTITY_NO is not null and RESIDENTS_IDENTITY_NO != '')a on 1=1
where t.DEL_FLAG ='0';
</select>
<select id="selectListPeople"
resultType="com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleResultDTO">
select data.name,data.gridName,data.identityFlag,data.houseId,data.populationId,data.identity,data.CREATED_TIME from (
select
t.PROPERTY_OWNER as name,
substring_index(t.ALL_DEPT_NAMES,'-',-1) as gridName,
0 as identityFlag,
'产权人' as identity,
t.ID as houseId,
'' as populationId,
t.CREATED_TIME
from
epdc_housing_information t
where t.DEL_FLAG ='0'
<if test="name != null and name != ''">
and t.PROPERTY_OWNER like concat('%', #{name}, '%')
</if>
<if test="phone != null and phone != ''">
and t.PROPERTY_OWNER_MOBILE like concat('%', #{phone}, '%')
</if>
<if test="communityId != null and communityId != ''">
and find_in_set(#{communityId},t.ALL_DEPT_IDS)
</if>
<if test="gridId != null and gridId != ''">
and find_in_set(#{gridId},t.ALL_DEPT_IDS)
</if>
union all
select
t.RESIDENTS_NAME as name,
group_concat(DISTINCT substring_index(t2.ALL_DEPT_NAMES,'-',-1)) as gridName,
1 as identityFlag,
'户主' as identity,
'' as houseId,
t.ID as populationId,
t.CREATED_TIME
from epdc_population_information t
left join epdc_house_resident t1 on t.ID = t1.RESIDENT_ID and t1.DEL_FLAG = '0'
left join epdc_housing_information t2 on t2.ID = t1.HOUSE_ID and t2.DEL_FLAG = '0'
where t.DEL_FLAG = '0' and t.RESIDENTS_IDENTITY_NO is not null and t.RESIDENTS_IDENTITY_NO != '' and t1.IS_HOUSE_HEAD ='1'
<if test="name != null and name != ''">
and t.RESIDENTS_NAME like concat('%', #{name}, '%')
</if>
<if test="phone != null and phone != ''">
and t.RESIDENTS_PHONE like concat('%', #{phone}, '%')
</if>
<if test="communityId != null and communityId != ''">
and find_in_set(#{communityId},t2.ALL_DEPT_IDS)
</if>
<if test="gridId != null and gridId != ''">
and find_in_set(#{gridId},t2.ALL_DEPT_IDS)
</if>
group by t.ID
union all
select
t.RESIDENTS_NAME as name,
t2.gridName,
2 as identityFlag,
'居住人' as identity,
'' as houseId,
t.ID as populationId,
t.CREATED_TIME
from epdc_population_information t
left join epdc_house_resident t1 on t.ID = t1.RESIDENT_ID
left join
(select
t.ID,group_concat(DISTINCT substring_index(t2.ALL_DEPT_NAMES,'-',-1)) as gridName
from epdc_population_information t
left join epdc_house_resident t1 on t.ID = t1.RESIDENT_ID and t1.DEL_FLAG ='0'
left join epdc_housing_information t2 on t2.ID = t1.HOUSE_ID and t2.DEL_FLAG = '0'
where t.DEL_FLAG = '0' and t.RESIDENTS_IDENTITY_NO is not null and t.RESIDENTS_IDENTITY_NO != '' and t1.IS_HOUSE_HEAD ='1'
<if test="communityId != null and communityId != ''">
and find_in_set(#{communityId},t2.ALL_DEPT_IDS)
</if>
<if test="gridId != null and gridId != ''">
and find_in_set(#{gridId},t2.ALL_DEPT_IDS)
</if>
group by t.ID
)t2 on t2.ID = t1.HOUSE_HEAD_ID
where t.DEL_FLAG = '0' and t1.DEL_FLAG ='0' and t2.gridName is not null
and (t.RESIDENTS_IDENTITY_NO is null or t.RESIDENTS_IDENTITY_NO = '') and t1.IS_HOUSE_HEAD = '0'
<if test="name != null and name != ''">
and t.RESIDENTS_NAME like concat('%', #{name}, '%')
</if>
<if test="phone != null and phone != ''">
and t.RESIDENTS_PHONE like concat('%', #{phone}, '%')
</if>
group by t.ID)data
order by CREATED_TIME desc
LIMIT #{pageIndex},#{pageSize}
</select>
</mapper>
Loading…
Cancel
Save