guoyujie
7 天以前 8fbb9414ac41fd267691356147757602f3b6371c
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>
@@ -121,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
@@ -143,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>
@@ -180,9 +234,6 @@
            <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;
@@ -195,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 != ''">
@@ -210,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 != ''">
@@ -223,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 != ''">
@@ -245,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 != ''">
@@ -268,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}
@@ -279,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 != ''">
@@ -322,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>