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/DeliveryMapper.xml |  140 ++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 120 insertions(+), 20 deletions(-)

diff --git a/north-glass-erp/src/main/resources/mapper/sd/DeliveryMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/DeliveryMapper.xml
index 0406043..57931dc 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/DeliveryMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/DeliveryMapper.xml
@@ -28,6 +28,37 @@
         <result column="quantity_available" property="finishedGoodsInventory.quantityAvailable"/>
     </resultMap>
 
+    <resultMap id="selectDeliveryOrder" type="com.example.erp.entity.sd.Delivery">
+
+        <result column="id" property="id"/>
+        <result column="delivery_state" property="deliveryState"/>
+        <result column="stock_state" property="stockState"/>
+        <result column="payment_terms" property="paymentTerms"/>
+        <result column="delivery_id" property="deliveryId"/>
+        <result column="order_id" property="orderId"/>
+        <result column="project" property="project"/>
+        <result column="customer_id" property="customerId"/>
+        <result column="customer_name" property="customerName"/>
+        <result column="delivery_date" property="deliveryDate"/>
+        <result column="pay_method" property="payMethod"/>
+        <result column="pay_date" property="payDate"/>
+        <result column="salesman_id" property="salesmanId"/>
+        <result column="salesman" property="salesman"/>
+        <result column="creator_id" property="creatorId"/>
+        <result column="creator" property="creator"/>
+        <result column="contacts" property="contacts"/>
+        <result column="contact_number" property="contactNumber"/>
+        <result column="delivery_address" property="deliveryAddress"/>
+        <result column="area" property="area"/>
+
+        <result column="quantity" property="quantity"/>
+        <result column="money" property="money"/>
+        <result column="other_money" property="otherMoney"/>
+        <result column="remarks" property="remarks"/>
+        <result column="create_time" property="createTime"/>
+        <result column="batch" property="order.batch"/>
+    </resultMap>
+
 
     <delete id="deleteDelivery">
         delete from sd.delivery where delivery_id=#{deliveryId}
@@ -42,7 +73,21 @@
 
 
     <select id="getmaximum" >
-        select count(*) from sd.delivery where  date(create_time)=CURDATE()
+        select
+            ifnull(SUBSTR(max(right(delivery_id,8)) from 7),0)
+        from
+            sd.delivery as a
+        where
+            date(a.create_time) = curdate()
+    </select>
+
+    <select id="getmaximumMonth">
+        select
+            ifnull(SUBSTR(max(delivery_id) from 7),0)
+        from
+            sd.delivery as a
+        where
+            date(a.create_time)  BETWEEN DATE_FORMAT(DATE(NOW()), '%Y-%m-01') AND DATE(NOW())
     </select>
 
     <select id="getDeliveryConut" >
@@ -53,13 +98,25 @@
     <insert id="insertDelivery"  useGeneratedKeys="true" >
         insert into sd.delivery(delivery_state,stock_state,payment_terms,delivery_id,order_id,project,customer_id,customer_name,
             delivery_date,pay_method,pay_date,salesman_id,salesman,creator_id,creator,contacts,contact_number,delivery_address,
-                                area,quantity,money,remarks,create_time)
+                                area,quantity,money,remarks,create_time,freight,freight_price,freight_quantity)
         values (
                    0,0,#{delivery.paymentTerms},#{number} ,#{orderId},#{delivery.project},#{delivery.customerId},#{delivery.customerName},#{delivery.deliveryDate},#{delivery.payMethod},
                 #{delivery.payDate},#{delivery.salesmanId},#{delivery.salesman},#{delivery.creatorId},#{delivery.creator},#{delivery.contacts},#{delivery.contactNumber},#{delivery.deliveryAddress},
-                   0,0,0,#{delivery.remarks},now()
+                   0,0,0,#{delivery.remarks},now(),#{delivery.freightPrice}*#{delivery.freightQuantity},#{delivery.freightPrice},#{delivery.freightQuantity}
                )
     </insert>
