榆山
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

367 lines
11 KiB

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.elink.esua.epdc.modules.screen.dao.ScreenGovernanceDao">
<select id="governrankdatadaily" resultType="com.elink.esua.epdc.dto.analysis.pc.screen.result.ScreenGovernRankDataDailyResultDTO">
SELECT
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y%m%d'
) AS dateId,
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
) AS yearId,
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m'
),
'%Y%m'
) AS monthId,
'grid' AS orgType,
sd.id AS orgId,
sd.pid AS parentId,
sd. NAME AS orgName,
IFNULL(count(hp.id), 0) AS responseCount,
IFNULL(st.ITEM_SETTLE_TOTAL, 0) AS resolvedCount,
IFNULL(st.ITEM_CLOSED_TOTAL, 0) AS closedCount,
IFNULL(st.ITEM_CLOSED_TOTAL, 0) AS closedProjectCount,
IFNULL(
ROUND(
(
st.ITEM_SETTLE_TOTAL + st.ITEM_CLOSED_TOTAL
) / st.ITEM_TOTAL,
4
),
0
) AS resolvedRatio,
IFNULL(hs.BYSELF_TOTAL, 0) AS governCount,
IFNULL(
ROUND(
hs.BYSELF_TOTAL / hs.ITEM_TOTAL,
4
),
0
) AS governRatio,
IFNULL(
hs.EVA_GOOD_TOTAL + hs.EVA_VERYGOOD_TOTAL,
0
) AS satisfactionCount,
IFNULL(
ROUND(
(
hs.EVA_GOOD_TOTAL + hs.EVA_VERYGOOD_TOTAL
) / hs.ITEM_TOTAL,
4
),
0
) AS satisfactionRatio
FROM
esua_epdc_admin.sys_dept sd
LEFT JOIN esua_epdc_events.epdc_item_handle_process hp ON hp.HANDLER_DEPT_ID = sd.id
AND hp.DEL_FLAG = '0'
AND DATE_FORMAT(hp.CREATED_TIME, '%Y-%m-%d') &lt;= DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
)
LEFT JOIN esua_epdc_analysis.epdc_issue_item_statistics st ON st.GRID_ID = sd.id
LEFT JOIN esua_epdc_analysis.epdc_grid_handle_statistics hs ON hs.DEPT_ID = sd.id
WHERE
sd.del_flag = '0'
AND sd.type_key = 'grid_party'
AND sd.id NOT IN (
SELECT
t.dept_id
FROM
esua_epdc_admin.sys_dept_config t
WHERE
t.del_flag = '0'
)
GROUP BY
sd.id
</select>
<select id="governrankdatadailyAgency" resultType="com.elink.esua.epdc.dto.analysis.pc.screen.result.ScreenGovernRankDataDailyResultDTO">
SELECT
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y%m%d'
) AS dateId,
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
) AS yearId,
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m'
),
'%Y%m'
) AS monthId,
'agency' AS orgType,
sd.id AS orgId,
sd.pid AS parentId,
sd. NAME AS orgName,
IFNULL(count(hp.id), 0) AS responseCount,
IFNULL(st.ITEM_SETTLE_TOTAL, 0) AS resolvedCount,
IFNULL(st.ITEM_CLOSED_TOTAL, 0) AS closedCount,
IFNULL(st.ITEM_CLOSED_TOTAL, 0) AS closedProjectCount,
IFNULL(
ROUND(
(
st.ITEM_SETTLE_TOTAL + st.ITEM_CLOSED_TOTAL
) / st.ITEM_TOTAL,
4
),
0
) AS resolvedRatio,
IFNULL(hs.BYSELF_TOTAL, 0) AS governCount,
IFNULL(
ROUND(
hs.BYSELF_TOTAL / hs.ITEM_TOTAL,
4
),
0
) AS governRatio,
IFNULL(
hs.EVA_GOOD_TOTAL + hs.EVA_VERYGOOD_TOTAL,
0
) AS satisfactionCount,
IFNULL(
ROUND(
(
hs.EVA_GOOD_TOTAL + hs.EVA_VERYGOOD_TOTAL
) / hs.ITEM_TOTAL,
4
),
0
) AS satisfactionRatio
FROM
esua_epdc_admin.sys_dept sd
LEFT JOIN esua_epdc_events.epdc_item_handle_process hp ON hp.HANDLER_DEPT_ID = sd.id
AND hp.DEL_FLAG = '0'
AND DATE_FORMAT(hp.CREATED_TIME, '%Y-%m-%d') &lt;= DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
)
LEFT JOIN esua_epdc_analysis.epdc_issue_item_statistics st ON st.GRID_ID = sd.id
LEFT JOIN esua_epdc_analysis.epdc_grid_handle_statistics hs ON hs.DEPT_ID = sd.id
WHERE
sd.del_flag = '0'
AND sd.id NOT IN (
SELECT
t.dept_id
FROM
esua_epdc_admin.sys_dept_config t
WHERE
t.del_flag = '0'
)
AND sd.type_key IN (
'community_party',
'street_party'
)
GROUP BY
sd.id
</select>
<select id="governrankdatadailyNoResp" resultType="com.elink.esua.epdc.dto.analysis.pc.screen.result.ScreenGovernRankDataDailyResultDTO">
SELECT
d.DEPT_ID AS orgId,
COUNT(0) AS responseCount
FROM
esua_epdc_events.epdc_item_dept d
LEFT JOIN esua_epdc_events.epdc_item i ON i.ID = d.ITEM_ID
WHERE
d.ITEM_HANDLE_ID IS NOT NULL
AND d.DEL_FLAG = '0'
AND i.DEL_FLAG = '0'
AND i.ITEM_STATE = '0'
AND DATE_FORMAT(d.CREATED_TIME, '%Y-%m-%d') &lt;= DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
)
GROUP BY
d.DEPT_ID
</select>
<select id="agencygoverndaily" resultType="com.elink.esua.epdc.dto.analysis.pc.screen.result.ScreenGridGovernDailyResultDTO">
SELECT
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y%m%d'
) AS dateId,
sd.id AS gridId,
sd.pid,
sd.pids
FROM
esua_epdc_admin.sys_dept sd
LEFT JOIN (
SELECT
GRID_ID,
GRID,
COUNT(0) AS topicResolvedCount,
COUNT(0) AS inGroupTopicResolvedCount,
0 AS topicUnResolvedCount,
0 AS inGroupTopicUnResolvedCount
FROM
esua_epdc_group.epdc_topic et
WHERE
et.DEL_FLAG = '0'
AND et.STATE = '20'
GROUP BY
et.GRID_ID
) topic ON topic.GRID_ID = sd.id
LEFT JOIN (
SELECT
GRID_ID,
GRID,
COUNT(0) AS issueResolvedCount,
0 AS issueUnResolvedCount
FROM
esua_epdc_events.epdc_issue eis
WHERE
eis.DEL_FLAG = '0'
AND eis.ISSUE_STATE = '2'
GROUP BY
eis.GRID_ID
) issue ON issue.GRID_ID = sd.id
LEFT JOIN (
SELECT
GRID_ID,
GRID,
COUNT(0) AS issueProjectResolvedCount,
0 AS issueProjectUnResolvedCount
FROM
esua_epdc_events.epdc_item eit
WHERE
eit.DEL_FLAG = '0'
AND eit.ITEM_STATE IN ('5', '10')
GROUP BY
GRID_ID
) item ON item.GRID_ID = sd.id
LEFT JOIN (
SELECT
GRID_ID,
GRID,
COUNT(0) AS fromIssueResolvedInGridCount,
0 AS fromIssueUnResolvedInGridCount
FROM
(
SELECT
GRID_ID,
GRID,
eit.id,
hp.HANDLER_DEPT_ID
FROM
esua_epdc_events.epdc_item eit
LEFT JOIN esua_epdc_events.epdc_item_handle_process hp ON hp.item_id = eit.id
WHERE
eit.DEL_FLAG = '0'
AND hp.DEL_FLAG = '0'
AND eit.ITEM_STATE IN ('5', '10')
GROUP BY
eit.GRID_ID,
eit.ID
HAVING
COUNT(DISTINCT hp.HANDLER_DEPT_ID) = 1
) t
WHERE
t.GRID_ID = t.HANDLER_DEPT_ID
GROUP BY
t.GRID_ID
) selfsolved ON selfsolved.GRID_ID = sd.id
LEFT JOIN (
SELECT
GRID_ID,
GRID,
COUNT(0) AS communityClosedCount
FROM
(
SELECT
GRID_ID,
GRID,
eit.id,
hp.HANDLER_DEPT_ID
FROM
esua_epdc_events.epdc_item eit
LEFT JOIN esua_epdc_events.epdc_item_handle_process hp ON hp.item_id = eit.id
LEFT JOIN esua_epdc_admin.sys_dept sd ON sd.id = hp.HANDLER_DEPT_ID
WHERE
eit.DEL_FLAG = '0'
AND hp.DEL_FLAG = '0'
AND eit.ITEM_STATE IN ('5', '10')
AND hp.STATE IN ('5', '10')
AND sd.type_key = 'community_party'
GROUP BY
eit.GRID_ID,
eit.ID
) t
GROUP BY
t.GRID_ID
) commsolved ON commsolved.GRID_ID = sd.id
LEFT JOIN (
SELECT
GRID_ID,
GRID,
COUNT(0) AS streetClosedCount
FROM
(
SELECT
GRID_ID,
GRID,
eit.id,
hp.HANDLER_DEPT_ID
FROM
esua_epdc_events.epdc_item eit
LEFT JOIN esua_epdc_events.epdc_item_handle_process hp ON hp.item_id = eit.id
LEFT JOIN esua_epdc_admin.sys_dept sd ON sd.id = hp.HANDLER_DEPT_ID
WHERE
eit.DEL_FLAG = '0'
AND hp.DEL_FLAG = '0'
AND eit.ITEM_STATE IN ('5', '10')
AND hp.STATE IN ('5', '10')
AND sd.type_key = 'street_party'
GROUP BY
eit.GRID_ID,
eit.ID
) t
GROUP BY
t.GRID_ID
) streetsolved ON streetsolved.GRID_ID = sd.id
WHERE
sd.del_flag = '0'
AND sd.type_key = 'grid_party'
AND sd.id NOT IN (
SELECT
t.dept_id
FROM
esua_epdc_admin.sys_dept_config t
WHERE
t.del_flag = '0'
)
GROUP BY
sd.id
</select>
</mapper>