From 43e115a7de2c763c36d79e610a3abb1d833ea892 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 05 八月 2024 10:21:52 +0800
Subject: [PATCH] 修改发货报表

---
 north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml |  116 ++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 92 insertions(+), 24 deletions(-)

diff --git a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
index c3dd373..2b2d990 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -84,9 +84,14 @@
         <result column="delivery_date" property="delivery.deliveryDate"/>
         <result column="creator" property="delivery.creator"/>
         <result column="salesman" property="delivery.salesman"/>
+        <result column="freight" property="delivery.freight"/>
+        <result column="freight_price" property="delivery.freightPrice"/>
+        <result column="freight_quantity" property="delivery.freightQuantity"/>
 
         <result column="product_id" property="orderDetail.productId"/>
         <result column="product_name" property="orderDetail.productName"/>
+
+        <result column="other_money" property="order.otherMoney"/>
 
 
 
@@ -542,10 +547,15 @@
         dd.money,
         dd.quantity,
         dd.delivery_detail_remakes,
-        dd.create_time
+        dd.create_time,
+        o.other_money,
+        d.freight_price,
+        d.freight_quantity,
+        d.freight
         from sd.delivery_detail dd
         left join sd.delivery d on dd.delivery_id=d.delivery_id
         left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
+        left join sd.`order` o on dd.order_id=o.order_id
         <where>
                and date(dd.create_time)>=#{startDate} and date(dd.create_time) &lt;= #{endDate}
             <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -567,16 +577,16 @@
                 and dd.order_number like concat('%', #{deliveryDetail.orderNumber},'%')
             </if>
             <if test="deliveryDetail.area != null and deliveryDetail.area != ''">
-                and dd.area like concat('%', #{deliveryDetail.area},'%')
+                and dd.area regexp REGEXP_REPLACE(#{deliveryDetail.area},'\\.0+$','')
             </if>
             <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
-                and dd.price like concat('%', #{deliveryDetail.price},'%')
+                and dd.price regexp REGEXP_REPLACE(#{deliveryDetail.price},'\\.0+$','')
             </if>
             <if test="deliveryDetail.money != null and deliveryDetail.money != ''">
-                and dd.money like concat('%', #{deliveryDetail.money},'%')
+                and dd.money regexp REGEXP_REPLACE(#{deliveryDetail.money},'\\.0+$','')
             </if>
             <if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''">
-                and dd.quantity like concat('%', #{deliveryDetail.quantity},'%')
+                and dd.quantity regexp REGEXP_REPLACE(#{deliveryDetail.quantity},'\\.0+$','')
             </if>
             <if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''">
                 and dd.delivery_detail_remakes like concat('%', #{deliveryDetail.deliveryDetailRemakes},'%')
@@ -620,6 +630,18 @@
             <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.deliveryAddress != null and deliveryDetail.delivery.deliveryAddress != '')">
                 and d.delivery_address like concat('%', #{deliveryDetail.delivery.deliveryAddress},'%')
             </if>
+            <if test="deliveryDetail.order!=null and (deliveryDetail.order.otherMoney != null )">
+                and o.other_money regexp REGEXP_REPLACE(#{deliveryDetail.order.otherMoney},'\\.0+$','')
+            </if>
+            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freight != null )">
+                and d.freight regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freight},'\\.0+$','')
+            </if>
+            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightQuantity != null )">
+                and d.freight_quantity regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freightQuantity},'\\.0+$','')
+            </if>
+            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightPrice != null )">
+                and d.freight_price regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freightPrice},'\\.0+$','')
+            </if>
 
         </where>
         order by dd.delivery_id,dd.delivery_number
@@ -632,6 +654,7 @@
         from sd.delivery_detail dd
         left join sd.delivery d on dd.delivery_id=d.delivery_id
         left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
+        left join sd.`order` o on dd.order_id=o.order_id
         <where>
             and date(dd.create_time)>=#{startDate} and date(dd.create_time) &lt;= #{endDate}
             <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -653,16 +676,16 @@
                 and dd.order_number like concat('%', #{deliveryDetail.orderNumber},'%')
             </if>
             <if test="deliveryDetail.area != null and deliveryDetail.area != ''">
-                and dd.area like concat('%', #{deliveryDetail.area},'%')
+                and dd.area regexp REGEXP_REPLACE(#{deliveryDetail.area},'\\.0+$','')
             </if>
             <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
-                and dd.price like concat('%', #{deliveryDetail.price},'%')
+                and dd.price regexp REGEXP_REPLACE(#{deliveryDetail.price},'\\.0+$','')
             </if>
             <if test="deliveryDetail.money != null and deliveryDetail.money != ''">
-                and dd.money like concat('%', #{deliveryDetail.money},'%')
+                and dd.money regexp REGEXP_REPLACE(#{deliveryDetail.money},'\\.0+$','')
             </if>
             <if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''">
-                and dd.quantity like concat('%', #{deliveryDetail.quantity},'%')
+                and dd.quantity regexp REGEXP_REPLACE(#{deliveryDetail.quantity},'\\.0+$','')
             </if>
             <if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''">
                 and dd.delivery_detail_remakes like concat('%', #{deliveryDetail.deliveryDetailRemakes},'%')
@@ -706,7 +729,18 @@
             <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.deliveryAddress != null and deliveryDetail.delivery.deliveryAddress != '')">
                 and d.delivery_address like concat('%', #{deliveryDetail.delivery.deliveryAddress},'%')
             </if>
-
+            <if test="deliveryDetail.order!=null and (deliveryDetail.order.otherMoney != null )">
+                and o.other_money regexp REGEXP_REPLACE(#{deliveryDetail.order.otherMoney},'\\.0+$','')
+            </if>
+            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freight != null )">
+                and d.freight regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freight},'\\.0+$','')
+            </if>
+            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightQuantity != null )">
+                and d.freight_quantity regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freightQuantity},'\\.0+$','')
+            </if>
+            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightPrice != null )">
+                and d.freight_price regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freightPrice},'\\.0+$','')
+            </if>
         </where>
         order by dd.delivery_id,dd.delivery_number
     </select>
@@ -736,9 +770,14 @@
         sum(dd.money) as money,
         sum(dd.quantity) as quantity,
         dd.delivery_detail_remakes,
-        dd.create_time
+        dd.create_time,
+        o.other_money,
+        d.freight_price,
+        d.freight_quantity,
+        d.freight
         from sd.delivery_detail dd left join delivery d on dd.delivery_id=d.delivery_id
             left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
+            left join sd.`order` o on dd.order_id=o.order_id
         <where>
             and date(dd.create_time)>=#{startDate} and date(dd.create_time) &lt;= #{endDate}
             <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -760,16 +799,16 @@
                 and dd.order_number like concat('%', #{deliveryDetail.orderNumber},'%')
             </if>
             <if test="deliveryDetail.area != null and deliveryDetail.area != ''">
-                and dd.area like concat('%', #{deliveryDetail.area},'%')
+                and dd.area regexp REGEXP_REPLACE(#{deliveryDetail.area},'\\.0+$','')
             </if>
             <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
-                and dd.price like concat('%', #{deliveryDetail.price},'%')
+                and dd.price regexp REGEXP_REPLACE(#{deliveryDetail.price},'\\.0+$','')
             </if>
             <if test="deliveryDetail.money != null and deliveryDetail.money != ''">
-                and dd.money like concat('%', #{deliveryDetail.money},'%')
+                and dd.money regexp REGEXP_REPLACE(#{deliveryDetail.money},'\\.0+$','')
             </if>
             <if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''">
-                and dd.quantity like concat('%', #{deliveryDetail.quantity},'%')
+                and dd.quantity regexp REGEXP_REPLACE(#{deliveryDetail.quantity},'\\.0+$','')
             </if>
             <if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''">
                 and dd.delivery_detail_remakes like concat('%', #{deliveryDetail.deliveryDetailRemakes},'%')
@@ -819,9 +858,21 @@
             <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != '')">
                 and od.product_name like concat('%', #{deliveryDetail.orderDetail.productId},'%')
             </if>
+            <if test="deliveryDetail.order!=null and (deliveryDetail.order.otherMoney != null )">
+                and o.other_money regexp REGEXP_REPLACE(#{deliveryDetail.order.otherMoney},'\\.0+$','')
+            </if>
+            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freight != null )">
+                and d.freight regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freight},'\\.0+$','')
+            </if>
+            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightQuantity != null )">
+                and d.freight_quantity like concat('%', #{deliveryDetail.delivery.freightQuantity},'%')
+            </if>
+            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightPrice != null )">
+                and d.freight_price regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freightPrice},'\\.0+$','')
+            </if>
 
         </where>
-        group by dd.delivery_id,od.product_id
+        group by dd.delivery_id,dd.order_id,od.product_id
         order by dd.delivery_id,dd.delivery_number
         limit #{offset},#{pageSize};
     </select>
@@ -834,6 +885,7 @@
         select dd.id as id
         from sd.delivery_detail dd left join delivery d on dd.delivery_id=d.delivery_id
         left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
+        left join sd.`order` o on dd.order_id=o.order_id
         <where>
             and date(dd.create_time)>=#{startDate} and date(dd.create_time) &lt;= #{endDate}
             <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -855,16 +907,16 @@
                 and dd.order_number like concat('%', #{deliveryDetail.orderNumber},'%')
             </if>
             <if test="deliveryDetail.area != null and deliveryDetail.area != ''">
-                and dd.area like concat('%', #{deliveryDetail.area},'%')
+                and dd.area regexp REGEXP_REPLACE(#{deliveryDetail.area},'\\.0+$','')
             </if>
             <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
-                and dd.price like concat('%', #{deliveryDetail.price},'%')
+                and dd.price regexp REGEXP_REPLACE(#{deliveryDetail.price},'\\.0+$','')
             </if>
             <if test="deliveryDetail.money != null and deliveryDetail.money != ''">
-                and dd.money like concat('%', #{deliveryDetail.money},'%')
+                and dd.money regexp REGEXP_REPLACE(#{deliveryDetail.money},'\\.0+$','')
             </if>
             <if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''">
-                and dd.quantity like concat('%', #{deliveryDetail.quantity},'%')
+                and dd.quantity regexp REGEXP_REPLACE(#{deliveryDetail.quantity},'\\.0+$','')
             </if>
             <if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''">
                 and dd.delivery_detail_remakes like concat('%', #{deliveryDetail.deliveryDetailRemakes},'%')
@@ -914,9 +966,21 @@
             <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != '')">
                 and od.product_name like concat('%', #{deliveryDetail.orderDetail.productId},'%')
             </if>
+            <if test="deliveryDetail.order!=null and (deliveryDetail.order.otherMoney != null )">
+                and o.other_money regexp REGEXP_REPLACE(#{deliveryDetail.order.otherMoney},'\\.0+$','')
+            </if>
+            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freight != null )">
+                and d.freight regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freight},'\\.0+$','')
+            </if>
+            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightQuantity != null )">
+                and d.freight_quantity like concat('%', #{deliveryDetail.delivery.freightQuantity},'%')
+            </if>
+            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightPrice != null )">
+                and d.freight_price regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freightPrice},'\\.0+$','')
+            </if>
 
         </where>
-        group by dd.delivery_id,od.product_id) as zu
+        group by dd.delivery_id,dd.order_id,od.product_id) as zu
     </select>
 
     <select id="getSelectDeliveryPrinting" resultMap="selectDeliveryDetailOrderDetail" >
@@ -1029,10 +1093,12 @@
         dd.money,
         dd.quantity,
         dd.delivery_detail_remakes,
-        dd.create_time
+        dd.create_time,
+        o.other_money
         from sd.delivery_detail dd
         left join sd.delivery d on dd.delivery_id=d.delivery_id
         left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
+        left join sd.`order` o on dd.order_id=o.order_id
         left join sd.customer c on d.customer_id=c.id
         where  date(d.create_time)>=#{dates[0]} and date(d.create_time) &lt;= #{dates[1]}
     </select>
@@ -1063,12 +1129,14 @@
                sum(dd.quantity) as quantity,
                dd.delivery_detail_remakes,
                dd.price,
-               dd.create_time
+               dd.create_time,
+               o.other_money
         from sd.delivery_detail dd left join delivery d on dd.delivery_id=d.delivery_id
                                    left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
+                                   left join sd.`order` o on dd.order_id=o.order_id
                                    left join sd.customer c on d.customer_id=c.id
         where  date(d.create_time)>=#{dates[0]} and date(d.create_time) &lt;= #{dates[1]}
-        group by dd.delivery_id,od.product_id
+        group by dd.delivery_id,dd.order_id,od.product_id
         order by dd.delivery_id,dd.delivery_number
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0