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 |   91 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 79 insertions(+), 12 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 573ebef..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"/>
 
 
 
@@ -148,11 +151,11 @@
 
     <insert id="insertDeliveryDetail"  useGeneratedKeys="true" >
         insert into sd.delivery_detail (delivery_id,delivery_number,order_number,
-                                        area,order_id,quantity,money,delivery_detail_remakes,delivery_detail_state,other_columns,create_time)
+                                        area,order_id,quantity,money,delivery_detail_remakes,delivery_detail_state,other_columns,create_time,price)
         values (
                    #{number} ,#{deliveryNumber},#{orderDetail.orderNumber},#{orderDetail.computeArea}*#{orderDetail.deliveryDetail.quantity},
                 #{orderDetail.orderId},#{orderDetail.deliveryDetail.quantity},
-                #{deliveryDetailMoney},'',1,#{orderDetail.otherColumns},now()
+                #{deliveryDetailMoney},'',1,#{orderDetail.otherColumns},now(),#{orderDetail.price}
                )
     </insert>
 
@@ -170,7 +173,7 @@
                od.building_number,
                od.product_id,
                od.product_name,
-               od.price,
+               dd.price,
                fgi.storage_region,
                dd.money,
                od.width,
@@ -262,7 +265,7 @@
             </if>
 
         </where>
-        order by dd.id desc
+        order by dd.id
         limit #{offset},#{pageSize};
     </select>
 
@@ -371,7 +374,8 @@
                od.compute_gross_area,
                od.processing_note,
                od.edging_type,
-               od.perimeter
+               od.perimeter,
+               od.other_columns
         from sd.order_detail od
                  left join sd.`order` o on od.order_id = o.order_id
                  left join mm.finished_goods_inventory fgi
@@ -519,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,
@@ -534,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 != ''">
@@ -547,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},'%')
@@ -556,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},'%')
@@ -616,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 != ''">
@@ -623,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},'%')
@@ -632,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},'%')
@@ -707,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 != ''">
@@ -720,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},'%')
@@ -729,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},'%')
@@ -786,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>
@@ -799,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 != ''">
@@ -806,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},'%')
@@ -815,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},'%')
@@ -872,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" >
@@ -912,7 +964,7 @@
                dd.area,
                ifnull(od.processing_note,"") as processingNote,
                ifnull(od.building_number,"") as buildingNumber,
-               od.price,
+               dd.price,
                od.other_columns
         from delivery_detail dd
                  left join order_detail od on dd.order_id = od.order_id and dd.order_number = od.order_number
@@ -963,10 +1015,13 @@
         select dd.id,
             dd.delivery_id,
         dd.delivery_number,
+        od.product_id,
+        od.product_name,
         d.payment_terms,
         d.project,
         d.customer_id,
         d.customer_name,
+        c.customer_abbreviation,
         d.delivery_date,
         d.pay_method,
         d.pay_date,
@@ -978,12 +1033,17 @@
         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>
 
@@ -997,6 +1057,7 @@
                d.project,
                d.customer_id,
                d.customer_name,
+               c.customer_abbreviation,
                d.delivery_date,
                d.pay_method,
                d.pay_date,
@@ -1011,9 +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 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