Update LeaveController to conditionally set check-out time based on existing value and duty schedule

This commit is contained in:
Suphonchai Phoonsawat 2026-01-23 20:55:21 +07:00
parent 9bd6017ded
commit 4a12c9d2e1

View file

@ -3655,7 +3655,12 @@ namespace BMA.EHR.Leave.Service.Controllers
if (req.CheckOutStatus == "NORMAL" )
{
var checkOutTime = data.CheckOut != null ? data.CheckOut.Value : data.CheckIn;
data.CheckOut = DateTime.Parse($"{checkOutTime.Date.ToString("yyyy-MM-dd")} {duty.EndTimeAfternoon}");
var oldCheckOutTime = data.CheckOut != null ? data.CheckOut.Value : DateTime.Now;
var roundCheckOutTime = DateTime.Parse($"{checkOutTime.Date.ToString("yyyy-MM-dd")} {duty.EndTimeAfternoon}");
if (oldCheckOutTime < roundCheckOutTime)
{
data.CheckOut = roundCheckOutTime;
}
}
}