From 821c4614c3eb03e958a6d3b909313efb269a7137 Mon Sep 17 00:00:00 2001 From: Adisak Date: Thu, 16 Oct 2025 11:48:01 +0700 Subject: [PATCH 01/11] #1480 --- .../Controllers/PlacementAppointmentController.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs index fb5aa8d4..5b85a73b 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs @@ -13,6 +13,7 @@ using Microsoft.EntityFrameworkCore; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Swashbuckle.AspNetCore.Annotations; +using System.Diagnostics; using System.Net.Http.Headers; using System.Security.Claims; @@ -99,7 +100,7 @@ namespace BMA.EHR.Placement.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } From d6e4426e08cac4fa37d091cc583bdc08ce09c9ab Mon Sep 17 00:00:00 2001 From: Adisak Date: Thu, 16 Oct 2025 14:38:15 +0700 Subject: [PATCH 02/11] fix insert dna #1480 --- .../Controllers/PlacementAppointmentController.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs index 5b85a73b..f6c10944 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs @@ -511,6 +511,11 @@ namespace BMA.EHR.Placement.Service.Controllers placementAppointment.child4Old = org.result.child4; placementAppointment.child4OldId = org.result.child4Id; placementAppointment.child4ShortNameOld = org.result.child4ShortName; + placementAppointment.rootDnaId = org.result.rootDnaId; + placementAppointment.child1DnaId = org.result.child1DnaId; + placementAppointment.child2DnaId = org.result.child2DnaId; + placementAppointment.child3DnaId = org.result.child3DnaId; + placementAppointment.child4DnaId = org.result.child4DnaId; placementAppointment.posMasterNoOld = org.result.posMasterNo; placementAppointment.posTypeOldId = org.result.posTypeId; placementAppointment.posTypeNameOld = org.result.posTypeName; From 7d9c3fa46bfb78d6b9e1d8316760549429dd9eea Mon Sep 17 00:00:00 2001 From: Adisak Date: Thu, 16 Oct 2025 17:57:43 +0700 Subject: [PATCH 03/11] fix role normal --- .../Controllers/PlacementAppointmentController.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs index f6c10944..a1dca0fc 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs @@ -230,7 +230,12 @@ namespace BMA.EHR.Placement.Service.Controllers else if (role == "NORMAL") { placementAppointments = placementAppointments - .Where(x => node == 0 ? x.child1DnaId == null : (node == 1 ? x.child2DnaId == null : (node == 2 ? x.child3DnaId == null : (node == 3 ? x.child4DnaId == null : true)))).ToList(); + .Where( + x => node == 0 ? x.child1DnaId == null + : (node == 1 ? x.child1DnaId != null && x.child2DnaId == null + : (node == 2 ? x.child2DnaId != null && x.child3DnaId == null + : (node == 3 ? x.child3DnaId != null && x.child4DnaId == null : true))) + ).ToList(); } return Success(placementAppointments); } From 85e1c95f979fa3011f1fbd43eae3e40d3e631cfd Mon Sep 17 00:00:00 2001 From: kittapath <> Date: Thu, 16 Oct 2025 23:04:29 +0700 Subject: [PATCH 04/11] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B8=AA?= =?UTF-8?q?=E0=B8=B4=E0=B8=97=E0=B8=98=E0=B8=B4=E0=B9=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BMA.EHR.Leave/Controllers/LeaveController.cs | 6 +++--- BMA.EHR.Leave/Controllers/LeaveReportController.cs | 10 +++++----- BMA.EHR.Leave/Controllers/LeaveRequestController.cs | 4 ++-- .../PlacementAppointmentEmployeeController.cs | 2 +- .../Controllers/PlacementOfficerController.cs | 2 +- .../Controllers/PlacementReceiveController.cs | 2 +- .../Controllers/PlacementRepatriationController.cs | 2 +- .../Controllers/PlacementTransferController.cs | 2 +- .../Controllers/RetirementDeceasedController.cs | 2 +- .../Controllers/RetirementOtherController.cs | 2 +- .../Controllers/RetirementOutController.cs | 2 +- .../Controllers/RetirementResignController.cs | 6 +++--- .../Controllers/RetirementResignEmployeeController.cs | 6 +++--- 13 files changed, 24 insertions(+), 24 deletions(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index e8eb61f2..591c7382 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -1296,7 +1296,7 @@ namespace BMA.EHR.Leave.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } @@ -1592,7 +1592,7 @@ namespace BMA.EHR.Leave.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } @@ -2429,7 +2429,7 @@ namespace BMA.EHR.Leave.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } diff --git a/BMA.EHR.Leave/Controllers/LeaveReportController.cs b/BMA.EHR.Leave/Controllers/LeaveReportController.cs index 703ca37f..b826077d 100644 --- a/BMA.EHR.Leave/Controllers/LeaveReportController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveReportController.cs @@ -918,7 +918,7 @@ namespace BMA.EHR.Leave.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } @@ -1535,7 +1535,7 @@ namespace BMA.EHR.Leave.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } @@ -1861,7 +1861,7 @@ namespace BMA.EHR.Leave.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } @@ -2267,7 +2267,7 @@ namespace BMA.EHR.Leave.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } @@ -2376,7 +2376,7 @@ namespace BMA.EHR.Leave.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index 7808b7b5..9c8be6b8 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -1635,7 +1635,7 @@ namespace BMA.EHR.Leave.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } @@ -1820,7 +1820,7 @@ namespace BMA.EHR.Leave.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentEmployeeController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentEmployeeController.cs index d5f67e3c..07d0c57c 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentEmployeeController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentEmployeeController.cs @@ -98,7 +98,7 @@ namespace BMA.EHR.Placement.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs index 23e15651..5181fa9c 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs @@ -99,7 +99,7 @@ namespace BMA.EHR.Placement.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs index badf80cb..4e4c28d3 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs @@ -100,7 +100,7 @@ namespace BMA.EHR.Placement.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs index 0501a802..59ddaec5 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs @@ -100,7 +100,7 @@ namespace BMA.EHR.Placement.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs index c88dce21..d0c8b7ba 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs @@ -192,7 +192,7 @@ namespace BMA.EHR.Placement.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementDeceasedController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementDeceasedController.cs index af64ba10..70ef8420 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementDeceasedController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementDeceasedController.cs @@ -104,7 +104,7 @@ namespace BMA.EHR.Retirement.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs index c75eb18b..aae5b712 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs @@ -100,7 +100,7 @@ namespace BMA.EHR.Retirement.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs index 17953c33..dab3e661 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs @@ -115,7 +115,7 @@ namespace BMA.EHR.Retirement.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs index 4fe9a62a..dcfebb0b 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs @@ -257,7 +257,7 @@ namespace BMA.EHR.Retirement.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } @@ -366,7 +366,7 @@ namespace BMA.EHR.Retirement.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } @@ -2137,7 +2137,7 @@ namespace BMA.EHR.Retirement.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs index 5ddc7d0e..d5b7037d 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs @@ -196,7 +196,7 @@ namespace BMA.EHR.Retirement.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } @@ -305,7 +305,7 @@ namespace BMA.EHR.Retirement.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } @@ -2053,7 +2053,7 @@ namespace BMA.EHR.Retirement.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } From f8a71f6624f4130b92e4ce64b6c04d954190d4f2 Mon Sep 17 00:00:00 2001 From: kittapath <> Date: Thu, 16 Oct 2025 23:47:27 +0700 Subject: [PATCH 05/11] error excel leave --- .../Controllers/LeaveReportController.cs | 96 +++++++++++-------- 1 file changed, 54 insertions(+), 42 deletions(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveReportController.cs b/BMA.EHR.Leave/Controllers/LeaveReportController.cs index b826077d..9a32e247 100644 --- a/BMA.EHR.Leave/Controllers/LeaveReportController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveReportController.cs @@ -2133,52 +2133,64 @@ namespace BMA.EHR.Leave.Service.Controllers int colCount = 10; int totalRows = employees.Count; - // เตรียม List สำหรับใช้กับ LoadFromArrays - var data = new List(totalRows); - for (int i = 0; i < totalRows; i++) + // ตรวจสอบว่ามีข้อมูลหรือไม่ + if (totalRows > 0) { - var emp = employees[i]; - data.Add(new object[] + // เตรียม List สำหรับใช้กับ LoadFromArrays + var data = new List(totalRows); + for (int i = 0; i < totalRows; i++) { - emp.no, - emp.fullName, - emp.dutyTimeName, - emp.checkInDate, - emp.checkInLocation, - emp.checkInTime, - emp.checkedOutDate, - emp.checkOutLocation, - emp.checkOutTime, - emp.remark - }); + var emp = employees[i]; + data.Add(new object[] + { + emp.no, + emp.fullName, + emp.dutyTimeName, + emp.checkInDate, + emp.checkInLocation, + emp.checkInTime, + emp.checkedOutDate, + emp.checkOutLocation, + emp.checkOutTime, + emp.remark + }); + } + + // เขียนข้อมูลลง Excel ครั้งเดียว + worksheet.Cells[startRow, 1].LoadFromArrays(data); + + // กำหนดสไตล์ตัวบาง + ขอบ + using (var range = worksheet.Cells[startRow, 1, startRow + totalRows - 1, colCount]) + { + range.Style.Font.Bold = false; + range.Style.Border.Top.Style = OfficeOpenXml.Style.ExcelBorderStyle.Thin; + range.Style.Border.Bottom.Style = OfficeOpenXml.Style.ExcelBorderStyle.Thin; + range.Style.Border.Left.Style = OfficeOpenXml.Style.ExcelBorderStyle.Thin; + range.Style.Border.Right.Style = OfficeOpenXml.Style.ExcelBorderStyle.Thin; + range.Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Top; + + // Center Align: คอลัมน์ 1 (A), 3 (C), 4 (D), 6 (F), 7 (G), 9 (I) + var centerColumns = new[] { 1, 3, 4, 6, 7, 9 }; + foreach (var col in centerColumns) + { + worksheet.Cells[startRow, col, startRow + totalRows - 1, col].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; + } + + // Left Align: คอลัมน์ 2 (B), 5 (E), 8 (H), 10 (J) + var leftColumns = new[] { 2, 5, 8, 10 }; + foreach (var col in leftColumns) + { + worksheet.Cells[startRow, col, startRow + totalRows - 1, col].Style.HorizontalAlignment = ExcelHorizontalAlignment.Left; + } + } } - - // เขียนข้อมูลลง Excel ครั้งเดียว - worksheet.Cells[startRow, 1].LoadFromArrays(data); - - // กำหนดสไตล์ตัวบาง + ขอบ - using (var range = worksheet.Cells[startRow, 1, startRow + totalRows - 1, colCount]) + else { - range.Style.Font.Bold = false; - range.Style.Border.Top.Style = OfficeOpenXml.Style.ExcelBorderStyle.Thin; - range.Style.Border.Bottom.Style = OfficeOpenXml.Style.ExcelBorderStyle.Thin; - range.Style.Border.Left.Style = OfficeOpenXml.Style.ExcelBorderStyle.Thin; - range.Style.Border.Right.Style = OfficeOpenXml.Style.ExcelBorderStyle.Thin; - range.Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Top; - - // Center Align: คอลัมน์ 1 (A), 3 (C), 4 (D), 6 (F), 7 (G), 9 (I) - var centerColumns = new[] { 1, 3, 4, 6, 7, 9 }; - foreach (var col in centerColumns) - { - worksheet.Cells[startRow, col, startRow + totalRows - 1, col].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; - } - - // Left Align: คอลัมน์ 2 (B), 5 (E), 8 (H), 10 (J) - var leftColumns = new[] { 2, 5, 8, 10 }; - foreach (var col in leftColumns) - { - worksheet.Cells[startRow, col, startRow + totalRows - 1, col].Style.HorizontalAlignment = ExcelHorizontalAlignment.Left; - } + // กรณีไม่มีข้อมูล ใส่ข้อความแจ้ง + worksheet.Cells[startRow, 1].Value = "ไม่มีข้อมูล"; + worksheet.Cells[startRow, 1, startRow, colCount].Merge = true; + worksheet.Cells[startRow, 1].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; + worksheet.Cells[startRow, 1].Style.Font.Bold = true; } // ส่วนสรุปท้ายตาราง From c0f4cd3bdffde476594777fea13c9ce729c27332 Mon Sep 17 00:00:00 2001 From: kittapath <> Date: Fri, 17 Oct 2025 00:07:08 +0700 Subject: [PATCH 06/11] role insignia --- BMA.EHR.Insignia/Controllers/InsigniaManageController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BMA.EHR.Insignia/Controllers/InsigniaManageController.cs b/BMA.EHR.Insignia/Controllers/InsigniaManageController.cs index 20d0debb..aaf9dffc 100644 --- a/BMA.EHR.Insignia/Controllers/InsigniaManageController.cs +++ b/BMA.EHR.Insignia/Controllers/InsigniaManageController.cs @@ -623,7 +623,7 @@ namespace BMA.EHR.Insignia.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "ROOT" && role == "PARENT") + else if (role == "ROOT" || role == "PARENT") { nodeId = profileAdmin?.RootDnaId; } From 4fb82bf25ac7fa48bb6dc5be115e1f4238971b6e Mon Sep 17 00:00:00 2001 From: Harid Promsri <52228846+Harid-999@users.noreply.github.com> Date: Mon, 20 Oct 2025 15:07:43 +0700 Subject: [PATCH 07/11] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B9=83=E0=B8=AB=E0=B9=89=E0=B9=80=E0=B8=A3=E0=B8=B5=E0=B8=A2?= =?UTF-8?q?=E0=B8=87=E0=B8=95=E0=B8=B2=E0=B8=A1=E0=B8=9B=E0=B8=B5=E0=B8=87?= =?UTF-8?q?=E0=B8=9A=E0=B8=A5=E0=B9=88=E0=B8=B2=E0=B8=AA=E0=B8=B8=E0=B8=94?= =?UTF-8?q?=E0=B8=81=E0=B9=88=E0=B8=AD=E0=B8=99=20(#1878)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: harid --- BMA.EHR.Placement.Service/Controllers/PlacementController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs index 883c6469..79c1f0e3 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs @@ -86,7 +86,7 @@ namespace BMA.EHR.Placement.Service.Controllers { Id = x.FirstOrDefault().Year, Name = x.FirstOrDefault().Year + 543, - }).ToList(); + }).OrderByDescending(x => x.Id).ToList(); return Success(_data); } From 55f0dc6876dc9c9b5eb653893a7c8363d5eed914 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Mon, 20 Oct 2025 15:12:01 +0700 Subject: [PATCH 08/11] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84?= =?UTF-8?q?=E0=B8=82=20=E0=B9=80=E0=B8=A7=E0=B8=A5=E0=B8=B2=E0=B9=80?= =?UTF-8?q?=E0=B8=9B=E0=B8=A5=E0=B8=B5=E0=B9=88=E0=B8=A2=E0=B8=99=E0=B8=A3?= =?UTF-8?q?=E0=B8=AD=E0=B8=9A=E0=B9=80=E0=B8=9B=E0=B9=87=E0=B8=99=20isacti?= =?UTF-8?q?ve=20=3D=20false=20=E0=B9=83=E0=B8=AB=E0=B9=89=E0=B9=84?= =?UTF-8?q?=E0=B8=9B=E0=B8=A5=E0=B8=9A=E0=B8=A3=E0=B8=B2=E0=B8=A2=E0=B8=81?= =?UTF-8?q?=E0=B8=B2=E0=B8=A3=E0=B8=97=E0=B8=B5=E0=B9=88=E0=B9=80=E0=B8=84?= =?UTF-8?q?=E0=B8=A2=E0=B9=80=E0=B8=AD=E0=B8=B2=E0=B9=84=E0=B8=9B=E0=B8=9C?= =?UTF-8?q?=E0=B8=B9=E0=B8=81=E0=B8=81=E0=B8=B1=E0=B8=9A=20user=20?= =?UTF-8?q?=E0=B8=94=E0=B9=89=E0=B8=A7=E0=B8=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BMA.EHR.Leave/Controllers/LeaveController.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index 591c7382..89d3b401 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -322,6 +322,14 @@ namespace BMA.EHR.Leave.Service.Controllers oldData.IsDefault = data.IsDefault; oldData.IsActive = data.IsActive; + if (!data.IsActive) + { + // ลบรายการที่เคยผูกไว้ทั้งหมด + var userDutyTimes = await _context.UserDutyTimes.Where(x => x.DutyTimeId == oldData.Id).ToListAsync(); + _context.UserDutyTimes.RemoveRange(userDutyTimes); + await _context.SaveChangesAsync(); + } + await _dutyTimeRepository.UpdateAsync(oldData); return Success(oldData); From 720027b26c7641edac9877e0b6ac886ecb113b41 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat <114205689+suphonchaip@users.noreply.github.com> Date: Mon, 20 Oct 2025 15:30:26 +0700 Subject: [PATCH 09/11] Update ssh-action version in release workflow (leave) --- .github/workflows/release_leave.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release_leave.yaml b/.github/workflows/release_leave.yaml index b017222d..4b361f5f 100644 --- a/.github/workflows/release_leave.yaml +++ b/.github/workflows/release_leave.yaml @@ -57,7 +57,7 @@ jobs: push: true tags: ${{env.REGISTRY}}/${{env.IMAGE_NAME}}:${{ steps.gen_ver.outputs.image_ver }},${{env.REGISTRY}}/${{env.IMAGE_NAME}}:latest - name: Remote Deployment - uses: appleboy/ssh-action@v0.1.8 + uses: appleboy/ssh-action@v1 with: host: ${{env.DEPLOY_HOST}} username: frappet From 503805b194bdbcea857a06992b0346afff356454 Mon Sep 17 00:00:00 2001 From: kittapath <> Date: Wed, 22 Oct 2025 23:43:19 +0700 Subject: [PATCH 10/11] sort leave date --- .../LeaveRequests/LeaveRequestRepository.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index aed8b720..66051840 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -1573,9 +1573,9 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests Root = organizationName, SumLeaveDay = grp.Sum(x => x.LeaveTotal), sickDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-001").Sum(x => x.LeaveTotal), - maternityDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-002").Sum(x => x.LeaveTotal), - wifeDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-003").Sum(x => x.LeaveTotal), - personalDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-004").Sum(x => x.LeaveTotal), + personalDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-002").Sum(x => x.LeaveTotal), + maternityDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-003").Sum(x => x.LeaveTotal), + wifeDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-004").Sum(x => x.LeaveTotal), restDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-005").Sum(x => x.LeaveTotal), ordainDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-006").Sum(x => x.LeaveTotal), absentDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-007").Sum(x => x.LeaveTotal), @@ -1585,9 +1585,9 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests therapyDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-011").Sum(x => x.LeaveTotal), sickDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-001").Sum(x => x.LeaveTotal), - maternityDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-002").Sum(x => x.LeaveTotal), - wifeDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-003").Sum(x => x.LeaveTotal), - personalDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-004").Sum(x => x.LeaveTotal), + personalDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-002").Sum(x => x.LeaveTotal), + maternityDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-003").Sum(x => x.LeaveTotal), + wifeDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-004").Sum(x => x.LeaveTotal), restDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-005").Sum(x => x.LeaveTotal), ordainDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-006").Sum(x => x.LeaveTotal), absentDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-007").Sum(x => x.LeaveTotal), @@ -1597,9 +1597,9 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests therapyDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-011").Sum(x => x.LeaveTotal), sickDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-001").Sum(x => x.LeaveTotal), - maternityDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-002").Sum(x => x.LeaveTotal), - wifeDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-003").Sum(x => x.LeaveTotal), - personalDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-004").Sum(x => x.LeaveTotal), + personalDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-002").Sum(x => x.LeaveTotal), + maternityDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-003").Sum(x => x.LeaveTotal), + wifeDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-004").Sum(x => x.LeaveTotal), restDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-005").Sum(x => x.LeaveTotal), ordainDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-006").Sum(x => x.LeaveTotal), absentDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-007").Sum(x => x.LeaveTotal), From 451757be65e371f6bb212aed7ee967f10661da03 Mon Sep 17 00:00:00 2001 From: Harid Promsri <52228846+Harid-999@users.noreply.github.com> Date: Fri, 24 Oct 2025 14:55:48 +0700 Subject: [PATCH 11/11] =?UTF-8?q?=E0=B8=A7=E0=B8=B8=E0=B8=92=E0=B8=B4?= =?UTF-8?q?=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=A8=E0=B8=B6=E0=B8=81=E0=B8=A9?= =?UTF-8?q?=E0=B8=B2=20default=20=E0=B8=9B=E0=B8=A3=E0=B8=B4=E0=B8=8D?= =?UTF-8?q?=E0=B8=8D=E0=B8=B2=E0=B8=95=E0=B8=A3=E0=B8=B5=20(#1898)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: harid --- .../Controllers/PlacementAppointmentController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs index a1dca0fc..d0cc4f7a 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs @@ -328,7 +328,7 @@ namespace BMA.EHR.Placement.Service.Controllers p.CreatedAt, p.Reason, - p.EducationOld, + EducationOld = !string.IsNullOrEmpty(p.EducationOld) ? p.EducationOld : "ปริญญาตรี", salary = p.AmountOld, p.PositionTypeOld, p.PositionLevelOld,