yuan
2 天以前 1c8757f865bd5a0c80fa1d44ec4b62dfc6e24e39
src/main/resources/mapper/sales/ShippingProductDetailMapper.xml
@@ -10,22 +10,40 @@
        <result column="quantity" property="quantity" />
        <result column="shipping_info_id" property="shippingInfoId" />
    </resultMap>
    <!--
      发货明细(发货台账「详情」里的批号表):
      批号直接取 shipping_product_detail.batch_no(发货时选定的库存批号),
      产品名称/规格用 spd.product_model_id 关联。
      注意:stock_inventory_id 在拆批发货时可能为空,不能再靠它取批号,否则批号、规格都会是空。
    -->
    <select id="getDetail" resultType="com.ruoyi.sales.dto.ShippingProductDetailDto">
        select si.batch_no, pm.model as specification_model, p.product_name, spd.quantity as delivery_quantity
        select spd.batch_no,
               coalesce(pm.model, pm_inv.model) as specification_model,
               coalesce(p.product_name, p_inv.product_name) as product_name,
               spd.quantity as delivery_quantity
        from shipping_product_detail spd
                 left join stock_inventory si on si.id = spd.stock_inventory_id
                 left join product_model pm on pm.id = si.product_model_id
                 left join product_model pm on pm.id = spd.product_model_id
                 left join product p on p.id = pm.product_id
                 left join product_model pm_inv on pm_inv.id = si.product_model_id
                 left join product p_inv on p_inv.id = pm_inv.product_id
        where spd.shipping_info_id = #{id}
        order by spd.id
    </select>
    <select id="getDateilByShippingNo" resultType="com.ruoyi.sales.dto.ShippingProductDetailDto">
         select si.batch_no, pm.model as specification_model, p.product_name, spd.quantity as delivery_quantity
         from shipping_product_detail spd
                  left join shipping_info sp on sp.id = spd.shipping_info_id
                  left join stock_inventory si on si.id = spd.stock_inventory_id
                  left join product_model pm on pm.id = si.product_model_id
                  left join product p on p.id = pm.product_id
         where sp.shipping_no = #{shippingNo}
        select spd.batch_no,
               coalesce(pm.model, pm_inv.model) as specification_model,
               coalesce(p.product_name, p_inv.product_name) as product_name,
               spd.quantity as delivery_quantity
        from shipping_product_detail spd
                 left join shipping_info sp on sp.id = spd.shipping_info_id
                 left join stock_inventory si on si.id = spd.stock_inventory_id
                 left join product_model pm on pm.id = spd.product_model_id
                 left join product p on p.id = pm.product_id
                 left join product_model pm_inv on pm_inv.id = si.product_model_id
                 left join product p_inv on p_inv.id = pm_inv.product_id
        where sp.shipping_no = #{shippingNo}
        order by spd.id
    </select>
</mapper>