From 8b09fbc19a96b57bf1d0e4d7c79b51a76aeca554 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 28 三月 2025 19:57:56 +0800
Subject: [PATCH] 修改bug

---
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml |   20 +++++++++++++-------
 1 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml
index f7aed42..401d606 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml
@@ -78,7 +78,8 @@
     <!--根据条件查询专车订单列表-->
     <select id="getPrivateCarOrderList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
         SELECT * FROM (SELECT ui.nickName as userName,ui.phone as userPhone,CONCAT(di.firstName, " ", di.lastName,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car,
-        sc.chineseName as serverCarModel,ifnull(oc.money, 0) as cancel_money,ot.* FROM t_order_private_car as ot
+        sc.chineseName as serverCarModel,ifnull(oc.money, 0) as cancel_money,ot.*
+        FROM t_order_private_car as ot
         LEFT JOIN t_user as ui on ui.id = ot.userId
         LEFT JOIN t_driver as di on di.id = ot.driverId
         LEFT JOIN t_car as ci on ci.id= ot.carId
@@ -145,24 +146,28 @@
         when ot.orderSource = 4 then '司机下单'
         when ot.orderSource = 5 then '调度下单' else '' end orderSourceStr,
         ui.nickName as userName,ui.phone as userPhone,
+        ot.payType,
         case when ot.payType = 1 then '手机支付'
         when ot.payType = 2 then '银行卡支付'
         when ot.payType = 3 then '余额支付' else '现金支付' end as payTypeStr,
-
+        
         case when ot.isFree = 2 then ot.orderMoney
         when ot.freeMoney > ot.orderMoney then ot.orderMoney else ot.freeMoney end as freeMoney1,
         sc.chineseName as serverCarModel,
         case when income1.type = 1 then income1.money else 0 end as platIncome,
         case when income1.type = 2 then income1.money else 0 end as companyIncome,
         case when income1.type = 3 then income1.money else 0 end as franchiseeIncome,
+        IFNULL(sd.price, 0) as settlementPrice,
         IFNULL(income2.money,0) as driverIncome,
         CONCAT(di.firstName, " ", di.lastName,'-',di.phone) as driver,
         CONCAT(cb.`name`,'-',ci.carLicensePlate) as car,
+        cc.type as companyType,
         cc.`name` as companyName,ot.*,
         oc.money as cancelMoney,
         case when oc.payType = 1 then '手机支付'
              when oc.payType = 2 then '银行卡支付'
-             when oc.payType = 3 then '余额支付' else '现金支付' end as cancelPayTypeStr
+             when oc.payType = 3 then '余额支付'
+             when oc.payType = 4 then '现金支付'else '' end as cancelPayTypeStr
         FROM t_order_private_car as ot
         LEFT JOIN t_user as ui on ui.id = ot.userId
         LEFT JOIN t_driver as di on di.id = ot.driverId
@@ -170,13 +175,14 @@
         LEFT JOIN t_car_brand as cb on cb.id = ci.carBrandId
         LEFT JOIN t_company as cc on cc.id = ot.companyId
         LEFT JOIN t_server_carmodel as sc on sc.id = ot.serverCarModelId
-        LEFT JOIN t_order_cancel as oc on ot.id = oc.orderId and oc.orderType = 1
+        LEFT JOIN t_order_cancel as oc on ot.id = oc.orderId and oc.orderType = 1 and oc.state = 2
         LEFT JOIN (
-            SELECT ii.money,ii.incomeId,cc.type FROM t_income as ii
+            SELECT sum(ii.money) as money,ii.incomeId,cc.type FROM t_income as ii
             LEFT JOIN t_company as cc on ii.objectId = cc.id
-            where ii.userType = 1 and ii.type != 1 and ii.orderType = 1
+            where ii.userType = 1 and ii.type != 1 and ii.orderType = 1 group by ii.incomeId, cc.type
         ) as income1 on income1.incomeId = ot.id
-        LEFT JOIN (SELECT incomeId, money FROM t_income where userType = 2 and type != 1 and orderType = 1) as income2 on income2.incomeId = ot.id
+        LEFT JOIN (SELECT incomeId, sum(money) as money FROM t_income where userType = 2 and type != 1 and orderType = 1 group by incomeId) as income2 on income2.incomeId = ot.id
+        LEFT JOIN t_settlement_detail sd on ot.id = sd.orderId and sd.orderType = 1
         where ot.id = #{orderId}
     </select>
 

--
Gitblit v1.7.1