From 4e9f2f18aa6d4e4efe11645e251b713869fa9746 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 12 二月 2026 14:08:59 +0800
Subject: [PATCH] fix: 修改来票登记时计算来票登记表的总金额错误
---
src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml | 97 ++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 84 insertions(+), 13 deletions(-)
diff --git a/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml b/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
index ddd0082..f501849 100644
--- a/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
+++ b/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
@@ -9,29 +9,100 @@
SET contract_amount = #{totalTaxInclusiveAmount}
WHERE id = #{id}
</update>
- <select id="selectPurchaseLedgerListPage" resultType="com.ruoyi.purchase.pojo.PurchaseLedger">
- select
+
+ <select id="selectPurchaseLedgerListPage" resultType="com.ruoyi.purchase.dto.PurchaseLedgerDto">
+ SELECT
pl.id,
- pl.purchase_contract_number ,
+ pl.purchase_contract_number,
pl.sales_contract_no,
+ pl.supplier_id,
pl.supplier_name,
pl.project_name,
pl.contract_amount,
- sum(pr.tickets_amount)as receipt_payment_amount,
- pl.contract_amount-sum(pr.tickets_amount) AS unReceipt_payment_amount,
+ IFNULL(tr_sum.total_invoice_amount, 0) AS receipt_payment_amount,
+ pl.contract_amount - IFNULL(tr_sum.total_invoice_amount, 0) AS unReceipt_payment_amount,
pl.entry_date,
- pl.recorder_name
- from purchase_ledger pl
- left join product_record pr on pl.id = pr.purchase_ledger_id
+ pl.execution_date,
+ pl.recorder_id,
+ pl.recorder_name,
+ pl.template_name,
+ pl.approve_user_ids,
+ sm.is_white,
+ pl.approval_status,
+ pl.payment_method,
+ pl.remarks
+ FROM purchase_ledger pl
+ LEFT JOIN (
+ SELECT
+ purchase_ledger_id,
+ SUM(invoice_amount) AS total_invoice_amount
+ FROM ticket_registration
+ GROUP BY purchase_ledger_id
+ ) tr_sum ON pl.id = tr_sum.purchase_ledger_id
+ LEFT JOIN supplier_manage sm ON pl.supplier_id = sm.id
<where>
<if test="c.purchaseContractNumber != null and c.purchaseContractNumber != ''">
- pl.purchase_contract_number like concat('%',#{c.purchaseContractNumber},'%')
+ AND pl.purchase_contract_number LIKE CONCAT('%', #{c.purchaseContractNumber}, '%')
+ </if>
+ <if test="c.approvalStatus != null and c.approvalStatus != ''">
+ AND pl.approval_status = #{c.approvalStatus}
+ </if>
+ <if test="c.supplierName != null and c.supplierName != ''">
+ AND pl.supplier_name LIKE CONCAT('%', #{c.supplierName}, '%')
+ </if>
+ <if test="c.salesContractNo != null and c.salesContractNo != ''">
+ AND pl.sales_contract_no LIKE CONCAT('%', #{c.salesContractNo}, '%')
+ </if>
+ <if test="c.projectName != null and c.projectName != ''">
+ AND pl.project_name LIKE CONCAT('%', #{c.projectName}, '%')
+ </if>
+ <if test="c.entryDateStart != null and c.entryDateStart != ''">
+ AND pl.entry_date >= #{c.entryDateStart}
+ </if>
+ <if test="c.entryDateEnd != null and c.entryDateEnd != ''">
+ AND pl.entry_date <= #{c.entryDateEnd}
</if>
</where>
- group by pl.id, pl.purchase_contract_number, pl.sales_contract_no, pl.supplier_name,
- pl.project_name,pl.entry_date,
- pl.recorder_name,
- pl.contract_amount
+ ORDER BY pl.entry_date DESC
+ </select>
+ <select id="getPaymentRegistrationDtoById" resultType="com.ruoyi.purchase.dto.PaymentRegistrationDto">
+ SELECT
+ T1.id,
+ T1.payment_date,
+ T2.supplier_name,
+ T1.current_payment_amount,
+ T1.payment_method,
+ T3.nick_name AS registrant,
+ T1.registrationt_date
+ FROM
+ payment_registration T1
+ LEFT JOIN
+ supplier_manage T2 ON T1.supplier_id = T2.id
+ LEFT JOIN
+ sys_user T3 ON T3.user_id = T1.registrant_id
+ WHERE
+ T1.sales_ledger_product_id = #{id}
+ </select>
+
+
+ <select id="selectPurchaseStats" resultType="com.ruoyi.home.dto.IncomeExpenseAnalysisDto">
+ SELECT DATE_FORMAT(entry_date, #{dateFormat}) as dateStr, IFNULL(SUM(contract_amount), 0) as amount
+ FROM purchase_ledger
+ WHERE entry_date BETWEEN #{startDate} AND #{endDate}
+ GROUP BY dateStr
+ </select>
+
+ <select id="selectTotalPurchaseAmount" resultType="java.math.BigDecimal">
+ SELECT IFNULL(SUM(contract_amount), 0)
+ FROM purchase_ledger
+ <where>
+ <if test="startDate != null and startDate != ''">
+ AND entry_date >= #{startDate}
+ </if>
+ <if test="endDate != null and endDate != ''">
+ AND entry_date <= #{endDate}
+ </if>
+ </where>
</select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3