| | |
| | | ORDER BY result.entry_date DESC |
| | | </select> |
| | | |
| | | <select id="selectReturnablePurchaseLedgerList" resultType="com.ruoyi.purchase.pojo.PurchaseLedger"> |
| | | SELECT DISTINCT pl.* |
| | | FROM purchase_ledger pl |
| | | WHERE 1 = 1 |
| | | <if test="c.purchaseContractNumber != null and c.purchaseContractNumber != ''"> |
| | | AND pl.purchase_contract_number LIKE CONCAT('%', #{c.purchaseContractNumber}, '%') |
| | | </if> |
| | | <if test="c.supplierId != null"> |
| | | AND pl.supplier_id = #{c.supplierId} |
| | | </if> |
| | | <if test="c.approvalStatus != null"> |
| | | AND pl.approval_status = #{c.approvalStatus} |
| | | </if> |
| | | AND EXISTS ( |
| | | SELECT 1 |
| | | FROM stock_in_record sir |
| | | LEFT JOIN quality_inspect qi |
| | | ON sir.record_type = '10' |
| | | AND sir.record_id = qi.id |
| | | LEFT JOIN sales_ledger_product slp |
| | | ON slp.sales_ledger_id = pl.id |
| | | AND slp.product_model_id = sir.product_model_id |
| | | AND slp.type = 2 |
| | | LEFT JOIN ( |
| | | SELECT stock_in_record_id, SUM(return_quantity) AS total_return_num |
| | | FROM purchase_return_order_products |
| | | GROUP BY stock_in_record_id |
| | | ) rs ON rs.stock_in_record_id = sir.id |
| | | WHERE sir.approval_status = 1 |
| | | AND sir.record_type IN ('7','10') |
| | | AND ( |
| | | (sir.record_type = '7' AND sir.record_id = pl.id) |
| | | OR (sir.record_type = '10' AND qi.purchase_ledger_id = pl.id) |
| | | ) |
| | | AND slp.id IS NOT NULL |
| | | AND GREATEST(sir.stock_in_num - COALESCE(rs.total_return_num, 0), 0) > 0 |
| | | ) |
| | | ORDER BY pl.entry_date DESC |
| | | </select> |
| | | |
| | | <select id="selectTotalPurchaseAmount" resultType="java.math.BigDecimal"> |
| | | SELECT IFNULL(SUM(contract_amount), 0) |
| | | FROM purchase_ledger |