fix: update end time parsing and improve attendance status logic
This commit is contained in:
parent
e023ed65f7
commit
09307aa688
1 changed files with 23 additions and 2 deletions
|
|
@ -2373,9 +2373,30 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
//var endTime = DateTimeOffset.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")}T{duty.EndTimeAfternoon}:00.0000000+07:00").ToLocalTime().DateTime;
|
//var endTime = DateTimeOffset.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")}T{duty.EndTimeAfternoon}:00.0000000+07:00").ToLocalTime().DateTime;
|
||||||
|
|
||||||
var endTime = DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")}T{duty.EndTimeAfternoon}:00.0000000+07:00");
|
//var endTime = DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")}T{duty.EndTimeAfternoon}:00.0000000+07:00");
|
||||||
|
var endTime = DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")} {duty.EndTimeAfternoon}");
|
||||||
|
var status = string.Empty;
|
||||||
|
if(lastCheckIn == null)
|
||||||
|
{
|
||||||
|
status = "ABSENT";
|
||||||
|
}
|
||||||
|
else if (lastCheckIn.CheckIn.Date < DateTime.Now.Date)
|
||||||
|
{
|
||||||
|
status = "NORMAL";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (time < endTime)
|
||||||
|
{
|
||||||
|
status = "ABSENT";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
status = "NORMAL";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var status = lastCheckIn == null ? "ABSENT" : lastCheckIn.CheckIn.Date < DateTime.Now.Date ? "NORMAL" : time < endTime ? "ABSENT" : "NORMAL";
|
//var status = lastCheckIn == null ? "ABSENT" : lastCheckIn.CheckIn.Date < DateTime.Now.Date ? "NORMAL" : time < endTime ? "ABSENT" : "NORMAL";
|
||||||
|
|
||||||
return Success(new
|
return Success(new
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue