diff --git a/BMA.EHR.Leave.Service/Controllers/LeaveController.cs b/BMA.EHR.Leave.Service/Controllers/LeaveController.cs
index 03f9798a..a2492cd6 100644
--- a/BMA.EHR.Leave.Service/Controllers/LeaveController.cs
+++ b/BMA.EHR.Leave.Service/Controllers/LeaveController.cs
@@ -1551,10 +1551,42 @@ namespace BMA.EHR.Leave.Service.Controllers
return Success();
}
-
- #endregion
-
- #endregion
}
+
+ #endregion
+
+ #region " แก้ไขสถานะการลงเวลา "
+
+ ///
+ /// LV1_025 - บันทึกแก้ไขสถานะการเข้า-ออกงาน (ADMIN)
+ ///
+ ///
+ ///
+ /// เมื่อทำรายการสำเร็จ
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPut("admin/edit/checkin/{id:guid}")]
+ [ProducesResponseType(StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status401Unauthorized)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task> EditCheckInStatusAsync(Guid id, [FromQuery] EditCheckInStatusDto req)
+ {
+ var data = await _processUserTimeStampRepository.GetByIdAsync(id);
+ if (data == null)
+ return Error(GlobalMessages.DataNotFound);
+
+ data.CheckInStatus = req.CheckInStatus;
+ data.CheckInStatus = req.CheckOutStatus;
+ data.EditReason = req.Reason;
+
+ await _processUserTimeStampRepository.UpdateAsync(data);
+
+ return Success();
+ }
+
+ #endregion
+
+ #endregion
+
}
}
diff --git a/BMA.EHR.Leave.Service/DTOs/CheckIn/EditCheckInStatusDto.cs b/BMA.EHR.Leave.Service/DTOs/CheckIn/EditCheckInStatusDto.cs
new file mode 100644
index 00000000..c431c3b7
--- /dev/null
+++ b/BMA.EHR.Leave.Service/DTOs/CheckIn/EditCheckInStatusDto.cs
@@ -0,0 +1,15 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace BMA.EHR.Leave.Service.DTOs.CheckIn
+{
+ public class EditCheckInStatusDto
+ {
+ [Required]
+ public string CheckInStatus { get; set; } = string.Empty;
+
+ [Required]
+ public string CheckOutStatus { get; set; } = string.Empty;
+
+ public string? Reason { get; set; } = string.Empty;
+ }
+}
\ No newline at end of file