namespace QMSDAL.DTO { // ── KPI summary ─────────────────────────────────────────────────────────── public class ChecklistKpiDTO { public int TotalActive { get; set; } public int ExecutionsToday { get; set; } public int PendingToday { get; set; } public int FailuresLast7 { get; set; } public int BlockingFails { get; set; } public decimal ComplianceRate { get; set; } // 0-100 percentage } // ── Daily trend ─────────────────────────────────────────────────────────── public class ChecklistTrendDTO { public string DayLabel { get; set; } = string.Empty; public int Pass { get; set; } public int Fail { get; set; } public int Total { get; set; } } // ── Timing phase breakdown ──────────────────────────────────────────────── public class ChecklistTimingDTO { public int Timing { get; set; } // 1=Pre, 2=During, 3=Post, 4=Inspection public string TimingLabel { get; set; } = string.Empty; public int Count { get; set; } } // ── Top failure items ───────────────────────────────────────────────────── public class ChecklistTopFailureDTO { public int ChecklistDetailId { get; set; } public string ChecklistName { get; set; } = string.Empty; public string DetailText { get; set; } = string.Empty; public int ActionType { get; set; } public int FailAction { get; set; } public int FailCount { get; set; } public decimal PctOfExecutions { get; set; } } }