@ -3219,7 +3219,8 @@
'按期响应率' as name,
COUNT(
IF
(getworkminute(b.CREATED_TIME,a.CREATED_TIME) < = 480 ,1, NULL ))/COUNT(1) as value
(getworkminute(b.CREATED_TIME,a.CREATED_TIME) < = 480 ,1, NULL )) as value,
COUNT(1) as total
FROM
( SELECT l1.CREATED_TIME, l1.ITEM_ID FROM epdc_item_report_interface_log l1 WHERE l1.INTERFACE_NAME = '响应接收' ) a
LEFT JOIN ( SELECT l2.CREATED_TIME, l2.ITEM_ID FROM epdc_item_report_interface_log l2 WHERE l2.INTERFACE_NAME LIKE '诉求登记%' ) b ON a.ITEM_ID = b.ITEM_ID
@ -3245,7 +3246,8 @@
'按时回复率' as name,
COUNT(
IF
(getworkminute(b.CREATED_TIME,a.CREATED_TIME) < 2100 ,1, NULL ))/COUNT(1) as value
(getworkminute(b.CREATED_TIME,a.CREATED_TIME) < 2100 ,1, NULL )) as value,
COUNT(1) as total
FROM
( SELECT l1.CREATED_TIME, l1.ITEM_ID FROM epdc_item_report_interface_log l1 WHERE l1.INTERFACE_NAME = '诉求审核' ) a
LEFT JOIN ( SELECT l2.CREATED_TIME, l2.ITEM_ID FROM epdc_item_report_interface_log l2 WHERE l2.INTERFACE_NAME = '响应接收' ) b ON a.ITEM_ID = b.ITEM_ID
@ -3265,6 +3267,134 @@
AND i.PEOPLE_FLAG = #{peopleFlag}
</if>
</select>
<select id= "getReplyDataListByDays"
resultType="com.elink.esua.epdc.dto.item.result.ReplyTotalLineDetailResultDTO">
SELECT
DATE_FORMAT(i.CREATED_TIME,'%Y-%m-%d') as time,
ROUND(COUNT(IF(getworkminute(b.CREATED_TIME,a.CREATED_TIME) < 2100 ,1, NULL )) / count(i.ID) * 100,1) as hf,
ROUND((count(i.ID) - COUNT(IF(getworkminute(b.CREATED_TIME,a.CREATED_TIME) < 2100 ,1, NULL ))) / count(i.ID) * 100,1) as whf
FROM
( SELECT l1.CREATED_TIME, l1.ITEM_ID FROM epdc_item_report_interface_log l1 WHERE l1.INTERFACE_NAME = '诉求审核' ) a
LEFT JOIN ( SELECT l2.CREATED_TIME, l2.ITEM_ID FROM epdc_item_report_interface_log l2 WHERE l2.INTERFACE_NAME = '响应接收' ) b ON a.ITEM_ID = b.ITEM_ID
LEFT JOIN epdc_item i ON i.ID = a.ITEM_ID
WHERE
b.CREATED_TIME IS NOT NULL
<if test= "startTime != null and startTime != ''" >
and i.CREATED_TIME > = #{startTime}
</if>
<if test= "endTime != null and endTime != ''" >
and i.CREATED_TIME < = #{endTime}
</if>
<if test= "deptId != null and deptId != ''" >
AND find_in_set(#{deptId},i.ALL_DEPT_IDS)
</if>
<if test= "peopleFlag != null and peopleFlag != ''" >
AND i.PEOPLE_FLAG = #{peopleFlag}
</if>
AND DATE_FORMAT(i.CREATED_TIME,'%Y-%m-%d') IN
<foreach collection= "timeArr" index= "index" item= "time" open= "(" separator= "," close= ")" >
#{time}
</foreach>
group by DATE_FORMAT(i.CREATED_TIME,'%Y-%m-%d')
ORDER BY DATE_FORMAT(i.CREATED_TIME,'%Y-%m-%d') asc
</select>
<select id= "getReplyDataListByMonths" resultType= "com.elink.esua.epdc.dto.item.result.ReplyTotalLineDetailResultDTO" >
SELECT
DATE_FORMAT(i.CREATED_TIME,'%Y-%m') as time,
ROUND(COUNT(IF(getworkminute(b.CREATED_TIME,a.CREATED_TIME) < 2100 ,1, NULL )) / count(i.ID) * 100,1) as hf,
ROUND((count(i.ID) - COUNT(IF(getworkminute(b.CREATED_TIME,a.CREATED_TIME) < 2100 ,1, NULL ))) / count(i.ID) * 100,1) as whf
FROM
( SELECT l1.CREATED_TIME, l1.ITEM_ID FROM epdc_item_report_interface_log l1 WHERE l1.INTERFACE_NAME = '诉求审核' ) a
LEFT JOIN ( SELECT l2.CREATED_TIME, l2.ITEM_ID FROM epdc_item_report_interface_log l2 WHERE l2.INTERFACE_NAME = '响应接收' ) b ON a.ITEM_ID = b.ITEM_ID
LEFT JOIN epdc_item i ON i.ID = a.ITEM_ID
WHERE
b.CREATED_TIME IS NOT NULL
<if test= "startTime != null and startTime != ''" >
and i.CREATED_TIME > = #{startTime}
</if>
<if test= "endTime != null and endTime != ''" >
and i.CREATED_TIME < = #{endTime}
</if>
<if test= "deptId != null and deptId != ''" >
AND find_in_set(#{deptId},i.ALL_DEPT_IDS)
</if>
<if test= "peopleFlag != null and peopleFlag != ''" >
AND i.PEOPLE_FLAG = #{peopleFlag}
</if>
AND DATE_FORMAT(i.CREATED_TIME,'%Y-%m') IN
<foreach collection= "timeArr" index= "index" item= "time" open= "(" separator= "," close= ")" >
#{time}
</foreach>
group by DATE_FORMAT(i.CREATED_TIME,'%Y-%m')
ORDER BY DATE_FORMAT(i.CREATED_TIME,'%Y-%m') asc
</select>
<select id= "getResponseDataListByDays" resultType= "com.elink.esua.epdc.dto.item.result.RsponseTotalLineDetailResultDTO" >
SELECT
DATE_FORMAT(i.CREATED_TIME,'%Y-%m-%d') as time,
ROUND(COUNT(IF(getworkminute(b.CREATED_TIME,a.CREATED_TIME) < = 480 ,1, NULL )) / count(i.ID) * 100,1) as xy,
ROUND((count(i.ID) - COUNT(IF(getworkminute(b.CREATED_TIME,a.CREATED_TIME) < = 480 ,1, NULL ))) / count(i.ID) * 100,1) as wxy
FROM
( SELECT l1.CREATED_TIME, l1.ITEM_ID FROM epdc_item_report_interface_log l1 WHERE l1.INTERFACE_NAME = '诉求审核' ) a
LEFT JOIN ( SELECT l2.CREATED_TIME, l2.ITEM_ID FROM epdc_item_report_interface_log l2 WHERE l2.INTERFACE_NAME = '响应接收' ) b ON a.ITEM_ID = b.ITEM_ID
LEFT JOIN epdc_item i ON i.ID = a.ITEM_ID
WHERE
b.CREATED_TIME IS NOT NULL
<if test= "startTime != null and startTime != ''" >
and i.CREATED_TIME > = #{startTime}
</if>
<if test= "endTime != null and endTime != ''" >
and i.CREATED_TIME < = #{endTime}
</if>
<if test= "deptId != null and deptId != ''" >
AND find_in_set(#{deptId},i.ALL_DEPT_IDS)
</if>
<if test= "peopleFlag != null and peopleFlag != ''" >
AND i.PEOPLE_FLAG = #{peopleFlag}
</if>
AND DATE_FORMAT(i.CREATED_TIME,'%Y-%m-%d') IN
<foreach collection= "timeArr" index= "index" item= "time" open= "(" separator= "," close= ")" >
#{time}
</foreach>
group by DATE_FORMAT(i.CREATED_TIME,'%Y-%m-%d')
ORDER BY DATE_FORMAT(i.CREATED_TIME,'%Y-%m-%d') asc
</select>
<select id= "getResponseDataListByMonths" resultType= "com.elink.esua.epdc.dto.item.result.RsponseTotalLineDetailResultDTO" >
SELECT
DATE_FORMAT(i.CREATED_TIME,'%Y-%m') as time,
ROUND(COUNT(IF(getworkminute(b.CREATED_TIME,a.CREATED_TIME) < = 480 ,1, NULL )) / count(i.ID) * 100,1) as xy,
ROUND((count(i.ID) - COUNT(IF(getworkminute(b.CREATED_TIME,a.CREATED_TIME) < = 480 ,1, NULL ))) / count(i.ID) * 100,1) as wxy
FROM
( SELECT l1.CREATED_TIME, l1.ITEM_ID FROM epdc_item_report_interface_log l1 WHERE l1.INTERFACE_NAME = '诉求审核' ) a
LEFT JOIN ( SELECT l2.CREATED_TIME, l2.ITEM_ID FROM epdc_item_report_interface_log l2 WHERE l2.INTERFACE_NAME = '响应接收' ) b ON a.ITEM_ID = b.ITEM_ID
LEFT JOIN epdc_item i ON i.ID = a.ITEM_ID
WHERE
b.CREATED_TIME IS NOT NULL
<if test= "startTime != null and startTime != ''" >
and i.CREATED_TIME > = #{startTime}
</if>
<if test= "endTime != null and endTime != ''" >
and i.CREATED_TIME < = #{endTime}
</if>
<if test= "deptId != null and deptId != ''" >
AND find_in_set(#{deptId},i.ALL_DEPT_IDS)
</if>
<if test= "peopleFlag != null and peopleFlag != ''" >
AND i.PEOPLE_FLAG = #{peopleFlag}
</if>
AND DATE_FORMAT(i.CREATED_TIME,'%Y-%m') IN
<foreach collection= "timeArr" index= "index" item= "time" open= "(" separator= "," close= ")" >
#{time}
</foreach>
group by DATE_FORMAT(i.CREATED_TIME,'%Y-%m')
ORDER BY DATE_FORMAT(i.CREATED_TIME,'%Y-%m') asc
</select>
<update id= "updateBatchBySerialNum" >