From 3813a960973c2ffd29880c7070d862e25af49f23 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期一, 26 一月 2026 15:11:10 +0800
Subject: [PATCH] fix(driver):班次列表线路根据司机完成单数倒序排列

---
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/LineShiftDriverMapper.xml |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/LineShiftDriverMapper.xml b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/LineShiftDriverMapper.xml
index 64900c4..409f88f 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/LineShiftDriverMapper.xml
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/LineShiftDriverMapper.xml
@@ -126,7 +126,16 @@
             lsd.id as lineShiftDriverId,
             lsd.laveSeat as laveSeat,
             lsd.totalSeat as totalSeat,
-            CASE WHEN lsd.id IS NOT NULL THEN 1 ELSE 0 END as isReserved
+            CASE WHEN lsd.id IS NOT NULL THEN 1 ELSE 0 END as isReserved,
+            -- 统计司机在该线路完成的订单次数(按lineShiftDriverId去重)
+            IFNULL((
+                SELECT COUNT(DISTINCT occ.lineShiftDriverId)
+                FROM t_order_cross_city occ
+                WHERE occ.driverId = #{driverId}
+                  AND occ.lineId = l.id
+                  AND occ.state = 9
+                  AND occ.isDelete = 1
+            ), 0) as lineCompletedCount
         FROM t_driver_line dl
         INNER JOIN t_line l ON dl.lineId = l.id AND l.state = 1
         INNER JOIN t_line_shift ls ON l.id = ls.lineId AND ls.state = 1
@@ -134,6 +143,6 @@
             AND lsd.driverId = #{driverId}
             AND DATE_FORMAT(lsd.`day`, '%Y-%m-%d') = #{date}
         WHERE dl.driverId = #{driverId}
-        ORDER BY l.id, ls.startTime
+        ORDER BY lineCompletedCount DESC, l.id, ls.startTime
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.7.1