chenlu
2025-10-09 dec442000bc7c51516954c6618a4bc94bf729ffd
north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -54,6 +54,7 @@
        <result column="storage_region" property="finishedGoodsInventory.storageRegion"/>
        <result column="actual_signal_area" property="finishedGoodsInventory.actualSignalArea"/>
        <result column="box_no" property="finishedGoodsInventory.boxNo"/>
        <result column="id" property="finishedGoodsInventory.id"/>
    </resultMap>
@@ -72,7 +73,9 @@
        <result column="delivery_detail_remakes" property="deliveryDetailRemakes"/>
        <result column="delivery_detail_state" property="deliveryDetailState"/>
        <result column="create_time" property="createTime"/>
        <result column="batch" property="batch"/>
        <result column="width" property="width"/>
        <result column="height" property="height"/>
        <result column="customer_id" property="delivery.customerId"/>
        <result column="customer_name" property="delivery.customerName"/>
        <result column="project" property="delivery.project"/>
@@ -181,7 +184,7 @@
               fgi.quantity_available + dd.quantity as quantity_available,
               od.order_number,
               od.quantity-od.delivery_num as t_quantity,
               od.quantity as o_quantity,
        (fgi.quantity_available+ifnull(dd1.sumQuantity,0)) as o_quantity,
               dd.quantity as d_quantity,
               od.building_number,
               od.product_id,
@@ -207,10 +210,14 @@
        left join sd.delivery d on dd.delivery_id=d.delivery_id
        left join sd.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 mm.finished_goods_inventory fgi on dd.order_id=fgi.order_id and dd.order_number=fgi.order_number
        left join mm.finished_goods_inventory fgi on dd.order_id=fgi.order_id and dd.order_number=fgi.order_number and fgi.box_no = dd.box_no
        left join (SELECT IFNULL(sum(quantity),0) as sumQuantity,dd.*
                    from sd.delivery_detail dd
                    GROUP BY dd.order_id,dd.order_number,dd.box_no) AS dd1
        on od.order_id = dd1.order_id and od.order_number = dd1.order_number and dd1.box_no = fgi.box_no
        <where>
            <if test="orderDetail.deliveryDetail.deliveryId != null and orderDetail.deliveryDetail.deliveryId != ''">
                and dd.delivery_id regexp #{orderDetail.deliveryDetail.deliveryId}
                and dd.delivery_id = #{orderDetail.deliveryDetail.deliveryId}
            </if>
            <if test="orderDetail.orderId != null and orderDetail.orderId != ''">
                and od.order_id regexp #{orderDetail.orderId}
@@ -371,14 +378,16 @@
    </select>
    <select id="getSelectShippingOrderDetails" resultMap="selectDeliveryFinishedGoodsInventoryOrderDetail">
        select od.order_id,
        select
        fgi.id,
                od.order_id,
               od.order_number,
               o.batch,
               o.calculate_type,
               fgi.quantity_available,
               od.quantity- od.delivery_num as t_quantity,
               od.quantity as o_quantity,
               fgi.quantity_available as d_quantity,
               od.quantity- od.delivery_num as t_quantity,-- 未发数量
        ifnull(dd1.sumQuantity,0)+fgi.quantity_available as o_quantity,-- 数量
               fgi.quantity_available as d_quantity,-- 发货数量
               od.building_number,
               od.product_id,
               od.product_name,
@@ -401,6 +410,13 @@
                 left join sd.`order` o on od.order_id = o.order_id
                 left join mm.finished_goods_inventory fgi
                 on od.order_id = fgi.order_id and od.order_number = fgi.order_number
        left join (SELECT IFNULL(sum(quantity),0) as sumQuantity,dd.*
                    from sd.delivery_detail dd
                    where dd.order_id regexp #{orderDetail.orderId}
                    GROUP BY dd.order_id,dd.order_number,dd.box_no) AS dd1
        on od.order_id = dd1.order_id and od.order_number = dd1.order_number and dd1.box_no = fgi.box_no
        <where>
            fgi.quantity_available > 0 and od.quantity > od.delivery_num
            <if test="orderDetail.orderId != null and orderDetail.orderId != ''">
@@ -573,13 +589,25 @@
        o.other_money,
        d.freight_price,
        d.freight_quantity,
        d.freight
        d.freight,
        o.batch,
        od.width,
        od.height
        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.batch != null and deliveryDetail.batch != ''">
                and o.batch like concat('%',#{deliveryDetail.batch},'%')
            </if>
            <if test="deliveryDetail.width != null and deliveryDetail.width != ''">
                and od.width like concat('%',#{deliveryDetail.width},'%')
            </if>
            <if test="deliveryDetail.height != null and deliveryDetail.height != ''">
                and od.height like concat('%',#{deliveryDetail.height},'%')
            </if>
            <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
                and dd.delivery_id like concat('%',#{deliveryDetail.deliveryId},'%')
            </if>