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 | 41 ++++++++++++++++++++++++++++++++---------
1 files changed, 32 insertions(+), 9 deletions(-)
diff --git a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
index 91fd041..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
@@ -432,22 +432,45 @@
</where>
</select>
+
<select id="invoiceLedgerSalesAccount" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto">
SELECT
T1.sales_contract_no,
- SUM(contract_amount) AS invoice_total,
- IFNULL( SUM(T2.receipt_payment_amount) , 0 ) AS receipt_payment_amount,
- IFNULL((IFNULL(SUM(contract_amount),0) - IFNULL(SUM(T2.receipt_payment_amount),0)),0) AS unReceipt_payment_amount,
+ 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
- LEFT JOIN receipt_payment T2 ON T1.id = T2.sales_ledger_id
+ 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 != '' ">
- T1.customer_name LIKE CONCAT ('%',#{invoiceLedgerDto.searchText},'%')
+ AND T1.customer_name LIKE CONCAT ('%', #{invoiceLedgerDto.searchText}, '%')
</if>
</where>
- GROUP BY T1.sales_contract_no,T2.receipt_payment_date
+ 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