From 43e115a7de2c763c36d79e610a3abb1d833ea892 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 05 八月 2024 10:21:52 +0800
Subject: [PATCH] 修改发货报表
---
north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml | 160 +++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 141 insertions(+), 19 deletions(-)
diff --git a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
index 780c2ff..2b2d990 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -66,6 +66,7 @@
<result column="delivery_number" property="deliveryNumber"/>
<result column="quantity" property="quantity"/>
<result column="area" property="area"/>
+ <result column="price" property="price"/>
<result column="money" property="money"/>
<result column="delivery_detail_remakes" property="deliveryDetailRemakes"/>
<result column="delivery_detail_state" property="deliveryDetailState"/>
@@ -83,9 +84,14 @@
<result column="delivery_date" property="delivery.deliveryDate"/>
<result column="creator" property="delivery.creator"/>
<result column="salesman" property="delivery.salesman"/>
+ <result column="freight" property="delivery.freight"/>
+ <result column="freight_price" property="delivery.freightPrice"/>
+ <result column="freight_quantity" property="delivery.freightQuantity"/>
<result column="product_id" property="orderDetail.productId"/>
<result column="product_name" property="orderDetail.productName"/>
+
+ <result column="other_money" property="order.otherMoney"/>
@@ -520,6 +526,8 @@
<select id="getSelectDeliveryDetailReport" resultMap="selectDeliveryDetail">
select dd.delivery_id,
dd.delivery_number,
+ od.product_id,
+ od.product_name,
d.payment_terms,
d.project,
d.customer_id,
@@ -535,12 +543,19 @@
dd.order_id,
dd.order_number,
dd.area,
+ dd.price,
dd.money,
dd.quantity,
dd.delivery_detail_remakes,
- dd.create_time
+ dd.create_time,
+ o.other_money,
+ d.freight_price,
+ d.freight_quantity,
+ d.freight
from sd.delivery_detail dd
left join sd.delivery d on dd.delivery_id=d.delivery_id
+ left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
+ left join sd.`order` o on dd.order_id=o.order_id
<where>
and date(dd.create_time)>=#{startDate} and date(dd.create_time) <= #{endDate}
<if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -549,6 +564,12 @@
<if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''">
and dd.delivery_number like concat('%',#{deliveryDetail.deliveryNumber},'%')
</if>
+ <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != ''">
+ and od.product_id like concat('%',#{deliveryDetail.orderDetail.productId},'%')
+ </if>
+ <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != ''">
+ and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
+ </if>
<if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''">
and dd.order_id like concat('%', #{deliveryDetail.orderId},'%')
</if>
@@ -556,13 +577,16 @@
and dd.order_number like concat('%', #{deliveryDetail.orderNumber},'%')
</if>
<if test="deliveryDetail.area != null and deliveryDetail.area != ''">
- and dd.area like concat('%', #{deliveryDetail.area},'%')
+ and dd.area regexp REGEXP_REPLACE(#{deliveryDetail.area},'\\.0+$','')
+ </if>
+ <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
+ and dd.price regexp REGEXP_REPLACE(#{deliveryDetail.price},'\\.0+$','')
</if>
<if test="deliveryDetail.money != null and deliveryDetail.money != ''">
- and dd.money like concat('%', #{deliveryDetail.money},'%')
+ and dd.money regexp REGEXP_REPLACE(#{deliveryDetail.money},'\\.0+$','')
</if>
<if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''">
- and dd.quantity like concat('%', #{deliveryDetail.quantity},'%')
+ and dd.quantity regexp REGEXP_REPLACE(#{deliveryDetail.quantity},'\\.0+$','')
</if>
<if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''">
and dd.delivery_detail_remakes like concat('%', #{deliveryDetail.deliveryDetailRemakes},'%')
@@ -605,6 +629,18 @@
</if>
<if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.deliveryAddress != null and deliveryDetail.delivery.deliveryAddress != '')">
and d.delivery_address like concat('%', #{deliveryDetail.delivery.deliveryAddress},'%')
+ </if>
+ <if test="deliveryDetail.order!=null and (deliveryDetail.order.otherMoney != null )">
+ and o.other_money regexp REGEXP_REPLACE(#{deliveryDetail.order.otherMoney},'\\.0+$','')
+ </if>
+ <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freight != null )">
+ and d.freight regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freight},'\\.0+$','')
+ </if>
+ <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightQuantity != null )">
+ and d.freight_quantity regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freightQuantity},'\\.0+$','')
+ </if>
+ <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightPrice != null )">
+ and d.freight_price regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freightPrice},'\\.0+$','')
</if>
</where>
@@ -617,6 +653,8 @@
count(dd.id) as 'total'
from sd.delivery_detail dd
left join sd.delivery d on dd.delivery_id=d.delivery_id
+ left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
+ left join sd.`order` o on dd.order_id=o.order_id
<where>
and date(dd.create_time)>=#{startDate} and date(dd.create_time) <= #{endDate}
<if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -625,6 +663,12 @@
<if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''">
and dd.delivery_number like concat('%',#{deliveryDetail.deliveryNumber},'%')
</if>
+ <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != ''">
+ and od.product_id like concat('%',#{deliveryDetail.orderDetail.productId},'%')
+ </if>
+ <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != ''">
+ and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
+ </if>
<if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''">
and dd.order_id like concat('%', #{deliveryDetail.orderId},'%')
</if>
@@ -632,13 +676,16 @@
and dd.order_number like concat('%', #{deliveryDetail.orderNumber},'%')
</if>
<if test="deliveryDetail.area != null and deliveryDetail.area != ''">
- and dd.area like concat('%', #{deliveryDetail.area},'%')
+ and dd.area regexp REGEXP_REPLACE(#{deliveryDetail.area},'\\.0+$','')
+ </if>
+ <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
+ and dd.price regexp REGEXP_REPLACE(#{deliveryDetail.price},'\\.0+$','')
</if>
<if test="deliveryDetail.money != null and deliveryDetail.money != ''">
- and dd.money like concat('%', #{deliveryDetail.money},'%')
+ and dd.money regexp REGEXP_REPLACE(#{deliveryDetail.money},'\\.0+$','')
</if>
<if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''">
- and dd.quantity like concat('%', #{deliveryDetail.quantity},'%')
+ and dd.quantity regexp REGEXP_REPLACE(#{deliveryDetail.quantity},'\\.0+$','')
</if>
<if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''">
and dd.delivery_detail_remakes like concat('%', #{deliveryDetail.deliveryDetailRemakes},'%')
@@ -682,7 +729,18 @@
<if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.deliveryAddress != null and deliveryDetail.delivery.deliveryAddress != '')">
and d.delivery_address like concat('%', #{deliveryDetail.delivery.deliveryAddress},'%')
</if>
-
+ <if test="deliveryDetail.order!=null and (deliveryDetail.order.otherMoney != null )">
+ and o.other_money regexp REGEXP_REPLACE(#{deliveryDetail.order.otherMoney},'\\.0+$','')
+ </if>
+ <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freight != null )">
+ and d.freight regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freight},'\\.0+$','')
+ </if>
+ <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightQuantity != null )">
+ and d.freight_quantity regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freightQuantity},'\\.0+$','')
+ </if>
+ <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightPrice != null )">
+ and d.freight_price regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freightPrice},'\\.0+$','')
+ </if>
</where>
order by dd.delivery_id,dd.delivery_number
</select>
@@ -708,12 +766,18 @@
dd.order_id,
dd.order_number,
sum(dd.area) as area,
+ dd.price,
sum(dd.money) as money,
sum(dd.quantity) as quantity,
dd.delivery_detail_remakes,
- dd.create_time
+ dd.create_time,
+ o.other_money,
+ d.freight_price,
+ d.freight_quantity,
+ d.freight
from sd.delivery_detail dd left join delivery d on dd.delivery_id=d.delivery_id
left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
+ left join sd.`order` o on dd.order_id=o.order_id
<where>
and date(dd.create_time)>=#{startDate} and date(dd.create_time) <= #{endDate}
<if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -722,6 +786,12 @@
<if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''">
and dd.delivery_number like concat('%',#{deliveryDetail.deliveryNumber},'%')
</if>
+ <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != ''">
+ and od.product_id like concat('%',#{deliveryDetail.orderDetail.productId},'%')
+ </if>
+ <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != ''">
+ and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
+ </if>
<if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''">
and dd.order_id like concat('%', #{deliveryDetail.orderId},'%')
</if>
@@ -729,13 +799,16 @@
and dd.order_number like concat('%', #{deliveryDetail.orderNumber},'%')
</if>
<if test="deliveryDetail.area != null and deliveryDetail.area != ''">
- and dd.area like concat('%', #{deliveryDetail.area},'%')
+ and dd.area regexp REGEXP_REPLACE(#{deliveryDetail.area},'\\.0+$','')
+ </if>
+ <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
+ and dd.price regexp REGEXP_REPLACE(#{deliveryDetail.price},'\\.0+$','')
</if>
<if test="deliveryDetail.money != null and deliveryDetail.money != ''">
- and dd.money like concat('%', #{deliveryDetail.money},'%')
+ and dd.money regexp REGEXP_REPLACE(#{deliveryDetail.money},'\\.0+$','')
</if>
<if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''">
- and dd.quantity like concat('%', #{deliveryDetail.quantity},'%')
+ and dd.quantity regexp REGEXP_REPLACE(#{deliveryDetail.quantity},'\\.0+$','')
</if>
<if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''">
and dd.delivery_detail_remakes like concat('%', #{deliveryDetail.deliveryDetailRemakes},'%')
@@ -785,9 +858,21 @@
<if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != '')">
and od.product_name like concat('%', #{deliveryDetail.orderDetail.productId},'%')
</if>
+ <if test="deliveryDetail.order!=null and (deliveryDetail.order.otherMoney != null )">
+ and o.other_money regexp REGEXP_REPLACE(#{deliveryDetail.order.otherMoney},'\\.0+$','')
+ </if>
+ <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freight != null )">
+ and d.freight regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freight},'\\.0+$','')
+ </if>
+ <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightQuantity != null )">
+ and d.freight_quantity like concat('%', #{deliveryDetail.delivery.freightQuantity},'%')
+ </if>
+ <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightPrice != null )">
+ and d.freight_price regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freightPrice},'\\.0+$','')
+ </if>
</where>
- group by dd.delivery_id,od.product_id
+ group by dd.delivery_id,dd.order_id,od.product_id
order by dd.delivery_id,dd.delivery_number
limit #{offset},#{pageSize};
</select>
@@ -800,6 +885,7 @@
select dd.id as id
from sd.delivery_detail dd left join delivery d on dd.delivery_id=d.delivery_id
left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
+ left join sd.`order` o on dd.order_id=o.order_id
<where>
and date(dd.create_time)>=#{startDate} and date(dd.create_time) <= #{endDate}
<if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -808,6 +894,12 @@
<if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''">
and dd.delivery_number like concat('%',#{deliveryDetail.deliveryNumber},'%')
</if>
+ <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != ''">
+ and od.product_id like concat('%',#{deliveryDetail.orderDetail.productId},'%')
+ </if>
+ <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != ''">
+ and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
+ </if>
<if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''">
and dd.order_id like concat('%', #{deliveryDetail.orderId},'%')
</if>
@@ -815,13 +907,16 @@
and dd.order_number like concat('%', #{deliveryDetail.orderNumber},'%')
</if>
<if test="deliveryDetail.area != null and deliveryDetail.area != ''">
- and dd.area like concat('%', #{deliveryDetail.area},'%')
+ and dd.area regexp REGEXP_REPLACE(#{deliveryDetail.area},'\\.0+$','')
+ </if>
+ <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
+ and dd.price regexp REGEXP_REPLACE(#{deliveryDetail.price},'\\.0+$','')
</if>
<if test="deliveryDetail.money != null and deliveryDetail.money != ''">
- and dd.money like concat('%', #{deliveryDetail.money},'%')
+ and dd.money regexp REGEXP_REPLACE(#{deliveryDetail.money},'\\.0+$','')
</if>
<if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''">
- and dd.quantity like concat('%', #{deliveryDetail.quantity},'%')
+ and dd.quantity regexp REGEXP_REPLACE(#{deliveryDetail.quantity},'\\.0+$','')
</if>
<if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''">
and dd.delivery_detail_remakes like concat('%', #{deliveryDetail.deliveryDetailRemakes},'%')
@@ -871,9 +966,21 @@
<if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != '')">
and od.product_name like concat('%', #{deliveryDetail.orderDetail.productId},'%')
</if>
+ <if test="deliveryDetail.order!=null and (deliveryDetail.order.otherMoney != null )">
+ and o.other_money regexp REGEXP_REPLACE(#{deliveryDetail.order.otherMoney},'\\.0+$','')
+ </if>
+ <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freight != null )">
+ and d.freight regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freight},'\\.0+$','')
+ </if>
+ <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightQuantity != null )">
+ and d.freight_quantity like concat('%', #{deliveryDetail.delivery.freightQuantity},'%')
+ </if>
+ <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightPrice != null )">
+ and d.freight_price regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freightPrice},'\\.0+$','')
+ </if>
</where>
- group by dd.delivery_id,od.product_id) as zu
+ group by dd.delivery_id,dd.order_id,od.product_id) as zu
</select>
<select id="getSelectDeliveryPrinting" resultMap="selectDeliveryDetailOrderDetail" >
@@ -964,10 +1071,13 @@
select dd.id,
dd.delivery_id,
dd.delivery_number,
+ od.product_id,
+ od.product_name,
d.payment_terms,
d.project,
d.customer_id,
d.customer_name,
+ c.customer_abbreviation,
d.delivery_date,
d.pay_method,
d.pay_date,
@@ -979,12 +1089,17 @@
dd.order_id,
dd.order_number,
dd.area,
+ dd.price,
dd.money,
dd.quantity,
dd.delivery_detail_remakes,
- dd.create_time
+ dd.create_time,
+ o.other_money
from sd.delivery_detail dd
left join sd.delivery d on dd.delivery_id=d.delivery_id
+ left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
+ left join sd.`order` o on dd.order_id=o.order_id
+ left join sd.customer c on d.customer_id=c.id
where date(d.create_time)>=#{dates[0]} and date(d.create_time) <= #{dates[1]}
</select>
@@ -998,6 +1113,7 @@
d.project,
d.customer_id,
d.customer_name,
+ c.customer_abbreviation,
d.delivery_date,
d.pay_method,
d.pay_date,
@@ -1012,9 +1128,15 @@
sum(dd.money) as money,
sum(dd.quantity) as quantity,
dd.delivery_detail_remakes,
- dd.create_time
+ dd.price,
+ dd.create_time,
+ o.other_money
from sd.delivery_detail dd left join delivery d on dd.delivery_id=d.delivery_id
left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
+ left join sd.`order` o on dd.order_id=o.order_id
+ left join sd.customer c on d.customer_id=c.id
where date(d.create_time)>=#{dates[0]} and date(d.create_time) <= #{dates[1]}
+ group by dd.delivery_id,dd.order_id,od.product_id
+ order by dd.delivery_id,dd.delivery_number
</select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0