From 7ec26ace7100b90b87603acd9dbbc8012a51eed0 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 21 三月 2025 10:32:14 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override

---
 north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml |  183 +++++++++++++++++++++++++++++----------------
 1 files changed, 116 insertions(+), 67 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..26af4f5 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -84,6 +84,9 @@
         <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"/>
@@ -148,14 +151,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)
         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}
                )
     </insert>
 
@@ -167,7 +174,7 @@
                dd.delivery_number,
                fgi.quantity_available + dd.quantity as quantity_available,
                od.order_number,
-               od.quantity-dd.quantity as t_quantity,
+               od.quantity-od.delivery_num as t_quantity,
                od.quantity as o_quantity,
                dd.quantity as d_quantity,
                od.building_number,
@@ -180,9 +187,10 @@
                od.height,
                od.shape,
                fgi.actual_signal_area,
+               od.area,
                od.gross_area,
                od.compute_area,
-               od.compute_gross_area,
+               dd.area as compute_gross_area,
                od.processing_note,
                od.edging_type,
                od.perimeter,
@@ -266,7 +274,6 @@
 
         </where>
         order by dd.id
-        limit #{offset},#{pageSize};
     </select>
 
     <select id="getSelectShippingOrderDetailPageTotal">
@@ -348,7 +355,6 @@
                 and dd.delivery_detail_remakes regexp #{orderDetail.deliveryDetail.deliveryDetailRemakes}
             </if>
         </where>
-        limit #{offset},#{pageSize};
     </select>
 
     <select id="getSelectShippingOrderDetails" resultMap="selectDeliveryFinishedGoodsInventoryOrderDetail">
@@ -369,6 +375,7 @@
                od.height,
                od.shape,
                fgi.actual_signal_area,
+               od.area,
                od.gross_area,
                od.compute_area,
                od.compute_gross_area,
@@ -443,7 +450,6 @@
                 and od.perimeter regexp #{orderDetail.perimeter}
             </if>
         </where>
-        limit #{offset},#{pageSize};
     </select>
 
     <select id="getSelectShippingOrderDetailsPageTotal">
@@ -516,7 +522,6 @@
                 and od.perimeter regexp #{orderDetail.perimeter}
             </if>
         </where>
-        limit #{offset},#{pageSize};
     </select>
 
 
@@ -545,7 +550,10 @@
         dd.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 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
@@ -571,16 +579,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 +631,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>
@@ -658,16 +678,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},'%')
@@ -711,7 +731,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>
@@ -742,7 +773,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 +788,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 +795,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 +849,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 +890,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 +897,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 +951,52 @@
                 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,sum(dd.area) as area,sum(dd.money) as money,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 pt on pt.id=od.product_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
+        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>
-            <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
+        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,
@@ -965,7 +1005,8 @@
                ifnull(od.processing_note,"") as processingNote,
                ifnull(od.building_number,"") as buildingNumber,
                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,7 +1026,7 @@
     </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}*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`
@@ -1001,10 +1042,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 +1081,10 @@
         dd.quantity,
         dd.delivery_detail_remakes,
         dd.create_time,
-        o.other_money
+        o.other_money,
+        d.freight,
+        d.freight_price,
+        d.freight_quantity
         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 +1120,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) &lt;= #{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