廖井涛
2024-07-30 c049ebf81d6f27cbd16647ee1e0b013fe4e753d6
north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -66,6 +66,7 @@
        <result column="delivery_number" property="deliveryNumber"/>
        <result column="quantity" property="quantity"/>
        <result column="area" property="area"/>
        <result column="price" property="price"/>
        <result column="money" property="money"/>
        <result column="delivery_detail_remakes" property="deliveryDetailRemakes"/>
        <result column="delivery_detail_state" property="deliveryDetailState"/>
@@ -86,6 +87,8 @@
        <result column="product_id" property="orderDetail.productId"/>
        <result column="product_name" property="orderDetail.productName"/>
        <result column="other_money" property="order.otherMoney"/>
@@ -520,6 +523,8 @@
    <select id="getSelectDeliveryDetailReport" resultMap="selectDeliveryDetail">
        select dd.delivery_id,
        dd.delivery_number,
        od.product_id,
        od.product_name,
        d.payment_terms,
        d.project,
        d.customer_id,
@@ -535,12 +540,16 @@
        dd.order_id,
        dd.order_number,
        dd.area,
        dd.price,
        dd.money,
        dd.quantity,
        dd.delivery_detail_remakes,
        dd.create_time
        dd.create_time,
        o.other_money
        from sd.delivery_detail dd
        left join sd.delivery d on dd.delivery_id=d.delivery_id
        left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
        left join sd.`order` o on dd.order_id=o.order_id
        <where>
               and date(dd.create_time)>=#{startDate} and date(dd.create_time) &lt;= #{endDate}
            <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -548,6 +557,12 @@
            </if>
            <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''">
                and dd.delivery_number like concat('%',#{deliveryDetail.deliveryNumber},'%')
            </if>
            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != ''">
                and od.product_id like concat('%',#{deliveryDetail.orderDetail.productId},'%')
            </if>
            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != ''">
                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
            </if>
            <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''">
                and dd.order_id like concat('%', #{deliveryDetail.orderId},'%')
@@ -557,6 +572,9 @@
            </if>
            <if test="deliveryDetail.area != null and deliveryDetail.area != ''">
                and dd.area like concat('%', #{deliveryDetail.area},'%')
            </if>
            <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
                and dd.price like concat('%', #{deliveryDetail.price},'%')
            </if>
            <if test="deliveryDetail.money != null and deliveryDetail.money != ''">
                and dd.money like concat('%', #{deliveryDetail.money},'%')
@@ -617,6 +635,8 @@
        count(dd.id) as 'total'
        from sd.delivery_detail dd
        left join sd.delivery d on dd.delivery_id=d.delivery_id
        left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
        left join sd.`order` o on dd.order_id=o.order_id
        <where>
            and date(dd.create_time)>=#{startDate} and date(dd.create_time) &lt;= #{endDate}
            <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -624,6 +644,12 @@
            </if>
            <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''">
                and dd.delivery_number like concat('%',#{deliveryDetail.deliveryNumber},'%')
            </if>
            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != ''">
                and od.product_id like concat('%',#{deliveryDetail.orderDetail.productId},'%')
            </if>
            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != ''">
                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
            </if>
            <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''">
                and dd.order_id like concat('%', #{deliveryDetail.orderId},'%')
@@ -633,6 +659,9 @@
            </if>
            <if test="deliveryDetail.area != null and deliveryDetail.area != ''">
                and dd.area like concat('%', #{deliveryDetail.area},'%')
            </if>
            <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
                and dd.price like concat('%', #{deliveryDetail.price},'%')
            </if>
            <if test="deliveryDetail.money != null and deliveryDetail.money != ''">
                and dd.money like concat('%', #{deliveryDetail.money},'%')
@@ -708,12 +737,15 @@
        dd.order_id,
        dd.order_number,
        sum(dd.area) as area,
        dd.price,
        sum(dd.money) as money,
        sum(dd.quantity) as quantity,
        dd.delivery_detail_remakes,
        dd.create_time
        dd.create_time,
        o.other_money
        from sd.delivery_detail dd left join delivery d on dd.delivery_id=d.delivery_id
            left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
            left join sd.`order` o on dd.order_id=o.order_id
        <where>
            and date(dd.create_time)>=#{startDate} and date(dd.create_time) &lt;= #{endDate}
            <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -721,6 +753,12 @@
            </if>
            <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''">
                and dd.delivery_number like concat('%',#{deliveryDetail.deliveryNumber},'%')
            </if>
            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != ''">
                and od.product_id like concat('%',#{deliveryDetail.orderDetail.productId},'%')
            </if>
            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != ''">
                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
            </if>
            <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''">
                and dd.order_id like concat('%', #{deliveryDetail.orderId},'%')
@@ -730,6 +768,9 @@
            </if>
            <if test="deliveryDetail.area != null and deliveryDetail.area != ''">
                and dd.area like concat('%', #{deliveryDetail.area},'%')
            </if>
            <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
                and dd.price like concat('%', #{deliveryDetail.price},'%')
            </if>
            <if test="deliveryDetail.money != null and deliveryDetail.money != ''">
                and dd.money like concat('%', #{deliveryDetail.money},'%')
@@ -800,6 +841,7 @@
        select dd.id as id
        from sd.delivery_detail dd left join delivery d on dd.delivery_id=d.delivery_id
        left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
        left join sd.`order` o on dd.order_id=o.order_id
        <where>
            and date(dd.create_time)>=#{startDate} and date(dd.create_time) &lt;= #{endDate}
            <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -807,6 +849,12 @@
            </if>
            <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''">
                and dd.delivery_number like concat('%',#{deliveryDetail.deliveryNumber},'%')
            </if>
            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != ''">
                and od.product_id like concat('%',#{deliveryDetail.orderDetail.productId},'%')
            </if>
            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != ''">
                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
            </if>
            <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''">
                and dd.order_id like concat('%', #{deliveryDetail.orderId},'%')
@@ -816,6 +864,9 @@
            </if>
            <if test="deliveryDetail.area != null and deliveryDetail.area != ''">
                and dd.area like concat('%', #{deliveryDetail.area},'%')
            </if>
            <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
                and dd.price like concat('%', #{deliveryDetail.price},'%')
            </if>
            <if test="deliveryDetail.money != null and deliveryDetail.money != ''">
                and dd.money like concat('%', #{deliveryDetail.money},'%')
@@ -964,10 +1015,13 @@
        select dd.id,
            dd.delivery_id,
        dd.delivery_number,
        od.product_id,
        od.product_name,
        d.payment_terms,
        d.project,
        d.customer_id,
        d.customer_name,
        c.customer_abbreviation,
        d.delivery_date,
        d.pay_method,
        d.pay_date,
@@ -979,12 +1033,17 @@
        dd.order_id,
        dd.order_number,
        dd.area,
        dd.price,
        dd.money,
        dd.quantity,
        dd.delivery_detail_remakes,
        dd.create_time
        dd.create_time,
        o.other_money
        from sd.delivery_detail dd
        left join sd.delivery d on dd.delivery_id=d.delivery_id
        left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
        left join sd.`order` o on dd.order_id=o.order_id
        left join sd.customer c on d.customer_id=c.id
        where  date(d.create_time)>=#{dates[0]} and date(d.create_time) &lt;= #{dates[1]}
    </select>
@@ -998,6 +1057,7 @@
               d.project,
               d.customer_id,
               d.customer_name,
               c.customer_abbreviation,
               d.delivery_date,
               d.pay_method,
               d.pay_date,
@@ -1012,9 +1072,15 @@
               sum(dd.money) as money,
               sum(dd.quantity) as quantity,
               dd.delivery_detail_remakes,
               dd.create_time
               dd.price,
               dd.create_time,
               o.other_money
        from sd.delivery_detail dd left join delivery d on dd.delivery_id=d.delivery_id
                                   left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
                                   left join sd.`order` o on dd.order_id=o.order_id
                                   left join sd.customer c on d.customer_id=c.id
        where  date(d.create_time)>=#{dates[0]} and date(d.create_time) &lt;= #{dates[1]}
        group by dd.delivery_id,od.product_id
        order by dd.delivery_id,dd.delivery_number
    </select>
</mapper>