+
+    <update id="updateDelivery" >
+        update  sd.delivery set payment_terms=#{delivery.paymentTerms},
+                                delivery_date=#{delivery.deliveryDate},
+                                pay_method=#{delivery.payMethod},
+                                pay_date=#{delivery.payDate},contacts=#{delivery.contacts},contact_number=#{delivery.contactNumber},
+                                delivery_address=#{delivery.deliveryAddress},
+                                freight=#{delivery.freightPrice}*#{delivery.freightQuantity},
+                                freight_price=#{delivery.freightPrice},
+                                freight_quantity=#{delivery.freightQuantity}
+                                where delivery_id=#{number}
+    </update>
 
     <select id="getSelectOrderInventory" resultMap="selectOrderInventory">
         select o.create_order,
@@ -85,7 +142,7 @@
         from sd.`order` o
         left join mm.finished_goods_inventory fgi on o.order_id = fgi.order_id
         <where>
-            fgi.quantity_available > 0 and date(o.create_time)>=#{startDate} and date(o.create_time) &lt;= #{endDate}
+            fgi.quantity_available > 0 and date(o.create_time)>=#{startDate} and date(o.create_time) &lt;= #{endDate} and o.create_order>0
             <if test="order.orderId != null and order.orderId != ''">
                 and o.order_id REGEXP #{order.orderId}
             </if>
@@ -122,12 +179,13 @@
             <if test="order.createTime != null and order.createTime != ''">
                 and o.create_time REGEXP #{order.createTime}
             </if>
-            <if test="order.finishedGoodsInventory.quantityAvailable != null and order.finishedGoodsInventory.quantityAvailable != ''">
-                and fgi.quantity_available REGEXP #{order.finishedGoodsInventory.quantityAvailable}
-            </if>
         </where>
         group by o.order_id order by o.id desc
         limit #{offset},#{pageSize};
+    </select>
+
+    <select id="selectOrderId" >
+        select * from sd.`order` where order_id=#{orderId}
     </select>
 
     <select id="getSelectOrderInventoryPageTotal" >
@@ -139,7 +197,7 @@
         o.money,o.area,o.create_time,o.pack_type,o.order_type,o.creator
         from sd.`order` o left join mm.finished_goods_inventory fgi on o.order_id=fgi.order_id
         <where>
-            fgi.quantity_available > 0 and date(o.create_time)>=#{startDate} and date(o.create_time) &lt;= #{endDate}
+            fgi.quantity_available > 0 and date(o.create_time)>=#{startDate} and date(o.create_time) &lt;= #{endDate} and o.create_order>0
             <if test="order.orderId != null and order.orderId != ''">
                 and o.order_id REGEXP #{order.orderId}
             </if>
@@ -175,9 +233,6 @@
             </if>
             <if test="order.createTime != null and order.createTime != ''">
                 and o.create_time REGEXP #{order.createTime}
-            </if>
-            <if test="order.finishedGoodsInventory.quantityAvailable != null and order.finishedGoodsInventory.quantityAvailable != ''">
-                and fgi.quantity_available REGEXP #{order.finishedGoodsInventory.quantityAvailable}
             </if>
         </where>
         group by o.order_id limit #{offset},#{pageSize}) as zu;
@@ -191,7 +246,7 @@
         select
         d.delivery_state,d.stock_state,d.payment_terms,
         d.customer_id,d.customer_name,d.project,d.pay_method,d.pay_date,d.contacts,d.contact_number,
-        d.delivery_address,d.remarks,d.create_time,d.delivery_date,d.creator,d.salesman,d.salesman_id
+        d.delivery_address,d.remarks,d.create_time,d.delivery_date,d.creator,d.salesman,d.salesman_id,d.freight,d.freight_price,d.freight_quantity
         from sd.delivery d
         <where>
             <if test="orderDetail.deliveryDetail.deliveryId != null and orderDetail.deliveryDetail.deliveryId != ''">
@@ -206,7 +261,7 @@
         select
         d.delivery_id,d.quantity,d.money,d.area,d.project,
         d.customer_id,d.customer_name,d.project,d.pay_method,d.pay_date,d.contacts,d.contact_number,
-        d.delivery_address,d.remarks,d.create_time,d.delivery_date,d.creator,d.salesman,d.salesman_id
+        d.delivery_address,d.remarks,d.create_time,d.delivery_date,d.creator,d.salesman,d.salesman_id,d.freight,d.freight_price,d.freight_quantity
         from sd.delivery d
         <where>
             <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -219,7 +274,8 @@
     <select id="getSelectShippingOrderDetailPrinting" >
         select
         d.order_id,d.quantity,round(d.money,0) as money ,d.area,d.project,
