榆山
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.

1271 lines
43 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.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>
</mapper>