namespace SolutionErp.Application.Hrm.Services;

// Atomic sequence generator cho MaNhanVien — mirror IContractCodeGenerator
// + IPurchaseEvaluationCodeGenerator pattern.
//
// Format: "NV/{YYYY}/{Seq:D4}"
//   - YYYY = năm hiện tại (UTC)
//   - Seq = 4 chữ số tăng dần, reset per năm
//
// VD: NV/2026/0001, NV/2026/0002, ... ; sang 2027 reset NV/2027/0001.
//
// Transaction SERIALIZABLE để tránh race condition khi 2 admin tạo NV cùng lúc.
public interface IEmployeeCodeGenerator
{
    Task<string> GenerateAsync(CancellationToken ct = default);
}
