廖井涛
2025-08-25 fec9f42e00f2df68a2a20cbf132b17bdeed8e63a
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>
@@ -181,7 +182,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 +208,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 +376,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 +408,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 != ''">
@@ -1146,6 +1160,43 @@
        group by od.order_id, od.product_name, width, height
    </select>
    <select id="getSelectDeliveryPrintingMoneySpecifications" >
        select od.order_id,
               od.building_number,
               od.width,
               od.height,
               od.product_name,
               sum(dd.area)                                                      as area,
               sum(dd.money)                                                     as money,
               sum(dd.quantity)                                                  as quantity,
               dd.price
        from delivery_detail dd
                 left join order_detail od on dd.order_id = od.order_id and dd.order_number = od.order_number
                 left join product p on od.product_id = p.id
        where delivery_id = #{deliveryId}
          and od.order_id = #{orderId}
          and od.product_id = #{productId}
        group by od.width,od.height, dd.price
    </select>
    <select id="getSelectDeliveryPrintingNoMoneySpecifications"  >
        select od.order_id,
               od.building_number,
               od.width,
               od.height,
               od.product_name,
               sum(dd.area)                                                     as area,
               sum(dd.quantity)                                                  as quantity
        from delivery_detail dd
                 left join order_detail od on dd.order_id = od.order_id and dd.order_number = od.order_number
                 left join product p on od.product_id = p.id
        where delivery_id = #{deliveryId}
          and od.order_id = #{orderId}
          and od.product_id = #{productId}
        group by od.width,od.height
    </select>
    <select id="getSelectOrderPrinting"  >
        select od.order_id,od.product_id,od.product_name,sum(od.compute_gross_area) as area,sum(od.gross_amount) as gross_amount ,sum(od.quantity) as quantity from
         order_detail od left join product p on od.product_id=p.id
@@ -1165,6 +1216,7 @@
               dd.area,
               ifnull(od.processing_note,"") as processingNote,
               ifnull(od.building_number,"") as buildingNumber,
               dd.box_no,
               dd.price,
               od.other_columns,
               od.remarks