From 6bbcdd0d1beeca74251f63ea42b9ee8349e97902 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期二, 15 七月 2025 10:19:54 +0800
Subject: [PATCH] 优化在制品查询速度
---
north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml | 43 +++++++++++++++++++++++++++++++++----------
1 files changed, 33 insertions(+), 10 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 5b496f1..d08023b 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
@@ -97,6 +97,7 @@
<result column="levelTwo" property="levelTwo"/>
<result column="total_thickness" property="totalThickness"/>
<result column="createTime" property="createTime"/>
+ <result column="weights" property="weight"/>
<result column="order_type" property="order.orderType"/>
<result column="customer_name" property="order.customerName"/>
@@ -258,7 +259,7 @@
<select id="exportOrderSummary" >
SELECT *
from sd.`order` as b
- where date(b.create_time)>=#{dates[0]} and date(b.create_time) <= #{dates[1]} and b.create_order>0
+ where date(b.create_time)>=#{dates[0]} and date(b.create_time) <= #{dates[1]} and b.order_review>0
order by b.id desc
</select>
@@ -266,10 +267,11 @@
<select id="getOrderReport" resultMap="orderMap">
SELECT
*,
+ round(a.weight*a.quantity,2) as weights,
a.create_time as createTime,
d.type_name as levelOne,
e.type_name as levelTwo
- from order_detail as a
+ from sd.order_detail as a
left join sd.`order` as b
on b.order_id = a.order_id
left join sd.product as c
@@ -314,13 +316,29 @@
and a.order_number like concat('%',#{orderDetail.orderNumber},'%')
</if>
- <if test="orderDetail.width != null and orderDetail.width != ''">
+ <if test="orderDetail.width != null and orderDetail.width != '' and model==0">
and a.width regexp REGEXP_REPLACE(#{orderDetail.width},'\\.0+$','')
</if>
- <if test="orderDetail.height != null and orderDetail.height != ''">
+ <if test="orderDetail.height != null and orderDetail.height != '' and model==0 ">
and a.height regexp REGEXP_REPLACE(#{orderDetail.height},'\\.0+$','')
</if>
+
+ <if test="orderDetail.width != null and orderDetail.width != '' and model==1">
+ and a.width >= REGEXP_REPLACE(#{orderDetail.width } - #{scope} ,'\\.0+$','')
+ and a.width <= REGEXP_REPLACE(#{orderDetail.width } + #{scope} ,'\\.0+$','')
+
+ </if>
+
+ <if test="orderDetail.height != null and orderDetail.height != '' and model==1 ">
+ and a.height > REGEXP_REPLACE(#{orderDetail.height } - #{scope} ,'\\.0+$','')
+ and a.height < REGEXP_REPLACE(#{orderDetail.height } + #{scope} ,'\\.0+$','')
+ </if>
+
+
+
+
+
<if test="orderDetail.quantity != null and orderDetail.quantity != ''">
and a.quantity like concat('%',#{orderDetail.quantity},'%')
@@ -552,11 +570,12 @@
<select id="exportOrderReport" >
SELECT
*,
+ round(a.weight*a.quantity,2) as weights,
b.processing_note as processingNotes,
a.create_time as createTime,
d.type_name as level_one,
e.type_name as level_two
- from order_detail as a
+ from sd.order_detail as a
left join sd.`order` as b
on b.order_id = a.order_id
left join sd.product as c
@@ -565,7 +584,8 @@
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]} and b.create_order>0
+ where date(a.create_time)>=#{dates[0]} and date(a.create_time) <= #{dates[1]} and b.order_review>0
+ order by b.order_id desc
</select>
@@ -587,6 +607,7 @@
a.edging_type,
b.pack_type,
round(sum(a.perimeter),2) as perimeter,
+ round(sum(a.weight*a.quantity),2) as weights,
a.price,
sum(a.gross_amount ) as gross_amount,
b.al_type,
@@ -915,7 +936,7 @@
a.remarks,
a.bend_radius,
a.edging_type,
- a.weight,
+ round(sum(a.weight*a.quantity),2) as weights,
a.perimeter,
a.other_columns,
a.warehouse_num,
@@ -978,7 +999,7 @@
left join sd.basic_glass_type as e
on e.type_id = d.belong
where date(b.create_time) >= #{dates[0]}
- and date(b.create_time) <= #{dates[1]} and b.create_order>0
+ and date(b.create_time) <= #{dates[1]} and b.order_review>0
group by b.order_id, a.product_id
order by b.order_id desc
</select>
@@ -1005,8 +1026,9 @@
(a.product_id) as 'productId',
a.product_name as 'productName',
+ p.remarks as 'remarks',
a.order_number as 'orderNumber'
- from order_detail as a
+ from order_detail as a left join sd.product p on a.product_id=p.id
where a.order_id = #{orderId}
group by a.product_id
</select>
@@ -1016,8 +1038,9 @@
(a.product_id) as 'productId',
a.product_name as 'productName',
+ p.remarks as 'remarks',
a.order_number as 'orderNumber'
- from order_detail as a
+ from sd.order_detail as a left join sd.product p on a.product_id=p.id
where a.order_id = #{orderId} and a.product_id IN
<foreach item="item" index="index" collection="productId" open="(" separator="," close=")">
#{item}
--
Gitblit v1.8.0