package com.sinata.appointment.util; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.concurrent.atomic.AtomicInteger; public final class OrderNoGenerator { private static final AtomicInteger SEQ = new AtomicInteger(0); private static final DateTimeFormatter FMT = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); private OrderNoGenerator() {} public static String next() { return "ORD" + LocalDateTime.now().format(FMT) + String.format("%04d", SEQ.incrementAndGet() % 10000); } }