From 86790cf9f379d07166beffef59e5924750d8181e Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Wed, 14 Jan 2026 10:16:42 +0700 Subject: [PATCH] refactor LeaveReportController to enhance employee sorting by remark and check-in/check-out times #2193 --- BMA.EHR.Leave/Controllers/LeaveReportController.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveReportController.cs b/BMA.EHR.Leave/Controllers/LeaveReportController.cs index 50974f31..6a09e2b9 100644 --- a/BMA.EHR.Leave/Controllers/LeaveReportController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveReportController.cs @@ -2250,7 +2250,11 @@ namespace BMA.EHR.Leave.Service.Controllers } } //employees = employees.OrderBy(x => x.checkInDate).ThenBy(x => x.checkInTimeRaw ?? DateTime.MaxValue).ThenBy(x => x.checkOutTimeRaw ?? DateTime.MaxValue).ToList(); - employees = employees.OrderBy(x => x.checkInTimeRaw ?? DateTime.MaxValue).ThenBy(x => x.checkOutTimeRaw ?? DateTime.MaxValue).ToList(); + employees = employees + .OrderBy(x => x.remark.Trim() == "" ? 0 : 1) // ข้อมูลที่ไม่มี remark ให้ขึ้นก่อน + .ThenBy(x => x.checkInTimeRaw ?? DateTime.MaxValue).ThenBy(x => x.checkOutTimeRaw ?? DateTime.MaxValue) + .ThenBy(x => x.remark) // จากนั้นจัดเรียงตาม remark + .ToList(); for (int i = 0; i < employees.Count; i++) { employees[i].no = i + 1;