From ef04ce57881e6a338b10d596c5eb76b2220598bf Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 31 八月 2023 11:16:49 +0800
Subject: [PATCH] 更新版本

---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml |   55 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 42 insertions(+), 13 deletions(-)

diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml
index b610408..716b201 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml
@@ -20,6 +20,12 @@
         <result column="endLng" property="endLng" />
         <result column="boardingTime" property="boardingTime" />
         <result column="getoffTime" property="getoffTime" />
+        <result column="boardingAddress" property="boardingAddress"/>
+        <result column="boardingLng" property="boardingLng"/>
+        <result column="boardingLat" property="boardingLat"/>
+        <result column="debusAddress" property="debusAddress"/>
+        <result column="debusLng" property="debusLng"/>
+        <result column="debusLat" property="debusLat"/>
         <result column="estimatedPrice" property="estimatedPrice" />
         <result column="orderMoney" property="orderMoney" />
         <result column="payMoney" property="payMoney" />
@@ -60,8 +66,8 @@
         o.id, o.code, o.userId, o.driverId, o.`source`, o.agentId, o.branchOfficeId, o.startTime, o.startAddress, o.startLat, o.startLng, o.endAddress, o.endLat, o.endLng,
         o.boardingTime, o.getoffTime, o.estimatedPrice, o.orderMoney, o.payMoney, o.discountedPrice, o.couponId, o.payType, o.payTime, o.`state`, o.status, o.createTime,
         o.startDistance,o.startPrice,o.overDriveDistance,o.overDrivePrice,o.longDistance,o.longDistancePrice,o.overLongDistance,o.overLongDistancePrice,
-        o.waitTime,o.waitTimePrice,o.outWaitTime,o.outWaitTimePrice,o.badWeatherDistance,o.badWeatherPrice,o.overBadWeatherDistance,o.overBadWeatherPrice,a.nickname AS userName,
-        a.phone AS userPhone,a.cancelCount,a.status AS userStatus,d.name AS driverName,d.phone AS driverPhone
+        o.waitTime,o.waitTimePrice,o.outWaitTime,o.outWaitTimePrice,o.badWeatherDistance,o.badWeatherPrice,o.overBadWeatherDistance,o.overBadWeatherPrice,
+        o.userPhone,o.userName,a.cancelCount,a.status AS userStatus,d.name AS driverName,d.phone AS driverPhone
     </sql>
 
     <sql id="Base_Column_Server_Order">
@@ -69,7 +75,7 @@
         o.boardingTime, o.getoffTime, o.estimatedPrice, o.orderMoney, o.payMoney, o.discountedPrice, o.couponId, o.payType, o.payTime, o.`state`, o.status, o.createTime,
         o.startDistance,o.startPrice,o.overDriveDistance,o.overDrivePrice,o.longDistance,o.longDistancePrice,o.overLongDistance,o.overLongDistancePrice,
         o.waitTime,o.waitTimePrice,o.outWaitTime,o.outWaitTimePrice,o.badWeatherDistance,o.badWeatherPrice,o.overBadWeatherDistance,o.overBadWeatherPrice,
-        d.name AS driverName,d.phone AS driverPhone
+        o.userPhone,o.userName,d.name AS driverName,d.phone AS driverPhone
     </sql>
 
     <select id="getOrderList" resultType="com.stylefeng.guns.modular.system.controller.resp.TOrderResp">
@@ -99,9 +105,6 @@
             <if test="driverName != null and driverName != ''">
                 AND d.name LIKE concat('%',#{driverName},'%')
             </if>
-            <if test="isException != null">
-                AND a.is_exception = #{isException}
-            </if>
             <if test="roleType != null and roleType == 2">
                 AND o.branchOfficeId = #{objectId}
             </if>
@@ -125,17 +128,18 @@
         GROUP BY `month`
     </select>
     <select id="getDataStatisticsOrderCount" resultType="com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp">
-        SELECT date_format(o.createTime, '%Y-%m') AS monthTime,COUNT(o.id) AS amount,d.name AS userName
+        SELECT date_format(o.payTime, '%Y-%m') AS monthTime,COUNT(o.id) AS amount,d.userName
         FROM t_order o
-        LEFT JOIN t_driver d ON o.driverId = d.id
+        LEFT JOIN (SELECT id,name AS userName from t_driver) d ON o.driverId = d.id
         <where>
             <if test="agentId != null">
                 AND o.agentId = #{agentId}
             </if>
             <if test="monthDate != null and monthDate != ''">
-                AND date_format(o.createTime, '%Y-%m') LIKE concat('',#{monthDate},'%')
+                AND date_format(o.payTime, '%Y-%m') LIKE concat('',#{monthDate},'%')
             </if>
             AND (o.`state` = 107 OR o.`state` = 108 OR o.`state` = 109)
+            AND d.userName is not null
         </where>
         GROUP BY monthTime,userName
         ORDER BY amount DESC
@@ -238,8 +242,16 @@
                     #{id}
                 </foreach>
             </if>
-            <if test="type != null">
-                AND `state` = #{type}
+            <if test="type == 1">
+                AND `state` = 101
+            </if>
+            <if test="type == 2">
+                AND (`state` = 107
+                OR `state` = 108
+                OR `state` = 109)
+            </if>
+            <if test="type == 3">
+                AND `state` = 301
             </if>
             <if test="localDate != null">
                 AND date_format(createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%')
@@ -344,9 +356,9 @@
         GROUP BY `month`
     </select>
     <select id="getDataStatisticsOrderCountByIds" resultType="com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp">
-        SELECT date_format(o.createTime, '%Y-%m') AS monthTime,COUNT(o.id) AS amount,d.name AS userName
+        SELECT date_format(o.createTime, '%Y-%m') AS monthTime,COUNT(o.id) AS amount,d.userName
         FROM t_order o
-        LEFT JOIN t_driver d ON o.driverId = d.id
+        LEFT JOIN (SELECT id,name AS userName from t_driver) d ON o.driverId = d.id
         <where>
             <if test="ids != null and ids.size() > 0">
                 AND o.agentId IN
@@ -358,6 +370,7 @@
                 AND date_format(o.createTime, '%Y-%m') LIKE concat('',#{monthDate},'%')
             </if>
             AND (o.`state` = 107 OR o.`state` = 108 OR o.`state` = 109)
+            AND d.userName is not null
         </where>
         GROUP BY monthTime,userName
         ORDER BY amount DESC
@@ -392,5 +405,21 @@
         </where>
         GROUP BY `month`
     </select>
+    <select id="getValidOrderCount" resultType="java.lang.Integer">
+        select count(id)
+        from t_order
+        <where>
+            <if test="driverId != null">
+                AND driverId = #{driverId}
+            </if>
+            <if test="orderMoney != null">
+                AND orderMoney &gt; #{orderMoney}
+            </if>
+            <if test="month != null">
+                AND DATE_FORMAT(createTime, '%Y-%m') = #{month}
+            </if>
+            AND (`state` = 107 OR `state` = 108 OR `state` = 109)
+        </where>
+    </select>
 
 </mapper>

--
Gitblit v1.7.1