From e00b54ec7322cf7cba5883e17f2e2843f71b8833 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期四, 20 十一月 2025 17:05:54 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override
---
north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml | 468 +++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 392 insertions(+), 76 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 d5bb659..8da1dbe 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -53,6 +53,8 @@
<result column="quantity_available" property="finishedGoodsInventory.quantityAvailable"/>
<result column="storage_region" property="finishedGoodsInventory.storageRegion"/>
<result column="actual_signal_area" property="finishedGoodsInventory.actualSignalArea"/>
+ <result column="box_no" property="finishedGoodsInventory.boxNo"/>
+ <result column="id" property="finishedGoodsInventory.id"/>
</resultMap>
@@ -71,6 +73,7 @@
<result column="delivery_detail_remakes" property="deliveryDetailRemakes"/>
<result column="delivery_detail_state" property="deliveryDetailState"/>
<result column="create_time" property="createTime"/>
+ <result column="box_no" property="boxNo"/>
<result column="customer_id" property="delivery.customerId"/>
<result column="customer_name" property="delivery.customerName"/>
@@ -84,12 +87,18 @@
<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="width" property="orderDetail.width"/>
+ <result column="height" property="orderDetail.height"/>
+ <result column="building_number" property="orderDetail.buildingNumber"/>
<result column="other_money" property="order.otherMoney"/>
-
+ <result column="batch" property="order.batch"/>
</resultMap>
@@ -102,6 +111,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"/>
@@ -110,6 +120,11 @@
<result column="product_id" property="orderDetail.productId"/>
<result column="product_name" property="orderDetail.productName"/>
<result column="order_id" property="orderDetail.orderId"/>
+ <result column="width" property="orderDetail.edgingType"/>
+ <result column="height" property="orderDetail.shape"/>
+
+ <result column="contract_id" property="order.contractId"/>
+ <result column="batch" property="order.batch"/>
@@ -148,14 +163,18 @@
select sum(quantity) from sd.order_detail where order_id=#{orderId}
</select>
+ <select id="selectOrderDetailDeliveryCount">
+ SELECT * FROM sd.order_detail where order_id=#{orderDetail.orderId} and order_number=#{orderDetail.orderNumber}
+ </select>
+
<insert id="insertDeliveryDetail" useGeneratedKeys="true" >
insert into sd.delivery_detail (delivery_id,delivery_number,order_number,
- area,order_id,quantity,money,delivery_detail_remakes,delivery_detail_state,other_columns,create_time,price)
+ area,order_id,quantity,money,delivery_detail_remakes,delivery_detail_state,other_columns,create_time,price,other_money,box_no)
values (
- #{number} ,#{deliveryNumber},#{orderDetail.orderNumber},#{orderDetail.computeArea}*#{orderDetail.deliveryDetail.quantity},
+ #{number} ,#{deliveryNumber},#{orderDetail.orderNumber},#{deliveryDetailArea},
#{orderDetail.orderId},#{orderDetail.deliveryDetail.quantity},
- #{deliveryDetailMoney},'',1,#{orderDetail.otherColumns},now(),#{orderDetail.price}
+ #{deliveryDetailMoney},'',1,#{orderDetail.otherColumns},now(),#{orderDetail.price},#{otherMoneys},#{orderDetail.finishedGoodsInventory.boxNo}
)
</insert>
@@ -167,8 +186,8 @@
dd.delivery_number,
fgi.quantity_available + dd.quantity as quantity_available,
od.order_number,
- od.quantity-dd.quantity as t_quantity,
- od.quantity as o_quantity,
+ od.quantity-od.delivery_num as t_quantity,
+ (fgi.quantity_available+ifnull(dd1.sumQuantity,0)) as o_quantity,
dd.quantity as d_quantity,
od.building_number,
od.product_id,
@@ -180,9 +199,11 @@
od.height,
od.shape,
fgi.actual_signal_area,
- od.gross_area,
+ dd.box_no,
+ od.area,
+ dd.area as gross_area,
od.compute_area,
- od.compute_gross_area,
+ dd.area as compute_gross_area,
od.processing_note,
od.edging_type,
od.perimeter,
@@ -192,10 +213,14 @@
left join sd.delivery d on dd.delivery_id=d.delivery_id
left join sd.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 mm.finished_goods_inventory fgi on dd.order_id=fgi.order_id and dd.order_number=fgi.order_number
+ left join mm.finished_goods_inventory fgi on dd.order_id=fgi.order_id and dd.order_number=fgi.order_number and fgi.box_no = dd.box_no
+ left join (SELECT IFNULL(sum(quantity),0) as sumQuantity,dd.*
+ from sd.delivery_detail dd
+ GROUP BY dd.order_id,dd.order_number,dd.box_no) AS dd1
+ on od.order_id = dd1.order_id and od.order_number = dd1.order_number and dd1.box_no = fgi.box_no
<where>
<if test="orderDetail.deliveryDetail.deliveryId != null and orderDetail.deliveryDetail.deliveryId != ''">
- and dd.delivery_id regexp #{orderDetail.deliveryDetail.deliveryId}
+ and dd.delivery_id = #{orderDetail.deliveryDetail.deliveryId}
</if>
<if test="orderDetail.orderId != null and orderDetail.orderId != ''">
and od.order_id regexp #{orderDetail.orderId}
@@ -226,6 +251,9 @@
</if>
<if test="orderDetail.finishedGoodsInventory.storageRegion != null and orderDetail.finishedGoodsInventory.storageRegion != ''">
and fgi.storage_region regexp #{orderDetail.finishedGoodsInventory.storageRegion}
+ </if>
+ <if test="orderDetail.deliveryDetail.boxNo != null and orderDetail.deliveryDetail.boxNo != ''">
+ and dd.box_no regexp #{orderDetail.deliveryDetail.boxNo}
</if>
<if test="orderDetail.deliveryDetail.money != null and orderDetail.deliveryDetail.money != ''">
and dd.money regexp REGEXP_REPLACE(#{orderDetail.deliveryDetail.money},'\\.0+$','')
@@ -266,7 +294,6 @@
</where>
order by dd.id
- limit #{offset},#{pageSize};
</select>
<select id="getSelectShippingOrderDetailPageTotal">
@@ -311,6 +338,9 @@
<if test="orderDetail.finishedGoodsInventory.storageRegion != null and orderDetail.finishedGoodsInventory.storageRegion != ''">
and fgi.storage_region regexp #{orderDetail.finishedGoodsInventory.storageRegion}
</if>
+ <if test="orderDetail.deliveryDetail.boxNo != null and orderDetail.deliveryDetail.boxNo != ''">
+ and dd.box_no regexp #{orderDetail.deliveryDetail.boxNo}
+ </if>
<if test="orderDetail.deliveryDetail.money != null and orderDetail.deliveryDetail.money != ''">
and dd.money regexp REGEXP_REPLACE(#{orderDetail.deliveryDetail.money},'\\.0+$','')
</if>
@@ -348,18 +378,19 @@
and dd.delivery_detail_remakes regexp #{orderDetail.deliveryDetail.deliveryDetailRemakes}
</if>
</where>
- limit #{offset},#{pageSize};
</select>
<select id="getSelectShippingOrderDetails" resultMap="selectDeliveryFinishedGoodsInventoryOrderDetail">
- select od.order_id,
+ select
+ fgi.id,
+ od.order_id,
od.order_number,
o.batch,
o.calculate_type,
fgi.quantity_available,
- od.quantity- od.delivery_num as t_quantity,
- od.quantity as o_quantity,
- fgi.quantity_available as d_quantity,
+ od.quantity- od.delivery_num as t_quantity,-- 鏈彂鏁伴噺
+ ifnull(dd1.sumQuantity,0)+fgi.quantity_available as o_quantity,-- 鏁伴噺
+ fgi.quantity_available as d_quantity,-- 鍙戣揣鏁伴噺
od.building_number,
od.product_id,
od.product_name,
@@ -369,6 +400,8 @@
od.height,
od.shape,
fgi.actual_signal_area,
+ fgi.box_no,
+ od.area,
od.gross_area,
od.compute_area,
od.compute_gross_area,
@@ -380,6 +413,13 @@
left join sd.`order` o on od.order_id = o.order_id
left join mm.finished_goods_inventory fgi
on od.order_id = fgi.order_id and od.order_number = fgi.order_number
+ left join (SELECT IFNULL(sum(quantity),0) as sumQuantity,dd.*
+ from sd.delivery_detail dd
+ where dd.order_id regexp #{orderDetail.orderId}
+ GROUP BY dd.order_id,dd.order_number,dd.box_no) AS dd1
+ on od.order_id = dd1.order_id and od.order_number = dd1.order_number and dd1.box_no = fgi.box_no
+
+
<where>
fgi.quantity_available > 0 and od.quantity > od.delivery_num
<if test="orderDetail.orderId != null and orderDetail.orderId != ''">
@@ -412,6 +452,9 @@
<if test="orderDetail.finishedGoodsInventory.storageRegion != null and orderDetail.finishedGoodsInventory.storageRegion != ''">
and fgi.storage_region regexp #{orderDetail.finishedGoodsInventory.storageRegion}
</if>
+ <if test="orderDetail.finishedGoodsInventory.boxNo != null and orderDetail.finishedGoodsInventory.boxNo != ''">
+ and fgi.box_no regexp #{orderDetail.finishedGoodsInventory.boxNo}
+ </if>
<if test="orderDetail.width != null and orderDetail.width != ''">
and od.width regexp REGEXP_REPLACE(#{orderDetail.width},'\\.0+$','')
</if>
@@ -443,7 +486,6 @@
and od.perimeter regexp #{orderDetail.perimeter}
</if>
</where>
- limit #{offset},#{pageSize};
</select>
<select id="getSelectShippingOrderDetailsPageTotal">
@@ -485,6 +527,9 @@
<if test="orderDetail.finishedGoodsInventory.storageRegion != null and orderDetail.finishedGoodsInventory.storageRegion != ''">
and fgi.storage_region regexp #{orderDetail.finishedGoodsInventory.storageRegion}
</if>
+ <if test="orderDetail.finishedGoodsInventory.boxNo != null and orderDetail.finishedGoodsInventory.boxNo != ''">
+ and fgi.box_no regexp #{orderDetail.finishedGoodsInventory.boxNo}
+ </if>
<if test="orderDetail.width != null and orderDetail.width != ''">
and od.width regexp REGEXP_REPLACE(#{orderDetail.width},'\\.0+$','')
</if>
@@ -516,7 +561,6 @@
and od.perimeter regexp #{orderDetail.perimeter}
</if>
</where>
- limit #{offset},#{pageSize};
</select>
@@ -545,13 +589,36 @@
dd.quantity,
dd.delivery_detail_remakes,
dd.create_time,
- o.other_money
+ o.other_money,
+ d.freight_price,
+ d.freight_quantity,
+ d.freight,
+ o.batch,
+ od.width,
+ od.height,
+ od.building_number,
+ dd.box_no
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.order!=null and (deliveryDetail.order.batch != null and deliveryDetail.order.batch != '')">
+ and o.batch like concat('%',#{deliveryDetail.order.batch},'%')
+ </if>
+ <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.width != null and deliveryDetail.orderDetail.width != '')">
+ and od.width regexp REGEXP_REPLACE(#{deliveryDetail.orderDetail.width},'\\.0+$','')
+ </if>
+ <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.height != null and deliveryDetail.orderDetail.height != '')">
+ and od.height regexp REGEXP_REPLACE(#{deliveryDetail.orderDetail.height},'\\.0+$','')
+ </if>
+ <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.buildingNumber != null and deliveryDetail.orderDetail.buildingNumber != '')">
+ and od.building_number like concat('%',#{deliveryDetail.orderDetail.buildingNumber},'%')
+ </if>
+ <if test="deliveryDetail.boxNo != null and deliveryDetail.boxNo != ''">
+ and dd.box_no like concat('%',#{deliveryDetail.boxNo},'%')
+ </if>
<if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
and dd.delivery_id like concat('%',#{deliveryDetail.deliveryId},'%')
</if>
@@ -571,16 +638,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 like concat('%', #{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},'%')
@@ -623,6 +690,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>
@@ -639,6 +718,21 @@
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.order!=null and (deliveryDetail.order.batch != null and deliveryDetail.order.batch != '')">
+ and o.batch like concat('%',#{deliveryDetail.order.batch},'%')
+ </if>
+ <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.width != null and deliveryDetail.orderDetail.width != '')">
+ and od.width regexp REGEXP_REPLACE(#{deliveryDetail.orderDetail.width},'\\.0+$','')
+ </if>
+ <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.height != null and deliveryDetail.orderDetail.height != '')">
+ and od.height regexp REGEXP_REPLACE(#{deliveryDetail.orderDetail.height},'\\.0+$','')
+ </if>
+ <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.buildingNumber != null and deliveryDetail.orderDetail.buildingNumber != '')">
+ and od.building_number like concat('%',#{deliveryDetail.orderDetail.buildingNumber},'%')
+ </if>
+ <if test="deliveryDetail.boxNo != null and deliveryDetail.boxNo != ''">
+ and dd.box_no like concat('%',#{deliveryDetail.boxNo},'%')
+ </if>
<if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
and dd.delivery_id like concat('%',#{deliveryDetail.deliveryId},'%')
</if>
@@ -658,16 +752,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 like concat('%', #{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},'%')
@@ -710,6 +804,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>
@@ -742,7 +848,10 @@
sum(dd.quantity) as quantity,
dd.delivery_detail_remakes,
dd.create_time,
- o.other_money
+ 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
@@ -754,12 +863,6 @@
<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>
@@ -767,16 +870,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 like concat('%', #{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},'%')
@@ -821,14 +924,26 @@
and d.delivery_address like concat('%', #{deliveryDetail.delivery.deliveryAddress},'%')
</if>
<if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != '')">
- and od.product_id like concat('%', #{deliveryDetail.orderDetail.productName},'%')
+ and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
</if>
<if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != '')">
- and od.product_name like concat('%', #{deliveryDetail.orderDetail.productId},'%')
+ and od.product_id 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>
@@ -850,12 +965,6 @@
<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>
@@ -863,16 +972,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 like concat('%', #{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},'%')
@@ -917,46 +1026,230 @@
and d.delivery_address like concat('%', #{deliveryDetail.delivery.deliveryAddress},'%')
</if>
<if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != '')">
- and od.product_id like concat('%', #{deliveryDetail.orderDetail.productName},'%')
+ and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
</if>
<if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != '')">
- and od.product_name like concat('%', #{deliveryDetail.orderDetail.productId},'%')
+ and od.product_id 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" >
- select dd.delivery_id,od.order_id,od.product_id,pt.remarks as product_name,sum(dd.area) as area,sum(dd.money) as money,sum(dd.quantity) as quantity from
+ select dd.delivery_id,od.order_id,od.product_id,IF(#{type}='product_abbreviation',pt.remarks,od.product_name) as product_name,dd.price,sum(dd.area) as area,
+ sum(dd.money) as money,sum(dd.quantity) as quantity,o.contract_id,o.batch from
delivery_detail dd left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
left join product pt on pt.id=od.product_id
+ left join sd.`order` o on o.order_id=dd.order_id
- <where>
- <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
- and dd.delivery_id like concat('%',#{deliveryDetail.deliveryId},'%')
- </if>
- </where>
+ where dd.delivery_id like concat('%',#{deliveryId},'%')
+
group by od.order_id,od.product_name,od.product_id
</select>
- <select id="getSelectOrderPrinting" >
- select od.order_id,od.product_id,p.remarks as product_name,sum(od.compute_gross_area) as area,sum(od.gross_amount) as gross_amount ,sum(od.quantity) as quantity from
- order_detail od left join product p on od.product_id=p.id
+ <select id="getSelectDeliveryPrintingMoney" resultMap="selectDeliveryDetailOrderDetail" >
+ select dd.delivery_id,
+ od.order_id,
+ IF(#{type} = 'product_abbreviation', pt.remarks, od.product_name) as product_name,
+ dd.price,
+ sum(dd.area) as area,
+ sum(dd.money) as money,
+ sum(dd.quantity) as quantity,
+ o.contract_id,
+ od.width,
+ od.height
+ from delivery_detail dd
+ left join (select product_name,
+ order_id,
+ product_id,
+ order_number,
+ CASE
+ WHEN height < 4000 AND height >= 3660 and height>width THEN
+ '3660<H<4000'
+ WHEN height < 5000 AND height >= 4000 and height>width THEN
+ '4000<H<5000'
+ WHEN height < 6000 AND height >= 5000 and height>width THEN
+ '5000<H<6000'
+ WHEN height < 7000 AND height >= 6000 and height>width THEN
+ '6000<H<7000'
+ WHEN height < 8000 AND height >= 7000 and height>width THEN
+ '7000<H<8000'
+ WHEN height < 9000 AND height >= 8000 and height>width THEN
+ '8000<H<9000'
+ WHEN height < 10000 AND height >= 9000 and height>width THEN
+ '9000<H<10000'
+ WHEN height < 11000 AND height >= 10000 and height>width THEN
+ '10000<H<11000'
+ WHEN height < 12000 AND height >= 11000 and height>width THEN
+ '11000<H<12000'
+ ELSE
+ ''
+ END height,
+ CASE
- <where>
- <if test="orderDetail.orderId != null and orderDetail.orderId != ''">
- and od.order_id like concat('%',#{orderDetail.orderId},'%')
- </if>
- </where>
- group by od.product_name,od.product_id
+ WHEN width < 4000 AND width >= 3660 and width>height THEN
+ '3660<H<4000'
+ WHEN width < 5000 AND width >= 4000 and width>height THEN
+ '4000<H<5000'
+ WHEN width < 6000 AND width >= 5000 and width>height THEN
+ '5000<H<6000'
+ WHEN width < 7000 AND width >= 6000 and width>height THEN
+ '6000<H<7000'
+ WHEN width < 8000 AND width >= 7000 and width>height THEN
+ '7000<H<8000'
+ WHEN width < 9000 AND width >= 8000 and width>height THEN
+ '8000<H<9000'
+ WHEN width < 10000 AND width >= 9000 and width>height THEN
+ '9000<H<10000'
+ WHEN width < 11000 AND width >= 10000 and width>height THEN
+ '10000<H<11000'
+ WHEN width < 12000 AND width >= 11000 and width>height THEN
+ '11000<H<12000'
+ ELSE
+ ''
+ END width
+ from order_detail) as od on dd.order_id = od.order_id and dd.order_number = od.order_number
+ left join product pt on pt.id = od.product_id
+ left join sd.`order` o on o.order_id = dd.order_id
+
+
+ where dd.delivery_id like concat('%', #{deliveryId}, '%')
+
+ group by od.order_id, od.product_name,od.width,od.height, dd.price
+ </select>
+
+ <select id="getSelectDeliveryPrintingNoMoney" resultMap="selectDeliveryDetailOrderDetail" >
+ select dd.delivery_id,
+ od.order_id,
+ IF(#{type} = 'product_abbreviation', pt.remarks, od.product_name) as product_name,
+ sum(dd.area) as area,
+ sum(dd.quantity) as quantity,
+ o.contract_id,
+ od.width,
+ od.height
+ from delivery_detail dd
+ left join (select product_name,
+ order_id,
+ product_id,
+ order_number,
+ CASE
+ WHEN height < 4000 AND height >= 3660 and height>width THEN
+ '3660<H<4000'
+ WHEN height < 5000 AND height >= 4000 and height>width THEN
+ '4000<H<5000'
+ WHEN height < 6000 AND height >= 5000 and height>width THEN
+ '5000<H<6000'
+ WHEN height < 7000 AND height >= 6000 and height>width THEN
+ '6000<H<7000'
+ WHEN height < 8000 AND height >= 7000 and height>width THEN
+ '7000<H<8000'
+ WHEN height < 9000 AND height >= 8000 and height>width THEN
+ '8000<H<9000'
+ WHEN height < 10000 AND height >= 9000 and height>width THEN
+ '9000<H<10000'
+ WHEN height < 11000 AND height >= 10000 and height>width THEN
+ '10000<H<11000'
+ WHEN height < 12000 AND height >= 11000 and height>width THEN
+ '11000<H<12000'
+ ELSE
+ ''
+ END height,
+ CASE
+
+ WHEN width < 4000 AND width >= 3660 and width>height THEN
+ '3660<H<4000'
+ WHEN width < 5000 AND width >= 4000 and width>height THEN
+ '4000<H<5000'
+ WHEN width < 6000 AND width >= 5000 and width>height THEN
+ '5000<H<6000'
+ WHEN width < 7000 AND width >= 6000 and width>height THEN
+ '6000<H<7000'
+ WHEN width < 8000 AND width >= 7000 and width>height THEN
+ '7000<H<8000'
+ WHEN width < 9000 AND width >= 8000 and width>height THEN
+ '8000<H<9000'
+ WHEN width < 10000 AND width >= 9000 and width>height THEN
+ '9000<H<10000'
+ WHEN width < 11000 AND width >= 10000 and width>height THEN
+ '10000<H<11000'
+ WHEN width < 12000 AND width >= 11000 and width>height THEN
+ '11000<H<12000'
+ ELSE
+ ''
+ END width
+ from order_detail) as od on dd.order_id = od.order_id and dd.order_number = od.order_number
+ left join product pt on pt.id = od.product_id
+ left join sd.`order` o on o.order_id = dd.order_id
+
+
+ where dd.delivery_id like concat('%', #{deliveryId}, '%')
+
+ group by od.order_id, od.product_name, width, height
+ </select>
+
+
+ <select id="getSelectDeliveryPrintingMoneySpecifications" >
+ select od.order_id,
+ od.building_number,
+ od.width,
+ od.height,
+ od.product_name,
+ sum(dd.area) as area,
+ sum(dd.money) as money,
+ sum(dd.quantity) as quantity,
+ dd.price
+ from delivery_detail dd
+ left join order_detail od on dd.order_id = od.order_id and dd.order_number = od.order_number
+ left join product p on od.product_id = p.id
+ where delivery_id = #{deliveryId}
+ and od.order_id = #{orderId}
+ and od.product_id = #{productId}
+ group by od.width,od.height, dd.price
+ </select>
+
+ <select id="getSelectDeliveryPrintingNoMoneySpecifications" >
+ select od.order_id,
+ od.building_number,
+ od.width,
+ od.height,
+ od.product_name,
+ sum(dd.area) as area,
+ sum(dd.quantity) as quantity
+ from delivery_detail dd
+ left join order_detail od on dd.order_id = od.order_id and dd.order_number = od.order_number
+ left join product p on od.product_id = p.id
+ where delivery_id = #{deliveryId}
+ and od.order_id = #{orderId}
+ and od.product_id = #{productId}
+ group by od.width,od.height
+ </select>
+
+ <select id="getSelectOrderPrinting" >
+ select od.order_id,od.product_id,od.product_name,sum(od.compute_gross_area) as area,sum(od.gross_amount) as gross_amount ,sum(od.quantity) as quantity from
+ order_detail od left join product p on od.product_id=p.id
+ where od.order_id = #{orderId}
+ and od.product_id = #{productId}
+ group by od.product_name,od.product_id ;
</select>
<select id="getSelectDeliveryDetailPrinting" >
select od.order_id,
od.order_number,
- p.remarks as product_name,
+ od.product_name,
od.width,
od.height,
dd.quantity,
@@ -964,8 +1257,10 @@
dd.area,
ifnull(od.processing_note,"") as processingNote,
ifnull(od.building_number,"") as buildingNumber,
+ dd.box_no,
dd.price,
- od.other_columns
+ od.other_columns,
+ od.remarks
from delivery_detail dd
left join order_detail od on dd.order_id = od.order_id and dd.order_number = od.order_number
left join product p on od.product_id = p.id
@@ -985,8 +1280,16 @@
</select>
<select id="getSelectOrderotherMoney" >
- select bom.alias,oom.price,#{value}*od.quantity as count,oom.price*#{value}*od.quantity as monery
+ select bom.alias,ifnull(oom.price,0) as price,#{value}*#{quantity} as count,ifnull(oom.price,0)*#{value}*#{quantity} as monery
from order_detail od
+ left join order_other_money oom on oom.order_id=od.order_id and oom.column=#{key}
+ left join basic_other_money bom on bom.`column`=oom.`column`
+ where od.order_id = #{orderId} and od.order_number=#{orderNumber} and (od.other_columns!='{}' or od.other_columns!=null)
+ </select>
+
+ <select id="getSelectOrderotherMoneys" >
+ select bom.alias,ifnull(oom.price,0) as price,#{value}*od.quantity as count,ifnull(oom.price,0)*#{value}*od.quantity as monery
+ from order_detail od
left join order_other_money oom on oom.order_id=od.order_id and oom.column=#{key}
left join basic_other_money bom on bom.`column`=oom.`column`
where od.order_id = #{orderId} and od.order_number=#{orderNumber} and (od.other_columns!='{}' or od.other_columns!=null)
@@ -1001,10 +1304,12 @@
od.quantity,
od.gross_amount,
od.compute_gross_area,
+ od.area,
ifnull(od.processing_note,"") as processingNote,
ifnull(od.building_number,"") as buildingNumber,
od.price,
- od.other_columns
+ od.other_columns,
+ od.remarks
from order_detail od
where od.order_id = #{orderId}
and od.product_id = #{productId}
@@ -1038,7 +1343,15 @@
dd.quantity,
dd.delivery_detail_remakes,
dd.create_time,
- o.other_money
+ o.other_money,
+ d.freight,
+ d.freight_price,
+ d.freight_quantity,
+ od.width,
+ od.height,
+ o.batch,
+ od.building_number,
+ dd.box_no
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
@@ -1074,13 +1387,16 @@
dd.delivery_detail_remakes,
dd.price,
dd.create_time,
- o.other_money
+ o.other_money,
+ d.freight,
+ d.freight_price,
+ d.freight_quantity
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,od.product_id
+ 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