From 47b42159fbe69fb2b4dbc13c75dd45abd00a55ae Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 13 二月 2026 11:10:34 +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 &gt;= #{c.entryDateStart}
+            </if>
+            <if test="c.entryDateEnd != null and c.entryDateEnd != ''">
+                AND pl.entry_date &lt;= #{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 &gt;= #{startDate}
+            </if>
+            <if test="endDate != null and endDate != ''">
+                AND entry_date &lt;= #{endDate}
+            </if>
+        </where>
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3