src/main/resources/mapper/sales/ShippingInfoMapper.xml
@@ -20,9 +20,11 @@
        s.tenant_id,
        sl.sales_contract_no,
        sl.customer_name,
        s.shipping_total AS shipping_total
        s.shipping_total AS shipping_total,
        slp.id as salesLedgerProductId
        FROM shipping_info s
        LEFT JOIN sales_ledger sl ON s.sales_ledger_id = sl.id
        LEFT JOIN sales_ledger_product slp ON s.sales_ledger_product_id = slp.id and slp.type = 1
        WHERE 1=1
        <if test="req.salesContractNo != null and req.salesContractNo != ''">
            AND sl.sales_contract_no LIKE CONCAT('%',#{req.salesContractNo},'%')
@@ -54,4 +56,34 @@
        FROM shipping_info s
                 LEFT JOIN sales_ledger sl ON s.sales_ledger_id = sl.id
    </select>
    <select id="getShippingInfoByCustomerName" resultType="com.ruoyi.sales.pojo.ShippingInfo">
        select *,sid.id as id from shipping_info_detail sid
            left join shipping_info si on si.id = sid.shipping_info_id
                          left join sales_ledger sl on si.sales_ledger_id = sl.id
        where (si.status = '已发货' or si.status = '发货中') and sl.customer_name = #{customerName}
    </select>
    <select id="getReturnManagementDtoById" resultType="com.ruoyi.sales.dto.SalesLedgerProductDto">
        SELECT
        slp.*,
        si.shipping_num,
        GREATEST(si.shipping_num - COALESCE(rs.total_return_num, 0), 0) AS un_quantity,
        COALESCE(rs.total_return_num, 0) AS total_return_num
        FROM shipping_info_detail si
        LEFT JOIN sales_ledger_product slp ON si.sales_ledger_product_id = slp.id and slp.type = 1
        LEFT JOIN (
        SELECT
        return_sale_ledger_product_id,
        SUM(num) AS total_return_num
        FROM return_sale_product rsp
        left join return_management rm on rm.id = rsp.return_management_id
        left join shipping_info_detail si on si.id = rm.shipping_id
        WHERE 1=1
        GROUP BY return_sale_ledger_product_id
        ) rs ON rs.return_sale_ledger_product_id = slp.id
        <where>
            <if test="shippingId != null">
                si.id = #{shippingId}
            </if>
        </where>
    </select>
</mapper>