From 2a891d0391bc9f2dfaaaee8f63fcb20ff0932202 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期三, 24 七月 2024 15:11:40 +0800
Subject: [PATCH] 修改订单报表
---
north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml | 176 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 164 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 57479f7..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,28 +737,164 @@
<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) <= #{dates[1]}
- group by b.order_id,a.product_id
+ 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