-        d.customer_id,d.customer_name,d.creator,d.salesman,d.salesman_id
+        d.customer_id,d.customer_name,d.creator,d.salesman,d.salesman_id,
+        d.processing_note,d.contract_id,d.delivery_date
         from sd.`order` d
         <where>
             <if test="orderDetail.orderId != null and orderDetail.orderId != ''">
@@ -241,8 +297,9 @@
         limit 0,1
     </select>
 
-    <select id="getSelectShippingOrder">
-        select * from sd.delivery d
+    <select id="getSelectShippingOrder" resultMap="selectDeliveryOrder">
+        select * from sd.delivery d left join sd.delivery_detail dd on d.delivery_id=dd.delivery_id
+        left join sd.order o on o.order_id=d.order_id
         <where>
             date(d.create_time)>=#{startDate} and date(d.create_time) &lt;= #{endDate}
             <if test="delivery.deliveryId != null and delivery.deliveryId != ''">
@@ -264,7 +321,7 @@
                 and d.project regexp #{delivery.project}
             </if>
             <if test="delivery.orderId != null and delivery.orderId != ''">
-                and d.order_id regexp #{delivery.orderId}
+                and dd.order_id regexp #{delivery.orderId}
             </if>
             <if test="delivery.payMethod != null and delivery.payMethod != ''">
                 and d.pay_method regexp #{delivery.payMethod}
@@ -275,17 +332,37 @@
             <if test="delivery.area != null and delivery.area != ''">
                 and d.area regexp REGEXP_REPLACE(#{delivery.area},'\\.0+$','')
             </if>
+            <if test="delivery.deliveryState != null ">
+                and d.delivery_state = #{delivery.deliveryState}
+            </if>
+            <if test="delivery.stockState != null ">
+                and d.stock_state = #{delivery.stockState}
+            </if>
+            <if test="delivery.order != null and delivery.order.batch != null and delivery.order.batch != ''">
+                and o.batch regexp #{delivery.order.batch}
+            </if>
 
             </where>
-        order by d.id desc
+        group by d.delivery_id
+        order by
+        <if test="orderBy == null ">
+            d.id desc
+        </if>
+        <if test="orderBy == 'desc'">
+            d.${field} desc
+        </if>
+        <if test="orderBy == 'asc'">
+            d.${field}
+        </if>
         limit #{offset},#{pageSize};
     </select>
 
     <select id="getSelectShippingOrderPageTotal">
         select
-            CEILING(count(id)/#{pageSize}) as 'pageTotal',
-            count(id) as 'total'
+            CEILING(count(d.id)/#{pageSize}) as 'pageTotal',
+            count(d.id) as 'total'
         from sd.delivery d
+        left join sd.order o on o.order_id=d.order_id
         <where>
             date(d.create_time)>=#{startDate} and date(d.create_time) &lt;= #{endDate}
             <if test="delivery.deliveryId != null and delivery.deliveryId != ''">
@@ -318,7 +395,30 @@
             <if test="delivery.area != null and delivery.area != ''">
                 and d.area regexp REGEXP_REPLACE(#{delivery.area},'\\.0+$','')
             </if>
+            <if test="delivery.deliveryState != null ">
+                and d.delivery_state = #{delivery.deliveryState}
+            </if>
+            <if test="delivery.stockState != null ">
+                and d.stock_state = #{delivery.stockState}
+            </if>
+            <if test="delivery.order != null and delivery.order.batch != null and delivery.order.batch != ''">
+                and o.batch regexp #{delivery.order.batch}
+            </if>
         </where>
         limit #{offset},#{pageSize};
 </select>
+
+    <update id="updateDeliveryPrintNumber">
+        update sd.delivery
+        set printing_number=printing_number+1
+        where delivery_id = #{deliveryId}
+
+    </update>
+
+    <select id="selectByDate">
+        select * from sd.delivery
+        where date(create_time) between #{startDate} and #{endDate}
+    </select>
+
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0