From 4d1bd63eada739fdef9a05839c90a7b564fa2dab Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 08 四月 2026 11:03:25 +0800
Subject: [PATCH] feat:发货和销售数量查询

---
 src/main/resources/mapper/sales/ReceiptPaymentMapper.xml |   46 +++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 43 insertions(+), 3 deletions(-)

diff --git a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
index 0cd0919..3e3ae6c 100644
--- a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
+++ b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
@@ -90,7 +90,7 @@
         FROM invoice_ledger_file
         GROUP BY invoice_ledger_id
         ) T4 ON T4.invoice_ledger_id = T1.id
-        LEFT JOIN sales_ledger_product T5 ON T2.sales_ledger_product_id = T5.id
+        LEFT JOIN sales_ledger_product T5 ON T2.sales_ledger_product_id = T5.id and slp.type = 1
         LEFT JOIN (
         SELECT
         SUM(receipt_payment_amount) AS receipt_payment_amount_total,
@@ -378,7 +378,7 @@
                 GROUP_CONCAT( name ORDER BY id ASC SEPARATOR ' | ') AS invoiceFileName
             FROM invoice_ledger_file GROUP BY invoice_ledger_id
         ) T4 ON T4.invoice_ledger_id = T1.id
-                 LEFT JOIN sales_ledger_product T5 ON T2.sales_ledger_product_id = T5.id
+                 LEFT JOIN sales_ledger_product T5 ON T2.sales_ledger_product_id = T5.id and slp.type = 1
                  LEFT JOIN (
             SELECT SUM(receipt_payment_amount) AS receipt_payment_amount_total,invoice_ledger_id FROM receipt_payment GROUP
                 BY invoice_ledger_id
@@ -414,7 +414,7 @@
         GROUP_CONCAT( name ORDER BY id ASC SEPARATOR ' | ') AS invoiceFileName
         FROM invoice_ledger_file GROUP BY invoice_ledger_id
         ) T4 ON T4.invoice_ledger_id = T1.id
-        LEFT JOIN sales_ledger_product T5 ON T2.sales_ledger_product_id = T5.id
+        LEFT JOIN sales_ledger_product T5 ON T2.sales_ledger_product_id = T5.id and slp.type = 1
         LEFT JOIN (
         SELECT SUM(receipt_payment_amount) AS receipt_payment_amount_total,invoice_ledger_id FROM receipt_payment GROUP
         BY invoice_ledger_id
@@ -433,4 +433,44 @@
 
     </select>
 
+    <select id="invoiceLedgerSalesAccount" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto">
+        SELECT
+        T1.sales_contract_no,
+        T1.contract_amount AS invoice_total,
+        IFNULL(SUM(T2.receipt_payment_amount), 0) AS receipt_payment_amount,
+        IFNULL((T1.contract_amount - IFNULL(SUM(T2.receipt_payment_amount), 0)), 0) AS unReceipt_payment_amount,
+        T2.receipt_payment_date
+        FROM sales_ledger T1
+        INNER JOIN receipt_payment T2 ON T1.id = T2.sales_ledger_id
+        <where>
+            T1.customer_id = #{invoiceLedgerDto.customerId}
+            <if test="invoiceLedgerDto.searchText != null and invoiceLedgerDto.searchText != '' ">
+                AND T1.customer_name LIKE CONCAT ('%', #{invoiceLedgerDto.searchText}, '%')
+            </if>
+        </where>
+        GROUP BY T1.id, T1.sales_contract_no, T1.contract_amount, T2.receipt_payment_date
+    </select>
+
+    <select id="customerSalesInteractions" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto">
+        SELECT
+            wr.receive_unit,
+            wr.goods_name,
+            wr.specification,
+            wr.shippedQuantity,
+            SUM(slp.quantity) AS totalQuantity,
+            SUM(IFNULL(slp.quantity, 0)) - wr.shippedQuantity AS unshippedQuantity
+        FROM
+            (SELECT receive_unit, goods_name, specification, SUM(net_weight) AS shippedQuantity FROM weighing_record GROUP BY receive_unit, goods_name, specification) wr
+                LEFT JOIN sales_ledger sl ON sl.customer_name = wr.receive_unit
+                LEFT JOIN sales_ledger_product slp ON slp.sales_ledger_id = sl.id
+                AND slp.product_category = wr.goods_name
+                AND slp.specification_model = wr.specification
+        WHERE
+            sl.customer_id = #{ew.customerId}
+        GROUP BY
+            wr.receive_unit,
+            wr.goods_name,
+            wr.specification,
+            wr.shippedQuantity
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3