From 8fbb9414ac41fd267691356147757602f3b6371c Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期二, 09 十二月 2025 12:27:41 +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 |   97 +++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 82 insertions(+), 15 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 dfd2c36..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,12 @@
 
 
     <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">
@@ -74,7 +110,7 @@
         update  sd.delivery set payment_terms=#{delivery.paymentTerms},
                                 delivery_date=#{delivery.deliveryDate},
                                 pay_method=#{delivery.payMethod},
-                                pay_date=#{delivery.payDate},contacts=#{delivery.creator},contact_number=#{delivery.contactNumber},
+                                pay_date=#{delivery.payDate},contacts=#{delivery.contacts},contact_number=#{delivery.contactNumber},
                                 delivery_address=#{delivery.deliveryAddress},
                                 freight=#{delivery.freightPrice}*#{delivery.freightQuantity},
                                 freight_price=#{delivery.freightPrice},
@@ -106,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>
@@ -142,9 +178,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 order by o.id desc
@@ -164,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>
@@ -200,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;
@@ -244,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 != ''">
@@ -266,8 +297,9 @@
         limit 0,1
     </select>
 
-    <select id="getSelectShippingOrder">
+    <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 != ''">
@@ -300,18 +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>
         group by d.delivery_id
-        order by d.id desc
+        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 != ''">
@@ -344,6 +395,15 @@
             <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>
@@ -354,4 +414,11 @@
         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