From 9d2babb8bb99d55d76eab0558fd9f510652b270c Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期二, 11 六月 2024 15:16:17 +0800
Subject: [PATCH] 6.11

---
 DispatchOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/ReassignMapper.xml |   45 ++++++++++++++++++++++++++++-----------------
 1 files changed, 28 insertions(+), 17 deletions(-)

diff --git a/DispatchOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/ReassignMapper.xml b/DispatchOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/ReassignMapper.xml
index dc0bb98..2569556 100644
--- a/DispatchOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/ReassignMapper.xml
+++ b/DispatchOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/ReassignMapper.xml
@@ -27,23 +27,34 @@
 
 
     <select id="queryApplyReassignList" resultType="map">
-        select
-        a.id as id,
-        DATE_FORMAT(a.insertTime, '%Y年%m月%d日%H:%i') as applyTime,
-        if(a.orderType = 1, c.startAddress, b.startAddress) as startAddress,
-        if(a.orderType = 1, c.endAddress, b.endAddress) as endAddress,
-        CONCAT(d.`name`, '-', f.carLicensePlate) applyDriver,
-        CONCAT(e.`name`, '-', g.carLicensePlate) nowDriver,
-        a.state as state,
-        a.orderType as orderType
-        from t_reassign a
-        left join t_order_cross_city b on (a.orderId = b.id and a.orderType = 3)
-        left join t_order_private_car c on (a.orderId = c.id and a.orderType = 1)
-        left join t_driver d on (a.originalDriverId = d.id)
-        left join t_driver e on (a.nowDriverId = e.id)
-        left join t_car f on (d.carId = f.id)
-        left join t_car g on (e.carId = g.id)
-        where a.orderType in (1, 3)
+        SELECT
+        a.id AS id,
+        DATE_FORMAT(a.insertTime, '%Y年%m月%d日%H:%i') AS applyTime,
+        CASE
+        WHEN a.orderType = 1 THEN c.startAddress
+        WHEN a.orderType = 3 THEN b.startAddress
+        WHEN a.orderType = 7 THEN t.startAddress -- 假设t_order_transfer表有startAddress和endAddress字段
+        ELSE NULL
+        END AS startAddress,
+        CASE
+        WHEN a.orderType = 1 THEN c.endAddress
+        WHEN a.orderType = 3 THEN b.endAddress
+        WHEN a.orderType = 7 THEN t.endAddress -- 同样假设t_order_transfer表有这些字段
+        ELSE NULL
+        END AS endAddress,
+        CONCAT(d.name, '-', f.carLicensePlate) AS applyDriver,
+        CONCAT(e.name, '-', g.carLicensePlate) AS nowDriver,
+        a.state AS state,
+        a.orderType AS orderType
+        FROM t_reassign a
+        LEFT JOIN t_order_cross_city b ON (a.orderId = b.id AND a.orderType = 3)
+        LEFT JOIN t_order_private_car c ON (a.orderId = c.id AND a.orderType = 1)
+        LEFT JOIN t_order_transfer t ON (a.orderId = t.id AND a.orderType = 7) -- 确保联接条件正确处理orderType=7
+        LEFT JOIN t_driver d ON (a.originalDriverId = d.id)
+        LEFT JOIN t_driver e ON (a.nowDriverId = e.id)
+        LEFT JOIN t_car f ON (d.carId = f.id)
+        LEFT JOIN t_car g ON (e.carId = g.id)
+        WHERE a.orderType IN (1, 3, 7); -- 更新WHERE子句以包含orderType=7
         <if test="null != companyId">
             and if(d.franchiseeId is null or d.franchiseeId = 0, d.companyId = #{companyId}, d.franchiseeId = #{companyId})
         </if>

--
Gitblit v1.7.1