From cc78e409cdca2a414f654490d3bc78cce429c59e Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 05 八月 2024 09:13:42 +0800
Subject: [PATCH] 新增订单总报表

---
 north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml |   75 ++++++++++++++++++++++++++++++++++---
 1 files changed, 68 insertions(+), 7 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 8db1f9b..26a2681 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -66,6 +66,7 @@
         <result column="delivery_number" property="deliveryNumber"/>
         <result column="quantity" property="quantity"/>
         <result column="area" property="area"/>
+        <result column="price" property="price"/>
         <result column="money" property="money"/>
         <result column="delivery_detail_remakes" property="deliveryDetailRemakes"/>
         <result column="delivery_detail_state" property="deliveryDetailState"/>
@@ -86,6 +87,8 @@
 
         <result column="product_id" property="orderDetail.productId"/>
         <result column="product_name" property="orderDetail.productName"/>
+
+        <result column="other_money" property="order.otherMoney"/>
 
 
 
@@ -520,6 +523,8 @@
     <select id="getSelectDeliveryDetailReport" resultMap="selectDeliveryDetail">
         select dd.delivery_id,
         dd.delivery_number,
+        od.product_id,
+        od.product_name,
         d.payment_terms,
         d.project,
         d.customer_id,
@@ -535,12 +540,16 @@
         dd.order_id,
         dd.order_number,
         dd.area,
+        dd.price,
         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
         <where>
                and date(dd.create_time)>=#{startDate} and date(dd.create_time) &lt;= #{endDate}
             <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -548,6 +557,12 @@
             </if>
             <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''">
                 and dd.delivery_number like concat('%',#{deliveryDetail.deliveryNumber},'%')
+            </if>
+            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != ''">
+                and od.product_id like concat('%',#{deliveryDetail.orderDetail.productId},'%')
+            </if>
+            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != ''">
+                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
             </if>
             <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''">
                 and dd.order_id like concat('%', #{deliveryDetail.orderId},'%')
@@ -557,6 +572,9 @@
             </if>
             <if test="deliveryDetail.area != null and deliveryDetail.area != ''">
                 and dd.area like concat('%', #{deliveryDetail.area},'%')
+            </if>
+            <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
+                and dd.price like concat('%', #{deliveryDetail.price},'%')
             </if>
             <if test="deliveryDetail.money != null and deliveryDetail.money != ''">
                 and dd.money like concat('%', #{deliveryDetail.money},'%')
@@ -617,6 +635,8 @@
         count(dd.id) as 'total'
         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 != ''">
@@ -624,6 +644,12 @@
             </if>
             <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''">
                 and dd.delivery_number like concat('%',#{deliveryDetail.deliveryNumber},'%')
+            </if>
+            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != ''">
+                and od.product_id like concat('%',#{deliveryDetail.orderDetail.productId},'%')
+            </if>
+            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != ''">
+                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
             </if>
             <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''">
                 and dd.order_id like concat('%', #{deliveryDetail.orderId},'%')
@@ -633,6 +659,9 @@
             </if>
             <if test="deliveryDetail.area != null and deliveryDetail.area != ''">
                 and dd.area like concat('%', #{deliveryDetail.area},'%')
+            </if>
+            <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
+                and dd.price like concat('%', #{deliveryDetail.price},'%')
             </if>
             <if test="deliveryDetail.money != null and deliveryDetail.money != ''">
                 and dd.money like concat('%', #{deliveryDetail.money},'%')
@@ -708,12 +737,15 @@
         dd.order_id,
         dd.order_number,
         sum(dd.area) as area,
+        dd.price,
         sum(dd.money) as money,
         sum(dd.quantity) as quantity,
         dd.delivery_detail_remakes,
-        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
         <where>
             and date(dd.create_time)>=#{startDate} and date(dd.create_time) &lt;= #{endDate}
             <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -721,6 +753,12 @@
             </if>
             <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''">
                 and dd.delivery_number like concat('%',#{deliveryDetail.deliveryNumber},'%')
+            </if>
+            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != ''">
+                and od.product_id like concat('%',#{deliveryDetail.orderDetail.productId},'%')
+            </if>
+            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != ''">
+                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
             </if>
             <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''">
                 and dd.order_id like concat('%', #{deliveryDetail.orderId},'%')
@@ -730,6 +768,9 @@
             </if>
             <if test="deliveryDetail.area != null and deliveryDetail.area != ''">
                 and dd.area like concat('%', #{deliveryDetail.area},'%')
+            </if>
+            <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
+                and dd.price like concat('%', #{deliveryDetail.price},'%')
             </if>
             <if test="deliveryDetail.money != null and deliveryDetail.money != ''">
                 and dd.money like concat('%', #{deliveryDetail.money},'%')
@@ -787,7 +828,7 @@
             </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>
@@ -800,6 +841,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 != ''">
@@ -807,6 +849,12 @@
             </if>
             <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''">
                 and dd.delivery_number like concat('%',#{deliveryDetail.deliveryNumber},'%')
+            </if>
+            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != ''">
+                and od.product_id like concat('%',#{deliveryDetail.orderDetail.productId},'%')
+            </if>
+            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != ''">
+                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
             </if>
             <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''">
                 and dd.order_id like concat('%', #{deliveryDetail.orderId},'%')
@@ -816,6 +864,9 @@
             </if>
             <if test="deliveryDetail.area != null and deliveryDetail.area != ''">
                 and dd.area like concat('%', #{deliveryDetail.area},'%')
+            </if>
+            <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
+                and dd.price like concat('%', #{deliveryDetail.price},'%')
             </if>
             <if test="deliveryDetail.money != null and deliveryDetail.money != ''">
                 and dd.money like concat('%', #{deliveryDetail.money},'%')
@@ -873,7 +924,7 @@
             </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" >
@@ -964,6 +1015,8 @@
         select dd.id,
             dd.delivery_id,
         dd.delivery_number,
+        od.product_id,
+        od.product_name,
         d.payment_terms,
         d.project,
         d.customer_id,
@@ -980,12 +1033,16 @@
         dd.order_id,
         dd.order_number,
         dd.area,
+        dd.price,
         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>
@@ -1015,11 +1072,15 @@
                sum(dd.money) as money,
                sum(dd.quantity) as quantity,
                dd.delivery_detail_remakes,
-               dd.create_time
+               dd.price,
+               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 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