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,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},
@@ -143,9 +179,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 order by o.id desc
        limit #{offset},#{pageSize};
@@ -201,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;
@@ -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>