Pu Zhibing
2025-03-11 e592439cf8746c3d9a8f93fb50cd88fa65511f04
guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TaskDetailMapper.xml
@@ -19,6 +19,7 @@
      <if test="null != item.status">
         and a.status = #{item.status}
      </if>
      order by a.execution_time desc
   </select>
   
   
@@ -29,19 +30,20 @@
         b.`name`,
         a.`status`,
         a.execution_time as executionTime,
         c.num as vehicleNum,
         d.num as unexecutedQuantity,
         e.num as offlineNum,
         f.num as normalNum,
         g.num as abnormalNum,
         ifnull(c.num, 0) as vehicleNum,
         ifnull(d.num, 0) as unexecutedQuantity,
         ifnull(e.num, 0) as offlineNum,
         ifnull(f.num, 0) as normalNum,
         ifnull(g.num, 0) as abnormalNum,
         ROUND(ifnull(((ifnull(e.num, 0) + ifnull(f.num, 0) + ifnull(g.num, 0)) / ifnull(c.num, 0) * 100), 0), 2) as schedule,
         if(h.num > 0, 0, 1) as authStatus
      from t_task_detail a
        left join t_patrol_task b on (a.patrol_task_id = b.id)
        left join (select task_detail_id, count(1) as num from t_task_detail_vehicles group by task_detail_id) c on (a.id = c.task_detail_id)
        left join (select task_detail_id, count(1) as num from t_task_detail_vehicles where `status` = 1 group by task_detail_id) d on (a.id = d.task_detail_id)
        left join (select task_detail_id, count(1) as num from t_task_detail_vehicles where `status` = 3 group by task_detail_id) e on (a.id = e.task_detail_id)
        left join (select task_detail_id, count(1) as num from t_task_detail_vehicles where `status` = 2 group by task_detail_id) f on (a.id = f.task_detail_id)
        left join (select task_detail_id, count(1) as num from t_task_detail_vehicles where `status` = 4 group by task_detail_id) g on (a.id = g.task_detail_id)
        left join (select task_detail_id, count(1) as num from t_task_detail_vehicles where `status` = 4 group by task_detail_id) e on (a.id = e.task_detail_id)
        left join (select task_detail_id, count(1) as num from t_task_detail_vehicles where `status` = 3 group by task_detail_id) f on (a.id = f.task_detail_id)
        left join (select task_detail_id, count(1) as num from t_task_detail_vehicles where `status` = 5 group by task_detail_id) g on (a.id = g.task_detail_id)
        left join (select task_detail_id, count(1) as num from t_task_detail_vehicles_channel where artificial_status = 1 group by task_detail_id) h on (a.id = h.task_detail_id)
      where a.del_flag = 0
      <if test="null != item.code and '' != item.code">
@@ -50,6 +52,7 @@
      <if test="null != item.status">
         and a.status = #{item.status}
      </if>
      order by a.execution_time desc
   </select>
   
   
@@ -72,11 +75,11 @@
      from t_task_detail_vehicles a
      left join t_task_detail b on (a.task_detail_id = b.id)
      left join t_patrol_task c on (a.patrol_task_id = c.id)
      left join t_task_detail_vehicles_channel d on (a.id = d.task_detail_vehicles_id and d.video_channel = 1)
      left join t_task_detail_vehicles_channel d on (a.id = d.task_detail_vehicles_id)
      left join sys_user e on (d.artificial_user_id = e.id)
      where b.del_flag = 0
      <if test="null != ids and ids.size() > 0">
         and d.id in
         and b.id in
         <foreach collection="ids" item="item" index="index" open="(" separator="," close=")">
            #{item}
         </foreach>
@@ -87,5 +90,6 @@
      <if test="null != status">
         and b.status = #{status}
      </if>
      order by b.execution_time desc
   </select>
</mapper>