Browse Source

【双实录入】统计相关接口实现

feature/teamB_zz_wgh
zhaoqifeng 3 years ago
parent
commit
ab33210e84
  1. 12
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingCountResultDTO.java
  2. 14
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingListResultDTO.java
  3. 12
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CommunityCountResultDTO.java
  4. 18
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridCountListResultDTO.java
  5. 2
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HomeListResultDTO.java
  6. 4
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UnitCountResultDTO.java
  7. 6
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UnitListResultDTO.java
  8. 198
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseInformationServiceImpl.java
  9. 8
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml
  10. 24
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcUserCountFormDTO.java
  11. 17
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcUserCountResultDTO.java
  12. 11
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
  13. 14
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
  14. 13
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  15. 15
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java
  16. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
  17. 18
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  18. 64
      epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

12
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingCountResultDTO.java

@ -14,10 +14,10 @@ public class BuildingCountResultDTO {
private String buildingId;
private String buildingName;
private String buildingType;
private Integer unitCount;
private Integer houseCount;
private Integer personCount;
private Integer unitRealCount;
private Integer houseRealCount;
private Integer personRealCount;
private Integer unitCount = 0;
private Integer houseCount = 0;
private Integer personCount = 0;
private Integer unitRealCount = 0;
private Integer houseRealCount = 0;
private Integer personRealCount = 0;
}

14
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingListResultDTO.java

@ -16,11 +16,11 @@ public class BuildingListResultDTO implements Serializable {
private static final long serialVersionUID = -1423424057500044373L;
private String id;
private String name;
private Integer unitCount;
private Integer houseCount;
private Integer personCount;
private Integer differHouseCount;
private Integer differPersonCount;
private Integer houseRealCount;
private Integer personRealCount;
private Integer unitCoun = 0;
private Integer houseCount = 0;
private Integer personCount = 0;
private Integer differHouseCount = 0;
private Integer differPersonCount = 0;
private Integer houseRealCount = 0;
private Integer personRealCount = 0;
}

12
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CommunityCountResultDTO.java

@ -16,10 +16,10 @@ public class CommunityCountResultDTO implements Serializable {
private static final long serialVersionUID = -1677303397440121269L;
private String id;
private String name;
private Integer buildingCount;
private Integer houseCount;
private Integer personCount;
private Integer buildingRealCount;
private Integer houseRealCount;
private Integer personRealCount;
private Integer buildingCount = 0;
private Integer houseCount = 0;
private Integer personCount = 0;
private Integer buildingRealCount = 0;
private Integer houseRealCount = 0;
private Integer personRealCount = 0;
}

18
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridCountListResultDTO.java

@ -16,13 +16,13 @@ public class GridCountListResultDTO implements Serializable {
private static final long serialVersionUID = -7938740461257344347L;
private String id;
private String name;
private Integer buildingCount;
private Integer houseCount;
private Integer personCount;
private Integer differBuildingCount;
private Integer differHouseCount;
private Integer differPersonCount;
private Integer buildingRealCount;
private Integer houseRealCount;
private Integer personRealCount;
private Integer buildingCount = 0;
private Integer houseCount = 0;
private Integer personCount = 0;
private Integer differBuildingCount = 0;
private Integer differHouseCount = 0;
private Integer differPersonCount = 0;
private Integer buildingRealCount = 0;
private Integer houseRealCount = 0;
private Integer personRealCount = 0;
}

2
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HomeListResultDTO.java

@ -16,7 +16,7 @@ public class HomeListResultDTO implements Serializable {
private static final long serialVersionUID = -1098032063828430218L;
private String id;
private String name;
private Double personCount;
private Integer personCount = 0;
private String houseType;
private String houseCode;
}

4
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UnitCountResultDTO.java

@ -13,6 +13,6 @@ import lombok.NoArgsConstructor;
public class UnitCountResultDTO {
private String unitId;
private String unitName;
private Integer houseCount;
private Integer personCount;
private Integer houseCount = 0;
private Integer personCount = 0;
}

6
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UnitListResultDTO.java

