|
@ -30,69 +30,120 @@ |
|
|
<!-- 根据城市地区码前四位匹配到城市下所有网格 --> |
|
|
<!-- 根据城市地区码前四位匹配到城市下所有网格 --> |
|
|
<select id="selectGridByCityLike" parameterType="com.epmet.dto.form.ListCustomerGridFormDTO" resultType="com.epmet.dto.result.CustomerGridForStrangerResultDTO"> |
|
|
<select id="selectGridByCityLike" parameterType="com.epmet.dto.form.ListCustomerGridFormDTO" resultType="com.epmet.dto.result.CustomerGridForStrangerResultDTO"> |
|
|
SELECT |
|
|
SELECT |
|
|
id AS grid_id, |
|
|
grid.id AS grid_id, |
|
|
customer_id, |
|
|
grid.customer_id, |
|
|
grid_name |
|
|
concat( agency.fullname, '-', grid.grid_name ) AS gridName |
|
|
|
|
|
FROM |
|
|
|
|
|
CUSTOMER_GRID grid |
|
|
|
|
|
LEFT JOIN ( |
|
|
|
|
|
SELECT |
|
|
|
|
|
a1.id, |
|
|
|
|
|
CASE |
|
|
|
|
|
WHEN a2.ORGANIZATION_NAME IS NULL THEN |
|
|
|
|
|
a1.ORGANIZATION_NAME ELSE concat( a2.ORGANIZATION_NAME, '-', a1.ORGANIZATION_NAME ) |
|
|
|
|
|
END AS fullname |
|
|
|
|
|
FROM |
|
|
|
|
|
customer_agency a1 |
|
|
|
|
|
LEFT JOIN customer_agency a2 ON a1.PID = a2.ID |
|
|
|
|
|
AND a1.del_flag = '0' |
|
|
|
|
|
WHERE |
|
|
|
|
|
a1.del_flag = '0' |
|
|
|
|
|
) agency ON grid.PID = agency.ID |
|
|
|
|
|
WHERE |
|
|
|
|
|
grid.del_flag = 0 |
|
|
|
|
|
AND |
|
|
|
|
|
grid.area_code LIKE CONCAT(#{areaCode},'%') |
|
|
|
|
|
ORDER BY |
|
|
|
|
|
grid.customer_id, |
|
|
|
|
|
CONVERT ( gridName USING gbk ) ASC |
|
|
|
|
|
|
|
|
|
|
|
LIMIT #{pageNo}, #{pageSize} |
|
|
|
|
|
</select> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 根据区县地区码匹配到该地区置顶其余区域在后这种特定排序的数据集 --> |
|
|
|
|
|
<select id="selectRestGridWithoutGivenAreaCode" parameterType="map" resultType="com.epmet.dto.result.CustomerGridForStrangerResultDTO"> |
|
|
|
|
|
|
|
|
|
|
|
SELECT c.* |
|
|
FROM |
|
|
FROM |
|
|
CUSTOMER_GRID |
|
|
( |
|
|
|
|
|
|
|
|
|
|
|
( |
|
|
|
|
|
SELECT |
|
|
|
|
|
a.id AS grid_id, |
|
|
|
|
|
a.customer_id, |
|
|
|
|
|
concat( agency.fullname, '-', a.grid_name ) AS gridName |
|
|
|
|
|
FROM |
|
|
|
|
|
CUSTOMER_GRID a |
|
|
|
|
|
|
|
|
|
|
|
LEFT JOIN ( |
|
|
|
|
|
SELECT |
|
|
|
|
|
a1.id, |
|
|
|
|
|
CASE |
|
|
|
|
|
|
|
|
|
|
|
WHEN a2.ORGANIZATION_NAME IS NULL THEN |
|
|
|
|
|
a1.ORGANIZATION_NAME ELSE concat( a2.ORGANIZATION_NAME, '-', a1.ORGANIZATION_NAME ) |
|
|
|
|
|
END AS fullname |
|
|
|
|
|
FROM |
|
|
|
|
|
customer_agency a1 |
|
|
|
|
|
LEFT JOIN customer_agency a2 ON a1.PID = a2.ID |
|
|
|
|
|
AND a1.del_flag = '0' |
|
|
|
|
|
WHERE |
|
|
|
|
|
a1.del_flag = '0' |
|
|
|
|
|
) agency ON a.PID = agency.ID |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WHERE |
|
|
WHERE |
|
|
del_flag = 0 |
|
|
a.del_flag = 0 |
|
|
AND |
|
|
AND |
|
|
area_code LIKE CONCAT(#{areaCode},'%') |
|
|
a.area_code = #{areaCode} |
|
|
ORDER BY |
|
|
ORDER BY |
|
|
customer_id, |
|
|
CONVERT ( gridName USING gbk ) ASC |
|
|
CONVERT ( grid_name USING gbk ) ASC |
|
|
LIMIT 0,999999999999 |
|
|
|
|
|
|
|
|
LIMIT #{pageNo}, #{pageSize} |
|
|
) |
|
|
</select> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 根据区县地区码匹配到该地区置顶其余区域在后这种特定排序的数据集 --> |
|
|
UNION |
|
|
<select id="selectRestGridWithoutGivenAreaCode" parameterType="map" resultType="com.epmet.dto.result.CustomerGridForStrangerResultDTO"> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( |
|
|
|
|
|
SELECT |
|
|
|
|
|
b.id AS grid_id, |
|
|
|
|
|
b.customer_id, |
|
|
|
|
|
concat(agency.fullname , '-' ,b.grid_name) as gridName |
|
|
|
|
|
FROM |
|
|
|
|
|
CUSTOMER_GRID b |
|
|
|
|
|
|
|
|
SELECT c.* |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LEFT JOIN ( |
|
|
|
|
|
SELECT |
|
|
|
|
|
a1.id, |
|
|
|
|
|
CASE |
|
|
|
|
|
|
|
|
|
|
|
WHEN a2.ORGANIZATION_NAME IS NULL THEN |
|
|
|
|
|
a1.ORGANIZATION_NAME ELSE concat( a2.ORGANIZATION_NAME, '-', a1.ORGANIZATION_NAME ) |
|
|
|
|
|
END AS fullname |
|
|
FROM |
|
|
FROM |
|
|
( |
|
|
customer_agency a1 |
|
|
|
|
|
LEFT JOIN customer_agency a2 ON a1.PID = a2.ID |
|
|
( |
|
|
AND a1.del_flag = '0' |
|
|
SELECT |
|
|
WHERE |
|
|
a.id AS grid_id, |
|
|
a1.del_flag = '0' |
|
|
a.customer_id, |
|
|
) agency ON b.PID = agency.ID |
|
|
a.grid_name |
|
|
|
|
|
FROM |
|
|
|
|
|
CUSTOMER_GRID a |
|
|
|
|
|
WHERE |
|
|
WHERE |
|
|
a.del_flag = 0 |
|
|
b.del_flag = 0 |
|
|
AND |
|
|
AND |
|
|
a.area_code = #{areaCode} |
|
|
(b.area_code LIKE CONCAT(#{cityCode},'%') OR b.area_code = #{provinceCode}) |
|
|
ORDER BY |
|
|
|
|
|
CONVERT ( a.grid_name USING gbk ) ASC |
|
|
AND <![CDATA[ b.area_code <> #{areaCode} |
|
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
UNION |
|
|
|
|
|
|
|
|
|
|
|
( |
|
|
|
|
|
SELECT |
|
|
|
|
|
b.id AS grid_id, |
|
|
|
|
|
b.customer_id, |
|
|
|
|
|
b.grid_name |
|
|
|
|
|
FROM |
|
|
|
|
|
CUSTOMER_GRID b |
|
|
|
|
|
WHERE |
|
|
|
|
|
b.del_flag = 0 |
|
|
|
|
|
AND |
|
|
|
|
|
b.area_code LIKE CONCAT(#{cityCode},'%') |
|
|
|
|
|
|
|
|
|
|
|
AND <![CDATA[ b.area_code <> #{areaCode} |
|
|
|
|
|
]]> |
|
|
]]> |
|
|
ORDER BY |
|
|
ORDER BY |
|
|
CONVERT ( b.grid_name USING gbk ) ASC |
|
|
b.area_code DESC ,CONVERT ( gridName USING gbk ) ASC |
|
|
|
|
|
LIMIT 0,999999999999 |
|
|
|
|
|
|
|
|
) |
|
|
) |
|
|
) AS c |
|
|
) AS c |
|
|
LIMIT #{pageNo}, #{pageSize} |
|
|
LIMIT #{pageNo}, #{pageSize} |
|
|
|
|
|
|
|
|
</select> |
|
|
</select> |
|
|