Explorar el Código

运单表关联订单表修改

czh hace 1 año
padre
commit
d73976719e

+ 55 - 34
sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderMapper.xml

@@ -46,7 +46,8 @@
                b.t_order_id    as tOrderId,
                b.t_order_no    as tOrderNo
         FROM kwt_waybill_order a
-                 LEFT JOIN kwt_logistics_order b ON a.l_order_id = b.id
+        left join kwt_waybill_order_subtask c on a.id = c.w_order_id
+        LEFT JOIN kwt_logistics_order b ON c.l_order_id = b.id
         WHERE a.del_flag = '0'
           and b.del_flag = '0'
           and b.t_order_id = #{id,jdbcType=VARCHAR} limit #{page}
@@ -56,15 +57,17 @@
     <select id="selectWaybillOrderCarCount" resultType="java.lang.Long">
         SELECT count(a.id)
         FROM kwt_waybill_order a
-                 LEFT JOIN kwt_logistics_order b ON a.l_order_id = b.id
+        left join kwt_waybill_order_subtask c on a.id = c.w_order_id
+        LEFT JOIN kwt_logistics_order b ON c.l_order_id = b.id
         WHERE a.del_flag = '0'
           and b.del_flag = '0'
           and b.t_order_id = #{id,jdbcType=VARCHAR}
     </select>
 
     <select id="selectDriverOrder" resultType="java.lang.Long">
-        SELECT a.l_order_id as lOrderId
+        SELECT c.l_order_id as lOrderId
         FROM kwt_waybill_order a
+        left join kwt_waybill_order_subtask c on a.id = c.w_order_id
         LEFT JOIN kwt_waybill_order_track b ON a.id = b.w_order_id
         AND a.del_flag = '0'
         AND b.del_flag = '0'
@@ -80,7 +83,7 @@
                 </foreach>
             </if>
         </where>
-        group by lOrderId
+        group by c.l_order_id
     </select>
 
     <select id="getWaybillData" resultType="com.sckw.transport.model.vo.WaybillDetailVo">
@@ -105,8 +108,9 @@
                `logistics`.`price_type` AS `priceType`,
                `goods`.`goods_name`     AS goodsName
         FROM `kwt_waybill_order` `order`
-                 LEFT JOIN `kwt_logistics_order` `logistics` ON `logistics`.`id` = `order`.`l_order_id`
-                 LEFT JOIN `kwt_logistics_order_goods` `goods` ON `goods`.`l_order_id` = `order`.`l_order_id`
+        left join kwt_waybill_order_subtask c on order.id = c.w_order_id
+        LEFT JOIN `kwt_logistics_order` `logistics` ON `logistics`.`id` = c.`l_order_id`
+        LEFT JOIN `kwt_logistics_order_goods` `goods` ON `goods`.`l_order_id` = c.`l_order_id`
         WHERE `order`.`id` = #{id,jdbcType=BIGINT}
     </select>
 
@@ -160,7 +164,8 @@
         from kwt_waybill_order wo
         left join kwt_waybill_order_ticket wot1 on wot1.w_order_id = wo.id and wot1.type = 1 and wo.unit = wot1.unit and wot1.type = 1 and wot1.del_flag = 0
         left join kwt_waybill_order_ticket wot2 on wot2.w_order_id = wo.id and wot2.type = 2 and wo.unit = wot2.unit and wot1.type = 2  and wot2.del_flag = 0
-        left join kwt_logistics_order lo on lo.id = wo.l_order_id
+        left join kwt_waybill_order_subtask c on wo.id = c.w_order_id
+        left join kwt_logistics_order lo on lo.id = c.l_order_id
         where wo.del_flag = 0 and lo.del_flag = 0
         <if test="driverId != null and driverId != ''">
             and wo.driver_id = #{driverId, jdbcType=BIGINT}
@@ -201,7 +206,8 @@
         SELECT IFNULL(SUM(wot.amount), 0.0) amount from
         kwt_waybill_order_ticket wot
         left join kwt_waybill_order wo on wot.w_order_id = wo.id
-        left join kwt_logistics_order lo on lo.id = wo.l_order_id
+        left join kwt_waybill_order_subtask c on wo.id = c.w_order_id
+        left join kwt_logistics_order lo on lo.id = c.l_order_id
         where wot.del_flag = 0 and wo.del_flag = 0 and lo.del_flag = 0
         <if test="driverId != null and driverId != ''">
             and wo.driver_id = #{driverId, jdbcType=BIGINT}
@@ -254,12 +260,13 @@
         a.driver_idcard AS driverCard
         FROM
         `kwt_waybill_order` a
-        LEFT JOIN kwt_logistics_order b ON a.l_order_id = b.id
+        left join kwt_waybill_order_subtask c on a.id = c.w_order_id
+        LEFT JOIN kwt_logistics_order b ON c.l_order_id = b.id
         AND B.del_flag = 0
         AND b.del_flag = 0
         <where>
             <if test="ids != null and ids.size() > 0">
-                and a.l_order_id in
+                and c.l_order_id in
                 <foreach collection="ids" item="item" open="(" close=")" separator=",">
                     #{item}
                 </foreach>
