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