Commit 79cc399d authored by wujiang's avatar wujiang

修改消防巡查二级弹窗性能

parent 86f28452
......@@ -1784,8 +1784,7 @@
</select>
<select id="selectPatrolRecordPage" resultType="java.util.HashMap">
SELECT LEFT
<!-- SELECT LEFT
( t.org_code, 18 ) AS bizOrgCode,
t.id,
u.biz_org_name AS bizOrgName,
......@@ -1809,7 +1808,39 @@
</if>
</where>
GROUP BY
LEFT ( t.org_code, 18 ),t.id
LEFT ( t.org_code, 18 ),t.id-->
SELECT LEFT
( t.org_code, 18 ) AS bizOrgCode,
t.id,
u.biz_org_name AS bizOrgName,
DATE_FORMAT( t.check_date, '%Y-%m-%d' ) AS time,
DATE_FORMAT( t.begin_time, '%Y-%m-%d %H:%i' ) AS beginTime,
DATE_FORMAT( t.end_time, '%Y-%m-%d %H:%i' ) AS endTime,
IFNULL( SUM( t.point_num ), 0 ) AS allCount,
d.missPointCount,
d.finishPointCount,
d.realStartTime,
d.realEndTime
FROM p_plan_task t
LEFT JOIN cb_org_usr u ON u.biz_org_code = LEFT ( t.org_code, 18 )
LEFT JOIN
( SELECT
SUM(CASE WHEN is_finish = 2 THEN 1 ELSE 0 END) AS missPointCount,
SUM(CASE WHEN is_finish = 1 THEN 1 ELSE 0 END) AS finishPointCount,
CASE WHEN is_finish = 1 THEN DATE_FORMAT(MIN( c.check_time ), '%Y-%m-%d %H:%i:%s' ) ELSE NULL END AS realStartTime,
CASE WHEN is_finish = 1 THEN DATE_FORMAT(MAX( c.check_time ), '%Y-%m-%d %H:%i:%s' ) ELSE NULL END AS realEndTime,
task_no
FROM p_plan_task_detail LEFT JOIN p_check c on p_plan_task_detail.id = c.plan_task_detail_id GROUP BY task_no) d on d.task_no = t.id
<where>
<if test="bizOrgCode != null and bizOrgCode != ''">
AND t.org_code LIKE CONCAT(#{bizOrgCode}, '%')
</if>
<if test="date != null and date != ''">
AND DATE_FORMAT( t.check_date, '%Y-%m-%d' ) = #{date}
</if>
</where>
GROUP BY LEFT ( t.org_code, 18 ),t.id
</select>
......@@ -1841,7 +1872,7 @@
</select>
<select id="selectPatrolActivityStats" resultType="Map">
SELECT
<!-- SELECT
LEFT(t.org_code, 18) AS bizOrgCode,
( SELECT IF(COUNT(1)> 0, '有漏检', '无漏检') FROM p_plan_task_detail d WHERE d.is_finish = 2 AND FIND_IN_SET(d.task_no,GROUP_CONCAT(t.id)) > 0 ) AS missStatus
FROM
......@@ -1855,7 +1886,22 @@
</if>
</where>
GROUP BY
LEFT(t.org_code, 18)
LEFT(t.org_code, 18) -->
SELECT
LEFT(t.org_code, 18) AS bizOrgCode,
IF(d.missCount>0, '有漏检', '无漏检') AS missStatus
FROM
p_plan_task t
LEFT JOIN (SELECT COUNT(1) AS missCount,task_no FROM p_plan_task_detail WHERE is_finish = 2 GROUP BY task_no) d ON d.task_no=t.id
<where>
<if test="date != null and date != ''">
AND DATE_FORMAT( t.check_date, '%Y-%m-%d' ) = #{date}
</if>
<if test="bizOrgCode != null and bizOrgCode != ''">
AND t.org_code LIKE CONCAT(#{bizOrgCode}, '%')
</if>
</where>
GROUP BY LEFT(t.org_code, 18)
</select>
<select id="getDoneNum" resultType="java.lang.Integer">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment