Browse Source

【PC项目及议题数量修改】-【sql调整】-(王童)-2020/05/22

feature/dangjian
Jackwang 5 years ago
parent
commit
d10b7bd210
  1. 70
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml

70
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml

@ -141,19 +141,36 @@
<select id="selectListItemCount" resultType="com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO">
SELECT
GRID_ID AS gridId,
IFNULL(SUM( ITEM_STATE = 0 )+SUM( ITEM_STATE = 5 )+SUM( ITEM_STATE = 10 ),0) AS itemCount,
IFNULL(SUM( ITEM_STATE = '10' OR ITEM_STATE = '5' OR NULL ),0) AS itemCloseCount,
IFNULL(SUM(EVALUATION_SCORE != '0' OR NULL),0) AS itemPraiseCount
COUNT( STATE = 0 OR NULL)+COUNT( STATE = 5 OR NULL)+COUNT( STATE = 10 OR NULL) AS itemCount,
COUNT( STATE = '10' OR STATE = '5' OR NULL ) AS itemCloseCount,
COUNT((EVALUATION_SCORE != '0'
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND DATE_FORMAT(EVALUATION_TIME,'%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
</if>) OR NULL) AS itemPraiseCount
FROM
esua_epdc_events.epdc_item
WHERE
(SELECT DISTINCT
item.*,handle.STATE
FROM
esua_epdc_events.epdc_item item
LEFT JOIN ( SELECT MAX( CREATED_TIME ) AS CREATED_TIME, ITEM_ID FROM esua_epdc_events.epdc_item_handle_process
WHERE
DEL_FLAG = '0'
<if test="gridIdList != null and gridIdList.size() > 0">
AND GRID_ID in <include refid="foreachGridIdList"></include>
</if>
<if test="startTime != null and endTime != null and endTime != ''">
AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
<if test="endTime != null and endTime != ''">
AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{endTime}
</if>
GROUP BY ITEM_ID
) maxitem ON maxitem.ITEM_ID = item.ID
LEFT JOIN esua_epdc_events.epdc_item_handle_process handle ON maxitem.ITEM_ID = handle.ITEM_ID
AND maxitem.CREATED_TIME = handle.CREATED_TIME)t
WHERE
DEL_FLAG = '0'
<if test="gridIdList != null and gridIdList.size() > 0">
AND GRID_ID in
<include refid="foreachGridIdList"></include>
</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
</if>
GROUP BY GRID_ID
</select>
@ -662,21 +679,36 @@
<select id="selectExportItemCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO">
SELECT
t0.`name` streetName,
IFNULL(SUM( ITEM_STATE = 0 )+SUM( ITEM_STATE = 5 )+SUM( ITEM_STATE = 10 ),0) AS itemCount,
IFNULL(SUM( ITEM_STATE = '10' OR NULL ),0) AS itemCloseCount
FROM
COUNT( STATE = 0 OR NULL)+COUNT( STATE = 5 OR NULL)+COUNT( STATE = 10 OR NULL) AS itemCount,
COUNT( STATE = '10' OR NULL ) AS itemCloseCount
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_events.epdc_item epen ON find_in_set(t0.id, epen.ALL_DEPT_IDS)
LEFT JOIN (SELECT
item.*,handle.STATE
FROM
(select eie.*
from esua_epdc_events.epdc_item eie
left join esua_epdc_admin.sys_dept sd on eie.GRID_ID=sd.ID
where sd.del_flag='0') item
LEFT JOIN ( SELECT MAX( CREATED_TIME ) AS CREATED_TIME, ITEM_ID FROM esua_epdc_events.epdc_item_handle_process WHERE
DEL_FLAG = '0'
<if test="endTime != null and endTime != ''">
AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{endTime}
</if>
GROUP BY ITEM_ID
) maxitem ON maxitem.ITEM_ID = item.ID
LEFT JOIN esua_epdc_events.epdc_item_handle_process handle ON maxitem.ITEM_ID = handle.ITEM_ID
AND maxitem.CREATED_TIME = handle.CREATED_TIME)epen ON find_in_set(t0.id, epen.ALL_DEPT_IDS)
AND epen.DEL_FLAG = '0'
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND DATE_FORMAT(epen.CREATED_TIME,'%Y-%m-%d') BETWEEN #{operationStartTime} AND #{operationEndTime}
@ -685,9 +717,9 @@
and DATE_FORMAT(epen.CREATED_TIME,'%Y-%m-%d') &lt;= DATE_FORMAT(#{endTime},'%Y-%m-%d')
</if>
GROUP BY
t0.id
t0.id
ORDER BY
t0.id ASC
t0.id ASC
</select>
<!--社群数-->
<select id="selectExportGroupCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO">

Loading…
Cancel
Save