@ -16,7 +16,7 @@ public class UnitListResultDTO implements Serializable {
private static final long serialVersionUID = -8750897881106004416L;
private String id;
private String name;
private Double houseCount;
private Double personCount;
private Double differHouseCount;
private Integer houseCount = 0;
private Integer personCount = 0;
private Integer differHouseCount = 0;
}

198
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseInformationServiceImpl.java

@ -6,12 +6,15 @@ import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.CustomerAgencyDao;
import com.epmet.dao.IcNeighborHoodDao;
import com.epmet.dto.form.HouseInformationFormDTO;
import com.epmet.dto.form.IcUserCountFormDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.enums.HouseRentFlagEnums;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.service.HouseInformationService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@ -21,7 +24,11 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Description
@ -36,6 +43,8 @@ public class HouseInformationServiceImpl implements HouseInformationService {
private IcNeighborHoodDao icNeighborHoodDao;
@Resource
private CustomerAgencyDao customerAgencyDao;
@Resource
private EpmetUserOpenFeignClient userOpenFeignClient;
/**
* 双实录入社区录入数据统计
@ -71,7 +80,15 @@ public class HouseInformationServiceImpl implements HouseInformationService {
CommunityCountResultDTO result = icNeighborHoodDao.getCommunityCount(formDTO);
result.setId(agency.getId());
result.setName(orgName);
//TODO 获取录入人口数
//获取录入人口数
IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
countFormDTO.setOrgType(NumConstant.ZERO_STR);
countFormDTO.setOrgId(formDTO.getCommunityId());
countFormDTO.setType(NumConstant.ZERO_STR);
Map<String, Integer> map = getMapResult(countFormDTO);
if (map.containsKey(formDTO.getCommunityId())) {
result.setPersonCount(map.get(formDTO.getCommunityId()));
}
return result;
}
@ -89,7 +106,22 @@ public class HouseInformationServiceImpl implements HouseInformationService {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<GridCountListResultDTO> list = icNeighborHoodDao.getGridList(formDTO);
PageInfo<GridCountListResultDTO> pageInfo = new PageInfo<>(list);
//TODO 获取录入人口数
if (CollectionUtils.isNotEmpty(list)) {
//获取录入人口数
IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
countFormDTO.setOrgType(NumConstant.ZERO_STR);
countFormDTO.setOrgId(formDTO.getCommunityId());
countFormDTO.setType(NumConstant.ONE_STR);
Map<String, Integer> map = getMapResult(countFormDTO);
list.forEach(item -> {
if (map.containsKey(item.getId())) {
item.setPersonCount(map.get(item.getId()));
}
item.setDifferPersonCount(item.getPersonRealCount() - item.getPersonCount());
});
}
return new PageData<>(list, pageInfo.getTotal());
}
@ -105,7 +137,15 @@ public class HouseInformationServiceImpl implements HouseInformationService {
@Override
public GridStatisticsResultDTO getGridCount(HouseInformationFormDTO formDTO) {
GridStatisticsResultDTO result = icNeighborHoodDao.getGridCount(formDTO);
//TODO 获取录入人口数
//获取录入人口数
IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
countFormDTO.setOrgType(NumConstant.ONE_STR);
countFormDTO.setOrgId(formDTO.getGridId());
countFormDTO.setType(NumConstant.ZERO_STR);
Map<String, Integer> map = getMapResult(countFormDTO);
if (map.containsKey(formDTO.getGridId())) {
result.setPersonCount(map.get(formDTO.getGridId()));
}
return result;
}
@ -123,7 +163,20 @@ public class HouseInformationServiceImpl implements HouseInformationService {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<NeighborHoodListResultDTO> list = icNeighborHoodDao.getNeighborHoodList(formDTO);
PageInfo<NeighborHoodListResultDTO> pageInfo = new PageInfo<>(list);
//TODO 获取录入人口数
if (CollectionUtils.isNotEmpty(list)) {
//获取录入人口数
IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
countFormDTO.setOrgType(NumConstant.ONE_STR);
countFormDTO.setOrgId(formDTO.getGridId());
countFormDTO.setType(NumConstant.ONE_STR);
Map<String, Integer> map = getMapResult(countFormDTO);
list.forEach(item -> {
if (map.containsKey(item.getId())) {
item.setPersonCount(map.get(item.getId()));
}
item.setDifferPersonCount(item.getPersonRealCount() - item.getPersonCount());
});
}
return new PageData<>(list, pageInfo.getTotal());
}
@ -139,7 +192,15 @@ public class HouseInformationServiceImpl implements HouseInformationService {
@Override
public NeighborHoodCountResultDTO getNeighborHoodCount(HouseInformationFormDTO formDTO) {
NeighborHoodCountResultDTO result = icNeighborHoodDao.getNeighborHoodCount(formDTO);
//TODO 获取录入人口数
//获取录入人口数
IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
countFormDTO.setOrgType(NumConstant.TWO_STR);
countFormDTO.setOrgId(formDTO.getNeighborHoodId());
countFormDTO.setType(NumConstant.ZERO_STR);
Map<String, Integer> map = getMapResult(countFormDTO);
if (map.containsKey(formDTO.getNeighborHoodId())) {
result.setPersonCount(map.get(formDTO.getNeighborHoodId()));
}
return result;
}
@ -156,17 +217,47 @@ public class HouseInformationServiceImpl implements HouseInformationService {
public PageData<BuildingListResultDTO> getBuildingList(HouseInformationFormDTO formDTO) {
List<BuildingListResultDTO> list;
long total = 0;
//TODO 获取录入人口数
if (NumConstant.FIVE_STR.equals(formDTO.getSort())) {
//获取录入人口数
IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
countFormDTO.setOrgType(NumConstant.TWO_STR);
countFormDTO.setOrgId(formDTO.getNeighborHoodId());
countFormDTO.setType(NumConstant.ONE_STR);
Map<String, Integer> map = getMapResult(countFormDTO);
if (!NumConstant.FIVE_STR.equals(formDTO.getSort())) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
list = icNeighborHoodDao.getBuildingList(formDTO);
PageInfo<BuildingListResultDTO> pageInfo = new PageInfo<>(list);
total = pageInfo.getTotal();
if (CollectionUtils.isNotEmpty(list)) {
list.forEach(item -> {
if (map.containsKey(item.getId())) {
item.setPersonCount(map.get(item.getId()));
}
item.setDifferPersonCount(item.getPersonRealCount() - item.getPersonCount());
});
}
} else {
list = icNeighborHoodDao.getBuildingList(formDTO);
total = list.size();
if (CollectionUtils.isNotEmpty(list)) {
total = list.size();
list.forEach(item -> {
if (map.containsKey(item.getId())) {
item.setPersonCount(map.get(item.getId()));
}
item.setDifferPersonCount(item.getPersonRealCount() - item.getPersonCount());
});
//排序
list = list.stream().sorted(Comparator.comparing(BuildingListResultDTO::getDifferPersonCount).reversed()).collect(Collectors.toList());
//分页
list = list.stream().skip((long)(formDTO.getPageNo() - 1) * formDTO.getPageSize()).limit(formDTO.getPageSize()).collect(Collectors.toList());
}
}
return new PageData<>(list, total);
}
@ -182,7 +273,15 @@ public class HouseInformationServiceImpl implements HouseInformationService {
@Override
public BuildingCountResultDTO getBuildingCount(HouseInformationFormDTO formDTO) {
BuildingCountResultDTO result = icNeighborHoodDao.getBuildingCount(formDTO);
//TODO 获取录入人口数
//获取录入人口数
IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
countFormDTO.setOrgType(NumConstant.THREE_STR);
countFormDTO.setOrgId(formDTO.getBuildingId());
countFormDTO.setType(NumConstant.ZERO_STR);
Map<String, Integer> map = getMapResult(countFormDTO);
if (map.containsKey(formDTO.getBuildingId())) {
result.setPersonCount(map.get(formDTO.getBuildingId()));
}
return result;
}
@ -200,7 +299,19 @@ public class HouseInformationServiceImpl implements HouseInformationService {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<UnitListResultDTO> list = icNeighborHoodDao.getUnitList(formDTO);
PageInfo<UnitListResultDTO> pageInfo = new PageInfo<>(list);
//TODO 获取录入人口数
if (CollectionUtils.isNotEmpty(list)) {
//获取录入人口数
IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
countFormDTO.setOrgType(NumConstant.THREE_STR);
countFormDTO.setOrgId(formDTO.getBuildingId());
countFormDTO.setType(NumConstant.ONE_STR);
Map<String, Integer> map = getMapResult(countFormDTO);
list.forEach(item -> {
if (map.containsKey(item.getId())) {
item.setPersonCount(map.get(item.getId()));
}
});
}
return new PageData<>(list, pageInfo.getTotal());
}
@ -216,7 +327,15 @@ public class HouseInformationServiceImpl implements HouseInformationService {
@Override
public UnitCountResultDTO getUnitCount(HouseInformationFormDTO formDTO) {
UnitCountResultDTO result = icNeighborHoodDao.getUnitCount(formDTO);
//TODO 获取录入人口数
//获取录入人口数
IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
countFormDTO.setOrgType(NumConstant.FOUR_STR);
countFormDTO.setOrgId(formDTO.getUnitId());
countFormDTO.setType(NumConstant.ZERO_STR);
Map<String, Integer> map = getMapResult(countFormDTO);
if (map.containsKey(formDTO.getUnitId())) {
result.setPersonCount(map.get(formDTO.getUnitId()));
}
return result;
}
@ -231,15 +350,54 @@ public class HouseInformationServiceImpl implements HouseInformationService {
*/
@Override
public PageData<HomeListResultDTO> getHouseList(HouseInformationFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<HomeListResultDTO> list = icNeighborHoodDao.getHouseList(formDTO);
PageInfo<HomeListResultDTO> pageInfo = new PageInfo<>(list);
//TODO 获取录入人口数
if (CollectionUtils.isNotEmpty(list)) {
list.forEach(item -> {
item.setHouseType(HouseRentFlagEnums.getTypeValue(item.getHouseType()));
});
List<HomeListResultDTO> list = null;
long total = 0;
//获取录入人口数
IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
countFormDTO.setOrgType(NumConstant.FOUR_STR);
countFormDTO.setOrgId(formDTO.getUnitId());
countFormDTO.setType(NumConstant.ONE_STR);
Map<String, Integer> map = getMapResult(countFormDTO);
if (!NumConstant.TWO_STR.equals(formDTO.getSort())) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
list = icNeighborHoodDao.getHouseList(formDTO);
PageInfo<HomeListResultDTO> pageInfo = new PageInfo<>(list);
total = pageInfo.getTotal();
if (CollectionUtils.isNotEmpty(list)) {
list.forEach(item -> {
if (map.containsKey(item.getId())) {
item.setHouseType(HouseRentFlagEnums.getTypeValue(item.getHouseType()));
item.setPersonCount(map.get(item.getId()));
}
});
}
} else {
list = icNeighborHoodDao.getHouseList(formDTO);
if (CollectionUtils.isNotEmpty(list)) {
total = list.size();
list.forEach(item -> {
if (map.containsKey(item.getId())) {
item.setHouseType(HouseRentFlagEnums.getTypeValue(item.getHouseType()));
item.setPersonCount(map.get(item.getId()));
}
});
//排序
list = list.stream().sorted(Comparator.comparing(HomeListResultDTO::getPersonCount).reversed()).collect(Collectors.toList());
//分页
list = list.stream().skip((long)(formDTO.getPageNo() - 1) * formDTO.getPageSize()).limit(formDTO.getPageSize()).collect(Collectors.toList());
}
}
return new PageData<>(list, pageInfo.getTotal());
return new PageData<>(list, total);
}
private Map<String, Integer> getMapResult(IcUserCountFormDTO countFormDTO) {
Result<Map<String, Integer>> result = userOpenFeignClient.getIcUserCount(countFormDTO);
if (!result.success()) {
log.warn("查询录入人数失败");
return Collections.emptyMap();
}
return result.getData();
}
}

