From 9a66aa395b78b5df07058560eec181a66d6db2b9 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 30 九月 2025 11:41:51 +0800
Subject: [PATCH] 优化指派逻辑

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

diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml
index 3213550..8152cba 100644
--- a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml
+++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml
@@ -163,7 +163,16 @@
     </select>
 
 
-
+    <select id="queryIdleDriverByIds" resultType="Driver">
+        select *
+        from t_driver
+        where flag != 3 and state = 2 and authState = 2 and id in
+        <foreach collection="ids" index="index" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+        and id in(select driverId from t_driver_work where startTime &lt; now() and state = 1 and `type` like CONCAT('%', #{type}, '%'))
+        and id in (select driverId from t_driver_orders where `type` = #{type})
+    </select>
 
     <select id="queryIdleDriver_" resultType="Driver">
         select
@@ -230,7 +239,7 @@
         updateTime as updateTime,
         updateUser as updateUser
         from t_driver
-        where flag != 3 and state = 2 and authState = 2
+        where flag != 3 and state in (2, 3) and authState = 2
         <if test="null != companyId">
             <choose>
                 <when test="companyId != 1">

--
Gitblit v1.7.1