From 8114cb3d085e64ad82ccb1274816831d131a8683 Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期二, 31 三月 2026 13:35:19 +0800
Subject: [PATCH] feat(sales): 按年月格式优化销售合同编号生成规则
---
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
index 2326c13..96260b6 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -2,6 +2,7 @@
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.convert.Convert;
+import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.StrUtil;
@@ -670,7 +671,7 @@
salesLedger.setTenantId(customer.getTenantId());
// 3. 鏂板鎴栨洿鏂颁富琛�
if (salesLedger.getId() == null) {
- String contractNo = generateSalesContractNo();
+ String contractNo = generateSalesContractNoBy8Date();
salesLedger.setSalesContractNo(contractNo);
salesLedgerMapper.insert(salesLedger);
} else {
@@ -814,6 +815,19 @@
return entity;
}
+ public String generateSalesContractNoBy8Date(){
+ String yyMM = DateUtil.format(new Date(), "yyMM");
+ // 鏌ヨ涓�涓湀鏈夊灏戣鍗�
+ Date begin = DateUtil.beginOfMonth(new Date());
+ Date end = DateUtil.endOfMonth(new Date());
+ LambdaQueryWrapper<SalesLedger> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.between(SalesLedger::getEntryDate, begin, end);
+ long count = salesLedgerMapper.selectCount(queryWrapper);
+ return StrUtil.format("{}{:04d}", yyMM, count + 1);
+ }
+
+
+
@Transactional(readOnly = true)
public String generateSalesContractNo() {
LocalDate currentDate = LocalDate.now();
--
Gitblit v1.9.3