From d8c86797adaef6c416efae16586f350ae77bde4b Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期六, 12 九月 2026 12:43:08 +0800
Subject: [PATCH] feat: 库存入库/出库字段全链路、采购台账申请提交时间、储罐租客信息、油库储罐模块
---
src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 53 insertions(+), 1 deletions(-)
diff --git a/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml b/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
index a0a0a2d..fd78a05 100644
--- a/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
+++ b/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
@@ -6,7 +6,8 @@
<update id="updateContractAmountById">
UPDATE purchase_ledger
- SET contract_amount = #{totalTaxInclusiveAmount}
+ SET contract_amount = #{totalTaxInclusiveAmount},
+ net_contract_amount = #{totalTaxInclusiveAmount}
WHERE id = #{id}
</update>
<select id="selectPurchaseStats" resultType="com.ruoyi.home.dto.IncomeExpenseAnalysisDto">
@@ -27,6 +28,7 @@
pl.supplier_name,
pl.project_name,
pl.contract_amount,
+ pl.net_contract_amount,
pl.entry_date,
pl.execution_date,
pl.recorder_id,
@@ -37,6 +39,16 @@
pl.approval_status,
pl.payment_method,
pl.remarks,
+ pl.purchase_category,
+ pl.pickup_method,
+ pl.purchase_oil_product,
+ pl.logistics_method,
+ pl.oil_depot_name,
+ pl.customer_name,
+ pl.best_arrival_date,
+ pl.purchase_quantity,
+ pl.purchase_order_status,
+ pl.application_submit_time,
CASE
WHEN IFNULL(ls.total_product_count, 0) = 0 THEN '寰呭叆搴�'
WHEN IFNULL(ls.full_product_count, 0) >= IFNULL(ls.total_product_count, 0) THEN '瀹屽叏鍏ュ簱'
@@ -137,6 +149,46 @@
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
--
Gitblit v1.9.3