8
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml

@ -381,7 +381,9 @@
SUM(IFNULL( houseRealCount, 0 )) AS houseRealCount,
SUM(IFNULL( personRealCount, 0 )) AS personRealCount,
SUM(IFNULL( buildingCount, 0 )) AS buildingCount,
SUM(IFNULL( houseCount, 0 )) AS houseCount
SUM(IFNULL( houseCount, 0 )) AS houseCount,
SUM(IFNULL( buildingRealCount, 0 )) - SUM(IFNULL( buildingCount, 0 )) AS differBuildingCount,
SUM(IFNULL( houseRealCount, 0 )) - SUM(IFNULL( houseCount, 0 )) AS differHouseCount
FROM
customer_grid grid
LEFT JOIN (
@ -472,7 +474,9 @@
SUM( IFNULL( b.TOTAL_HOUSE_NUM, 0 ) ) AS houseRealCount,
SUM( IFNULL( b.REAL_PERSON, 0 ) ) AS personRealCount,
COUNT( DISTINCT b.ID ) AS buildingCount,
IFNULL(c.houseCount, 0) AS houseCount
IFNULL(c.houseCount, 0) AS houseCount,
IFNULL( a.REAL_BUILDING, 0 ) - COUNT( DISTINCT b.ID ) AS differBuildingCount,
SUM( IFNULL( b.TOTAL_HOUSE_NUM, 0 ) ) - IFNULL(c.houseCount, 0) AS differHouseCount
FROM
ic_neighbor_hood a
LEFT JOIN ic_building b ON a.ID = b.NEIGHBOR_HOOD_ID

24
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcUserCountFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/6/29 17:27
*/
@Data
public class IcUserCountFormDTO implements Serializable {
private static final long serialVersionUID = 1303693003176367290L;
private String orgId;
/**
* 0 组织1 网格2 小区3 楼栋4 单元5 房屋
*/
private String orgType;
/**
* 0 本级1 下级
*/
private String type;
}

17
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcUserCountResultDTO.java

@ -0,0 +1,17 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/6/29 17:50
*/
@Data
public class IcUserCountResultDTO implements Serializable {
private static final long serialVersionUID = 2875016989035736971L;
private String id;
private Integer count;
}

11
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java

@ -816,4 +816,15 @@ public interface EpmetUserOpenFeignClient {
@PostMapping("/epmetuser/icresiuser/getUserId/{icUserId}")
Result<List<String>> getUserId(@PathVariable("icUserId") String icUserId);
/**
* 获取录入居民的数量
*
* @Param formDTO
* @Return {@link Result<Map<String, Integer>>}
* @Author zhaoqifeng
* @Date 2022/6/30 9:35
*/
@PostMapping("/epmetuser/icresiuser/getIcUserCount")
Result<Map<String, Integer>> getIcUserCount(IcUserCountFormDTO formDTO);
}

14
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java

@ -611,4 +611,18 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserId", icUserId);
}
/**
* 获取录入居民的数量
*
* @param formDTO
* @Param formDTO
* @Return {@link Result<Map<String, Integer>>}
* @Author zhaoqifeng
* @Date 2022/6/30 9:35
*/
@Override
public Result<Map<String, Integer>> getIcUserCount(IcUserCountFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getIcUserCount", formDTO);
}
}

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

