<?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.ScreenBaseReportDao" >
<select id= "gridHotTopic" resultType= "com.elink.esua.epdc.dto.screen.result.ScreenGridHotTopicResultDTO" >
SELECT
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) AS dateId,
CONCAT(
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
),
'W',
WEEK (
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m-%d'
)
)
) weekId,
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
) AS yearId,
CONCAT(
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
),
'Q',
QUARTER (
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m-%d'
)
)
) quarterId,
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m'
),
'%Y%m'
) AS monthId,
sd.id AS gridId,
sd.pid AS agencyId,
COUNT(0) AS topicTotal,
'hot_discuss' AS STATUS,
SUM(
CASE
WHEN et.STATE = '0' THEN
1
ELSE
0
END
) AS topicCount
FROM
esua_epdc_admin.sys_dept sd
LEFT JOIN esua_epdc_group.epdc_topic et ON sd.id = et.GRID_ID
WHERE
sd.del_flag = '0'
AND et.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= "agencyHotTopic" resultType= "com.elink.esua.epdc.dto.screen.result.ScreenAgencyHotTopicResultDTO" >
SELECT
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) AS dateId,
CONCAT(
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
),
'W',
WEEK (
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m-%d'
)
)
) weekId,
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
) AS yearId,
CONCAT(
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
),
'Q',
QUARTER (
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m-%d'
)
)
) quarterId,
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m'
),
'%Y%m'
) AS monthId,
sdp.id AS agencyId,
sdp.pid AS pid,
COUNT(0) AS topicTotal,
'hot_discuss' AS STATUS,
SUM(
CASE
WHEN et.STATE = '0' THEN
1
ELSE
0
END
) AS topicCount
FROM
esua_epdc_admin.sys_dept sd
LEFT JOIN esua_epdc_admin.sys_dept sdp ON sd.pid = sdp.id
LEFT JOIN esua_epdc_group.epdc_topic et ON sd.id = et.GRID_ID
WHERE
sd.del_flag = '0'
AND et.DEL_FLAG = '0'
AND sdp.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'
)
GROUP BY
sd.pid
UNION ALL
SELECT
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) AS dateId,
CONCAT(
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
),
'W',
WEEK (
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m-%d'
)
)
) weekId,
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
) AS yearId,
CONCAT(
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
),
'Q',
QUARTER (
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m-%d'
)
)
) quarterId,
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m'
),
'%Y%m'
) AS monthId,
sdgp.id AS agencyId,
sdgp.pid AS pid,
COUNT(0) AS topicTotal,
'hot_discuss' AS STATUS,
SUM(
CASE
WHEN et.STATE = '0' THEN
1
ELSE
0
END
) AS topicCount
FROM
esua_epdc_admin.sys_dept sd
LEFT JOIN esua_epdc_admin.sys_dept sdp ON sd.pid = sdp.id
LEFT JOIN esua_epdc_admin.sys_dept sdgp ON sdp.pid = sdgp.id
LEFT JOIN esua_epdc_group.epdc_topic et ON sd.id = et.GRID_ID
WHERE
sd.del_flag = '0'
AND et.DEL_FLAG = '0'
AND sdp.del_flag = '0'
AND sdgp.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'
)
</select>
<select id= "gridIssue" resultType= "com.elink.esua.epdc.dto.screen.result.ScreenGridIssueResultDTO" >
SELECT
t.*, ROUND(
t.shiftProjectIncr / t.shiftProjectTotal,
6
) AS shiftProjectPercent,
t.closedIncr AS closedResolvedIncr,
0 AS closedUnresolvedIncr,
t.closedTotal AS closedResolvedTotal,
0 AS closedUnresolvedTotal,
1 AS closedPercent,
0 AS closedResolvedPercent,
0 AS closedUnresolvedPercent,
0 AS closedCaseIncr,
0 AS closedCaseResolvedIncr,
0 AS closedCaseUnresolvedIncr,
0 AS closedCaseTotal,
0 AS closedCaseResolvedTotal,
0 AS closedCaseUnresolvedTotal,
0 AS closedCaseResolvedPercent,
0 AS closedCaseUnresolvedPercent
FROM
(
SELECT
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) AS dateId,
CONCAT(
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
),
'W',
WEEK (
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m-%d'
)
)
) weekId,
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
) AS yearId,
CONCAT(
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
),
'Q',
QUARTER (
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m-%d'
)
)
) quarterId,
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m'
),
'%Y%m'
) AS monthId,
sd.id AS gridId,
sd.pid AS agencyId,
COUNT(0) AS issueTotal,
SUM(
CASE
WHEN DATE_FORMAT(
eis.CREATED_TIME,
'%Y-%m-%d'
) = DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) THEN
1
ELSE
0
END
) AS issueIncr,
SUM(
CASE
WHEN DATE_FORMAT(
eit.CREATED_TIME,
'%Y-%m-%d'
) = DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
)
AND eis.issue_state = '4' THEN
1
ELSE
0
END
) AS shiftProjectIncr,
SUM(
CASE
WHEN eis.issue_state = '4' THEN
1
ELSE
0
END
) AS shiftProjectTotal,
0 AS votingIncr,
0 AS votingTotal,
0 AS votingPercent,
SUM(
CASE
WHEN DATE_FORMAT(
eis.UPDATED_TIME,
'%Y-%m-%d'
) = DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
)
AND eis.ISSUE_STATE = '2' THEN
1
ELSE
0
END
) AS closedIncr,
SUM(
CASE
WHEN eis.issue_state = '2' THEN
1
ELSE
0
END
) AS closedTotal
FROM
esua_epdc_admin.sys_dept sd
LEFT JOIN esua_epdc_events.epdc_issue eis ON sd.id = eis.GRID_ID
LEFT JOIN esua_epdc_events.epdc_item eit ON eit.ISSUE_ID = eis.ID
WHERE
sd.del_flag = '0'
AND eis.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
) t
</select>
<select id= "agencyIssue" resultType= "com.elink.esua.epdc.dto.screen.result.ScreenAgencyIssueResultDTO" >
SELECT
t.*, ROUND(
t.shiftProjectIncr / t.shiftProjectTotal,
6
) AS shiftProjectPercent,
t.closedIncr AS closedResolvedIncr,
0 AS closedUnresolvedIncr,
t.closedTotal AS closedResolvedTotal,
0 AS closedUnresolvedTotal,
1 AS closedPercent,
0 AS closedResolvedPercent,
0 AS closedUnresolvedPercent,
0 AS closedCaseIncr,
0 AS closedCaseResolvedIncr,
0 AS closedCaseUnresolvedIncr,
0 AS closedCaseTotal,
0 AS closedCaseResolvedTotal,
0 AS closedCaseUnresolvedTotal,
0 AS closedCaseResolvedPercent,
0 AS closedCaseUnresolvedPercent
FROM
(
SELECT
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) AS dateId,
CONCAT(
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
),
'W',
WEEK (
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m-%d'
)
)
) weekId,
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
) AS yearId,
CONCAT(
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
),
'Q',
QUARTER (
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m-%d'
)
)
) quarterId,
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m'
),
'%Y%m'
) AS monthId,
sdp.id AS agencyId,
sdp.pid AS pid,
COUNT(0) AS issueTotal,
SUM(
CASE
WHEN DATE_FORMAT(
eis.CREATED_TIME,
'%Y-%m-%d'
) = DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) THEN
1
ELSE
0
END
) AS issueIncr,
SUM(
CASE
WHEN DATE_FORMAT(
eit.CREATED_TIME,
'%Y-%m-%d'
) = DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
)
AND eis.issue_state = '4' THEN
1
ELSE
0
END
) AS shiftProjectIncr,
SUM(
CASE
WHEN eis.issue_state = '4' THEN
1
ELSE
0
END
) AS shiftProjectTotal,
0 AS votingIncr,
0 AS votingTotal,
0 AS votingPercent,
SUM(
CASE
WHEN DATE_FORMAT(
eis.UPDATED_TIME,
'%Y-%m-%d'
) = DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
)
AND eis.ISSUE_STATE = '2' THEN
1
ELSE
0
END
) AS closedIncr,
SUM(
CASE
WHEN eis.issue_state = '2' THEN
1
ELSE
0
END
) AS closedTotal
FROM
esua_epdc_admin.sys_dept sd
LEFT JOIN esua_epdc_admin.sys_dept sdp ON sd.pid = sdp.id
LEFT JOIN esua_epdc_events.epdc_issue eis ON sd.id = eis.GRID_ID
LEFT JOIN esua_epdc_events.epdc_item eit ON eit.ISSUE_ID = eis.ID
WHERE
sd.del_flag = '0'
AND eis.DEL_FLAG = '0'
AND sdp.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'
)
GROUP BY
sd.id
UNION ALL
SELECT
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) AS dateId,
CONCAT(
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
),
'W',
WEEK (
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m-%d'
)
)
) weekId,
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
) AS yearId,
CONCAT(
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
),
'Q',
QUARTER (
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m-%d'
)
)
) quarterId,
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m'
),
'%Y%m'
) AS monthId,
sdgp.id AS agencyId,
sdgp.pid AS pid,
COUNT(0) AS issueTotal,
SUM(
CASE
WHEN DATE_FORMAT(
eis.CREATED_TIME,
'%Y-%m-%d'
) = DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) THEN
1
ELSE
0
END
) AS issueIncr,
SUM(
CASE
WHEN DATE_FORMAT(
eit.CREATED_TIME,
'%Y-%m-%d'
) = DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
)
AND eis.issue_state = '4' THEN
1
ELSE
0
END
) AS shiftProjectIncr,
SUM(
CASE
WHEN eis.issue_state = '4' THEN
1
ELSE
0
END
) AS shiftProjectTotal,
0 AS votingIncr,
0 AS votingTotal,
0 AS votingPercent,
SUM(
CASE
WHEN DATE_FORMAT(
eis.UPDATED_TIME,
'%Y-%m-%d'
) = DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
)
AND eis.ISSUE_STATE = '2' THEN
1
ELSE
0
END
) AS closedIncr,
SUM(
CASE
WHEN eis.issue_state = '2' THEN
1
ELSE
0
END
) AS closedTotal
FROM
esua_epdc_admin.sys_dept sd
LEFT JOIN esua_epdc_admin.sys_dept sdp ON sd.pid = sdp.id
LEFT JOIN esua_epdc_admin.sys_dept sdgp ON sdp.pid = sdgp.id
LEFT JOIN esua_epdc_events.epdc_issue eis ON sd.id = eis.GRID_ID
LEFT JOIN esua_epdc_events.epdc_item eit ON eit.ISSUE_ID = eis.ID
WHERE
sd.del_flag = '0'
AND eis.DEL_FLAG = '0'
AND sdp.del_flag = '0'
AND sdgp.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'
)
) t
</select>
<select id= "gridRegUser" resultType= "com.elink.esua.epdc.dto.screen.result.ScreenGridRegUserResultDTO" >
SELECT
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) AS dateId,
CONCAT(
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
),
'W',
WEEK (
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m-%d'
)
)
) weekId,
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
) AS yearId,
sd.id AS gridId,
sd.pid AS agencyId,
COUNT(0) AS regTotal,
COUNT(0) AS resiTotal,
SUM(
CASE
WHEN eu.PARTY_FLAG = '0' THEN
1
ELSE
0
END
) AS warmHeartedTotal,
SUM(
CASE
WHEN eu.PARTY_FLAG = '1' THEN
1
ELSE
0
END
) AS partymemberTotal,
SUM(
CASE
WHEN DATE_FORMAT(r.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) THEN
1
ELSE
0
END
) AS regIncr,
SUM(
CASE
WHEN eu.PARTY_FLAG = '0'
AND DATE_FORMAT(r.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) THEN
1
ELSE
0
END
) AS warmIncr,
SUM(
CASE
WHEN ua.AUTHENTICATED_TYPE = '1'
AND ua.AUTHENTICATED_FLAG = '1'
AND DATE_FORMAT(ua.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) THEN
1
ELSE
0
END
) AS partymemberIncr,
COUNT(0) / COUNT(0) AS resiProportion,
ROUND(
SUM(
CASE
WHEN eu.PARTY_FLAG = '1' THEN
1
ELSE
0
END
) / COUNT(0),
6
) AS partymemberProportion,
ROUND(
SUM(
CASE
WHEN eu.PARTY_FLAG = '0' THEN
1
ELSE
0
END
) / COUNT(0),
6
) AS warmHeartedProportion
FROM
esua_epdc_admin.sys_dept sd
LEFT JOIN esua_epdc_user.epdc_user eu ON sd.id = eu.DEPT_ID
LEFT JOIN esua_epdc_user.epdc_user_authenticate_history ua ON ua.USER_ID = eu.id
LEFT JOIN (
SELECT
USER_ID,
CREATED_TIME
FROM
esua_epdc_user.epdc_user_grid_relation
WHERE
DEL_FLAG = '0'
GROUP BY
USER_ID
HAVING
COUNT(USER_ID) = 1
) r ON r.USER_ID = eu.id
WHERE
sd.del_flag = '0'
AND eu.DEL_FLAG = '0'
AND sd.type_key = 'grid_party'
AND eu.STATE = '3'
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= "agencyRegUser" resultType= "com.elink.esua.epdc.dto.screen.result.ScreenAgencyRegUserResultDTO" >
SELECT
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) AS dateId,
CONCAT(
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
),
'W',
WEEK (
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m-%d'
)
)
) weekId,
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
) AS yearId,
sd.pid AS agencyId,
COUNT(0) AS regTotal,
COUNT(0) AS resiTotal,
SUM(
CASE
WHEN eu.PARTY_FLAG = '0' THEN
1
ELSE
0
END
) AS warmHeartedTotal,
SUM(
CASE
WHEN eu.PARTY_FLAG = '1' THEN
1
ELSE
0
END
) AS partymemberTotal,
SUM(
CASE
WHEN DATE_FORMAT(r.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) THEN
1
ELSE
0
END
) AS regIncr,
SUM(
CASE
WHEN eu.PARTY_FLAG = '0'
AND DATE_FORMAT(r.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) THEN
1
ELSE
0
END
) AS warmIncr,
SUM(
CASE
WHEN ua.AUTHENTICATED_TYPE = '1'
AND ua.AUTHENTICATED_FLAG = '1'
AND DATE_FORMAT(ua.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) THEN
1
ELSE
0
END
) AS partymemberIncr,
COUNT(0) / COUNT(0) AS resiProportion,
ROUND(
SUM(
CASE
WHEN eu.PARTY_FLAG = '1' THEN
1
ELSE
0
END
) / COUNT(0),
6
) AS partymemberProportion,
ROUND(
SUM(
CASE
WHEN eu.PARTY_FLAG = '0' THEN
1
ELSE
0
END
) / COUNT(0),
6
) AS warmHeartedProportion
FROM
esua_epdc_admin.sys_dept sd
LEFT JOIN esua_epdc_user.epdc_user eu ON sd.id = eu.DEPT_ID
LEFT JOIN esua_epdc_user.epdc_user_authenticate_history ua ON ua.USER_ID = eu.id
LEFT JOIN (
SELECT
USER_ID,
CREATED_TIME
FROM
esua_epdc_user.epdc_user_grid_relation
WHERE
DEL_FLAG = '0'
GROUP BY
USER_ID
HAVING
COUNT(USER_ID) = 1
) r ON r.USER_ID = eu.id
WHERE
sd.del_flag = '0'
AND eu.DEL_FLAG = '0'
AND eu.STATE = '3'
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.pid
UNION ALL
SELECT
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) AS dateId,
CONCAT(
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
),
'W',
WEEK (
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y-%m-%d'
)
)
) weekId,
DATE_FORMAT(
STR_TO_DATE(
DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
),
'%Y'
),
'%Y'
) AS yearId,
sdp.pid AS agencyId,
COUNT(0) AS regTotal,
COUNT(0) AS resiTotal,
SUM(
CASE
WHEN eu.PARTY_FLAG = '0' THEN
1
ELSE
0
END
) AS warmHeartedTotal,
SUM(
CASE
WHEN eu.PARTY_FLAG = '1' THEN
1
ELSE
0
END
) AS partymemberTotal,
SUM(
CASE
WHEN DATE_FORMAT(r.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) THEN
1
ELSE
0
END
) AS regIncr,
SUM(
CASE
WHEN eu.PARTY_FLAG = '0'
AND DATE_FORMAT(r.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) THEN
1
ELSE
0
END
) AS warmIncr,
SUM(
CASE
WHEN ua.AUTHENTICATED_TYPE = '1'
AND ua.AUTHENTICATED_FLAG = '1'
AND DATE_FORMAT(ua.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(
date_add(now(), INTERVAL - 1 DAY),
'%Y-%m-%d'
) THEN
1
ELSE
0
END
) AS partymemberIncr,
COUNT(0) / COUNT(0) AS resiProportion,
ROUND(
SUM(
CASE
WHEN eu.PARTY_FLAG = '1' THEN
1
ELSE
0
END
) / COUNT(0),
6
) AS partymemberProportion,
ROUND(
SUM(
CASE
WHEN eu.PARTY_FLAG = '0' THEN
1
ELSE
0
END
) / COUNT(0),
6
) AS warmHeartedProportion
FROM
esua_epdc_admin.sys_dept sd
LEFT JOIN esua_epdc_admin.sys_dept sdp ON sd.pid = sdp.id
LEFT JOIN esua_epdc_user.epdc_user eu ON sd.id = eu.DEPT_ID
LEFT JOIN esua_epdc_user.epdc_user_authenticate_history ua ON ua.USER_ID = eu.id
LEFT JOIN (
SELECT
USER_ID,
CREATED_TIME
FROM
esua_epdc_user.epdc_user_grid_relation
WHERE
DEL_FLAG = '0'
GROUP BY
USER_ID
HAVING
COUNT(USER_ID) = 1
) r ON r.USER_ID = eu.id
WHERE
sd.del_flag = '0'
AND sdp.del_flag = '0'
AND eu.DEL_FLAG = '0'
AND eu.STATE = '3'
AND sd.id NOT IN (
SELECT
t.dept_id
FROM
esua_epdc_admin.sys_dept_config t
WHERE
t.del_flag = '0'
)
</select>
<select id= "selectGridTopicStatusList"
resultType="com.elink.esua.epdc.dto.screen.result.GridTopicStatusResultDTO">
select t.*,
#{customId} as customerId,
DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') as dateId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y'),
'W',
WEEK(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y-%m-%d'))) weekId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y') AS yearId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y'),
'Q',
QUARTER(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'),
'%Y-%m-%d'))) quarterId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y-%m'), '%Y%m') AS monthId
from
(
select
grid.pid as agencyId,
grid.id as gridId,
'discussi' as topicStatusId,
count(et.STATE = 0 or null) as topicCount,
ifnull(round(ifnull(count(et.STATE = 0 or null), 0) / ifnull(count(et.ID), 0),2),0) as topicProportion,
ifnull(count(et.STATE = 0
and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as topicIncrement
from esua_epdc_admin.sys_dept grid
left join esua_epdc_group.epdc_topic et on et.GRID_ID = grid.ID and et.DEL_FLAG = '0'
and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') < = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d')
where grid.del_flag = '0'
and grid.type_key = 'grid_party'
and grid.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0')
group by grid.id
union all
select grid.pid as agencyId,
grid.id as gridId,
'hidden' as topicStatusId,
0 as topicCount,
0 as topicProportion,
0 as topicIncrement
from esua_epdc_admin.sys_dept grid
where grid.del_flag = '0'
and grid.type_key = 'grid_party'
and grid.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0')
group by grid.id
union all
select
grid.pid as agencyId,
grid.id as gridId,
'closed' as topicStatusId,
count(et.STATE = 20 or null) as topicCount,
ifnull(round(ifnull(count(et.STATE = 20 or null), 0) / ifnull(count(et.ID), 0),2),0) as topicProportion,
ifnull(count(et.STATE = 20
and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as topicIncrement
from esua_epdc_admin.sys_dept grid
left join esua_epdc_group.epdc_topic et on et.GRID_ID = grid.ID and et.DEL_FLAG = '0'
and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') < = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d')
where grid.del_flag = '0'
and grid.type_key = 'grid_party'
and grid.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0')
group by grid.id
)t
</select>
<select id= "selectCommunityTopicStatusList"
resultType="com.elink.esua.epdc.dto.screen.result.CommunityTopicStatusResultDTO">
select t.*,
#{customId} as customerId,
DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') as dateId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y'),
'W',
WEEK(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y-%m-%d'))) weekId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y') AS yearId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y'),
'Q',
QUARTER(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'),
'%Y-%m-%d'))) quarterId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y-%m'), '%Y%m') AS monthId
from
(
select
community.id as agencyId,
community.pid as pid,
'discussi' as topicStatusId,
count(et.STATE = 0 or null) as topicCount,
ifnull(round(ifnull(count(et.STATE = 0 or null), 0) / ifnull(count(et.ID), 0),2),0) as topicProportion,
ifnull(count(et.STATE = 0
and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as topicIncrement
from esua_epdc_admin.sys_dept grid
left join esua_epdc_admin.sys_dept community on grid.pid = community.id
left join `esua_epdc_group`.epdc_topic et on et.GRID_ID = grid.ID and et.DEL_FLAG = '0'
and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') < = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d')
where grid.del_flag = '0'
and grid.type_key = 'grid_party'
and community.del_flag = '0'
and community.type_key = 'community_party'
and grid.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0')
and community.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0')
group by community.id
union all
select community.id as agencyId,
community.pid as pid,
'hidden' as topicStatusId,
0 as topicCount,
0 as topicProportion,
0 as topicIncrement
from esua_epdc_admin.sys_dept grid
left join esua_epdc_admin.sys_dept community on grid.pid = community.id
where grid.del_flag = '0'
and grid.type_key = 'grid_party'
and community.del_flag = '0'
and community.type_key = 'community_party'
and grid.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0')
group by community.id
union all
select
community.id as agencyId,
community.pid as pid,
'closed' as topicStatusId,
count(et.STATE = 20 or null) as topicCount,
ifnull(round(ifnull(count(et.STATE = 20 or null), 0) / ifnull(count(et.ID), 0),2),0) as topicProportion,
ifnull(count(et.STATE = 20
and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as topicIncrement
from esua_epdc_admin.sys_dept grid
left join esua_epdc_admin.sys_dept community on grid.pid = community.id
left join `esua_epdc_group`.epdc_topic et on et.GRID_ID = grid.ID and et.DEL_FLAG = '0'
and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') < = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d')
where grid.del_flag = '0'
and grid.type_key = 'grid_party'
and community.del_flag = '0'
and community.type_key = 'community_party'
and grid.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0')
and community.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0')
group by community.id
)t
</select>
<select id= "selectGridTopicIssueList"
resultType="com.elink.esua.epdc.dto.screen.result.GridTopicIssueResultDTO">
select
#{customId} as customerId,
DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') as dateId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y'),
'W',
WEEK(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y-%m-%d'))) weekId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y') AS yearId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y'),
'Q',
QUARTER(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'),
'%Y-%m-%d'))) quarterId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y-%m'), '%Y%m') AS monthId,
grid.pid as agencyId,
grid.id as gridId,
ifnull(count(ei.ID),0) as issueTotal,
ifnull((count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null)),0) as issueIncr
from esua_epdc_admin.sys_dept grid
left join esua_epdc_group.epdc_topic et on et.GRID_ID = grid.ID and et.DEL_FLAG = '0' and et.STATE = '10'
left join esua_epdc_events.epdc_issue ei on ei.ID = et.ISSUE_ID and ei.DEL_FLAG = '0'
and DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') < = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d')
where grid.del_flag = '0'
and grid.type_key = 'grid_party'
and grid.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0')
group by grid.id;
</select>
<select id= "selectCommunityTopicIssueList"
resultType="com.elink.esua.epdc.dto.screen.result.CommunityTopicIssueResultDTO">
select
#{customId} as customerId,
DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') as dateId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y'),
'W',
WEEK(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y-%m-%d'))) weekId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y') AS yearId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y'),
'Q',
QUARTER(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'),
'%Y-%m-%d'))) quarterId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y-%m'), '%Y%m') AS monthId,
community.id as agencyId,
community.pid as pid,
ifnull(count(ei.ID),0) as issueTotal,
ifnull((count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null)),0) as issueIncr
from esua_epdc_admin.sys_dept grid
left join esua_epdc_admin.sys_dept community on grid.pid = community.id
left join esua_epdc_group.epdc_topic et on et.GRID_ID = grid.ID and et.DEL_FLAG = '0' and et.STATE = '10'
left join esua_epdc_events.epdc_issue ei on ei.ID = et.ISSUE_ID and ei.DEL_FLAG = '0'
and DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') < = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d')
where grid.del_flag = '0'
and grid.type_key = 'grid_party'
and community.del_flag = '0'
and community.type_key = 'community_party'
and grid.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0')
and community.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0')
group by community.id;
</select>
<select id= "selectGridProjectList"
resultType="com.elink.esua.epdc.dto.screen.result.GridGridProjectResultDTO">
select
grid.id as gridId,
grid.pid as agencyId,
#{customId} as customerId,
DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') as dateId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y'),
'W',
WEEK(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y-%m-%d'))) weekId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y') AS yearId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y'),
'Q',
QUARTER(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'),
'%Y-%m-%d'))) quarterId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y-%m'), '%Y%m') AS monthId,
ifnull(count(ei.ID),0) as projectTotal,
ifnull(count(ei.ITEM_STATE = '0' or null),0) as pendingTotal,
ifnull(round(ifnull(count(ei.ITEM_STATE = '0' or null),0) / ifnull(count(ei.ID),0) * 100),0) as pendingRatio,
ifnull(count(ei.ITEM_STATE = '10' or ei.ITEM_STATE = '5' or null),0) as closedTotal,
ifnull(round(ifnull(count(ei.ITEM_STATE = '10' or ei.ITEM_STATE = '5' or null),0) / ifnull(count(ei.ID),0) * 100),0) as closedRatio,
ifnull(count(ei.ITEM_STATE = '10' or null),0) as resolvedTotal,
ifnull(round(ifnull(count(ei.ITEM_STATE = '10' or null),0) / ifnull(count(ei.ITEM_STATE = '10' or ei.ITEM_STATE = '5' or null),0) * 100),0) as resolvedRatio,
ifnull(count(ei.ITEM_STATE = '5' or null),0) as unresolvedTotal,
ifnull(round(ifnull(count(ei.ITEM_STATE = '5' or null),0) / ifnull(count(ei.ITEM_STATE = '10' or ei.ITEM_STATE = '5' or null),0) * 100),0) as unresolvedRatio,
ifnull(count(ei.ITEM_STATE = '10' and DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as resolvedIncr,
ifnull(count(ei.ITEM_STATE = '5' and DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as unresolvedIncr,
ifnull(count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as projectIncr,
ifnull(count(ei.ITEM_STATE = '0' and DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as pendingIncr,
ifnull(count((ei.ITEM_STATE = '10' or ei.ITEM_STATE = '5') and DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as closedIncr
from esua_epdc_admin.sys_dept grid
left join esua_epdc_events.epdc_item ei on ei.GRID_ID = grid.id and ei.DEL_FLAG ='0'
where grid.del_flag = '0'
and grid.type_key = 'grid_party'
and grid.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0')
and DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') < = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d')
group by grid.id
</select>
<select id= "selectCommunityProjectList"
resultType="com.elink.esua.epdc.dto.screen.result.CommunityProjectResultDTO">
select
community.id as agencyId,
community.pid as parentId,
#{customId} as customerId,
DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') as dateId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y'),
'W',
WEEK(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y-%m-%d'))) weekId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y') AS yearId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y'),
'Q',
QUARTER(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'),
'%Y-%m-%d'))) quarterId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y-%m'), '%Y%m') AS monthId,
ifnull(count(ei.ID),0) as projectTotal,
ifnull(count(ei.ITEM_STATE = '0' or null),0) as pendingTotal,
ifnull(round(ifnull(count(ei.ITEM_STATE = '0' or null),0) / ifnull(count(ei.ID),0) * 100),0) as pendingRatio,
ifnull(count(ei.ITEM_STATE = '10' or ei.ITEM_STATE = '5' or null),0) as closedTotal,
ifnull(round(ifnull(count(ei.ITEM_STATE = '10' or ei.ITEM_STATE = '5' or null),0) / ifnull(count(ei.ID),0) * 100),0) as closedRatio,
ifnull(count(ei.ITEM_STATE = '10' or null),0) as resolvedTotal,
ifnull(round(ifnull(count(ei.ITEM_STATE = '10' or null),0) / ifnull(count(ei.ITEM_STATE = '10' or ei.ITEM_STATE = '5' or null),0) * 100),0) as resolvedRatio,
ifnull(count(ei.ITEM_STATE = '5' or null),0) as unresolvedTotal,
ifnull(round(ifnull(count(ei.ITEM_STATE = '5' or null),0) / ifnull(count(ei.ITEM_STATE = '10' or ei.ITEM_STATE = '5' or null),0) * 100),0) as unresolvedRatio,
ifnull(count(ei.ITEM_STATE = '10' and DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as resolvedIncr,
ifnull(count(ei.ITEM_STATE = '5' and DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as unresolvedIncr,
ifnull(count(DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as projectIncr,
ifnull(count(ei.ITEM_STATE = '0' and DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as pendingIncr,
ifnull(count((ei.ITEM_STATE = '10' or ei.ITEM_STATE = '5') and DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as closedIncr
from esua_epdc_admin.sys_dept grid
left join esua_epdc_admin.sys_dept community on grid.pid = community.id
left join esua_epdc_events.epdc_item ei on ei.GRID_ID = grid.id and ei.DEL_FLAG ='0'
where grid.del_flag = '0'
and grid.type_key = 'grid_party'
and community.del_flag = '0'
and community.type_key = 'community_party'
and grid.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0')
and DATE_FORMAT(ei.CREATED_TIME, '%Y-%m-%d') < = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d')
group by community.id
</select>
<select id= "selectGridGroupTotalList"
resultType="com.elink.esua.epdc.dto.screen.result.GridGroupTotalResultDTO">
select
grid.id as gridId,
grid.pid as agencyId,
#{customId} as customerId,
DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') as dateId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y'),
'W',
WEEK(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y-%m-%d'))) weekId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y') AS yearId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y'),
'Q',
QUARTER(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'),
'%Y-%m-%d'))) quarterId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y-%m'), '%Y%m') AS monthId,
count(eg.ID) as groupTotal,
count(eg.ID) as ordinaryTotal,
0 as branchTotal
from esua_epdc_admin.sys_dept grid
left join esua_epdc_group.epdc_group eg on eg.GRID_ID = grid.id and eg.DEL_FLAG ='0'
where grid.del_flag = '0'
and grid.type_key = 'grid_party'
and grid.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0')
and DATE_FORMAT(eg.CREATED_TIME, '%Y-%m-%d') < = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d')
group by grid.id
</select>
<select id= "selectCommunityGroupTotalList"
resultType="com.elink.esua.epdc.dto.screen.result.CommunityGroupTotalResultDTO">
select
community.id as agencyId,
community.pid as pid,
#{customId} as customerId,
DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') as dateId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y'),
'W',
WEEK(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y-%m-%d'))) weekId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y') AS yearId,
CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y'),
'Q',
QUARTER(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'),
'%Y-%m-%d'))) quarterId,
DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y-%m'), '%Y%m') AS monthId,
count(eg.ID) as groupTotal,
count(eg.ID) as ordinaryTotal,
0 as branchTotal
from esua_epdc_admin.sys_dept grid
left join esua_epdc_admin.sys_dept community on grid.pid = community.id
left join esua_epdc_group.epdc_group eg on eg.GRID_ID = grid.id and eg.DEL_FLAG ='0'
where grid.del_flag = '0'
and grid.type_key = 'grid_party'
and community.del_flag = '0'
and community.type_key = 'community_party'
and grid.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0')
and community.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0')
and DATE_FORMAT(eg.CREATED_TIME, '%Y-%m-%d') < = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d')
group by community.id
</select>
</mapper>