From 1fcaf7919db7ec3350e9bf953c0d651d4d85fac2 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期一, 23 六月 2025 11:45:48 +0800
Subject: [PATCH] 2025-06-23 回款登记导出+分页查询条件问题修复+【采购管理】-【来票登记】,合同金额列后面增加已开票金额、待开票金额两列
---
src/main/java/com/ruoyi/common/config/TomcatConfig.java | 20 ++++++
src/main/resources/mapper/sales/SalesLedgerMapper.xml | 4
src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java | 4 -
src/main/java/com/ruoyi/purchase/mapper/PurchaseLedgerMapper.java | 3 +
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java | 7 -
src/main/resources/mapper/sales/ReceiptPaymentMapper.xml | 8 +-
src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml | 25 ++++++++
src/main/java/com/ruoyi/sales/dto/ReceiptPaymentDto.java | 1
src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java | 21 +++++--
src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java | 3
src/main/java/com/ruoyi/sales/dto/ReceiptPaymentExeclDto.java | 57 +++++++++++++++++++
src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java | 7 +-
src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java | 9 +++
13 files changed, 144 insertions(+), 25 deletions(-)
diff --git a/src/main/java/com/ruoyi/common/config/TomcatConfig.java b/src/main/java/com/ruoyi/common/config/TomcatConfig.java
new file mode 100644
index 0000000..7e7408a
--- /dev/null
+++ b/src/main/java/com/ruoyi/common/config/TomcatConfig.java
@@ -0,0 +1,20 @@
+package com.ruoyi.common.config;
+
+import org.apache.catalina.connector.Connector;
+import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+// 淇敼tomcat閰嶇疆锛屽get涓璠]鏀捐
+@Configuration
+public class TomcatConfig {
+ @Bean
+ public TomcatServletWebServerFactory webServerFactory() {
+ TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
+ factory.addConnectorCustomizers((Connector connector) -> {
+ connector.setProperty("relaxedPathChars", "\"<>[\\]^`{|}");
+ connector.setProperty("relaxedQueryChars", "\"<>[\\]^`{|}");
+ });
+ return factory;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/ruoyi/purchase/mapper/PurchaseLedgerMapper.java b/src/main/java/com/ruoyi/purchase/mapper/PurchaseLedgerMapper.java
index dc2b362..62c128d 100644
--- a/src/main/java/com/ruoyi/purchase/mapper/PurchaseLedgerMapper.java
+++ b/src/main/java/com/ruoyi/purchase/mapper/PurchaseLedgerMapper.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ruoyi.purchase.pojo.PurchaseLedger;
import org.apache.ibatis.annotations.Param;
@@ -16,4 +17,6 @@
public interface PurchaseLedgerMapper extends BaseMapper<PurchaseLedger> {
int updateContractAmountById(@Param("id") Long id, @Param("totalTaxInclusiveAmount") BigDecimal totalTaxInclusiveAmount);
+
+ IPage<PurchaseLedger> selectPurchaseLedgerListPage(IPage ipage, @Param("c") PurchaseLedger purchaseLedger);
}
diff --git a/src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java b/src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java
index a5e935b..5ee4125 100644
--- a/src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java
+++ b/src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@@ -127,6 +128,14 @@
*/
private String phoneNumber;
+ @TableField(exist = false)
+ @ApiModelProperty("鏉ョエ閲戦")
+ private String receiptPaymentAmount;
+
+ @ApiModelProperty("鏈潵绁ㄩ噾棰�")
+ @TableField(exist = false)
+ private String unReceiptPaymentAmount;
+
}
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
index ffe7f4f..845b18d 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -425,11 +425,8 @@
@Override
public IPage<PurchaseLedger> selectPurchaseLedgerListPage(IPage ipage, PurchaseLedger purchaseLedger) {
- LambdaQueryWrapper<PurchaseLedger> queryWrapper = new LambdaQueryWrapper<>();
- if (StringUtils.isNotBlank(purchaseLedger.getPurchaseContractNumber())) {
- queryWrapper.like(PurchaseLedger::getPurchaseContractNumber, purchaseLedger.getPurchaseContractNumber());
- }
- return purchaseLedgerMapper.selectPage(ipage, queryWrapper);
+
+ return purchaseLedgerMapper.selectPurchaseLedgerListPage(ipage, purchaseLedger);
}
@Override
diff --git a/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java b/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
index 104f3d0..ec9ce02 100644
--- a/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
+++ b/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
@@ -16,7 +16,9 @@
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
+import java.util.stream.Collectors;
@RestController
@RequestMapping("/receiptPayment")
@@ -102,14 +104,21 @@
@ApiModelProperty("瀵煎嚭鍥炴鐧昏")
@PostMapping("/export")
- public void export(HttpServletResponse response, ArrayList<Long> ids) {
- //ids閫夋嫨灏辨槸鍏ㄥ鍑�
-// if (ids == null || ids.size() == 0) {
-// receiptPaymentService.exportPaymentList(response);
-// }
- receiptPaymentService.exportPaymentList(response, ids);
+ public void export(HttpServletResponse response, @RequestParam("ids") String idsStr) {
+ if (idsStr == null || idsStr.trim().isEmpty()) {
+ throw new RuntimeException("璇烽�夋嫨瑕佸鍑虹殑璁板綍");
+ }
+
+ ArrayList<Long> ids = (ArrayList<Long>) Arrays.stream(idsStr.split(","))
+ .map(s -> s.replaceAll("[\\[\\]]", "").trim())
+ .map(Long::valueOf)
+ .collect(Collectors.toList());
+
+
+ receiptPaymentService.exportPaymentList(response, ids);
}
+
/**
* 寮�绁ㄥ彴璐﹁鎯�
* @param id
diff --git a/src/main/java/com/ruoyi/sales/dto/ReceiptPaymentDto.java b/src/main/java/com/ruoyi/sales/dto/ReceiptPaymentDto.java
index 92a5a1b..cc9b935 100644
--- a/src/main/java/com/ruoyi/sales/dto/ReceiptPaymentDto.java
+++ b/src/main/java/com/ruoyi/sales/dto/ReceiptPaymentDto.java
@@ -21,7 +21,6 @@
private String customerName;
@ApiModelProperty(value = "鏌ヨ鏂囨湰")
- @Excel(isExport = false)
private String searchText;
@ApiModelProperty(value = "閿�鍞彴璐ales_ledger")
diff --git a/src/main/java/com/ruoyi/sales/dto/ReceiptPaymentExeclDto.java b/src/main/java/com/ruoyi/sales/dto/ReceiptPaymentExeclDto.java
new file mode 100644
index 0000000..2cda02b
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/dto/ReceiptPaymentExeclDto.java
@@ -0,0 +1,57 @@
+package com.ruoyi.sales.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class ReceiptPaymentExeclDto {
+
+ @ApiModelProperty(value = "閿�鍞悎鍚屽彿")
+ @Excel(name = "閿�鍞悎鍚屽彿",sort = 1)
+ private String salesContractNo;
+
+ @ApiModelProperty(value = "瀹㈡埛鍚堝悓鍙�")
+ @Excel(name = "瀹㈡埛鍚堝悓鍙�",sort = 2)
+
+ private String customerContractNo;
+
+ @ApiModelProperty(value = "瀹㈡埛鍚嶇О")
+ @Excel(name = "瀹㈡埛鍚嶇О",sort = 3)
+ private String customerName;
+
+ @ApiModelProperty(value = "浜у搧澶х被")
+ @Excel(name = "浜у搧澶х被",sort = 4)
+ private String productCategory;
+
+ @ApiModelProperty(value = "椤圭洰鍚嶇О")
+ @Excel(name = "椤圭洰鍚嶇О",sort = 5)
+ private String projectName;
+
+ @ApiModelProperty(value = "鍙戠エ鍙�")
+ @Excel(name = "鍙戠エ鍙�",sort = 6)
+ private String invoiceNo;
+
+ @ApiModelProperty(value = "鍙戠エ閲戦")
+ @Excel(name = "鍙戠エ閲戦",sort = 7)
+ private BigDecimal invoiceTotal;
+
+ @ApiModelProperty(value = "绋庣巼锛�%锛�")
+ @Excel(name = "绋庣巼锛�%锛�",sort = 8)
+ private BigDecimal taxRate;
+
+ @ApiModelProperty(value = "鍥炴閲戦")
+ @Excel(name = "鍥炴閲戦",sort = 9)
+ private BigDecimal receiptPaymentAmountTotal;
+
+ @ApiModelProperty(value = "寰呭洖娆鹃噾棰�")
+ @Excel(name = "寰呭洖娆鹃噾棰�",sort = 10)
+ private BigDecimal noReceiptAmount;
+
+
+
+
+}
diff --git a/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java b/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java
index ac868fa..ac590cf 100644
--- a/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java
+++ b/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java
@@ -6,6 +6,7 @@
import com.ruoyi.sales.dto.CustomerInteractionDto;
import com.ruoyi.sales.dto.InvoiceLedgerDto;
import com.ruoyi.sales.dto.ReceiptPaymentDto;
+import com.ruoyi.sales.dto.ReceiptPaymentExeclDto;
import com.ruoyi.sales.pojo.ReceiptPayment;
import org.apache.ibatis.annotations.Param;
@@ -73,5 +74,5 @@
List<ReceiptPaymentDto> bindInvoiceNoRegListAll();
- List<ReceiptPaymentDto> bindInvoiceNoRegListByIds(ArrayList<Long> ids);
+ List<ReceiptPaymentExeclDto> bindInvoiceNoRegListByIds(List<Long> ids);
}
diff --git a/src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java b/src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java
index 435a065..85a7a4c 100644
--- a/src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java
+++ b/src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java
@@ -6,11 +6,9 @@
import com.ruoyi.sales.dto.InvoiceLedgerDto;
import com.ruoyi.sales.dto.ReceiptPaymentDto;
import com.ruoyi.sales.pojo.ReceiptPayment;
-import org.apache.ibatis.annotations.Param;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
-import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -101,5 +99,5 @@
/**
* 閮ㄥ垎瀵煎嚭鍥炴鍒楄〃
*/
- void exportPaymentList(HttpServletResponse response, ArrayList<Long> ids);
+ void exportPaymentList(HttpServletResponse response, List<Long> ids);
}
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 01a72b8..8f04726 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
@@ -8,6 +8,7 @@
import com.ruoyi.sales.dto.CustomerInteractionDto;
import com.ruoyi.sales.dto.InvoiceLedgerDto;
import com.ruoyi.sales.dto.ReceiptPaymentDto;
+import com.ruoyi.sales.dto.ReceiptPaymentExeclDto;
import com.ruoyi.sales.mapper.ReceiptPaymentMapper;
import com.ruoyi.sales.mapper.SalesLedgerMapper;
import com.ruoyi.sales.pojo.ReceiptPayment;
@@ -264,9 +265,9 @@
}
@Override
- public void exportPaymentList(HttpServletResponse response, ArrayList<Long> ids) {
- List<ReceiptPaymentDto> receiptPaymentDtoList = receiptPaymentMapper.bindInvoiceNoRegListByIds(ids);
- ExcelUtil<ReceiptPaymentDto> util = new ExcelUtil<ReceiptPaymentDto>(ReceiptPaymentDto.class);
+ public void exportPaymentList(HttpServletResponse response, List<Long> ids) {
+ List<ReceiptPaymentExeclDto> receiptPaymentDtoList = receiptPaymentMapper.bindInvoiceNoRegListByIds(ids);
+ ExcelUtil<ReceiptPaymentExeclDto> util = new ExcelUtil<ReceiptPaymentExeclDto>(ReceiptPaymentExeclDto.class);
util.exportExcel(response, receiptPaymentDtoList, "鍥炴鐧昏");
}
}
diff --git a/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml b/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
index f007228..ddd0082 100644
--- a/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
+++ b/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
@@ -9,4 +9,29 @@
SET contract_amount = #{totalTaxInclusiveAmount}
WHERE id = #{id}
</update>
+ <select id="selectPurchaseLedgerListPage" resultType="com.ruoyi.purchase.pojo.PurchaseLedger">
+ select
+ pl.id,
+ pl.purchase_contract_number ,
+ pl.sales_contract_no,
+ pl.supplier_name,
+ pl.project_name,
+ pl.contract_amount,
+ sum(pr.tickets_amount)as receipt_payment_amount,
+ pl.contract_amount-sum(pr.tickets_amount) AS unReceipt_payment_amount,
+ pl.entry_date,
+ pl.recorder_name
+ from purchase_ledger pl
+ left join product_record pr on pl.id = pr.purchase_ledger_id
+ <where>
+ <if test="c.purchaseContractNumber != null and c.purchaseContractNumber != ''">
+ pl.purchase_contract_number like concat('%',#{c.purchaseContractNumber},'%')
+ </if>
+ </where>
+ group by pl.id, pl.purchase_contract_number, pl.sales_contract_no, pl.supplier_name,
+ pl.project_name,pl.entry_date,
+ pl.recorder_name,
+ pl.contract_amount
+
+ </select>
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
index 8c0fc74..0f2bc4c 100644
--- a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
+++ b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
@@ -99,7 +99,7 @@
AND T3.customer_name LIKE CONCAT('%',#{c.customerName},'%')
</if>
<if test="c.customerContractNo != null and c.customerContractNo !=''">
- AND T1.customer_contract_no LIKE CONCAT('%',#{c.customerContractNo},'%')
+ AND T3.customer_contract_no LIKE CONCAT('%',#{c.customerContractNo},'%')
</if>
<if test="c.projectName != null and c.projectName !=''">
AND T3.project_name LIKE CONCAT('%',#{c.projectName},'%')
@@ -210,10 +210,10 @@
AND T4.project_name LIKE CONCAT('%',#{params.projectName},'%')
</if>
<if test="params.customerContractNo != null and params.customerContractNo != '' ">
- AND T1.customer_contract_no LIKE CONCAT('%',#{params.customerContractNo},'%')
+ AND T4.customer_contract_no LIKE CONCAT('%',#{params.customerContractNo},'%')
</if>
<if test="params.salesContractNo != null and params.salesContractNo != '' ">
- AND T1.sales_contract_no LIKE CONCAT('%',#{params.salesContractNo},'%')
+ AND T4.sales_contract_no LIKE CONCAT('%',#{params.salesContractNo},'%')
</if>
</where>
ORDER BY T1.receipt_payment_date DESC
@@ -368,7 +368,7 @@
BY invoice_ledger_id
) T6 ON T1.id = T6.invoice_ledger_id
</select>
- <select id="bindInvoiceNoRegListByIds" resultType="com.ruoyi.sales.dto.ReceiptPaymentDto">
+ <select id="bindInvoiceNoRegListByIds" resultType="com.ruoyi.sales.dto.ReceiptPaymentExeclDto">
SELECT
T1.id ,
T1.invoice_no ,
diff --git a/src/main/resources/mapper/sales/SalesLedgerMapper.xml b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
index 96c297c..64d50b0 100644
--- a/src/main/resources/mapper/sales/SalesLedgerMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
@@ -67,8 +67,8 @@
<if test="salesLedgerDto.customerContractNo != null and salesLedgerDto.customerContractNo !='' ">
T1.customer_contract_no LIKE CONCAT('%',#{salesLedgerDto.customerContractNo},'%')
</if>
- <if test="salesLedgerDto.sales_contract_no != null and salesLedgerDto.sales_contract_no != '' ">
- T1.sales_contract_no LIKE CONCAT('%',#{salesLedgerDto.customerContractNo},'%')
+ <if test="salesLedgerDto.salesContractNo != null and salesLedgerDto.salesContractNo != '' ">
+ T1.sales_contract_no LIKE CONCAT('%',#{salesLedgerDto.salesContractNo},'%')
</if>
<if test="salesLedgerDto.projectName != null and salesLedgerDto.projectName != '' ">
T1.project_name LIKE CONCAT('%',#{salesLedgerDto.projectName},'%')
--
Gitblit v1.9.3