优化sql
This commit is contained in:
parent
5a56ad3c75
commit
4d75d91766
|
|
@ -268,27 +268,24 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="wrkData" resultType="com.chushang.inspection.work.vo.WrkDataVO">
|
<select id="wrkData" resultType="com.chushang.inspection.work.vo.WrkDataVO">
|
||||||
SELECT wi.dept_id AS deptId,
|
SELECT
|
||||||
p.project_name AS projectName,
|
wi.dept_id AS deptId,
|
||||||
pt.project_id AS projectId,
|
p.project_name AS projectName,
|
||||||
pt.`name` AS taskName,
|
pt.project_id AS projectId,
|
||||||
pt.id AS taskId,
|
pt.NAME AS taskName,
|
||||||
(SELECT count(*)
|
pt.id AS taskId,
|
||||||
FROM wrk_info_terminal_record
|
COALESCE ( t.totalTer, 0 ) AS totalTer,
|
||||||
WHERE wi.project_id = project_id) AS totalTer,
|
COALESCE ( w.totalWrk, 0 ) AS totalWrk,
|
||||||
(SELECT COUNT(*) FROM wrk_info WHERE project_id = wi.project_id) AS totalwrk,
|
COALESCE ( s.totalSuc, 0 ) AS totalSuc,
|
||||||
(SELECT COUNT(*)
|
SUM( CASE WHEN w2.end_time IS NOT NULL AND w2.end_time <= wi.dispose_time THEN 1 ELSE 0 END ) OVER ( PARTITION BY wi.project_id ) AS totalTimeOut
|
||||||
FROM wrk_info
|
FROM
|
||||||
WHERE project_id = wi.project_id
|
wrk_info wi
|
||||||
AND wrk_status in (4, 7, 8)) AS totalSuc,
|
|
||||||
(SELECT COUNT(*)
|
|
||||||
FROM wrk_info
|
|
||||||
WHERE project_id = wi.project_id
|
|
||||||
AND end_time IS not NULL
|
|
||||||
AND end_time <= wi.dispose_time) AS totalTimeOut
|
|
||||||
FROM wrk_info wi
|
|
||||||
LEFT JOIN ta_polling_task pt ON pt.id = wi.lower_task_id
|
LEFT JOIN ta_polling_task pt ON pt.id = wi.lower_task_id
|
||||||
LEFT JOIN wrk_project p ON pt.project_id = p.project_id
|
LEFT JOIN wrk_project p ON pt.project_id = p.project_id
|
||||||
|
LEFT JOIN ( SELECT project_id, COUNT(*) AS totalTer FROM wrk_info_terminal_record GROUP BY project_id ) t ON wi.project_id = t.project_id
|
||||||
|
LEFT JOIN ( SELECT project_id, COUNT(*) AS totalWrk FROM wrk_info GROUP BY project_id ) w ON wi.project_id = w.project_id
|
||||||
|
LEFT JOIN ( SELECT project_id, COUNT(*) AS totalSuc FROM wrk_info WHERE wrk_status IN ( 4, 7, 8 ) GROUP BY project_id ) s ON wi.project_id = s.project_id
|
||||||
|
LEFT JOIN wrk_info w2 ON wi.project_id = w2.project_id
|
||||||
WHERE wi.del_state = 0
|
WHERE wi.del_state = 0
|
||||||
<if test="1 == 1">
|
<if test="1 == 1">
|
||||||
${query.sqlParam.get('sqlWhere')}
|
${query.sqlParam.get('sqlWhere')}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue