From fec9f42e00f2df68a2a20cbf132b17bdeed8e63a Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 25 八月 2025 09:19:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml | 256 +++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 217 insertions(+), 39 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 22703db..9d88fdc 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
@@ -27,7 +27,9 @@
arch_rise,
weight,
perimeter,
- other_columns
+ monolithic_perimeter,
+ other_columns,
+ file_name
)
values
<foreach collection ="orderDetails" item="orderDetail" separator =",">
@@ -53,7 +55,9 @@
#{orderDetail.archRise},
#{orderDetail.weight},
#{orderDetail.perimeter},
- #{orderDetail.otherColumns}
+ #{orderDetail.monolithicPerimeter},
+ #{orderDetail.otherColumns},
+ #{orderDetail.fileName}
)
</foreach>
</insert>
@@ -63,7 +67,8 @@
update order_detail as a
set
a.price = #{item.price},
- a.gross_amount = #{item.grossAmount}
+ a.gross_amount = #{item.grossAmount},
+ a.other_columns = #{item.otherColumns}
where
a.order_id = #{item.orderId} and
a.order_number = #{item.orderNumber}
@@ -94,6 +99,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"/>
@@ -113,13 +119,161 @@
</resultMap>
+ <select id="getOrderSummaryReport" >
+ SELECT
+ *
+ from sd.`order` as b
+ where date(b.create_time)>=#{startDate} and date(b.create_time) <= #{endDate} and b.create_order>0
+ <if test="order.orderType != null and order.orderType != ''">
+ and b.order_type like concat('%',#{order.orderType},'%')
+ </if>
+ <if test="order.customerId != null and order.customerId != ''">
+ and b.customer_id like concat('%',#{order.customerId},'%')
+ </if>
+ <if test="order.customerName != null and order.customerName != ''">
+ and b.customer_name like concat('%',#{order.customerName},'%')
+ </if>
+ <if test="order.project != null and order.project != ''">
+ and b.project like concat('%',#{order.project},'%')
+ </if>
+ <if test="order.orderId != null and order.orderId != ''">
+ and b.order_id like concat('%',#{order.orderId},'%')
+ </if>
+ <if test="order.batch != null and order.batch != ''">
+ and b.batch like concat('%',#{order.batch},'%')
+ </if>
+
+ <if test="order.icon != null and order.icon != ''">
+ and b.icon like concat('%',#{order.icon},'%')
+ </if>
+
+ <if test="order.packType != null and order.packType != ''">
+ and b.pack_type like concat('%',#{order.packType},'%')
+ </if>
+ <if test="order.alType != null and order.alType != ''">
+ and b.al_type like concat('%',#{order.alType},'%')
+ </if>
+
+ <if test="order.salesman != null and order.salesman != ''">
+ and b.salesman like concat('%',#{order.salesman},'%')
+ </if>
+
+ <if test="order.deliveryAddress != null and order.deliveryAddress != ''">
+ and b.delivery_address like concat('%',#{order.deliveryAddress},'%')
+ </if>
+
+ <if test="order.creator != null and order.creator != ''">
+ and b.creator like concat('%',#{order.creator},'%')
+ </if>
+ <if test="order.otherMoney != null and order.otherMoney != ''">
+ and b.other_money regexp REGEXP_REPLACE(#{order.otherMoney},'\\.0+$','')
+ </if>
+
+ <if test="order.quantity != null ">
+ and b.quantity like concat('%',#{order.quantity},'%')
+ </if>
+ <if test="order.money != null ">
+ and b.money regexp REGEXP_REPLACE(#{order.money},'\\.0+$','')
+ </if>
+ <if test="order.perimeter != null and order.perimeter != ''">
+ and b.perimeter regexp REGEXP_REPLACE(#{order.perimeter},'\\.0+$','')
+ </if>
+ <if test="order.processingNote != null and order.processingNote != ''">
+ and b.processing_note like concat('%',#{order.processingNote},'%')
+ </if>
+ <if test="order.area != null and order.area != ''">
+ and b.area regexp REGEXP_REPLACE(#{order.area},'\\.0+$','')
+ </if>
+ order by b.id desc
+ limit #{offset},#{pageSize}
+ </select>
+
+ <select id="getOrderSummaryReportTotal" >
+ SELECT
+ CEILING(count(b.id)/#{pageSize}) as 'pageTotal',
+ count(b.id) as 'total'
+ from sd.`order` as b
+ where date(b.create_time)>=#{startDate} and date(b.create_time) <= #{endDate} and b.create_order>0
+ <if test="order.orderType != null and order.orderType != ''">
+ and b.order_type like concat('%',#{order.orderType},'%')
+ </if>
+
+ <if test="order.customerId != null and order.customerId != ''">
+ and b.customer_id like concat('%',#{order.customerId},'%')
+ </if>
+ <if test="order.customerName != null and order.customerName != ''">
+ and b.customer_name like concat('%',#{order.customerName},'%')
+ </if>
+ <if test="order.project != null and order.project != ''">
+ and b.project like concat('%',#{order.project},'%')
+ </if>
+
+ <if test="order.orderId != null and order.orderId != ''">
+ and b.order_id like concat('%',#{order.orderId},'%')
+ </if>
+
+ <if test="order.batch != null and order.batch != ''">
+ and b.batch like concat('%',#{order.batch},'%')
+ </if>
+
+ <if test="order.icon != null and order.icon != ''">
+ and b.icon like concat('%',#{order.icon},'%')
+ </if>
+
+ <if test="order.packType != null and order.packType != ''">
+ and b.pack_type like concat('%',#{order.packType},'%')
+ </if>
+
+
+ <if test="order.alType != null and order.alType != ''">
+ and b.al_type like concat('%',#{order.alType},'%')
+ </if>
+ <if test="order.salesman != null and order.salesman != ''">
+ and b.salesman like concat('%',#{order.salesman},'%')
+ </if>
+ <if test="order.deliveryAddress != null and order.deliveryAddress != ''">
+ and b.delivery_address like concat('%',#{order.deliveryAddress},'%')
+ </if>
+ <if test="order.creator != null and order.creator != ''">
+ and b.creator like concat('%',#{order.creator},'%')
+ </if>
+ <if test="order.otherMoney != null and order.otherMoney != ''">
+ and b.other_money regexp REGEXP_REPLACE(#{order.otherMoney},'\\.0+$','')
+ </if>
+
+ <if test="order.quantity != null ">
+ and b.quantity like concat('%',#{order.quantity},'%')
+ </if>
+ <if test="order.money != null ">
+ and b.money regexp REGEXP_REPLACE(#{order.money},'\\.0+$','')
+ </if>
+ <if test="order.perimeter != null and order.perimeter != ''">
+ and b.perimeter regexp REGEXP_REPLACE(#{order.perimeter},'\\.0+$','')
+ </if>
+ <if test="order.processingNote != null and order.processingNote != ''">
+ and b.processing_note like concat('%',#{order.processingNote},'%')
+ </if>
+ <if test="order.area != null and order.area != ''">
+ and b.area regexp REGEXP_REPLACE(#{order.area},'\\.0+$','')
+ </if>
+ </select>
+
+ <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.order_review>0
+ order by b.id desc
+ </select>
+
+
<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
@@ -128,7 +282,7 @@
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}
+ where date(b.create_time)>=#{startDate} and date(b.create_time) <= #{endDate} and b.create_order>0
<if test="orderDetail.order!=null and (orderDetail.order.orderType != null and orderDetail.order.orderType != '')">
and b.order_type like concat('%',#{orderDetail.order.orderType},'%')
@@ -164,13 +318,29 @@
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 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 != ''">
- and a.height like concat('%',#{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},'%')
@@ -181,11 +351,11 @@
</if>
<if test="orderDetail.grossArea != null and orderDetail.grossArea != ''">
- and a.gross_area like concat('%',#{orderDetail.grossArea},'%')
+ and a.gross_area regexp REGEXP_REPLACE(#{orderDetail},'\\.0+$','')
</if>
<if test="orderDetail.computeGrossArea != null and orderDetail.computeGrossArea != ''">
- and a.compute_gross_area like concat('%',#{orderDetail.computeGrossArea},'%')
+ and a.compute_gross_area regexp REGEXP_REPLACE(#{orderDetail.computeGrossArea},'\\.0+$','')
</if>
<if test="orderDetail.shape != null and orderDetail.shape != ''">
@@ -221,7 +391,7 @@
</if>
<if test="orderDetail.grossAmount != null and orderDetail.grossAmount != ''">
- and a.gross_amount like concat('%',#{orderDetail.grossAmount},'%')
+ and a.gross_amount regexp REGEXP_REPLACE(#{orderDetail.grossAmount},'\\.0+$','')
</if>
<if test="orderDetail.order!=null and orderDetail.order.alType != null and orderDetail.order.alType != ''">
@@ -271,7 +441,7 @@
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}
+ where date(b.create_time)>=#{startDate} and date(b.create_time) <= #{endDate} and b.create_order>0
<if test="orderDetail.order!=null and (orderDetail.order.orderType != null and orderDetail.order.orderType != '')">
and b.order_type like concat('%',#{orderDetail.order.orderType},'%')
</if>
@@ -307,11 +477,11 @@
</if>
<if test="orderDetail.width != null and orderDetail.width != ''">
- and a.width like concat('%',#{orderDetail.width},'%')
+ and a.width regexp REGEXP_REPLACE(#{orderDetail.width},'\\.0+$','')
</if>
<if test="orderDetail.height != null and orderDetail.height != ''">
- and a.height like concat('%',#{orderDetail.height},'%')
+ and a.height regexp REGEXP_REPLACE(#{orderDetail.height},'\\.0+$','')
</if>
<if test="orderDetail.quantity != null and orderDetail.quantity != ''">
@@ -323,11 +493,11 @@
</if>
<if test="orderDetail.grossArea != null and orderDetail.grossArea != ''">
- and a.gross_area like concat('%',#{orderDetail.grossArea},'%')
+ and a.gross_area regexp REGEXP_REPLACE(#{orderDetail},'\\.0+$','')
</if>
<if test="orderDetail.computeGrossArea != null and orderDetail.computeGrossArea != ''">
- and a.compute_gross_area like concat('%',#{orderDetail.computeGrossArea},'%')
+ and a.compute_gross_area regexp REGEXP_REPLACE(#{orderDetail.computeGrossArea},'\\.0+$','')
</if>
<if test="orderDetail.shape != null and orderDetail.shape != ''">
@@ -363,7 +533,7 @@
</if>
<if test="orderDetail.grossAmount != null and orderDetail.grossAmount != ''">
- and a.gross_amount like concat('%',#{orderDetail.grossAmount},'%')
+ and a.gross_amount regexp REGEXP_REPLACE(#{orderDetail.grossAmount},'\\.0+$','')
</if>
<if test="orderDetail.order!=null and orderDetail.order.alType != null and orderDetail.order.alType != ''">
@@ -402,10 +572,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
@@ -414,7 +586,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]}
+ 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>
@@ -436,6 +609,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,
@@ -461,7 +635,7 @@
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}
+ where date(b.create_time)>=#{startDate} and date(b.create_time) <= #{endDate} and b.create_order>0
<if test="orderDetail.order!=null and (orderDetail.order.orderType != null and orderDetail.order.orderType != '')">
and b.order_type like concat('%',#{orderDetail.order.orderType},'%')
@@ -498,11 +672,11 @@
</if>
<if test="orderDetail.width != null and orderDetail.width != ''">
- and a.width like concat('%',#{orderDetail.width},'%')
+ and a.width regexp REGEXP_REPLACE(#{orderDetail.width},'\\.0+$','')
</if>
<if test="orderDetail.height != null and orderDetail.height != ''">
- and a.height like concat('%',#{orderDetail.height},'%')
+ and a.height regexp REGEXP_REPLACE(#{orderDetail.height},'\\.0+$','')
</if>
<if test="orderDetail.quantity != null and orderDetail.quantity != ''">
@@ -514,11 +688,11 @@
</if>
<if test="orderDetail.grossArea != null and orderDetail.grossArea != ''">
- and a.gross_area like concat('%',#{orderDetail.grossArea},'%')
+ and a.gross_area regexp REGEXP_REPLACE(#{orderDetail.grossArea},'\\.0+$','')
</if>
<if test="orderDetail.computeGrossArea != null and orderDetail.computeGrossArea != ''">
- and a.compute_gross_area like concat('%',#{orderDetail.computeGrossArea},'%')
+ and a.compute_gross_area regexp REGEXP_REPLACE(#{orderDetail.computeGrossArea},'\\.0+$','')
</if>
<if test="orderDetail.shape != null and orderDetail.shape != ''">
@@ -554,7 +728,7 @@
</if>
<if test="orderDetail.grossAmount != null and orderDetail.grossAmount != ''">
- and a.gross_amount like concat('%',#{orderDetail.grossAmount},'%')
+ and a.gross_amount regexp REGEXP_REPLACE(#{orderDetail.grossAmount},'\\.0+$','')
</if>
<if test="orderDetail.order!=null and orderDetail.order.alType != null and orderDetail.order.alType != ''">
@@ -611,7 +785,7 @@
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}
+ where date(b.create_time)>=#{startDate} and date(b.create_time) <= #{endDate} and b.create_order>0
<if test="orderDetail.order!=null and (orderDetail.order.orderType != null and orderDetail.order.orderType != '')">
and b.order_type like concat('%',#{orderDetail.order.orderType},'%')
</if>
@@ -647,11 +821,11 @@
</if>
<if test="orderDetail.width != null and orderDetail.width != ''">
- and a.width like concat('%',#{orderDetail.width},'%')
+ and a.width regexp REGEXP_REPLACE(#{orderDetail.width},'\\.0+$','')
</if>
<if test="orderDetail.height != null and orderDetail.height != ''">
- and a.height like concat('%',#{orderDetail.height},'%')
+ and a.height regexp REGEXP_REPLACE(#{orderDetail.height},'\\.0+$','')
</if>
<if test="orderDetail.quantity != null and orderDetail.quantity != ''">
@@ -663,11 +837,11 @@
</if>
<if test="orderDetail.grossArea != null and orderDetail.grossArea != ''">
- and a.gross_area like concat('%',#{orderDetail.grossArea},'%')
+ and a.gross_area regexp REGEXP_REPLACE(#{orderDetail.grossArea},'\\.0+$','')
</if>
<if test="orderDetail.computeGrossArea != null and orderDetail.computeGrossArea != ''">
- and a.compute_gross_area like concat('%',#{orderDetail.computeGrossArea},'%')
+ and a.compute_gross_area regexp REGEXP_REPLACE(#{orderDetail.computeGrossArea},'\\.0+$','')
</if>
<if test="orderDetail.shape != null and orderDetail.shape != ''">
@@ -703,7 +877,7 @@
</if>
<if test="orderDetail.grossAmount != null and orderDetail.grossAmount != ''">
- and a.gross_amount like concat('%',#{orderDetail.grossAmount},'%')
+ and a.gross_amount regexp REGEXP_REPLACE(#{orderDetail.grossAmount},'\\.0+$','')
</if>
<if test="orderDetail.order!=null and orderDetail.order.alType != null and orderDetail.order.alType != ''">
@@ -764,7 +938,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,
@@ -794,7 +968,7 @@
b.delivery_address,
b.other_money,
b.other_money_remarks,
- b.processing_note,
+ b.processing_note as processingNotes,
b.other_remarks,
b.area,
b.quantity,
@@ -826,8 +1000,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]}
+ where date(b.create_time) >= #{dates[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>
@@ -854,8 +1028,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>
@@ -865,8 +1040,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}
@@ -892,7 +1068,9 @@
group by od.product_id,pd.detail
</select>
-
+ <delete id="deleteOrderFile" >
+ delete from sd.order_file where order_id = #{orderId}
+ </delete>
--
Gitblit v1.8.0