Prechádzať zdrojové kódy

fix 1. page filter 2099 2. reduce 1 level nested query

dengjia 2 mesiacov pred
rodič
commit
fc8fec5ec4

+ 20 - 20
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmTaskMapper.xml

@@ -1407,19 +1407,19 @@
   </select>
 
   <select id="listAvailableTaskForSupervision1" resultMap="wmTaskMap">
-    SELECT * FROM
-    (SELECT wm_task.*, f2099.target_id f2099id FROM wm_task
+    SELECT t.* FROM
+    (SELECT DISTINCT h.target_id
+    FROM sys_chain_node_check_his h
+    WHERE h.node_id = 6
+        AND h.check_result = 1
+    ) c 
+    JOIN wm_task t
+    ON c.target_id = t.id
     LEFT JOIN ops_freeze_task f2099
-    ON f2099.target_id = wm_task.id
-    ) t
-    RIGHT JOIN (SELECT DISTINCT h.target_id
-                FROM sys_chain_node_check_his h
-                WHERE h.node_id = 6
-                  AND h.check_result = 1
-                ) c ON c.target_id = t.id
+    ON f2099.target_id = t.id
     <where>
       t.task_status = '3'
-      AND t.f2099id is NULL
+      AND f2099.target_id is NULL
       <if test="pkgIds != null and pkgIds.size > 0">
         AND t.score_package_id IN
         <foreach collection="pkgIds" item="id" open="(" separator="," close=")">
@@ -1437,19 +1437,19 @@
   </select>
 
   <select id="listAvailableTaskForSupervision2" resultMap="wmTaskMap">
-    SELECT * FROM
-    (SELECT wm_task.*, f2099.target_id f2099id FROM wm_task
+    SELECT t.* FROM
+    (SELECT DISTINCT h.target_id
+    FROM sys_chain_node_check_his h
+    WHERE h.node_id = 6
+        AND h.check_result = 1
+    ) c 
+    JOIN wm_task t
+    ON c.target_id = t.id
     LEFT JOIN ops_freeze_task f2099
-    ON f2099.target_id = wm_task.id
-    ) t
-    RIGHT JOIN (SELECT DISTINCT h.target_id
-                FROM sys_chain_node_check_his h
-                WHERE h.node_id = 6
-                  AND h.check_result = 1
-                ) c ON c.target_id = t.id
+    ON f2099.target_id = t.id
     <where>
       t.task_status = '3'
-      AND t.f2099id is NULL
+      AND f2099.target_id is NULL
       <if test="pkgIds != null and pkgIds.size > 0">
         AND t.score_package_id IN
         <foreach collection="pkgIds" item="id" open="(" separator="," close=")">

+ 2 - 0
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmTaskSupervisionMapper.xml

@@ -40,9 +40,11 @@
                   AND h.check_result = 1
                 ) c ON c.target_id = t.id
     LEFT JOIN wm_task_sup AS sup ON sup.task_id = t.id
+    LEFT JOIN ops_freeze_task f2099 ON f2099.target_id = t.id
     <where>
         t.del_flag = '0'
         AND t.task_status = '3'
+        AND f2099.target_id is null
       <if test="pkgIds != null and pkgIds.size > 0">
         AND t.score_package_id IN
         <foreach collection="pkgIds" item="pid" open="(" close=")" separator=",">#{pid}</foreach>