Browse Source

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

master
zhaoqifeng 3 years ago
parent
commit
917af2df9c
  1. 3
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseInformationFormDTO.java
  2. 1
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingCountResultDTO.java
  3. 5
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingListResultDTO.java
  4. 2
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CommunityCountResultDTO.java
  5. 3
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridCountListResultDTO.java
  6. 2
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridStatisticsResultDTO.java
  7. 1
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/NeighborHoodCountResultDTO.java
  8. 3
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/NeighborHoodListResultDTO.java
  9. 1
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UnitCountResultDTO.java
  10. 10
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseInformationController.java
  11. 104
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java
  12. 112
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseInformationServiceImpl.java
  13. 313
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml

3
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseInformationFormDTO.java

@ -13,6 +13,7 @@ import java.io.Serializable;
@Data
public class HouseInformationFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = 2348447479132364176L;
private String customerId;
private String staffId;
private String communityId;
private String gridId;
@ -20,5 +21,5 @@ public class HouseInformationFormDTO extends PageFormDTO implements Serializable
private String buildingId;
private String unitId;
private String name;
private String sort;
private String sort = "1";
}

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

@ -12,6 +12,7 @@ import lombok.NoArgsConstructor;
@Data
public class BuildingCountResultDTO {
private String buildingId;
private String buildingName;
private String buildingType;
private Integer unitCount;
private Integer houseCount;

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

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

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

@ -14,6 +14,8 @@ import java.io.Serializable;
@Data
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;

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

@ -22,4 +22,7 @@ public class GridCountListResultDTO implements Serializable {
private Integer differBuildingCount;
private Integer differHouseCount;
private Integer differPersonCount;
private Integer buildingRealCount;
private Integer houseRealCount;
private Integer personRealCount;
}

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

@ -15,6 +15,8 @@ import java.io.Serializable;
public class GridStatisticsResultDTO implements Serializable {
private static final long serialVersionUID = -2022337690871957027L;
private String gridId;
private String gridName;
private Integer buildingCount;
private Integer houseCount;
private Integer personCount;

1
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/NeighborHoodCountResultDTO.java

@ -15,6 +15,7 @@ import java.io.Serializable;
public class NeighborHoodCountResultDTO implements Serializable {
private static final long serialVersionUID = 4148009467129407023L;
private String neighborHoodId;
private String neighborHoodName;
private Integer buildingCount;
private Integer houseCount;
private Integer personCount;

3
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/NeighborHoodListResultDTO.java

@ -22,4 +22,7 @@ public class NeighborHoodListResultDTO implements Serializable {
private Integer differBuildingCount;
private Integer differHouseCount;
private Integer differPersonCount;
private Integer buildingRealCount;
private Integer houseRealCount;
private Integer personRealCount;
}

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

@ -12,6 +12,7 @@ import lombok.NoArgsConstructor;
@Data
public class UnitCountResultDTO {
private String unitId;
private String unitName;
private Integer houseCount;
private Integer personCount;
}

10
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseInformationController.java

@ -103,6 +103,7 @@ public class HouseInformationController {
*/
@PostMapping("getCommunityCount")
public Result<CommunityCountResultDTO> getCommunityCount(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<CommunityCountResultDTO>().ok(houseInformationService.getCommunityCount(formDTO));
}
@ -118,6 +119,7 @@ public class HouseInformationController {
*/
@PostMapping("getGridList")
public Result<PageData<GridCountListResultDTO>> getGridList(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<PageData<GridCountListResultDTO>>().ok(houseInformationService.getGridList(formDTO));
}
@ -133,6 +135,7 @@ public class HouseInformationController {
*/
@PostMapping("getGridCount")
public Result<GridStatisticsResultDTO> getGridCount(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<GridStatisticsResultDTO>().ok(houseInformationService.getGridCount(formDTO));
}
@ -148,6 +151,7 @@ public class HouseInformationController {
*/
@PostMapping("getNeighborHoodList")
public Result<PageData<NeighborHoodListResultDTO>> getNeighborHoodList(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<PageData<NeighborHoodListResultDTO>>().ok(houseInformationService.getNeighborHoodList(formDTO));
}
@ -163,6 +167,7 @@ public class HouseInformationController {
*/
@PostMapping("getNeighborHoodCount")
public Result<NeighborHoodCountResultDTO> getNeighborHoodCount(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<NeighborHoodCountResultDTO>().ok(houseInformationService.getNeighborHoodCount(formDTO));
}
@ -178,6 +183,7 @@ public class HouseInformationController {
*/
@PostMapping("getBuildingList")
public Result<PageData<BuildingListResultDTO>> getBuildingList(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<PageData<BuildingListResultDTO>>().ok(houseInformationService.getBuildingList(formDTO));
}
@ -194,6 +200,7 @@ public class HouseInformationController {
*/
@PostMapping("getBuildingCount")
public Result<BuildingCountResultDTO> getBuildingCount(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<BuildingCountResultDTO>().ok(houseInformationService.getBuildingCount(formDTO));
}
@ -209,6 +216,7 @@ public class HouseInformationController {
*/
@PostMapping("getUnitList")
public Result<PageData<UnitListResultDTO>> getUnitList(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<PageData<UnitListResultDTO>>().ok(houseInformationService.getUnitList(formDTO));
}
@ -224,6 +232,7 @@ public class HouseInformationController {
*/
@PostMapping("getUnitCount")
public Result<UnitCountResultDTO> getUnitCount(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<UnitCountResultDTO>().ok(houseInformationService.getUnitCount(formDTO));
}
@ -239,6 +248,7 @@ public class HouseInformationController {
*/
@PostMapping("getHouseList")
public Result<PageData<HomeListResultDTO>> getHouseList(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<PageData<HomeListResultDTO>>().ok(houseInformationService.getHouseList(formDTO));
}

104
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java

@ -21,9 +21,9 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.ImportGeneralDTO;
import com.epmet.dto.NeighborHoodAndManagementDTO;
import com.epmet.dto.form.HouseInformationFormDTO;
import com.epmet.dto.form.IcNeighborHoodListFormDTO;
import com.epmet.dto.result.IcNeighborHoodResultDTO;
import com.epmet.dto.result.OrganizationCommunityDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.IcHouseEntity;
import com.epmet.entity.IcNeighborHoodEntity;
import com.epmet.excel.IcNeighborHoodExcel;
@ -111,4 +111,104 @@ public interface IcNeighborHoodDao extends BaseDao<IcNeighborHoodEntity> {
*/
IcNeighborHoodEntity selectByCoding(@Param("coding") String coding,
@Param("id") String id);
/**
* 社区录入数据统计
*
* @Param communityId
* @Return {@link CommunityCountResultDTO}
* @Author zhaoqifeng
* @Date 2022/6/28 17:16
*/
CommunityCountResultDTO getCommunityCount(HouseInformationFormDTO formDTO);
/**
* 双实录入社区-网格列表
*
* @Param formDTO
* @Return {@link List< GridCountListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/29 11:06
*/
List<GridCountListResultDTO> getGridList(HouseInformationFormDTO formDTO);
/**
* 双实录入网格录入数据统计
*
* @Param formDTO
* @Return {@link GridStatisticsResultDTO}
* @Author zhaoqifeng
* @Date 2022/6/29 13:52
*/
GridStatisticsResultDTO getGridCount(HouseInformationFormDTO formDTO);
/**
* 双实录入网格-小区列表
*
* @Param formDTO
* @Return {@link List<NeighborHoodListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/29 14:11
*/
List<NeighborHoodListResultDTO> getNeighborHoodList(HouseInformationFormDTO formDTO);
/**
* 双实录入小区录入数据统计
*
* @Param formDTO
* @Return {@link NeighborHoodCountResultDTO}
* @Author zhaoqifeng
* @Date 2022/6/29 14:27
*/
NeighborHoodCountResultDTO getNeighborHoodCount(HouseInformationFormDTO formDTO);
/**
* 双实录入小区-楼栋列表
*
* @Param formDTO
* @Return {@link List< BuildingListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/29 14:50
*/
List<BuildingListResultDTO> getBuildingList(HouseInformationFormDTO formDTO);
/**
* 双实录入楼栋录入数据统计
*
* @Param formDTO
* @Return {@link BuildingCountResultDTO}
* @Author zhaoqifeng
* @Date 2022/6/29 15:44
*/
BuildingCountResultDTO getBuildingCount(HouseInformationFormDTO formDTO);
/**
* 双实录入楼栋-单元列表
*
* @Param formDTO
* @Return {@link List<UnitListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/29 16:07
*/
List<UnitListResultDTO> getUnitList(HouseInformationFormDTO formDTO);
/**
* 双实录入单元录入数据统计
*
* @Param formDTO
* @Return {@link UnitCountResultDTO}
* @Author zhaoqifeng
* @Date 2022/6/29 16:06
*/
UnitCountResultDTO getUnitCount(HouseInformationFormDTO formDTO);
/**
* 双实录入单元-房屋列表
*
* @Param formDTO
* @Return {@link List<HomeListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/29 16:48
*/
List<HomeListResultDTO> getHouseList(HouseInformationFormDTO formDTO)
}

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

@ -1,12 +1,28 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
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.dao.CustomerAgencyDao;
import com.epmet.dao.IcNeighborHoodDao;
import com.epmet.dto.form.HouseInformationFormDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.enums.HouseRentFlagEnums;
import com.epmet.service.HouseInformationService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* @Description
* @Author zhaoqifeng
@ -15,6 +31,12 @@ import org.springframework.stereotype.Service;
@Slf4j
@Service
public class HouseInformationServiceImpl implements HouseInformationService {
@Resource
private IcNeighborHoodDao icNeighborHoodDao;
@Resource
private CustomerAgencyDao customerAgencyDao;
/**
* 双实录入社区录入数据统计
*
@ -26,7 +48,31 @@ public class HouseInformationServiceImpl implements HouseInformationService {
*/
@Override
public CommunityCountResultDTO getCommunityCount(HouseInformationFormDTO formDTO) {
return null;
if (StringUtils.isEmpty(formDTO.getCommunityId())) {
//获取工作人员所属组织
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId());
if(null == staffInfo) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取用户信息失败", "获取用户信息失败");
}
formDTO.setCommunityId(staffInfo.getAgencyId());
}
String orgName;
CustomerAgencyEntity agency = customerAgencyDao.selectById(formDTO.getCommunityId());
if (null == agency) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "社区不存在", "社区不存在");
}
CustomerAgencyEntity parentAgency = customerAgencyDao.selectById(agency.getPid());
if (null == parentAgency) {
orgName = agency.getOrganizationName();
} else {
orgName = parentAgency.getOrganizationName() + agency.getOrganizationName();
}
//获取工作人员信息
CommunityCountResultDTO result = icNeighborHoodDao.getCommunityCount(formDTO);
result.setId(agency.getId());
result.setName(orgName);
//TODO 获取录入人口数
return result;
}
/**
@ -34,13 +80,17 @@ public class HouseInformationServiceImpl implements HouseInformationService {
*
* @param formDTO
* @Param formDTO
* @Return {@link PageData < GridCountListResultDTO >}
* @Return {@link PageData<GridCountListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/28 15:41
*/
@Override
public PageData<GridCountListResultDTO> getGridList(HouseInformationFormDTO formDTO) {
return null;
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<GridCountListResultDTO> list = icNeighborHoodDao.getGridList(formDTO);
PageInfo<GridCountListResultDTO> pageInfo = new PageInfo<>(list);
//TODO 获取录入人口数
return new PageData<>(list, pageInfo.getTotal());
}
/**
@ -54,7 +104,9 @@ public class HouseInformationServiceImpl implements HouseInformationService {
*/
@Override
public GridStatisticsResultDTO getGridCount(HouseInformationFormDTO formDTO) {
return null;
GridStatisticsResultDTO result = icNeighborHoodDao.getGridCount(formDTO);
//TODO 获取录入人口数
return result;
}
/**
@ -62,13 +114,17 @@ public class HouseInformationServiceImpl implements HouseInformationService {
*
* @param formDTO
* @Param formDTO
* @Return {@link PageData< NeighborHoodListResultDTO >}
* @Return {@link PageData<NeighborHoodListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/28 16:24
*/
@Override
public PageData<NeighborHoodListResultDTO> getNeighborHoodList(HouseInformationFormDTO formDTO) {
return null;
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<NeighborHoodListResultDTO> list = icNeighborHoodDao.getNeighborHoodList(formDTO);
PageInfo<NeighborHoodListResultDTO> pageInfo = new PageInfo<>(list);
//TODO 获取录入人口数
return new PageData<>(list, pageInfo.getTotal());
}
/**
@ -82,7 +138,9 @@ public class HouseInformationServiceImpl implements HouseInformationService {
*/
@Override
public NeighborHoodCountResultDTO getNeighborHoodCount(HouseInformationFormDTO formDTO) {
return null;
NeighborHoodCountResultDTO result = icNeighborHoodDao.getNeighborHoodCount(formDTO);
//TODO 获取录入人口数
return result;
}
/**
@ -96,7 +154,20 @@ public class HouseInformationServiceImpl implements HouseInformationService {
*/
@Override
public PageData<BuildingListResultDTO> getBuildingList(HouseInformationFormDTO formDTO) {
return null;
List<BuildingListResultDTO> list;
long total = 0;
//TODO 获取录入人口数
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();
} else {
list = icNeighborHoodDao.getBuildingList(formDTO);
total = list.size();
}
return new PageData<>(list, total);
}
/**
@ -110,7 +181,9 @@ public class HouseInformationServiceImpl implements HouseInformationService {
*/
@Override
public BuildingCountResultDTO getBuildingCount(HouseInformationFormDTO formDTO) {
return null;
BuildingCountResultDTO result = icNeighborHoodDao.getBuildingCount(formDTO);
//TODO 获取录入人口数
return result;
}
/**
@ -124,7 +197,11 @@ public class HouseInformationServiceImpl implements HouseInformationService {
*/
@Override
public PageData<UnitListResultDTO> getUnitList(HouseInformationFormDTO formDTO) {
return null;
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<UnitListResultDTO> list = icNeighborHoodDao.getUnitList(formDTO);
PageInfo<UnitListResultDTO> pageInfo = new PageInfo<>(list);
//TODO 获取录入人口数
return new PageData<>(list, pageInfo.getTotal());
}
/**
@ -138,7 +215,9 @@ public class HouseInformationServiceImpl implements HouseInformationService {
*/
@Override
public UnitCountResultDTO getUnitCount(HouseInformationFormDTO formDTO) {
return null;
UnitCountResultDTO result = icNeighborHoodDao.getUnitCount(formDTO);
//TODO 获取录入人口数
return result;
}
/**
@ -152,6 +231,15 @@ public class HouseInformationServiceImpl implements HouseInformationService {
*/
@Override
public PageData<HomeListResultDTO> getHouseList(HouseInformationFormDTO formDTO) {
return null;
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()));
});
}
return new PageData<>(list, pageInfo.getTotal());
}
}

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

@ -331,4 +331,317 @@
and id != #{id}
</if>
</select>
<select id="getCommunityCount" resultType="com.epmet.dto.result.CommunityCountResultDTO" parameterType="com.epmet.dto.form.HouseInformationFormDTO">
SELECT
SUM( buildingRealCount ) AS buildingRealCount,
SUM( houseRealCount ) AS houseRealCount,
SUM( personRealCount ) AS personRealCount,
SUM( buildingCount ) AS buildingCount,
SUM( houseCount ) AS houseCount
FROM
(
SELECT
a.ID,
IFNULL( a.REAL_BUILDING, 0 ) AS buildingRealCount,
SUM( IFNULL( b.TOTAL_HOUSE_NUM, 0 ) ) AS houseRealCount,
SUM( IFNULL( b.REAL_PERSON, 0 ) ) AS personRealCount,
COUNT( DISTINCT b.ID ) AS buildingCount,
c.houseCount
FROM
ic_neighbor_hood a
LEFT JOIN ic_building b ON a.ID = b.NEIGHBOR_HOOD_ID
AND b.DEL_FLAG = '0'
LEFT JOIN (
SELECT
NEIGHBOR_HOOD_ID, COUNT( ID ) AS houseCount
FROM
ic_house
WHERE
DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
GROUP BY
NEIGHBOR_HOOD_ID
) c ON a.ID = c.NEIGHBOR_HOOD_ID
WHERE
a.DEL_FLAG = '0'
AND a.AGENCY_ID = #{communityId}
GROUP BY
a.ID
) t
</select>
<select id="getGridList" resultType="com.epmet.dto.result.GridCountListResultDTO">
SELECT
*
FROM (
SELECT
grid.ID,
grid.GRID_NAME AS name,
SUM(IFNULL( buildingRealCount, 0 )) AS buildingRealCount,
SUM(IFNULL( houseRealCount, 0 )) AS houseRealCount,
SUM(IFNULL( personRealCount, 0 )) AS personRealCount,
SUM(IFNULL( buildingCount, 0 )) AS buildingCount,
SUM(IFNULL( houseCount, 0 )) AS houseCount
FROM
customer_grid grid
LEFT JOIN (
SELECT
a.ID,
a.GRID_ID,
IFNULL( a.REAL_BUILDING, 0 ) AS buildingRealCount,
SUM( IFNULL( b.TOTAL_HOUSE_NUM, 0 ) ) AS houseRealCount,
SUM( IFNULL( b.REAL_PERSON, 0 ) ) AS personRealCount,
COUNT( DISTINCT b.ID ) AS buildingCount,
c.houseCount
FROM
ic_neighbor_hood a
LEFT JOIN ic_building b ON a.ID = b.NEIGHBOR_HOOD_ID
AND b.DEL_FLAG = '0'
LEFT JOIN ( SELECT NEIGHBOR_HOOD_ID, COUNT( ID ) AS houseCount
FROM ic_house WHERE DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
GROUP BY NEIGHBOR_HOOD_ID ) c ON a.ID = c.NEIGHBOR_HOOD_ID
WHERE
a.DEL_FLAG = '0'
AND a.AGENCY_ID = #{communityId}
GROUP BY
a.ID
) t ON grid.ID = t.GRID_ID
WHERE
grid.DEL_FLAG = '0'
AND grid.PID = #{communityId}
GROUP BY
grid.ID
) t
WHERE
1=1
<if test=" null != name and name != ''">
AND t.name LIKE CONCAT('%', #{name}, '%')
</if>
ORDER BY convert(name using gbk)
</select>
<select id="getGridCount" resultType="com.epmet.dto.result.GridStatisticsResultDTO">
SELECT
GRID_ID AS gridId,
GRID_NAME AS gridName,
SUM( buildingRealCount ) AS buildingRealCount,
SUM( houseRealCount ) AS houseRealCount,
SUM( personRealCount ) AS personRealCount,
SUM( buildingCount ) AS buildingCount,
SUM( houseCount ) AS houseCount
FROM
(
SELECT
a.GRID_ID,
a.GRID_NAME,
IFNULL( a.REAL_BUILDING, 0 ) AS buildingRealCount,
SUM( IFNULL( b.TOTAL_HOUSE_NUM, 0 ) ) AS houseRealCount,
SUM( IFNULL( b.REAL_PERSON, 0 ) ) AS personRealCount,
COUNT( DISTINCT b.ID ) AS buildingCount,
c.houseCount
FROM
ic_neighbor_hood a
LEFT JOIN ic_building b ON a.ID = b.NEIGHBOR_HOOD_ID
AND b.DEL_FLAG = '0'
LEFT JOIN (
SELECT
NEIGHBOR_HOOD_ID, COUNT( ID ) AS houseCount
FROM
ic_house
WHERE
DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
GROUP BY
NEIGHBOR_HOOD_ID
) c ON a.ID = c.NEIGHBOR_HOOD_ID
WHERE
a.DEL_FLAG = '0'
AND a.GRID_ID = #{gridId}
GROUP BY
a.ID
) t
</select>
<select id="getNeighborHoodList" resultType="com.epmet.dto.result.NeighborHoodListResultDTO">
SELECT
*
FROM (
SELECT
a.ID,
a.NEIGHBOR_HOOD_NAME AS name,
IFNULL( a.REAL_BUILDING, 0 ) AS buildingRealCount,
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
FROM
ic_neighbor_hood a
LEFT JOIN ic_building b ON a.ID = b.NEIGHBOR_HOOD_ID
AND b.DEL_FLAG = '0'
LEFT JOIN ( SELECT NEIGHBOR_HOOD_ID, COUNT( ID ) AS houseCount
FROM ic_house WHERE DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
GROUP BY NEIGHBOR_HOOD_ID ) c ON a.ID = c.NEIGHBOR_HOOD_ID
WHERE
a.DEL_FLAG = '0'
AND a.GRID_ID = #{gridId}
GROUP BY
a.ID
) t
WHERE
1 = 1
<if test=" null != name and name != ''">
AND t.name LIKE CONCAT('%', #{name}, '%')
</if>
ORDER BY convert(name using gbk)
</select>
<select id="getNeighborHoodCount" resultType="com.epmet.dto.result.NeighborHoodCountResultDTO">
SELECT
a.ID AS neighborHoodId,
a.NEIGHBOR_HOOD_NAME AS neighborHoodName,
IFNULL( a.REAL_BUILDING, 0 ) AS buildingRealCount,
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
FROM
ic_neighbor_hood a
LEFT JOIN ic_building b ON a.ID = b.NEIGHBOR_HOOD_ID
AND b.DEL_FLAG = '0'
LEFT JOIN ( SELECT NEIGHBOR_HOOD_ID, COUNT( ID ) AS houseCount FROM ic_house WHERE DEL_FLAG = '0'
AND NEIGHBOR_HOOD_ID = #{neighborHoodId}
GROUP BY NEIGHBOR_HOOD_ID ) c ON a.ID = c.NEIGHBOR_HOOD_ID
WHERE
a.DEL_FLAG = '0'
AND a.ID = #{neighborHoodId}
GROUP BY
a.ID
</select>
<select id="getBuildingList" resultType="com.epmet.dto.result.BuildingListResultDTO">
SELECT
*
FROM (
SELECT
a.ID,
a.BUILDING_NAME AS name,
IFNULL( a.TOTAL_UNIT_NUM, 0 ) AS unitCount,
SUM( IFNULL( a.TOTAL_HOUSE_NUM, 0 ) ) AS houseRealCount,
SUM( IFNULL( a.REAL_PERSON, 0 ) ) AS personRealCount,
IFNULL(b.houseCount, 0) AS houseCount,
SUM( IFNULL( a.TOTAL_HOUSE_NUM, 0 ) )-IFNULL(b.houseCount, 0) AS differHouseCount
FROM
ic_building a
LEFT JOIN ( SELECT BUILDING_ID, COUNT( ID ) AS houseCount
FROM ic_house WHERE DEL_FLAG = '0'
AND NEIGHBOR_HOOD_ID = #{neighborHoodId}
GROUP BY BUILDING_ID ) b ON a.ID = b.BUILDING_ID
WHERE
a.DEL_FLAG = '0'
AND a.NEIGHBOR_HOOD_ID = #{neighborHoodId}
GROUP BY
a.ID
) t
WHERE
1 = 1
<if test=" null != name and name != ''">
AND t.name LIKE CONCAT('%', #{name}, '%')
</if>
ORDER BY
<choose>
<when test='sort == "1"'>
convert(name using gbk)
</when>
<when test='sort == "2"'>
houseRealCount desc, convert(name using gbk)
</when>
<when test='sort == "3"'>
personRealCount desc, convert(name using gbk)
</when>
<when test='sort == "4"'>
differHouseCount desc, convert(name using gbk)
</when>
</choose>
</select>
<select id="getBuildingCount" resultType="com.epmet.dto.result.BuildingCountResultDTO">
SELECT
a.ID AS buildingId,
a.TYPE AS buildingType,
CONCAT(NEIGHBOR_HOOD_NAME,' ',BUILDING_NAME) AS buildingName,
IFNULL( a.TOTAL_UNIT_NUM, 0 ) AS unitCount,
SUM( IFNULL( a.TOTAL_HOUSE_NUM, 0 ) ) AS houseRealCount,
SUM( IFNULL( a.REAL_PERSON, 0 ) ) AS personRealCount,
IFNULL( b.houseCount, 0 ) AS houseCount,
0 AS personCount
FROM
ic_building a
LEFT JOIN ( SELECT BUILDING_ID, COUNT( ID ) AS houseCount
FROM ic_house
WHERE DEL_FLAG = '0'
AND BUILDING_ID = #{buildingId}
GROUP BY BUILDING_ID ) b ON a.ID = b.BUILDING_ID
INNER JOIN ic_neighbor_hood c ON a.NEIGHBOR_HOOD_ID = c.ID
WHERE
a.DEL_FLAG = '0'
AND a.ID = #{buildingId}
</select>
<select id="getUnitList" resultType="com.epmet.dto.result.UnitListResultDTO">
SELECT
a.ID,
a.UNIT_NAME AS name,
IFNULL( b.houseCount, 0 ) AS houseCount,
0 AS personCount
FROM
ic_building_unit a
LEFT JOIN ( SELECT BUILDING_UNIT_ID, COUNT( ID ) AS houseCount
FROM ic_house
WHERE DEL_FLAG = '0' AND BUILDING_ID = #{buildingId}
GROUP BY BUILDING_ID ) b ON a.ID = b.BUILDING_UNIT_ID
WHERE
a.DEL_FLAG = '0'
AND a.BUILDING_ID = #{buildingId}
ORDER BY a.UNIT_NUM
</select>
<select id="getUnitCount" resultType="com.epmet.dto.result.UnitCountResultDTO">
SELECT
a.ID,
CONCAT(NEIGHBOR_HOOD_NAME,' ',BUILDING_NAME,' ',a.UNIT_NAME) AS unitName,
IFNULL( b.houseCount, 0 ) AS houseCount,
0 AS personCount
FROM
ic_building_unit a
LEFT JOIN ( SELECT BUILDING_UNIT_ID, COUNT( ID ) AS houseCount FROM ic_house
WHERE DEL_FLAG = '0' AND BUILDING_UNIT_ID = #{unitId}
GROUP BY BUILDING_UNIT_ID ) b ON a.ID = b.BUILDING_UNIT_ID
INNER JOIN ic_building c ON a.BUILDING_ID = c.ID
INNER JOIN ic_neighbor_hood d ON c.NEIGHBOR_HOOD_ID = d.ID
WHERE
a.DEL_FLAG = '0'
AND a.ID = #{unitId}
</select>
<select id="getHouseList" resultType="com.epmet.dto.result.HomeListResultDTO">
SELECT
ID,
DOOR_NAME AS "name",
RENT_FLAG AS houseType,
HOUSE_CODE,
0 AS houseCount
FROM
ic_house
WHERE
DEL_FLAG = '0'
AND BUILDING_UNIT_ID = #{unitId}
<if test=" null != name and name != ''">
AND DOOR_NAME LIKE CONCAT('%', #{name}, '%')
</if>
ORDER BY
DOOR_NAME
</select>
</mapper>

Loading…
Cancel
Save