@ -1188,4 +1188,17 @@ public class IcResiUserController implements ResultDataResolver {
public Result<List<String>> getUserId(@PathVariable("icUserId") String icUserId) {
return new Result<List<String>>().ok(icResiUserService.getUserId(icUserId));
}
/**
* 获取录入居民的数量
*
* @Param formDTO
* @Return {@link Result<Map<String, Integer>>}
* @Author zhaoqifeng
* @Date 2022/6/30 9:35
*/
@PostMapping("getIcUserCount")
public Result<Map<String, Integer>> getIcUserCount(IcUserCountFormDTO formDTO) {
return new Result<Map<String, Integer>>().ok(icResiUserService.getIcUserCount(formDTO));
}
}

15
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java

@ -22,10 +22,7 @@ import com.epmet.commons.tools.dto.result.OptionDataResultDTO;
import com.epmet.dto.IcResiUserConfirmDTO;
import com.epmet.dto.IcResiUserDTO;
import com.epmet.dto.IcVolunteerPolyDTO;
import com.epmet.dto.form.EpidemicPreventionFormDTO;
import com.epmet.dto.form.MoveOutMemberFormDTO;
import com.epmet.dto.form.RentTenantDataFormDTO;
import com.epmet.dto.form.ResiUserQueryValueDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.IcResiUserEntity;
import org.apache.ibatis.annotations.MapKey;
@ -370,4 +367,14 @@ public interface IcResiUserDao extends BaseDao<IcResiUserEntity> {
* @return com.epmet.entity.IcResiUserEntity
*/
IcResiUserEntity selectResiUserEntityByIdCard(@Param("idCard") String idCard,@Param("customerId") String customerId);
/**
* 获取录入居民的数量
*
* @Param formDTO
* @Return {@link Map<String, Integer>}
* @Author zhaoqifeng
* @Date 2022/6/29 17:37
*/
List<IcUserCountResultDTO> getIcUserCount(IcUserCountFormDTO formDTO);
}

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

