From d3bd74b5e0d6b768ba87111e87969827c704732f Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期三, 29 四月 2026 13:07:54 +0800
Subject: [PATCH] fix: 合并回款与收付款方式相关修复

---
 src/main/resources/mapper/account/AccountIncomeMapper.xml |   32 +++++++++++++++++++++++++++++---
 1 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/src/main/resources/mapper/account/AccountIncomeMapper.xml b/src/main/resources/mapper/account/AccountIncomeMapper.xml
index 4acb504..9becd41 100644
--- a/src/main/resources/mapper/account/AccountIncomeMapper.xml
+++ b/src/main/resources/mapper/account/AccountIncomeMapper.xml
@@ -11,13 +11,39 @@
         <if test="accountIncome.entryDateStart != null and accountIncome.entryDateStart != '' ">
             AND income_date &gt;= DATE_FORMAT(#{accountIncome.entryDateStart},'%Y-%m-%d')
         </if>
+        <if test="accountIncome.customerName != null and accountIncome.customerName != '' ">
+            AND customer_name like CONCAT('%',#{accountIncome.customerName},'%')
+        </if>
+
+        <if test="accountIncome.invoiceNumber != null and accountIncome.invoiceNumber != '' ">
+            AND invoice_number like CONCAT('%',#{accountIncome.invoiceNumber},'%')
+        </if>
         <if test="accountIncome.entryDateEnd != null and accountIncome.entryDateEnd != '' ">
             AND income_date &lt;= DATE_FORMAT(#{accountIncome.entryDateEnd},'%Y-%m-%d')
         </if>
         <if test="accountIncome.incomeType != null and accountIncome.incomeType != '' ">
             AND income_type = #{accountIncome.incomeType}
         </if>
-        <if test="accountIncome.incomeMethod != null and accountIncome.incomeMethod != '' ">
+        <if test="accountIncome.incomeMethodLabel != null and accountIncome.incomeMethodLabel != ''">
+            AND (
+            (
+            business_type = 1
+            AND income_method in
+            <foreach collection="accountIncome.receiptPaymentMethodList" item="method" open="(" separator="," close=")">
+                #{method}
+            </foreach>
+            )
+            OR
+            (
+            business_type is null
+            AND income_method in
+            <foreach collection="accountIncome.paymentMethodList" item="method" open="(" separator="," close=")">
+                #{method}
+            </foreach>
+            )
+            )
+        </if>
+        <if test="(accountIncome.incomeMethodLabel == null or accountIncome.incomeMethodLabel == '') and accountIncome.incomeMethod != null and accountIncome.incomeMethod != '' ">
             AND income_method = #{accountIncome.incomeMethod}
         </if>
     </select>
@@ -54,7 +80,7 @@
         <if test="dateQueryDto.entryDateEnd != null and dateQueryDto.entryDateEnd != '' ">
             AND income_date &lt;= DATE_FORMAT(#{dateQueryDto.entryDateEnd},'%Y-%m-%d')
         </if>
-        group by income_type
+        GROUP BY sdd.dict_label, ai.income_type
     </select>
     <select id="report1" resultType="java.math.BigDecimal">
         SELECT
@@ -76,7 +102,7 @@
                IFNULL(SUM(income_money), 0)            AS amount
         FROM account_income
         WHERE income_date BETWEEN #{startDate} AND #{endDate}
-          AND business_type = 1
+#           AND business_type = 1
         GROUP BY dateStr
         ORDER BY dateStr
 

--
Gitblit v1.9.3