From 9ccc8bd3a53160a40cf60f14e5867f6ce9f6c58f Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期五, 26 十二月 2025 16:49:15 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml |  131 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 119 insertions(+), 12 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 52c1051..2cf1f94 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -54,6 +54,7 @@
         <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>
@@ -72,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"/>
@@ -88,12 +90,18 @@
         <result column="freight" property="delivery.freight"/>
         <result column="freight_price" property="delivery.freightPrice"/>
         <result column="freight_quantity" property="delivery.freightQuantity"/>
+        <result column="delivery_state" property="delivery.deliveryState"/>
+        <result column="money" property="delivery.money"/>
+        <result column="other_money" property="delivery.otherMoney"/>
 
         <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>
@@ -119,6 +127,7 @@
         <result column="height" property="orderDetail.shape"/>
 
         <result column="contract_id" property="order.contractId"/>
+        <result column="batch" property="order.batch"/>
 
 
 
@@ -181,7 +190,7 @@
                fgi.quantity_available + dd.quantity as quantity_available,
                od.order_number,
                od.quantity-od.delivery_num as t_quantity,
-               od.quantity as o_quantity,
+        (fgi.quantity_available+ifnull(dd1.sumQuantity,0)) as o_quantity,
                dd.quantity as d_quantity,
                od.building_number,
                od.product_id,
@@ -207,10 +216,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}
@@ -283,7 +296,7 @@
             </if>
 
         </where>
-        order by dd.id
+        order by dd.box_no,dd.order_id,dd.order_number
     </select>
 
     <select id="getSelectShippingOrderDetailPageTotal">
@@ -371,14 +384,16 @@
     </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,
@@ -401,6 +416,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 != ''">
@@ -467,6 +489,7 @@
                 and od.perimeter regexp #{orderDetail.perimeter}
             </if>
         </where>
+        order by od.order_id,od.order_number
     </select>
 
     <select id="getSelectShippingOrderDetailsPageTotal">
@@ -573,13 +596,33 @@
         o.other_money,
         d.freight_price,
         d.freight_quantity,
-        d.freight
+        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) &lt;= #{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>
@@ -679,6 +722,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) &lt;= #{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>
@@ -763,6 +821,7 @@
             <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>
@@ -995,7 +1054,7 @@
 
     <select id="getSelectDeliveryPrinting" resultMap="selectDeliveryDetailOrderDetail" >
         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 from
+               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
@@ -1149,6 +1208,7 @@
 
     <select id="getSelectDeliveryPrintingMoneySpecifications" >
         select od.order_id,
+               od.building_number,
                od.width,
                od.height,
                od.product_name,
@@ -1167,6 +1227,7 @@
 
     <select id="getSelectDeliveryPrintingNoMoneySpecifications"  >
         select od.order_id,
+               od.building_number,
                od.width,
                od.height,
                od.product_name,
@@ -1200,6 +1261,7 @@
                dd.area,
                ifnull(od.processing_note,"") as processingNote,
                ifnull(od.building_number,"") as buildingNumber,
+               dd.box_no,
                dd.price,
                od.other_columns,
                od.remarks
@@ -1288,7 +1350,12 @@
         o.other_money,
         d.freight,
         d.freight_price,
-        d.freight_quantity
+        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
@@ -1336,4 +1403,44 @@
         group by dd.delivery_id,dd.order_id,od.product_id
         order by dd.delivery_id,dd.delivery_number
     </select>
+
+
+    <select id="getDeliverDetailOrderNumber" resultMap="selectDeliveryDetail">
+        select dd.order_id,
+        dd.order_Number,
+        dd.delivery_number,
+        dd.delivery_id,
+        dd.quantity,
+        dd.price,
+        dd.area,
+        dd.money,
+        dd.other_columns,
+        d.delivery_state,
+        d.money
+        from sd.delivery_detail dd
+        left join sd.delivery d on dd.delivery_id=d.delivery_id
+        where dd.order_id=#{orderId} and dd.order_number=#{orderNumber} and dd.delivery_id=#{deliveryId}
+
+    </select>
+
+    <select id="getDeliverOrderNumber">
+        select
+               d.delivery_id,
+               d.delivery_state,
+               d.money
+        from sd.delivery_detail dd
+                 left join sd.delivery d on dd.delivery_id=d.delivery_id
+        where dd.order_id=#{orderId} and dd.order_number=#{orderNumber}
+        group by d.delivery_id
+    </select>
+
+    <update id="updateDeliveryDetailmonye">
+        update sd.delivery_detail set price=#{price},money=#{deliveryDetail.money}
+            where delivery_id=#{deliveryDetail.deliveryId} and delivery_number=#{deliveryDetail.deliveryNumber}
+    </update>
+
+    <update id="updateDeliverymonye">
+        update sd.delivery set money=#{money}
+        where delivery_id=#{deliveryId}
+    </update>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0