From e55a701f5d4807a84eecc6aff5f69e35e9ee6af4 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期四, 11 七月 2024 17:02:49 +0800
Subject: [PATCH] 提交

---
 north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml |  335 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 328 insertions(+), 7 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 2c1695c..b47b6df 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}
@@ -390,15 +392,14 @@
         <if test="orderDetail.order!=null and  orderDetail.order.customerBatch != null and orderDetail.order.customerBatch != ''">
             and b.customer_batch like concat('%',#{orderDetail.order.customerBatch},'%')
         </if>
-        order by a.id desc
     </select>
 
-    <select id="exportOrderReport">
+    <select id="exportOrderReport"  >
         SELECT
             *,
             a.create_time as createTime,
-            d.type_name as levelOne,
-            e.type_name as levelTwo
+            d.type_name as level_one,
+            e.type_name as level_two
         from order_detail as a
          left join sd.`order` as b
                    on b.order_id = a.order_id
@@ -408,7 +409,7 @@
                    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]}
     </select>
 
 
@@ -416,8 +417,32 @@
 
     <select id="getOrderProductSummary" resultMap="orderMap">
         SELECT
-        sum(a.price) as price,
-        *,
+        b.order_type,
+        b.customer_name,
+        b.project,
+        a.order_id,
+        b.batch,
+        a.product_id,
+        a.product_name,
+        sum(a.quantity) as quantity,
+        sum(a.gross_area) as gross_area,
+        sum(a.compute_gross_area) as compute_gross_area,
+        a.edging_type,
+        b.pack_type,
+        round(sum(a.perimeter),2) as perimeter,
+        a.price,
+        sum(a.gross_amount ) as gross_amount,
+        b.al_type,
+        b.salesman,
+        b.delivery_address,
+        b.creator,
+        a.create_time,
+        b.customer_batch,
+
+
+
+
+        c.*,
         a.create_time as createTime,
         d.type_name as levelOne,
         e.type_name as levelTwo
@@ -560,4 +585,300 @@
         limit #{offset},#{pageSize}
     </select>
 
