|
|
@ -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> |
|
|
|