From 52e83f014b2424332583e44aa938ffac216d5251 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期四, 18 十二月 2025 11:23:30 +0800
Subject: [PATCH] yys 增值税,分页
---
src/main/resources/mapper/sales/ReceiptPaymentMapper.xml | 45 +++++++++++++---------
src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml | 26 +++++++------
src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java | 13 +++++-
src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java | 2
src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml | 3 +
5 files changed, 55 insertions(+), 34 deletions(-)
diff --git a/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java b/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java
index 40098d5..6f39755 100644
--- a/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java
+++ b/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java
@@ -155,7 +155,7 @@
}
}
- @Scheduled(cron = "0 0 3 * * ?") // 姣忓ぉ鍑屾櫒3鐐规墽琛�
+// @Scheduled(cron = "0 0 3 * * ?") // 姣忓ぉ鍑屾櫒3鐐规墽琛�
public void cleanupExpiredTempFiles() {
LambdaQueryWrapper<TempFile> wrapper = new LambdaQueryWrapper<>();
wrapper.lt(TempFile::getExpireTime, LocalDateTime.now()); // expireTime < 褰撳墠鏃堕棿
diff --git a/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
index ae93c3b..48056a9 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
@@ -161,9 +161,16 @@
@Override
public IPage<ReceiptPaymentDto> bindInvoiceNoRegPage(Page page, ReceiptPaymentDto receiptPaymentDto) {
IPage<ReceiptPaymentDto> receiptPaymentDtoIPage = receiptPaymentMapper.bindInvoiceNoRegPage(page, receiptPaymentDto);
- if (receiptPaymentDto.getStatus()) {
- receiptPaymentDtoIPage.getRecords().removeIf(receiptPaymentDto1 -> new BigDecimal("0.00").equals(receiptPaymentDto1.getNoReceiptAmount()));
- }
+// if (receiptPaymentDto.getStatus()) {
+// long count = receiptPaymentDtoIPage.getRecords()
+// .stream()
+// .filter(receiptPaymentDto1 -> new BigDecimal("0.00").equals(receiptPaymentDto1.getNoReceiptAmount()))
+// .count();
+// receiptPaymentDtoIPage
+// .getRecords()
+// .removeIf(receiptPaymentDto1 -> new BigDecimal("0.00").equals(receiptPaymentDto1.getNoReceiptAmount()));
+// receiptPaymentDtoIPage.setTotal(receiptPaymentDtoIPage.getTotal() - count);
+// }
receiptPaymentDtoIPage.getRecords().forEach(item -> {
// 姣旇緝鍥炴閲戦 == 寰呭洖娆鹃噾棰�
if (item.getInvoiceTotal().compareTo(item.getReceiptPaymentAmountTotal()) == 0) {
diff --git a/src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml b/src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml
index e29cc8d..ba0e289 100644
--- a/src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml
+++ b/src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml
@@ -3,24 +3,26 @@
<mapper namespace="com.ruoyi.procurementrecord.mapper.CustomStorageMapper">
<select id="listPageCopyByCustom" resultType="com.ruoyi.procurementrecord.pojo.CustomStorage">
- select *,
- sum(inbound_num) as inboundNum,
- sum(inbound_num) as inboundNum0,
- sum(tax_inclusive_total_price) as taxInclusiveTotalPrice
- from custom_storage
+ select t1.*,
+ sum(t1.inbound_num) as inboundNum,
+ sum(t1.inbound_num) as inboundNum0,
+ sum(t1.tax_inclusive_total_price) as taxInclusiveTotalPrice,
+ SUM(t1.inbound_num) - COALESCE(SUM(t2.inbound_num), 0) AS availableStock
+ from custom_storage t1
+ left join procurement_record_out t2 on t1.id = t2.procurement_record_storage_id and t2.type = 3
<where>
<if test="req.productCategory != null and req.productCategory != ''">
- and product_category like concat('%',#{req.productCategory},'%')
+ and t1.product_category like concat('%',#{req.productCategory},'%')
</if>
<if test="req.supplierName !=null and req.supplierName != ''">
- and supplier_name like concat('%',#{req.supplierName},'%')
+ and t1.supplier_name like concat('%',#{req.supplierName},'%')
</if>
- <if test="req.inboundDate !=null">
- and inbound_date like concat('%',#{req.inboundDate},'%')
+ <if test="req.timeStr != null and req.timeStr != ''">
+ and t1.inbound_date like concat('%',#{req.timeStr},'%')
</if>
-
</where>
- group by product_category, specification_model, tax_inclusive_unit_price
- order by inbound_date desc
+ group by t1.product_category, t1.specification_model, t1.tax_inclusive_unit_price
+ HAVING availableStock > 0
+ order by t1.inbound_date desc
</select>
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml b/src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml
index 413f293..af6e508 100644
--- a/src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml
+++ b/src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml
@@ -66,6 +66,7 @@
LEFT JOIN invoice_registration_product pr ON pr.id = il.invoice_registration_product_id
WHERE il.invoice_no IS NOT NULL
AND invoice_type = '澧炰笓绁�'
+ AND DATE_FORMAT(il.invoice_date, '%Y-%m') IS NOT NULL -- 鏂板锛氳繃婊onth涓篘ULL鐨勬儏
GROUP BY DATE_FORMAT(il.invoice_date, '%Y-%m')
) a1
LEFT JOIN (
@@ -124,12 +125,14 @@
LEFT JOIN invoice_registration_product pr ON pr.id = il.invoice_registration_product_id
WHERE il.invoice_no IS NOT NULL
AND invoice_type = '澧炰笓绁�'
+ AND DATE_FORMAT(il.invoice_date, '%Y-%m') IS NOT NULL -- 鏂板锛氳繃婊onth涓篘ULL鐨勬儏
GROUP BY DATE_FORMAT(il.invoice_date, '%Y-%m')
) a1 ON a1.month = a2.month
WHERE a1.month IS NULL
ORDER BY month
)as a
<where>
+ a.month is not null
<if test="month != null">
and a.month = #{month}
</if>
diff --git a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
index a52038b..cf9d93e 100644
--- a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
+++ b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
@@ -61,38 +61,42 @@
<select id="bindInvoiceNoRegPage" resultType="com.ruoyi.sales.dto.ReceiptPaymentDto">
SELECT
- T1.id ,
- T1.invoice_no ,
- T1.invoice_total ,
+ T1.id,
+ T1.invoice_no,
+ T1.invoice_total,
T3.project_name,
- T1.invoice_person ,
- T1.invoice_date ,
- T1.create_time ,
- T1.create_user ,
- T1.update_time ,
- T1.update_user ,
- T1.tenant_id ,
+ T1.invoice_person,
+ T1.invoice_date,
+ T1.create_time,
+ T1.create_user,
+ T1.update_time,
+ T1.update_user,
+ T1.tenant_id,
T2.tax_rate,
T3.sales_contract_no,
T3.customer_contract_no,
T3.customer_name,
T4.invoiceFileName,
T5.product_category,
- IFNULL(T6.receipt_payment_amount_total ,0) AS receipt_payment_amount_total,
- (T1.invoice_total - IFNULL(T6.receipt_payment_amount_total ,0)) AS no_receipt_amount
+ IFNULL(T6.receipt_payment_amount_total, 0) AS receipt_payment_amount_total,
+ (T1.invoice_total - IFNULL(T6.receipt_payment_amount_total, 0)) AS noReceiptAmount
FROM invoice_ledger T1
LEFT JOIN invoice_registration_product T2 ON T2.id = T1.invoice_registration_product_id
LEFT JOIN sales_ledger T3 ON T3.id = T2.sales_ledger_id
LEFT JOIN (
SELECT
invoice_ledger_id,
- GROUP_CONCAT( name ORDER BY id ASC SEPARATOR ' | ') AS invoiceFileName
- FROM invoice_ledger_file GROUP BY invoice_ledger_id
+ 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 (
- SELECT SUM(receipt_payment_amount) AS receipt_payment_amount_total,invoice_ledger_id FROM receipt_payment GROUP
- BY invoice_ledger_id
+ SELECT
+ SUM(receipt_payment_amount) AS receipt_payment_amount_total,
+ invoice_ledger_id
+ FROM receipt_payment
+ GROUP BY invoice_ledger_id
) T6 ON T1.id = T6.invoice_ledger_id
<where>
<if test="req.customerName != null and req.customerName !=''">
@@ -111,10 +115,15 @@
AND T1.invoice_date >= DATE_FORMAT(#{req.invoiceDateStart},'%Y-%m-%d')
</if>
<if test="req.invoiceDateEnd != null and req.invoiceDateEnd != '' ">
- AND T1.invoice_date <= DATE_FORMAT(#{req.invoiceDateEnd},'%Y-%m-%d')
+ AND T1.invoice_date <= DATE_FORMAT(#{req.invoiceDateEnd},'%Y-%m-%d')
+ </if>
+ <if test="req.status != null and req.status">
+ and (T1.invoice_total - IFNULL(T6.receipt_payment_amount_total, 0)) > 0
</if>
</where>
- ORDER BY T2.create_time DESC
+
+ ORDER BY IFNULL(T2.create_time, T1.create_time) DESC
+
</select>
<select id="invoiceInfo" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto">
--
Gitblit v1.9.3