@@ -284,7 +291,7 @@
         from (SELECT count(1) total,
                      0        indexNum
               FROM kwt_logistics_order_circulate loc
-                       LEFT JOIN kwt_logistics_order lo on lo.id = loc.l_order_id
+              LEFT JOIN kwt_logistics_order lo on lo.id = loc.l_order_id
               where loc.del_flag = 0
                 and lo.del_flag = 0
                 and loc.status = 0
@@ -301,7 +308,8 @@
              (SELECT count(1) total,
                      0        indexNum
               FROM kwt_waybill_order wo
-                       LEFT JOIN kwt_logistics_order lo on lo.id = wo.l_order_id
+              left join kwt_waybill_order_subtask c on wo.id = c.w_order_id
+              LEFT JOIN kwt_logistics_order lo on lo.id = c.l_order_id
               where wo.del_flag = 0
                 and lo.del_flag = 0
                 and wo.status = 1
@@ -317,7 +325,8 @@
              (SELECT count(1) total,
                      0        indexNum
               FROM kwt_waybill_order wo
-                       LEFT JOIN kwt_logistics_order lo on lo.id = wo.l_order_id
+              left join kwt_waybill_order_subtask c on wo.id = c.w_order_id
+              LEFT JOIN kwt_logistics_order lo on lo.id = c.l_order_id
               where wo.del_flag = 0
                 and lo.del_flag = 0
                 and wo.status = 2
@@ -333,7 +342,8 @@
              (SELECT count(1) total,
                      0        indexNum
               FROM kwt_waybill_order wo
-                       LEFT JOIN kwt_logistics_order lo on lo.id = wo.l_order_id
+              left join kwt_waybill_order_subtask c on wo.id = c.w_order_id
+               LEFT JOIN kwt_logistics_order lo on lo.id = c.l_order_id
               where wo.del_flag = 0
                 and lo.del_flag = 0
                 and wo.status in (3, 4, 5, 6)
@@ -349,7 +359,8 @@
              (SELECT count(1) total,
                      0        indexNum
               FROM kwt_waybill_order wo
-                       LEFT JOIN kwt_logistics_order lo on lo.id = wo.l_order_id
+               left join kwt_waybill_order_subtask c on wo.id = c.w_order_id
+               LEFT JOIN kwt_logistics_order lo on lo.id = c.l_order_id
               where wo.del_flag = 0
                 and lo.del_flag = 0
                 and wo.status in (7, 8, 9, 10, 12, 13)
@@ -369,7 +380,8 @@
         IFNULL(sum(wo.unload_amount), 0.0) unloadAmount, IFNULL(sum(wo.deficit_amount), 0.0) deficitAmount,
         IFNULL(sum(wo.deficit_price), 0.0) deficitPrice
         FROM kwt_waybill_order wo
-        LEFT JOIN kwt_logistics_order lo on lo.id = wo.l_order_id
+        left join kwt_waybill_order_subtask c on wo.id = c.w_order_id
+        LEFT JOIN kwt_logistics_order lo on lo.id = c.l_order_id
         where wo.del_flag = 0 and lo.del_flag = 0
         <if test="busStatus != null and busStatus == 4">
             and wo.status in (7, 8, 9, 10, 12, 13)
@@ -409,7 +421,8 @@
                 IFNULL(wo.load_amount, 0.0) loadAmount,
                 case when lo.loss_unit = 0 then 1000 when lo.loss_unit = 0 then 100 ELSE 0 end as lossUnit
                 from kwt_waybill_order wo
-                left join kwt_logistics_order lo on lo.id = wo.l_order_id
+                left join kwt_waybill_order_subtask c on wo.id = c.w_order_id
+                left join kwt_logistics_order lo on lo.id = c.l_order_id
                 where wo.del_flag = 0 and lo.del_flag = 0
                 <if test="busStatus != null and busStatus == 4">
                     and wo.status in (7, 8, 9, 10, 12, 13)
@@ -470,7 +483,8 @@
                      wo.status,
                      wo.create_time      createTime
               FROM kwt_waybill_order wo
-                       LEFT JOIN kwt_logistics_order lo on lo.id = wo.l_order_id
+                  left join kwt_waybill_order_subtask c on wo.id = c.w_order_id
+                       LEFT JOIN kwt_logistics_order lo on lo.id = c.l_order_id
                        LEFT JOIN kwt_waybill_order_address woa1 on woa1.w_order_id = wo.id and woa1.address_type = 1
                        LEFT JOIN kwt_waybill_order_address woa2 on woa2.w_order_id = wo.id and woa2.address_type = 2
                        LEFT JOIN kwt_logistics_order_goods log on log.l_order_id = wo.l_order_id
@@ -546,7 +560,8 @@
         IFNULL(wo.unload_amount, 0.0) unloadAmount, IFNULL(wo.deficit_amount, 0.0) deficitAmount, IFNULL(wo.deficit_price, 0.0) deficitPrice,
         wo.truck_no truckNo, wo.status, wo.create_time createTime
         FROM kwt_waybill_order wo
-        LEFT JOIN kwt_logistics_order lo on lo.id = wo.l_order_id
+        left join kwt_waybill_order_subtask c on wo.id = c.w_order_id
+        LEFT JOIN kwt_logistics_order lo on lo.id = c.l_order_id
         LEFT JOIN kwt_waybill_order_address woa1 on woa1.w_order_id = wo.id and woa1.address_type = 1
         LEFT JOIN kwt_waybill_order_address woa2 on woa2.w_order_id = wo.id and woa2.address_type = 2
         LEFT JOIN kwt_logistics_order_goods log on log.l_order_id = wo.l_order_id
@@ -601,7 +616,8 @@
                b.t_order_id    as tOrderId,
                b.t_order_no    as tOrderNo
         FROM kwt_waybill_order a
-                 LEFT JOIN kwt_logistics_order b ON a.l_order_id = b.id
+        left join kwt_waybill_order_subtask c on a.id = c.w_order_id
+        LEFT JOIN kwt_logistics_order b ON c.l_order_id = b.id
         WHERE a.del_flag = '0'
           and b.del_flag = '0'
           and b.t_order_id = #{id,jdbcType=VARCHAR}
@@ -621,9 +637,11 @@
         b.t_order_id    as tOrderId,
         b.t_order_no    as tOrderNo
         FROM kwt_waybill_order a
-        LEFT JOIN kwt_logistics_order b ON a.l_order_id = b.id
+        left join kwt_waybill_order_subtask c on a.id = c.w_order_id
+        LEFT JOIN kwt_logistics_order b ON c.l_order_id = b.id
         WHERE a.del_flag = 0
         and b.del_flag = 0
+        and c.del_flag = 0
         <if test="ids != null and ids.size() > 0">
             and b.t_order_id in
             <foreach collection="ids" item="item" close=")" open="(" separator=",">
@@ -660,14 +678,15 @@
     </select>
 
     <select id="selectOrderByOrderId" resultType="java.util.Map">
-        SELECT COUNT(id) total,IFNULL(SUM(entrust_amount),0) AS amount
-        FROM
-        kwt_waybill_order
-        WHERE
-        l_order_id = #{orderId}
-        AND type = #{type} and del_flag = 0
+        SELECT COUNT(a.id) total,
+               IFNULL(SUM(a.entrust_amount),0) AS amount
+          FROM kwt_waybill_order a
+          left join kwt_waybill_order_subtask b on a.id = b.w_order_id
+         WHERE b.l_order_id = #{orderId}
+           AND a.type = #{type}
+           and a.del_flag = 0
         <if test="statusList != null and statusList.size() > 0">
-            and status not in
+            and a.status not in
             <foreach collection="statusList" open="(" close=")" separator="," item="item">
                 #{item}
             </foreach>
@@ -713,8 +732,8 @@
         lo.loss_unit as lossUnit
         FROM
         kwt_waybill_order AS wo
-        LEFT JOIN kwt_logistics_order AS lo
-        ON lo.id = wo.l_order_id
+        left join kwt_waybill_order_subtask b on wo.id = b.w_order_id
+        LEFT JOIN kwt_logistics_order AS lo ON lo.id = b.l_order_id
         WHERE wo.ent_id = #{entId}
         AND wo.del_flag = 0
         <if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
@@ -750,12 +769,13 @@
         SELECT
         kwo.*
         FROM kwt_waybill_order kwo
+        left join kwt_waybill_order_subtask b on kwo.id = b.w_order_id and b.del_flag = 0
         where kwo.del_flag = 0
         <if test="tOrderId != null and tOrderId != ''">
             and kwo.t_order_id = #{tOrderId, jdbcType=BIGINT}
         </if>
         <if test="lOrderId != null and lOrderId != ''">
-            and kwo.l_order_id = #{lOrderId, jdbcType=BIGINT}
+            and b.l_order_id = #{lOrderId, jdbcType=BIGINT}
         </if>
         <if test="driverId != null and driverId != ''">
             and kwo.driver_id = #{driverId, jdbcType=BIGINT}
@@ -777,7 +797,7 @@
         </if>
         <choose>
             <when test="lOrderIds != null and lOrderIds != '' and lOrderIds.size() > 0">
-                and kwo.l_order_id in
+                and b.l_order_id in
                 <foreach collection="lOrderIds" item="lOrderId" open="(" close=")" separator=",">
                     #{lOrderId,jdbcType=BIGINT}
                 </foreach>
@@ -795,12 +815,13 @@
         a.driver_idcard AS driverCard
         FROM
         `kwt_waybill_order` a
-        LEFT JOIN kwt_logistics_order b ON a.l_order_id = b.id
+        left join kwt_waybill_order_subtask c on a.id = c.w_order_id
+        LEFT JOIN kwt_logistics_order b ON c.l_order_id = b.id
         AND B.del_flag = 0
         AND b.del_flag = 0
         <where>
             <if test="ids != null and ids.size() > 0">
-                and a.l_order_id in
+                and b.l_order_id in
                 <foreach collection="ids" item="item" open="(" close=")" separator=",">
                     #{item}
                 </foreach>