From 72585fb117463bf6f26324b7e8e139c86d13c7ba Mon Sep 17 00:00:00 2001
From: 李白 <7387820+wjli_13439841639@user.noreply.gitee.com>
Date: 星期三, 13 五月 2026 17:38:03 +0800
Subject: [PATCH] 开会后对客商排产计划,销售人员的整体修改
---
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/utils/ContractNumberGenerator.java | 40 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 40 insertions(+), 0 deletions(-)
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/utils/ContractNumberGenerator.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/utils/ContractNumberGenerator.java
new file mode 100644
index 0000000..5961933
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/utils/ContractNumberGenerator.java
@@ -0,0 +1,40 @@
+package com.by4cloud.platformx.business.utils;
+
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.atomic.AtomicInteger;
+
+public class ContractNumberGenerator {
+
+ // 鐢ㄤ簬瀛樺偍姣忓ぉ鐨勫簭鍒楀彿璁℃暟鍣紝Key涓烘棩鏈熷瓧绗︿覆锛孷alue涓哄師瀛愭暣鏁�
+ private static final ConcurrentHashMap<String, AtomicInteger> counterMap = new ConcurrentHashMap<>();
+
+ // 鏃ユ湡鏍煎紡鍖栧櫒锛屾牸寮忎负 yyyyMMdd
+ private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyyMMdd");
+
+ /**
+ * 鐢熸垚鍚堝悓缂栧彿
+ * 鏍煎紡: yyyyMMdd-XXXX (XXXX涓哄綋鏃ヨ嚜澧炲簭鍒楋紝涓嶈冻4浣嶈ˉ0)
+ *
+ * @return 鍚堝悓缂栧彿瀛楃涓�
+ */
+ public static String generateContractNumber() {
+ // 1. 鑾峰彇褰撳墠鏃ユ湡瀛楃涓�
+ String dateStr = LocalDate.now().format(DATE_FORMATTER);
+
+ // 2. 鑾峰彇鎴栧垱寤哄綋澶╃殑璁℃暟鍣�
+ // computeIfAbsent 淇濊瘉鍘熷瓙鎬э紝濡傛灉key涓嶅瓨鍦ㄥ垯鍒涘缓鏂扮殑AtomicInteger(0)
+ AtomicInteger counter = counterMap.computeIfAbsent(dateStr, k -> new AtomicInteger(0));
+
+ // 3. 閫掑骞惰幏鍙栧綋鍓嶅簭鍒楀彿
+ int sequence = counter.incrementAndGet();
+
+ // 4. 鏍煎紡鍖栧簭鍒楀彿锛屼緥濡� 1 -> "0001"
+ String formattedSequence = String.format("%04d", sequence);
+
+ // 5. 缁勫悎杩斿洖
+ return dateStr + "-" + formattedSequence;
+ }
+
+}
--
Gitblit v1.9.1