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) <= #{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) <= #{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) <= #{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 < a.child_height,a.child_width,a.child_height ),
+ if(a.child_width < 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