Browse Source

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

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

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

@ -141,17 +141,34 @@
<select id="selectListItemCount" resultType="com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO"> <select id="selectListItemCount" resultType="com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO">
SELECT SELECT
GRID_ID AS gridId, GRID_ID AS gridId,
IFNULL(SUM( ITEM_STATE = 0 )+SUM( ITEM_STATE = 5 )+SUM( ITEM_STATE = 10 ),0) AS itemCount, COUNT( STATE = 0 OR NULL)+COUNT( STATE = 5 OR NULL)+COUNT( STATE = 10 OR NULL) AS itemCount,
IFNULL(SUM( ITEM_STATE = '10' OR ITEM_STATE = '5' OR NULL ),0) AS itemCloseCount, COUNT( STATE = '10' OR STATE = '5' OR NULL ) AS itemCloseCount,
IFNULL(SUM(EVALUATION_SCORE != '0' OR NULL),0) AS itemPraiseCount 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 FROM
esua_epdc_events.epdc_item (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="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 WHERE
DEL_FLAG = '0' DEL_FLAG = '0'
<if test="gridIdList != null and gridIdList.size() > 0"> <if test="gridIdList != null and gridIdList.size() > 0">
AND GRID_ID in <include refid="foreachGridIdList"></include> AND GRID_ID in
<include refid="foreachGridIdList"></include>
</if> </if>
<if test="startTime != null and endTime != null and endTime != ''"> <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') BETWEEN #{startTime} AND #{endTime} AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
</if> </if>
GROUP BY GRID_ID GROUP BY GRID_ID
@ -662,8 +679,8 @@
<select id="selectExportItemCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO"> <select id="selectExportItemCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO">
SELECT SELECT
t0.`name` streetName, t0.`name` streetName,
IFNULL(SUM( ITEM_STATE = 0 )+SUM( ITEM_STATE = 5 )+SUM( ITEM_STATE = 10 ),0) AS itemCount, COUNT( STATE = 0 OR NULL)+COUNT( STATE = 5 OR NULL)+COUNT( STATE = 10 OR NULL) AS itemCount,
IFNULL(SUM( ITEM_STATE = '10' OR NULL ),0) AS itemCloseCount COUNT( STATE = '10' OR NULL ) AS itemCloseCount
FROM FROM
( (
SELECT SELECT
@ -676,7 +693,22 @@
ad.id IN <include refid="foreachAllDeptIdsShow"></include> ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0 AND ad.del_flag = 0
) t0 ) 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' AND epen.DEL_FLAG = '0'
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''"> <if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND DATE_FORMAT(epen.CREATED_TIME,'%Y-%m-%d') BETWEEN #{operationStartTime} AND #{operationEndTime} AND DATE_FORMAT(epen.CREATED_TIME,'%Y-%m-%d') BETWEEN #{operationStartTime} AND #{operationEndTime}

Loading…
Cancel
Save