From 320e4367c61bfd2b2b98d68d556600c2a60fe64a Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 02 七月 2026 10:02:59 +0800
Subject: [PATCH] 销售台账:查看详情,退货数量与销售退货不一致问题修复

---
 src/main/resources/mapper/account/sales/AccountInvoiceApplicationMapper.xml |   31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/src/main/resources/mapper/account/sales/AccountInvoiceApplicationMapper.xml b/src/main/resources/mapper/account/sales/AccountInvoiceApplicationMapper.xml
index 7884e75..4121614 100644
--- a/src/main/resources/mapper/account/sales/AccountInvoiceApplicationMapper.xml
+++ b/src/main/resources/mapper/account/sales/AccountInvoiceApplicationMapper.xml
@@ -65,10 +65,33 @@
     <select id="existsByStockOutRecordId" resultType="java.lang.Boolean">
         SELECT COUNT(*) > 0
         FROM account_invoice_application
-        WHERE status!=2
-        <foreach collection="stockOutRecordIds" item="id" open="(" separator=" OR " close=")">
-            FIND_IN_SET(#{id}, stock_out_record_ids)
-        </foreach>
+        WHERE status != 2
+        AND (
+            <foreach collection="stockOutRecordIds" item="id" separator=" OR ">
+                FIND_IN_SET(#{id}, stock_out_record_ids) > 0
+            </foreach>
+        )
+    </select>
+    <select id="selectAccountInvoiceApplicationList"
+            resultType="com.ruoyi.account.bean.vo.sales.AccountInvoiceApplicationVo">
+        select
+            *
+        from (
+            select aia.*,
+            asi.id AS sales_invoice_id,
+            asi.status AS sales_invoice_status,
+            c.customer_name,
+            GROUP_CONCAT(sour.outbound_batches SEPARATOR ',') AS outboundBatches
+            from account_invoice_application aia
+            left join customer c on aia.customer_id = c.id
+            left join stock_out_record sour on FIND_IN_SET(sour.id, aia.stock_out_record_ids) > 0
+            left join account_sales_invoice asi on aia.id = asi.account_invoice_application_id
+            GROUP BY aia.id
+        )A
+        WHERE A.customer_id = #{customerId}
+        AND (COALESCE(A.sales_invoice_id,'') = '' OR A.sales_invoice_status = 1)
+        AND A.status = 1
+        order by A.id desc
     </select>
 
 </mapper>

--
Gitblit v1.9.3