From 684e4306a08feeae188070f264148e6765da8dcf Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期日, 20 九月 2026 19:25:15 +0800
Subject: [PATCH] feat(account): 更新往来付款回款流水表及接口

---
 src/main/resources/mapper/basic/SupplierManageMapper.xml |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/src/main/resources/mapper/basic/SupplierManageMapper.xml b/src/main/resources/mapper/basic/SupplierManageMapper.xml
index 56c6441..bcadd9e 100644
--- a/src/main/resources/mapper/basic/SupplierManageMapper.xml
+++ b/src/main/resources/mapper/basic/SupplierManageMapper.xml
@@ -74,10 +74,12 @@
                sm.supplier_name,
                T1.contractAmounts,
                IFNULL(T2.paymentAmount, 0) AS paymentAmount,
-               T1.contractAmounts - (IFNULL(T2.paymentAmount, 0) - IFNULL(T4.returnAmount, 0)) AS payableAmount,
+               IFNULL(T5.paymentRecordAmount, 0) AS paymentRecordAmount,
+               T1.contractAmounts - IFNULL(T2.paymentAmount, 0) - IFNULL(T4.returnAmount, 0) AS payableAmount,
                IFNULL(T4.returnAmount, 0) AS returnAmount
-        from (select supplier_id, sum(COALESCE(net_contract_amount, contract_amount)) as contractAmounts from purchase_ledger group by supplier_id) T1
+        from (select supplier_id, sum(contract_amount) as contractAmounts from purchase_ledger group by supplier_id) T1
         left join (select supplier_id, sum(payment_amount) as paymentAmount from account_purchase_payment group by supplier_id) T2 on T1.supplier_id = T2.supplier_id
+        left join (select party_id, sum(amount) as paymentRecordAmount from payment_record where party_type = 2 and direction = 2 group by party_id) T5 on T5.party_id = T1.supplier_id
         left join (
             select
                 supplier_id,
@@ -98,9 +100,10 @@
        select pl.id  purchaseLedgerId,
               pl.purchase_contract_number,
               pl.execution_date,
-              COALESCE(pl.net_contract_amount, pl.contract_amount) AS contract_amount,
+              pl.contract_amount AS contract_amount,
               IFNULL(T1.paymentAmount, 0) AS paymentAmount,
-              COALESCE(pl.net_contract_amount, pl.contract_amount) - (IFNULL(T1.paymentAmount, 0) - IFNULL(T3.returnAmount, 0)) AS payableAmount,
+              IFNULL(T5.paymentRecordAmount, 0) AS paymentRecordAmount,
+              pl.contract_amount - IFNULL(T1.paymentAmount, 0) - IFNULL(T3.returnAmount, 0) AS payableAmount,
               IFNULL(T3.returnAmount, 0) AS returnAmount
        from purchase_ledger pl
        left join (
@@ -126,6 +129,12 @@
                     left join purchase_ledger pl on pro.purchase_ledger_id = pl.id
            group by pl.id
        )T3 on T3.id = pl.id
+       left join (
+           select party_id, sum(amount) as paymentRecordAmount
+           from payment_record
+           where party_type = 2 and direction = 2
+           group by party_id
+       )T5 on T5.party_id = pl.supplier_id
        where pl.supplier_id = #{supplierId}
        order by pl.id desc
     </select>

--
Gitblit v1.9.3