From dffdcaa14f32c51a63b4ab2cc7a38eebf17f8f44 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期日, 28 七月 2024 15:58:34 +0800
Subject: [PATCH] 修改发货报表

---
 north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml |  158 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 146 insertions(+), 12 deletions(-)

diff --git a/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
index 15d84cf..22703db 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
@@ -24,6 +24,7 @@
                             remarks,
                             bend_radius,
                             edging_type,
+                            arch_rise,
                             weight,
                             perimeter,
                             other_columns
@@ -49,6 +50,7 @@
             #{orderDetail.remarks},
             #{orderDetail.bendRadius},
             #{orderDetail.edgingType},
+            #{orderDetail.archRise},
             #{orderDetail.weight},
             #{orderDetail.perimeter},
             #{orderDetail.otherColumns}
@@ -106,6 +108,7 @@
         <result column="creator" property="order.creator"/>
         <result column="verifier" property="order.verifier"/>
         <result column="customer_batch" property="order.customerBatch"/>
+        <result column="other_money" property="order.otherMoney"/>
 
     </resultMap>
 
@@ -134,7 +137,9 @@
         <if test="orderDetail.order!=null and  orderDetail.order.customerId != null and orderDetail.order.customerId != ''">
             and b.customer_id like concat('%',#{orderDetail.order.customerId},'%')
         </if>
-
+        <if test="orderDetail.order!=null and  orderDetail.order.customerName != null and orderDetail.order.customerName != ''">
+            and b.customer_name like concat('%',#{orderDetail.order.customerName},'%')
+        </if>
         <if test="orderDetail.order!=null and  orderDetail.order.project != null and orderDetail.order.project != ''">
             and b.project like concat('%',#{orderDetail.order.project},'%')
         </if>
@@ -274,7 +279,9 @@
         <if test="orderDetail.order!=null and  orderDetail.order.customerId != null and orderDetail.order.customerId != ''">
             and b.customer_id like concat('%',#{orderDetail.order.customerId},'%')
         </if>
-
+        <if test="orderDetail.order!=null and  orderDetail.order.customerName != null and orderDetail.order.customerName != ''">
+            and b.customer_name like concat('%',#{orderDetail.order.customerName},'%')
+        </if>
         <if test="orderDetail.order!=null and  orderDetail.order.project != null and orderDetail.order.project != ''">
             and b.project like concat('%',#{orderDetail.order.project},'%')
         </if>
@@ -422,6 +429,7 @@
         b.batch,
         a.product_id,
         a.product_name,
+        b.other_money,
         sum(a.quantity) as quantity,
         sum(a.gross_area) as gross_area,
         sum(a.compute_gross_area) as compute_gross_area,
@@ -462,7 +470,9 @@
         <if test="orderDetail.order!=null and  orderDetail.order.customerId != null and orderDetail.order.customerId != ''">
             and b.customer_id like concat('%',#{orderDetail.order.customerId},'%')
         </if>
-
+        <if test="orderDetail.order!=null and  orderDetail.order.customerName != null and orderDetail.order.customerName != ''">
+            and b.customer_name like concat('%',#{orderDetail.order.customerName},'%')
+        </if>
         <if test="orderDetail.order!=null and  orderDetail.order.project != null and orderDetail.order.project != ''">
             and b.project like concat('%',#{orderDetail.order.project},'%')
         </if>
@@ -577,6 +587,10 @@
 
         <if test="orderDetail.order!=null and  orderDetail.order.customerBatch != null and orderDetail.order.customerBatch != ''">
             and b.customer_batch like concat('%',#{orderDetail.order.customerBatch},'%')
+        </if>
+
+        <if test="orderDetail.order!=null and  orderDetail.order.otherMoney != null ">
+            and b.other_money  regexp REGEXP_REPLACE(#{orderDetail.order.otherMoney},'\\.0+$','')
         </if>
         group by b.order_id,a.product_id
         order by b.order_id desc
@@ -605,7 +619,9 @@
         <if test="orderDetail.order!=null and  orderDetail.order.customerId != null and orderDetail.order.customerId != ''">
             and b.customer_id like concat('%',#{orderDetail.order.customerId},'%')
         </if>
-
+        <if test="orderDetail.order!=null and  orderDetail.order.customerName != null and orderDetail.order.customerName != ''">
+            and b.customer_name like concat('%',#{orderDetail.order.customerName},'%')
+        </if>
         <if test="orderDetail.order!=null and  orderDetail.order.project != null and orderDetail.order.project != ''">
             and b.project like concat('%',#{orderDetail.order.project},'%')
         </if>
@@ -721,27 +737,98 @@
         <if test="orderDetail.order!=null and  orderDetail.order.customerBatch != null and orderDetail.order.customerBatch != ''">
             and b.customer_batch like concat('%',#{orderDetail.order.customerBatch},'%')
         </if>
+
+        <if test="orderDetail.order!=null and  orderDetail.order.otherMoney != null ">
+            and b.other_money  regexp REGEXP_REPLACE(#{orderDetail.order.otherMoney},'\\.0+$','')
+        </if>
         group by b.order_id,a.product_id
         ) as ss
     </select>
 
     <select id="exportOrderProductSummary"  >
-        SELECT
-            *,
-            a.create_time as createTime,
-            d.type_name as level_one,
-            e.type_name as level_two
-        from order_detail as a
+        SELECT a.id,
+               a.order_id,
+               a.order_number,
+               a.building_number,
+               a.product_id,
+               a.product_name,
+               a.price,
+               sum(a.quantity) as quantity,
+               sum(a.gross_amount) as gross_amount,
+               a.shape,
+               sum(a.area) as area,
+               sum(a.gross_area) as gross_area,
+               sum(a.compute_area) as compute_area,
+               sum(a.compute_gross_area) as compute_gross_area,
+               a.processing_note,
+               a.remarks,
+               a.bend_radius,
+               a.edging_type,
+               a.weight,
+               a.perimeter,
+               a.other_columns,
+               a.warehouse_num,
+               a.delivery_num,
+               a.return_num,
+               a.state,
+               b.id,
+               b.order_id,
+               b.project,
+               b.customer_id,
+               b.customer_name,
+               b.order_type,
+               b.order_classify,
+               b.icon,
+               b.pack_type,
+               b.delivery_date,
+               b.batch,
+               b.calculate_type,
+               b.salesman_id,
+               b.salesman,
+               b.al_type,
+               b.money,
+               b.contract_id,
+               b.customer_batch,
+               b.contacts,
+               b.contact_number,
+               b.delivery_address,
+               b.other_money,
+               b.other_money_remarks,
+               b.processing_note,
+               b.other_remarks,
+               b.area,
+               b.quantity,
+               b.perimeter,
+               b.verifier_id,
+               b.verifier,
+               b.creator_id,
+               b.creator,
+               b.create_order,
+               b.process_review,
+               b.order_review,
+               b.production_order,
+               b.processing_card,
+               b.warehousing,
+               b.delivery,
+               b.create_time,
+               b.update_time,
+               d.type_name as level_one,
+               e.type_name as level_two,
+               f.customer_abbreviation
+        from sd.order_detail as a
                  left join sd.`order` as b
                            on b.order_id = a.order_id
+                 left join sd.customer as f
+                           on f.id = b.customer_id
                  left join sd.product as c
                            on c.id = a.product_id
                  left join sd.basic_glass_type as d
                            on d.type_id = c.type_id
                  left join sd.basic_glass_type as e
                            on e.type_id = d.belong
-        where  date(a.create_time)>=#{dates[0]} and date(a.create_time) &lt;= #{dates[1]}
-        group by b.order_id,a.product_id
+        where date(a.create_time) >= #{dates[0]}
+          and date(a.create_time) &lt;= #{dates[1]}
+        group by b.order_id, a.product_id
         order by b.order_id desc
     </select>
     
@@ -762,5 +849,52 @@
         group by a.glass_child,a.child_width,a.child_height
     </select>
 
+    <select id="getOrderProductDistinctById">
+        select
+
+            (a.product_id) as 'productId',
+                    a.product_name as 'productName',
+                    a.order_number as 'orderNumber'
+        from order_detail as a
+        where a.order_id = #{orderId}
+        group by a.product_id
+    </select>
+
+    <select id="getOrderProductDistinctByIds">
+        select
+
+        (a.product_id) as 'productId',
+        a.product_name as 'productName',
+        a.order_number as 'orderNumber'
+        from order_detail as a
+        where a.order_id = #{orderId} and a.product_id IN
+        <foreach item="item" index="index" collection="productId" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+        group by a.product_id
+    </select>
+
+    <select id="getOrderProductByProductId">
+        select
+            *
+        from order_detail as a
+        where a.order_id = #{orderId}
+        and a.product_id = #{productId}
+        order by id;
+    </select>
+
+    <select id="getOrderProductByProductIds">
+        select *
+        from sd.order_detail od
+                 left join sd.product_detail pd on od.product_id = pd.prod_id
+        where od.order_id = #{orderId} and od.product_id=#{productId}
+          and pd.detail_type = 'glass'
+        group by od.product_id,pd.detail
+    </select>
+
+
+
+
+
 
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0