refactor LeaveController to update check-out status logic based on morning end time #2187
All checks were successful
Build & Deploy Leave Service / build (push) Successful in 1m12s
All checks were successful
Build & Deploy Leave Service / build (push) Successful in 1m12s
This commit is contained in:
parent
510f1cd78a
commit
b0715e3da6
1 changed files with 22 additions and 2 deletions
|
|
@ -989,13 +989,21 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
else
|
else
|
||||||
endTime = duty.EndTimeAfternoon;
|
endTime = duty.EndTimeAfternoon;
|
||||||
|
|
||||||
|
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);
|
||||||
if (leaveReq != null)
|
if (leaveReq != null)
|
||||||
{
|
{
|
||||||
var leaveRange = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
|
var leaveRange = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
|
||||||
if (leaveRange == "AFTERNOON" || leaveRange == "ALL")
|
if (leaveRange == "AFTERNOON" || leaveRange == "ALL")
|
||||||
checkOutStatus = "NORMAL";
|
{
|
||||||
|
if(DateTime.Parse(currentDate.ToString("yyyy-MM-dd HH:mm")) <
|
||||||
|
DateTime.Parse($"{currentDate.ToString("yyyy-MM-dd")} {endTimeMorning}"))
|
||||||
|
checkOutStatus = "ABSENT";
|
||||||
|
else
|
||||||
|
checkOutStatus = "NORMAL";
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// fix issue : SIT ระบบบันทึกเวลาปฏิบัติงาน>>ลงเวลาเข้า-ออกงาน (กรณีลงเวลาออกอีกวัน) #921
|
// fix issue : SIT ระบบบันทึกเวลาปฏิบัติงาน>>ลงเวลาเข้า-ออกงาน (กรณีลงเวลาออกอีกวัน) #921
|
||||||
|
|
@ -2438,6 +2446,9 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var endTime = isSeminar.Trim().ToUpper() == "Y"
|
var endTime = isSeminar.Trim().ToUpper() == "Y"
|
||||||
? DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")} 14:30")
|
? DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")} 14:30")
|
||||||
: DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")} {duty.EndTimeAfternoon}");
|
: DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")} {duty.EndTimeAfternoon}");
|
||||||
|
|
||||||
|
var endTimeMorning = DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")} {duty.EndTimeMorning}");
|
||||||
|
|
||||||
var status = string.Empty;
|
var status = string.Empty;
|
||||||
if(lastCheckIn == null)
|
if(lastCheckIn == null)
|
||||||
{
|
{
|
||||||
|
|
@ -2458,7 +2469,16 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
{
|
{
|
||||||
var leaveRange = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
|
var leaveRange = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
|
||||||
if (leaveRange == "AFTERNOON" || leaveRange == "ALL")
|
if (leaveRange == "AFTERNOON" || leaveRange == "ALL")
|
||||||
status = "NORMAL";
|
{
|
||||||
|
if(time < endTimeMorning)
|
||||||
|
{
|
||||||
|
status = "ABSENT";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
status = "NORMAL";
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
status = "ABSENT";
|
status = "ABSENT";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue