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/purchase/service/impl/PurchaseLedgerServiceImpl.java |   31 ++++++++++++++++++++++++++-----
 1 files changed, 26 insertions(+), 5 deletions(-)

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 ac9691b..845b18d 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -38,6 +38,7 @@
 import org.apache.commons.io.FilenameUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
 
 import java.io.IOException;
@@ -50,6 +51,7 @@
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 /**
@@ -85,6 +87,8 @@
     private final ProductRecordMapper productRecordMapper;
 
     private final InvoiceRegistrationProductMapper invoiceRegistrationProductMapper;
+
+    private final StringRedisTemplate redisTemplate;
 
     @Value("${file.upload-dir}")
     private String uploadDir;
@@ -421,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
@@ -440,6 +441,26 @@
         return invoiceRegistrationProducts;
     }
 
+    @Override
+    public String getPurchaseNo() {
+        // 鐢熸垚鏃ユ湡鍓嶇紑锛堜緥濡傦細CG20250405锛�
+        String purchaseNo = "CG" + LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
+
+        // 鏋勫缓 Redis Key锛堟寜澶╁垎闅旓級
+        String redisKey = "purchase_no:" + LocalDate.now().format(DateTimeFormatter.ISO_LOCAL_DATE);
+
+        // 鑾峰彇褰撳墠搴忓彿骞堕�掑锛堝師瀛愭搷浣滐級
+        Long sequence = redisTemplate.opsForValue().increment(redisKey);
+
+        // 璁剧疆杩囨湡鏃堕棿锛堟鏃ュけ鏁堬紝闃叉鍐椾綑鏁版嵁锛�
+        if (sequence == 1) {
+            redisTemplate.expire(redisKey, 1, TimeUnit.DAYS);
+        }
+
+        // 杩斿洖瀹屾暣缂栧彿锛堝 CG202504050001锛�
+        return purchaseNo + String.format("%03d", sequence);
+    }
+
     /**
      * 涓嬪垝绾垮懡鍚嶈浆椹煎嘲鍛藉悕
      */

--
Gitblit v1.9.3