+
+    <select id="getOrderProductSummaryTotal" >
+        select ss.pageTotal,count(ss.total) as 'total' from( SELECT
+        CEILING(count(a.id)/#{pageSize}) as 'pageTotal',
+        count(a.id) as 'total'
+        from order_detail as a
+        left join sd.`order` as b
+        on b.order_id = a.order_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(b.create_time)>=#{startDate} and date(b.create_time) &lt;= #{endDate}
+        <if test="orderDetail.order!=null and (orderDetail.order.orderType != null and orderDetail.order.orderType != '')">
+            and b.order_type like concat('%',#{orderDetail.order.orderType},'%')
+        </if>
+
+        <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.project != null and orderDetail.order.project != ''">
+            and b.project like concat('%',#{orderDetail.order.project},'%')
+        </if>
+
+        <if test="orderDetail.order!=null and  orderDetail.order.orderId != null and orderDetail.order.orderId != ''">
+            and b.order_id like concat('%',#{orderDetail.order.orderId},'%')
+        </if>
+
+        <if test="orderDetail.order!=null and  orderDetail.order.batch != null and orderDetail.order.batch != ''">
+            and b.batch like concat('%',#{orderDetail.order.batch},'%')
+        </if>
+
+        <if test="orderDetail.productId != null and orderDetail.productId != ''">
+            and a.product_id like concat('%',#{orderDetail.productId},'%')
+        </if>
+
+        <if test="orderDetail.productName != null and orderDetail.productName != ''">
+            and a.product_name like concat('%',#{orderDetail.productName},'%')
+        </if>
+
+        <if test="orderDetail.orderNumber != null and orderDetail.orderNumber != ''">
+            and a.order_number like concat('%',#{orderDetail.orderNumber},'%')
+        </if>
+
+        <if test="orderDetail.width != null and orderDetail.width != ''">
+            and a.width like concat('%',#{orderDetail.width},'%')
+        </if>
+
+        <if test="orderDetail.height != null and orderDetail.height != ''">
+            and a.height like concat('%',#{orderDetail.height},'%')
+        </if>
+
+        <if test="orderDetail.quantity != null and orderDetail.quantity != ''">
+            and a.quantity like concat('%',#{orderDetail.quantity},'%')
+        </if>
+
+        <if test="orderDetail.bendRadius != null and orderDetail.bendRadius != ''">
+            and a.bend_radius like concat('%',#{orderDetail.bendRadius},'%')
+        </if>
+
+        <if test="orderDetail.grossArea != null and orderDetail.grossArea != ''">
+            and a.gross_area like concat('%',#{orderDetail.grossArea},'%')
+        </if>
+
+        <if test="orderDetail.computeGrossArea != null and orderDetail.computeGrossArea != ''">
+            and a.compute_gross_area like concat('%',#{orderDetail.computeGrossArea},'%')
+        </if>
+
+        <if test="orderDetail.shape != null and orderDetail.shape != ''">
+            and a.shape like concat('%',#{orderDetail.shape},'%')
+        </if>
+
+        <if test="orderDetail.edgingType != null and orderDetail.edgingType != ''">
+            and a.edging_type like concat('%',#{orderDetail.edgingType},'%')
+        </if>
+
+        <if test="orderDetail.order!=null and  orderDetail.order.processingNote != null and orderDetail.order.processingNote != ''">
+            and b.processing_note like concat('%',#{orderDetail.order.processingNote},'%')
+        </if>
+
+        <if test="orderDetail.processingNote != null and orderDetail.processingNote != ''">
+            and a.processing_note like concat('%',#{orderDetail.processingNote},'%')
+        </if>
+
+        <if test="orderDetail.order!=null and  orderDetail.order.icon != null and orderDetail.order.icon != ''">
+            and b.icon like concat('%',#{orderDetail.order.icon},'%')
+        </if>
+
+        <if test="orderDetail.order!=null and  orderDetail.order.packType != null and orderDetail.order.packType != ''">
+            and b.pack_type like concat('%',#{orderDetail.order.packType},'%')
+        </if>
+
+        <if test="orderDetail.perimeter != null and orderDetail.perimeter != ''">
+            and a.perimeter like concat('%',#{orderDetail.perimeter},'%')
+        </if>
+
+        <if test="orderDetail.price != null and orderDetail.price != ''">
+            and a.price like concat('%',#{orderDetail.price},'%')
+        </if>
+
+        <if test="orderDetail.grossAmount != null and orderDetail.grossAmount != ''">
+            and a.gross_amount like concat('%',#{orderDetail.grossAmount},'%')
+        </if>
+
+        <if test="orderDetail.order!=null and  orderDetail.order.alType != null and orderDetail.order.alType != ''">
+            and b.al_type like concat('%',#{orderDetail.order.alType},'%')
+        </if>
+
+        <if test="orderDetail.order!=null and  orderDetail.order.salesman != null and orderDetail.order.salesman != ''">
+            and b.salesman like concat('%',#{orderDetail.order.salesman},'%')
+        </if>
+
+        <if test="orderDetail.order!=null and  orderDetail.order.deliveryAddress != null and orderDetail.order.deliveryAddress != ''">
+            and b.delivery_address like concat('%',#{orderDetail.order.deliveryAddress},'%')
+        </if>
+
+        <if test="orderDetail.order!=null and  orderDetail.order.creator != null and orderDetail.order.creator != ''">
+            and b.creator like concat('%',#{orderDetail.order.creator},'%')
+        </if>
+
+        <if test="orderDetail.totalThickness != null and orderDetail.totalThickness != ''">
+            and c.total_thickness like concat('%',#{orderDetail.totalThickness},'%')
+        </if>
+
+        <if test="orderDetail.levelOne != null and orderDetail.levelOne != ''">
+            and d.type_name like concat('%',#{orderDetail.levelOne},'%')
+        </if>
+
+        <if test="orderDetail.levelTwo != null and orderDetail.levelTwo != ''">
+            and e.type_name like concat('%',#{orderDetail.levelTwo},'%')
+        </if>
+
+        <if test="orderDetail.order!=null and  orderDetail.order.customerBatch != null and orderDetail.order.customerBatch != ''">
+            and b.customer_batch like concat('%',#{orderDetail.order.customerBatch},'%')
+        </if>
+        group by b.order_id,a.product_id
+        ) as ss
+    </select>
+
+    <select id="exportOrderProductSummary"  >
+        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,
+               a.gross_amount,
+               a.width,
+               a.height,
+               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
+        order by b.order_id desc
+    </select>
+    
+    <select id="getOrderProductDetailTag">
+        select c.customer_name,c.order_id,b.remarks,c.project,
+               if(a.child_width &lt; a.child_height,a.child_width,a.child_height ),
+               if(a.child_width &lt; a.child_height,a.child_height,a.child_width ),
+               sum(b.quantity),
+               a.glass_child,
+               b.processing_note
+        from order_glass_detail as a
+        left join order_detail as b
+        on a.order_id = b.order_id
+        and a.order_number = b.order_number
+        left join `order` as c
+        on c.order_id = a.order_id
+        where a.order_id = #{orderId}
+        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