@ -436,4 +436,14 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
* @Date 2022/6/16 15:30
*/
List<String> getUserId(String icResiUserId);
/**
* 获取录入居民的数量
*
* @Param formDTO
* @Return {@link Map<String, Integer>}
* @Author zhaoqifeng
* @Date 2022/6/29 17:32
*/
Map<String, Integer> getIcUserCount(IcUserCountFormDTO formDTO);
}

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

@ -2572,6 +2572,24 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
return baseInfoList.stream().map(UserBaseInfoEntity::getUserId).collect(Collectors.toList());
}
/**
* 获取录入居民的数量
*
* @param formDTO
* @Param formDTO
* @Return {@link Map<String, Integer>}
* @Author zhaoqifeng
* @Date 2022/6/29 17:32
*/
@Override
public Map<String, Integer> getIcUserCount(IcUserCountFormDTO formDTO) {
List<IcUserCountResultDTO> list = baseDao.getIcUserCount(formDTO);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
return list.stream().collect(Collectors.toMap(IcUserCountResultDTO::getId, IcUserCountResultDTO::getCount, (key1 , key2)-> key2)));
}
/**
* 根据身份证获取居民角色目前只有是否是志愿者
*

64
epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

@ -1133,4 +1133,68 @@
AND customer_id = #{customerId}
AND DEL_FLAG = '0'
</select>
<select id="getIcUserCount" resultType="com.epmet.dto.result.IcUserCountResultDTO">
SELECT
<if test='type == "0"'>
CASE #{type}
WHEN '0' THEN AGENCY_ID
WHEN '1' THEN GRID_ID
WHEN '2' THEN VILLAGE_ID
WHEN '3' THEN BUILD_ID
WHEN '4' THEN UNIT_ID
ELSE HOME_ID END AS "id",
</if>
<if test='type == "1"'>
CASE #{type}
WHEN '0' THEN GRID_ID
WHEN '1' THEN VILLAGE_ID
WHEN '2' THEN BUILD_ID
WHEN '3' THEN UNIT_ID
WHEN '4' THEN HOME_ID
ELSE HOME_ID END AS "id",
</if>
COUNT(ID) AS "count"
FROM
ic_resi_user
WHERE
DEL_FLAG = '0'
AND STATUS = '0'
<choose>
<when test='orgType == "0"'>
AND AGENCY_ID = #{orgId}
</when>
<when test='orgType == "1"'>
AND GRID_ID = #{orgId}
</when>
<when test='orgType == "2"'>
AND VILLAGE_ID = #{orgId}
</when>
<when test='orgType == "3"'>
AND BUILD_ID = #{orgId}
</when>
<when test='orgType == "4"'>
AND UNIT_ID = #{orgId}
</when>
</choose>
<if test='type == "1"'>
GROUP BY
<choose>
<when test='orgType == "0"'>
GRID_ID
</when>
<when test='orgType == "1"'>
VILLAGE_ID
</when>
<when test='orgType == "2"'>
BUILD_ID
</when>
<when test='orgType == "3"'>
UNIT_ID
</when>
<when test='orgType == "4"'>
HOME_ID
</when>
</choose>
</if>
</select>
</mapper>

Loading…
Cancel
Save