namespace SolutionErp.Domain.PurchaseEvaluations;

// State machine PE — Session 17 spec mới (5 trạng thái):
//   DangSoanThao (Nháp)        ──Drafter trình──► ChoDuyet
//   TraLai       (Trả lại)     ──Drafter sửa+gửi lại──► ChoDuyet (chạy lại từ Cấp 1 Bước 1)
//   ChoDuyet     (Đã gửi duyệt) ──advance step pointer──► ChoDuyet
//                              ──last step done──────────► DaDuyet (terminal)
//                              ──Approver Trả lại────────► TraLai
//                              ──Approver Từ chối────────► TuChoi (terminal)
//   DangSoanThao → TuChoi (Drafter huỷ trước trình)
//
// LEGACY values 2-6 deprecated post-Mig 21 (data cũ vẫn đọc OK).
// TraLai=98: Session 17 restore làm primary state — Trả lại là Phase RIÊNG,
// không revert về DangSoanThao như Mig 21.
public enum PurchaseEvaluationPhase
{
    DangSoanThao = 1,           // Nháp
    ChoPurchasing = 2,          // [LEGACY] deprecated
    ChoDuAn = 3,                // [LEGACY] deprecated
    ChoCCM = 4,                 // [LEGACY] deprecated
    ChoCEODuyetPA = 5,          // [LEGACY] deprecated
    ChoCEODuyetNCC = 6,         // [LEGACY] deprecated
    DaDuyet = 7,                // Đã duyệt — terminal thành công
    ChoDuyet = 10,              // Đã gửi duyệt — generic intermediate, CurrentWorkflowStepIndex tracking
    TraLai = 98,                // Trả lại — Phase riêng, Drafter sửa rồi gửi lại chạy từ đầu
    TuChoi = 99,                // Từ chối — terminal khoá phiếu, KHÔNG cho edit/thao tác
}
