Compare commits

..

No commits in common. "9bd6017ded190cf9e87a4c31d21bc95304c41fc0" and "4e4eec3d844cea341c3fbb56ff9ee824777e5ccb" have entirely different histories.

View file

@ -1015,18 +1015,13 @@ namespace BMA.EHR.Leave.Service.Controllers
}; };
var startTime = ""; var startTime = "";
var endTime = "";
if (!data.IsLocation && data.LocationName == "ไปประชุม / อบรม / สัมมนา") if (!data.IsLocation && data.LocationName == "ไปประชุม / อบรม / สัมมนา")
{ {
//startTime = "09:30"; //startTime = "09:30";
startTime = "10:30"; startTime = "10:30";
endTime = "12:00";
} }
else else
{
startTime = duty.StartTimeMorning; startTime = duty.StartTimeMorning;
endTime = duty.EndTimeMorning;
}
string checkInStatus = "NORMAL"; string checkInStatus = "NORMAL";
var leaveReq = await _leaveRequestRepository.GetLeavePeriodAsync(userId, currentDate.Date); var leaveReq = await _leaveRequestRepository.GetLeavePeriodAsync(userId, currentDate.Date);
@ -1131,22 +1126,15 @@ namespace BMA.EHR.Leave.Service.Controllers
} }
var endTime = ""; var endTime = "";
var startTime = "";
var endTimeMorning = "";
if (!data.IsLocation && data.LocationName == "ไปประชุม / อบรม / สัมมนา") if (!data.IsLocation && data.LocationName == "ไปประชุม / อบรม / สัมมนา")
{ {
startTime = "13:00"; //startTime = "09:30";
endTime = "14:30"; endTime = "14:30";
endTimeMorning = "12:00";
} }
else else
{
endTime = duty.EndTimeAfternoon; endTime = duty.EndTimeAfternoon;
startTime = duty.StartTimeAfternoon;
endTimeMorning = duty.EndTimeMorning;
}
var endTimeMorning = duty.EndTimeMorning;
string checkOutStatus = "NORMAL"; string checkOutStatus = "NORMAL";
var leaveReq = await _leaveRequestRepository.GetLeavePeriodAsync(userId, currentDate.Date); var leaveReq = await _leaveRequestRepository.GetLeavePeriodAsync(userId, currentDate.Date);
@ -1173,7 +1161,7 @@ namespace BMA.EHR.Leave.Service.Controllers
"NORMAL" : "NORMAL" :
"ABSENT" : "ABSENT" :
DateTime.Parse(currentDate.ToString("yyyy-MM-dd HH:mm")) < DateTime.Parse(currentDate.ToString("yyyy-MM-dd HH:mm")) <
DateTime.Parse($"{currentDate.ToString("yyyy-MM-dd")} {endTimeMorning}") ? DateTime.Parse($"{currentDate.ToString("yyyy-MM-dd")} {duty.EndTimeMorning}") ?
"ABSENT" : "ABSENT" :
"NORMAL"; "NORMAL";
} }
@ -1190,7 +1178,7 @@ namespace BMA.EHR.Leave.Service.Controllers
"NORMAL" : "NORMAL" :
"ABSENT" : "ABSENT" :
DateTime.Parse(currentDate.ToString("yyyy-MM-dd HH:mm")) < DateTime.Parse(currentDate.ToString("yyyy-MM-dd HH:mm")) <
DateTime.Parse($"{currentDate.ToString("yyyy-MM-dd")} {endTimeMorning}") ? DateTime.Parse($"{currentDate.ToString("yyyy-MM-dd")} {duty.EndTimeMorning}") ?
"ABSENT" : "ABSENT" :
"NORMAL"; "NORMAL";
} }
@ -3634,30 +3622,6 @@ namespace BMA.EHR.Leave.Service.Controllers
var data = await _processUserTimeStampRepository.GetByIdAsync(id); var data = await _processUserTimeStampRepository.GetByIdAsync(id);
if (data == null) if (data == null)
return Error(GlobalMessages.DataNotFound); return Error(GlobalMessages.DataNotFound);
if (data.CheckInStatus == "NORMAL" || data.CheckOutStatus == "NORMAL")
{
var profile = await _userProfileRepository.GetProfileByKeycloakIdNewAsync(id, AccessToken);
var defaultRound = await _dutyTimeRepository.GetDefaultAsync();
if (defaultRound == null)
{
return Error("ไม่พบรอบการลงเวลา Default", StatusCodes.Status404NotFound);
}
var effectiveDate = await _userDutyTimeRepository.GetLastEffectRound(profile!.Id);
var roundId = effectiveDate != null ? effectiveDate.DutyTimeId : Guid.Empty;
var userRound = await _dutyTimeRepository.GetByIdAsync(roundId);
var duty = userRound ?? defaultRound;
if (req.CheckInStatus == "NORMAL")
{
data.CheckIn = DateTime.Parse($"{data.CheckIn.Date.ToString("yyyy-MM-dd")} {duty.StartTimeMorning}");
}
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}");
}
}
data.CheckInStatus = req.CheckInStatus; data.CheckInStatus = req.CheckInStatus;
data.CheckOutStatus = req.CheckOutStatus; data.CheckOutStatus = req.CheckOutStatus;