From 41bcc2a1ef1cbf28a6e4ee08086c4b48a6b12e1d Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Thu, 8 May 2025 16:36:36 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A=E0=B8=81?= =?UTF-8?q?=E0=B8=B2=E0=B8=A3=E0=B8=82=E0=B8=AD=E0=B8=A2=E0=B8=81=E0=B9=80?= =?UTF-8?q?=E0=B8=A5=E0=B8=B4=E0=B8=81=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=A5?= =?UTF-8?q?=E0=B8=B2=20=E0=B9=83=E0=B8=AB=E0=B9=89=E0=B8=AA=E0=B8=96?= =?UTF-8?q?=E0=B8=B2=E0=B8=99=E0=B8=B0=E0=B9=80=E0=B8=9B=E0=B9=87=E0=B8=99?= =?UTF-8?q?=20DELETING=20=E0=B8=88=E0=B8=99=E0=B8=A1=E0=B8=B5=E0=B8=81?= =?UTF-8?q?=E0=B8=B2=E0=B8=A3=E0=B8=AD=E0=B8=99=E0=B8=B8=E0=B8=A1=E0=B8=B1?= =?UTF-8?q?=E0=B8=95=E0=B8=B4=20=E0=B9=81=E0=B8=A5=E0=B9=89=E0=B8=A7?= =?UTF-8?q?=E0=B9=80=E0=B8=9B=E0=B8=A5=E0=B8=B5=E0=B9=88=E0=B8=A2=E0=B8=99?= =?UTF-8?q?=E0=B9=80=E0=B8=9B=E0=B9=87=E0=B8=99=20DELETE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LeaveRequests/LeaveRequestRepository.cs | 40 +++++++++++-------- .../Controllers/LeaveRequestController.cs | 5 ++- 2 files changed, 28 insertions(+), 17 deletions(-) diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index 94cc9e4e..aff64913 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -524,6 +524,9 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests } + // ปรับสถานะ จาก DELETING มาเป็น DELETE + data.LeaveStatus = "DELETE"; + data.LeaveCancelStatus = "APPROVE"; data.LeaveDirectorComment = Reason; data.LeaveCancelComment = LeaveReason; @@ -586,6 +589,8 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests throw new Exception(GlobalMessages.DataNotFound); } + rawData.LeaveStatus = "DELETE"; + rawData.LeaveCancelStatus = "APPROVE"; rawData.LeaveDirectorComment = Reason; @@ -593,8 +598,26 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests // TODO : Update ไปตาราง beginning if (rawData.ApproveStep == "st4") // ถ้ามีการอนุมัติจากผู้มีอำนาจแล้ว + { await _leaveBeginningRepository.UpdateLeaveUsageAsync(rawData.LeaveStartDate.Year, rawData.Type.Id, rawData.KeycloakUserId, -1 * rawData.LeaveTotal); + var _baseAPI = _configuration["API"]; + var apiUrlSalary = $"{_baseAPI}/org/profile/leave/cancel/{rawData.Id}"; + using (var client = new HttpClient()) + { + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken.Replace("Bearer ", "")); + client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]); + + var request = new HttpRequestMessage(HttpMethod.Patch, apiUrlSalary); + + // ส่ง request + var _res = await client.SendAsync(request); + if (!_res.IsSuccessStatusCode) + throw new Exception("ไม่สามารถอัพเดตการยกเลิกรายการลาไปยังระบบทะเบียนประวัติ"); + //var _result = await _res.Content.ReadAsStringAsync(); + } + } + // TODO: remove วันลา // Send Noti @@ -608,22 +631,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests _appDbContext.Set().Add(noti); await _appDbContext.SaveChangesAsync(); - var _baseAPI = _configuration["API"]; - var apiUrlSalary = $"{_baseAPI}/org/profile/leave/cancel/{rawData.Id}"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]); - - var request = new HttpRequestMessage(HttpMethod.Patch, apiUrlSalary); - - // ส่ง request - var _res = await client.SendAsync(request); - if (!_res.IsSuccessStatusCode) - throw new Exception("ไม่สามารถอัพเดตการยกเลิกรายการลาไปยังระบบทะเบียนประวัติ"); - //var _result = await _res.Content.ReadAsStringAsync(); - } - + } public async Task RejectCancelLeaveRequestAsync(Guid id, string Reason) diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index d5382069..9fe8e9c1 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -1693,7 +1693,10 @@ namespace BMA.EHR.Leave.Service.Controllers } // change status to delete - data.LeaveStatus = "DELETE"; + // แก้จาก DELETE เป็น DELETING ไว้ก่อน รอ approve ค่อยเปลี่ยนเป็น DELETE + // data.LeaveStatus = "DELETE"; + + data.LeaveStatus = "DELETING"; data.CancelLeaveWrote = req.LeaveWrote ?? "";