From c1acdec5209e12fce076f4cc71dd846dd73e9c07 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Mon, 4 Dec 2023 12:21:46 +0700 Subject: [PATCH] =?UTF-8?q?add=20LV2=5F006=20-=20=E0=B8=A3=E0=B8=B2?= =?UTF-8?q?=E0=B8=A2=E0=B8=A5=E0=B8=B0=E0=B9=80=E0=B8=AD=E0=B8=B5=E0=B8=A2?= =?UTF-8?q?=E0=B8=94=E0=B8=81=E0=B8=B2=E0=B8=A3=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(USER/ADMIN)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/LeaveRequestController.cs | 53 +++++++++++++++++++ .../GetCancelLeaveRequestByIdDto.cs | 31 +++++++++++ 2 files changed, 84 insertions(+) create mode 100644 BMA.EHR.Leave.Service/DTOs/LeaveRequest/GetCancelLeaveRequestByIdDto.cs diff --git a/BMA.EHR.Leave.Service/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave.Service/Controllers/LeaveRequestController.cs index 7cd12fe4..c4b44943 100644 --- a/BMA.EHR.Leave.Service/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave.Service/Controllers/LeaveRequestController.cs @@ -668,6 +668,59 @@ namespace BMA.EHR.Leave.Service.Controllers return Success(new { data = pageResult, total = result.Count }); } + + /// + /// LV2_006 - รายละเอียดการยกเลิกการลา (USER/ADMIN) + /// + /// + /// + /// เมื่อทำรายการสำเร็จ + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpGet("user/delete/{id:guid}")] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task> GetCancelLeaveRequestByIdAsync(Guid id) + { + var rawData = await _leaveRequestRepository.GetByIdAsync(id); + + var thisYear = DateTime.Now.Year; + + if (rawData == null) + { + return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound); + } + + var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId); + + if (profile == null) + { + return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound); + } + + + + var result = new GetCancelLeaveRequestByIdDto + { + Id = rawData.Id, + LeaveTypeName = rawData.Type.Name, + FullName = $"{profile.Prefix.Name}{profile.FirstName} {profile.LastName}", + Status = rawData.LeaveCancelStatus, + LeaveStartDate = rawData.LeaveStartDate, + LeaveEndDate = rawData.LeaveEndDate, + LeaveWrote = rawData.LeaveWrote, + LeaveAddress = rawData.LeaveAddress, + LeaveNumber = rawData.LeaveNumber, + LeaveDetail = rawData.LeaveDetail, + LeaveDocDelete = await _minIOService.ImagesPath(rawData.LeaveCancelDocument.Id), + LeaveReasonDelete = rawData.LeaveCancelComment ?? "", + LeaveTotal = rawData.LeaveTotal, + }; + + return Success(result); + } + #endregion } } diff --git a/BMA.EHR.Leave.Service/DTOs/LeaveRequest/GetCancelLeaveRequestByIdDto.cs b/BMA.EHR.Leave.Service/DTOs/LeaveRequest/GetCancelLeaveRequestByIdDto.cs new file mode 100644 index 00000000..2859ba6f --- /dev/null +++ b/BMA.EHR.Leave.Service/DTOs/LeaveRequest/GetCancelLeaveRequestByIdDto.cs @@ -0,0 +1,31 @@ +namespace BMA.EHR.Leave.Service.DTOs.LeaveRequest +{ + public class GetCancelLeaveRequestByIdDto + { + public Guid Id { get; set; } = Guid.Empty; + + public string LeaveTypeName { get; set; } = string.Empty; + + public string FullName { get; set; } = string.Empty; + + public string Status { get; set; } = string.Empty; + + public string LeaveDocDelete { get; set; } = string.Empty; + + public string LeaveReasonDelete { get; set; } = string.Empty; + + public string LeaveWrote { get; set; } = string.Empty; + + public string LeaveAddress { get; set; } = string.Empty; + + public string LeaveNumber { get; set; } = string.Empty; + + public string LeaveDetail { get; set; } = string.Empty; + + public double LeaveTotal { get; set; } = 0; + + public DateTime LeaveStartDate { get; set; } = DateTime.MinValue; + + public DateTime LeaveEndDate { get; set;} = DateTime.MinValue; + } +}