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 |  424 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 424 insertions(+), 0 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
new file mode 100644
index 0000000..57931dc
--- /dev/null
+++ b/north-glass-erp/src/main/resources/mapper/sd/DeliveryMapper.xml
@@ -0,0 +1,424 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.example.erp.mapper.sd.DeliveryMapper">
+
+    <resultMap id="selectOrderInventory" type="com.example.erp.entity.sd.Order">
+
+        <result column="create_order" property="createOrder"/>
+        <result column="process_review" property="processReview"/>
+        <result column="order_review" property="orderReview"/>
+        <result column="production_order" property="productionOrder"/>
+        <result column="processing_card" property="processingCard"/>
+        <result column="warehousing" property="warehousing"/>
+        <result column="delivery" property="delivery"/>
+        <result column="order_id" property="orderId"/>
+        <result column="customer_id" property="customerId"/>
+        <result column="customer_name" property="customerName"/>
+        <result column="quantity" property="quantity"/>
+        <result column="project" property="project"/>
+        <result column="batch" property="batch"/>
+        <result column="money" property="money"/>
+        <result column="area" property="area"/>
+        <result column="create_time" property="createTime"/>
+        <result column="pack_type" property="packType"/>
+        <result column="order_type" property="orderType"/>
+        <result column="creator" property="creator"/>
+        <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}
+    </delete>
+    <update id="updateDeliveryToExamine">
+        update sd.delivery set delivery_state=#{deliveryState} where delivery_id=#{deliveryId}
+    </update>
+
+    <update id="updatedelivery">
+        update sd.delivery set area=#{area},quantity=#{quantity},money=#{money},other_money=#{otherMoney} where delivery_id=#{oddNumber}
+    </update>
+
+
+    <select id="getmaximum" >
+        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" >
+        select count(*) from sd.delivery where  delivery_id=#{deliveryId}
+    </select>
+
+
+    <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,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(),#{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,
+        o.process_review,
+        o.order_review,
+        o.production_order,
+        o.processing_card,
+        o.warehousing,
+        o.delivery,
+        o.order_id,
+        o.customer_id,
+        o.customer_name,
+        o.quantity,
+        sum(fgi.quantity_available) as quantity_available,
+        o.project,
+        o.batch,
+        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} and o.create_order>0
+            <if test="order.orderId != null and order.orderId != ''">
+                and o.order_id REGEXP #{order.orderId}
+            </if>
+            <if test="order.customerId != null and order.customerId != ''">
+                and o.customer_id REGEXP #{order.customerId}
+            </if>
+            <if test="order.customerName != null and order.customerName != ''">
+                and o.customer_name REGEXP #{order.customerName}
+            </if>
+            <if test="order.quantity != null and order.quantity != ''">
+                and o.quantity REGEXP #{order.quantity}
+            </if>
+            <if test="order.project != null and order.project != ''">
+                and o.project REGEXP #{order.project}
+            </if>
+            <if test="order.batch != null and order.batch != ''">
+                and o.batch REGEXP #{order.batch}
+            </if>
+            <if test="order.money != null and order.money != ''">
+                and o.money REGEXP REGEXP_REPLACE(#{order.money},'\\.0+$','')
+            </if>
+            <if test="order.area != null and order.area != ''">
+                and o.area REGEXP REGEXP_REPLACE(#{order.area},'\\.0+$','')
+            </if>
+            <if test="order.packType != null and order.packType != ''">
+                and o.pack_type REGEXP #{order.packType}
+            </if>
+            <if test="order.orderType != null and order.orderType != ''">
+                and o.order_type REGEXP #{order.orderType}
+            </if>
+            <if test="order.creator != null and order.creator != ''">
+                and o.creator REGEXP #{order.creator}
+            </if>
+            <if test="order.createTime != null and order.createTime != ''">
+                and o.create_time REGEXP #{order.createTime}
+            </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" >
+        select CEILING(count(zu.order_id)/#{pageSize}) as 'pageTotal',
+        count(zu.order_id) as 'total' from
+        (select o.create_order,o.process_review,o.order_review,o.production_order,
+        o.processing_card,o.warehousing,o.delivery,o.order_id,o.customer_id,
+        o.customer_name,o.quantity,sum(fgi.quantity_available),o.project,o.batch,
+        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} and o.create_order>0
+            <if test="order.orderId != null and order.orderId != ''">
+                and o.order_id REGEXP #{order.orderId}
+            </if>
+            <if test="order.customerId != null and order.customerId != ''">
+                and o.customer_id REGEXP #{order.customerId}
+            </if>
+            <if test="order.customerName != null and order.customerName != ''">
+                and o.customer_name REGEXP #{order.customerName}
+            </if>
+            <if test="order.quantity != null and order.quantity != ''">
+                and o.quantity REGEXP #{order.quantity}
+            </if>
+            <if test="order.project != null and order.project != ''">
+                and o.project REGEXP #{order.project}
+            </if>
+            <if test="order.batch != null and order.batch != ''">
+                and o.batch REGEXP #{order.batch}
+            </if>
+            <if test="order.money != null and order.money != ''">
+                and o.money REGEXP REGEXP_REPLACE(#{order.money},'\\.0+$','')
+            </if>
+            <if test="order.area != null and order.area != ''">
+                and o.area REGEXP REGEXP_REPLACE(#{order.area},'\\.0+$','')
+            </if>
+            <if test="order.packType != null and order.packType != ''">
+                and o.pack_type REGEXP #{order.packType}
+            </if>
+            <if test="order.orderType != null and order.orderType != ''">
+                and o.order_type REGEXP #{order.orderType}
+            </if>
+            <if test="order.creator != null and order.creator != ''">
+                and o.creator REGEXP #{order.creator}
+            </if>
+            <if test="order.createTime != null and order.createTime != ''">
+                and o.create_time REGEXP #{order.createTime}
+            </if>
+        </where>
+        group by o.order_id limit #{offset},#{pageSize}) as zu;
+
+
+
+
+    </select>
+
+    <select id="getSelectShippingOrderDetailDelivery" >
+        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.freight,d.freight_price,d.freight_quantity
+        from sd.delivery d
+        <where>
+            <if test="orderDetail.deliveryDetail.deliveryId != null and orderDetail.deliveryDetail.deliveryId != ''">
+                and d.delivery_id regexp #{orderDetail.deliveryDetail.deliveryId}
+            </if>
+
+        </where>
+        limit 0,1
+    </select>
+
+    <select id="getSelectShippingOrderDetailDeliveryPrinting" >
+        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.freight,d.freight_price,d.freight_quantity
+        from sd.delivery d
+        <where>
+            <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
+                and d.delivery_id like concat('%',#{deliveryDetail.deliveryId},'%')
+            </if>
+
+        </where>
+    </select>
+
+    <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.processing_note,d.contract_id,d.delivery_date
+        from sd.`order` d
+        <where>
+            <if test="orderDetail.orderId != null and orderDetail.orderId != ''">
+                and d.order_id like concat('%',#{orderDetail.orderId},'%')
+            </if>
+
+        </where>
+    </select>
+
+
+    <select id="getSelectShippingOrderDetailDeliverys" >
+        select customer_id,customer_name,project,salesman,salesman_id,contacts,contact_number,delivery_address from sd.`order`
+        <where>
+            <if test="orderDetail.orderId != null and orderDetail.orderId != ''">
+                and order_id regexp #{orderDetail.orderId}
+            </if>
+
+         </where>
+        limit 0,1
+    </select>
+
+    <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 != ''">
+                and d.delivery_id regexp #{delivery.deliveryId}
+            </if>
+            <if test="delivery.creator != null and delivery.creator != ''">
+                and d.creator regexp #{delivery.creator}
+            </if>
+            <if test="delivery.deliveryDate != null and delivery.deliveryDate != ''">
+                and d.delivery_date regexp #{delivery.deliveryDate}
+            </if>
+            <if test="delivery.customerId != null and delivery.customerId != ''">
+                and d.customer_id regexp #{delivery.customerId}
+            </if>
+            <if test="delivery.customerName != null and delivery.customerName != ''">
+                and d.customer_name regexp #{delivery.customerName}
+            </if>
+            <if test="delivery.project != null and delivery.project != ''">
+                and d.project regexp #{delivery.project}
+            </if>
+            <if test="delivery.orderId != null and 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}
+            </if>
+            <if test="delivery.quantity != null and delivery.quantity != ''">
+                and d.quantity regexp #{delivery.quantity}
+            </if>
+            <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
+        <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(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 != ''">
+                and d.delivery_id regexp #{delivery.deliveryId}
+            </if>
+            <if test="delivery.creator != null and delivery.creator != ''">
+                and d.creator regexp #{delivery.creator}
+            </if>
+            <if test="delivery.deliveryDate != null and delivery.deliveryDate != ''">
+                and d.delivery_date regexp #{delivery.deliveryDate}
+            </if>
+            <if test="delivery.customerId != null and delivery.customerId != ''">
+                and d.customer_id regexp #{delivery.customerId}
+            </if>
+            <if test="delivery.customerName != null and delivery.customerName != ''">
+                and d.customer_name regexp #{delivery.customerName}
+            </if>
+            <if test="delivery.project != null and delivery.project != ''">
+                and d.project regexp #{delivery.project}
+            </if>
+            <if test="delivery.orderId != null and delivery.orderId != ''">
+                and d.order_id regexp #{delivery.orderId}
+            </if>
+            <if test="delivery.payMethod != null and delivery.payMethod != ''">
+                and d.pay_method regexp #{delivery.payMethod}
+            </if>
+            <if test="delivery.quantity != null and delivery.quantity != ''">
+                and d.quantity regexp #{delivery.quantity}
+            </if>
+            <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