fix defect
This commit is contained in:
parent
c798439c19
commit
0a080b09e4
4 changed files with 57 additions and 12 deletions
|
|
@ -70,8 +70,8 @@ namespace BMA.EHR.Application.Repositories.Leaves
|
||||||
{
|
{
|
||||||
if (entity is EntityBase)
|
if (entity is EntityBase)
|
||||||
{
|
{
|
||||||
(entity as EntityBase).LastUpdateUserId = UserId!;
|
(entity as EntityBase).LastUpdateUserId = UserId ?? "";
|
||||||
(entity as EntityBase).LastUpdateFullName = FullName!;
|
(entity as EntityBase).LastUpdateFullName = FullName ?? "System Administrator";
|
||||||
(entity as EntityBase).LastUpdatedAt = DateTime.Now;
|
(entity as EntityBase).LastUpdatedAt = DateTime.Now;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,12 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
|
||||||
|
|
||||||
foreach (var d in data)
|
foreach (var d in data)
|
||||||
{
|
{
|
||||||
var result = _userProfileRepository.UpdateDutyTimeAsync(d.ProfileId, d.DutyTimeId, d.EffectiveDate.Value.Date).Result;
|
d.IsProcess = true;
|
||||||
|
d.LastUpdateFullName = "Automation System";
|
||||||
|
d.LastUpdateUserId = UserId ?? "";
|
||||||
|
d.LastUpdatedAt = DateTime.Now;
|
||||||
|
var result = UpdateAsync(d).Result;
|
||||||
|
//var result = _userProfileRepository.UpdateDutyTimeAsync(d.ProfileId, d.DutyTimeId, d.EffectiveDate.Value.Date).Result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
|
|
@ -86,7 +91,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<UserDutyTime?> GetExist(Guid profileId,DateTime effectiveDate)
|
public async Task<UserDutyTime?> GetExist(Guid profileId, DateTime effectiveDate)
|
||||||
{
|
{
|
||||||
var data = await _dbContext.Set<UserDutyTime>()
|
var data = await _dbContext.Set<UserDutyTime>()
|
||||||
.Where(x => x.ProfileId == profileId)
|
.Where(x => x.ProfileId == profileId)
|
||||||
|
|
@ -96,6 +101,17 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<UserDutyTime?> GetLastEffectRound(Guid profileId)
|
||||||
|
{
|
||||||
|
var data = await _dbContext.Set<UserDutyTime>()
|
||||||
|
.Where(x => x.ProfileId == profileId)
|
||||||
|
.Where(x => x.IsProcess)
|
||||||
|
.OrderByDescending(x => x.EffectiveDate)
|
||||||
|
.FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -51,13 +51,20 @@ namespace BMA.EHR.Application.Repositories
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var profile = await _dbContext.Set<Profile>().FirstOrDefaultAsync(x => x.Id == profileId);
|
var profile = await _dbContext.Set<Profile>()
|
||||||
|
.AsQueryable()
|
||||||
|
.Include(x => x.Prefix)
|
||||||
|
.FirstOrDefaultAsync(x => x.Id == profileId);
|
||||||
|
|
||||||
if (profile == null)
|
if (profile == null)
|
||||||
{
|
{
|
||||||
throw new Exception(GlobalMessages.DataNotFound);
|
throw new Exception(GlobalMessages.DataNotFound);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
var fullName = $"{profile.Prefix.Name}{profile.FirstName} {profile.LastName}";
|
||||||
|
Console.WriteLine(fullName);
|
||||||
|
|
||||||
profile.DutyTimeId = roundId;
|
profile.DutyTimeId = roundId;
|
||||||
profile.DutyTimeEffectiveDate = effectiveDate;
|
profile.DutyTimeEffectiveDate = effectiveDate;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -525,7 +525,9 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
return Error("ไม่พบรอบการลงเวลาทำงาน Default", StatusCodes.Status404NotFound);
|
return Error("ไม่พบรอบการลงเวลาทำงาน Default", StatusCodes.Status404NotFound);
|
||||||
}
|
}
|
||||||
|
|
||||||
var userRound = await _dutyTimeRepository.GetByIdAsync(profile.DutyTimeId ?? Guid.Empty);
|
var effectiveDate = await _userDutyTimeRepository.GetLastEffectRound(profile.Id);
|
||||||
|
var roundId = effectiveDate != null ? effectiveDate.DutyTimeId : Guid.Empty;
|
||||||
|
var userRound = await _dutyTimeRepository.GetByIdAsync(roundId);
|
||||||
|
|
||||||
// TODO : รอดุึงรอบที่ผูกกับ user
|
// TODO : รอดุึงรอบที่ผูกกับ user
|
||||||
var duty = userRound ?? defaultRound;
|
var duty = userRound ?? defaultRound;
|
||||||
|
|
@ -684,7 +686,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
return Error("ไม่พบรอบการลงเวลา Default", StatusCodes.Status404NotFound);
|
return Error("ไม่พบรอบการลงเวลา Default", StatusCodes.Status404NotFound);
|
||||||
}
|
}
|
||||||
|
|
||||||
var userRound = await _dutyTimeRepository.GetByIdAsync(profile.DutyTimeId ?? Guid.Empty);
|
//var userRound = await _dutyTimeRepository.GetByIdAsync(profile.DutyTimeId ?? Guid.Empty);
|
||||||
|
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;
|
var duty = userRound ?? defaultRound;
|
||||||
|
|
||||||
|
|
@ -759,7 +764,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
return Error("ไม่พบรอบการลงเวลา Default", StatusCodes.Status404NotFound);
|
return Error("ไม่พบรอบการลงเวลา Default", StatusCodes.Status404NotFound);
|
||||||
}
|
}
|
||||||
|
|
||||||
var userRound = await _dutyTimeRepository.GetByIdAsync(profile.DutyTimeId ?? Guid.Empty);
|
//var userRound = await _dutyTimeRepository.GetByIdAsync(profile.DutyTimeId ?? Guid.Empty);
|
||||||
|
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;
|
var duty = userRound ?? defaultRound;
|
||||||
|
|
||||||
|
|
@ -850,6 +858,8 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var roundId = p.DutyTimeId ?? Guid.Empty;
|
var roundId = p.DutyTimeId ?? Guid.Empty;
|
||||||
var round = await _dutyTimeRepository.GetByIdAsync(roundId);
|
var round = await _dutyTimeRepository.GetByIdAsync(roundId);
|
||||||
|
|
||||||
|
var effectiveDate = await _userDutyTimeRepository.GetLastEffectRound(p.Id);
|
||||||
|
|
||||||
var res = new SearchProfileResultDto
|
var res = new SearchProfileResultDto
|
||||||
{
|
{
|
||||||
ProfileId = p.Id,
|
ProfileId = p.Id,
|
||||||
|
|
@ -857,7 +867,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
FullName = $"{p.Prefix.Name}{p.FirstName} {p.LastName}",
|
FullName = $"{p.Prefix.Name}{p.FirstName} {p.LastName}",
|
||||||
StartTimeMorning = round != null ? round.StartTimeMorning : defaultRound.StartTimeMorning,
|
StartTimeMorning = round != null ? round.StartTimeMorning : defaultRound.StartTimeMorning,
|
||||||
LeaveTimeAfterNoon = round != null ? round.EndTimeAfternoon : defaultRound.EndTimeAfternoon,
|
LeaveTimeAfterNoon = round != null ? round.EndTimeAfternoon : defaultRound.EndTimeAfternoon,
|
||||||
EffectiveDate = p.DutyTimeEffectiveDate
|
EffectiveDate = effectiveDate == null ? null : effectiveDate.EffectiveDate.Value.Date
|
||||||
};
|
};
|
||||||
resultSet.Add(res);
|
resultSet.Add(res);
|
||||||
}
|
}
|
||||||
|
|
@ -1014,7 +1024,12 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
{
|
{
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
}
|
}
|
||||||
var userRound = await _dutyTimeRepository.GetByIdAsync(profile.DutyTimeId ?? Guid.Empty);
|
//var userRound = await _dutyTimeRepository.GetByIdAsync(profile.DutyTimeId ?? Guid.Empty);
|
||||||
|
|
||||||
|
var effectiveDate = await _userDutyTimeRepository.GetLastEffectRound(profile.Id);
|
||||||
|
var roundId = effectiveDate != null ? effectiveDate.DutyTimeId : Guid.Empty;
|
||||||
|
var userRound = await _dutyTimeRepository.GetByIdAsync(roundId);
|
||||||
|
|
||||||
var checkInData = await _userTimeStampRepository.GetTimestampByDateAsync(data.KeycloakUserId, data.CheckDate);
|
var checkInData = await _userTimeStampRepository.GetTimestampByDateAsync(data.KeycloakUserId, data.CheckDate);
|
||||||
|
|
||||||
var duty = userRound ?? getDefaultRound;
|
var duty = userRound ?? getDefaultRound;
|
||||||
|
|
@ -1240,7 +1255,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
return Error("ไม่พบรอบการลงเวลา Default", StatusCodes.Status404NotFound);
|
return Error("ไม่พบรอบการลงเวลา Default", StatusCodes.Status404NotFound);
|
||||||
}
|
}
|
||||||
|
|
||||||
var userRound = await _dutyTimeRepository.GetByIdAsync(profile.DutyTimeId ?? Guid.Empty);
|
//var userRound = await _dutyTimeRepository.GetByIdAsync(profile.DutyTimeId ?? Guid.Empty);
|
||||||
|
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;
|
var duty = userRound ?? defaultRound;
|
||||||
|
|
||||||
|
|
@ -1314,7 +1332,11 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
{
|
{
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
}
|
}
|
||||||
var userRound = await _dutyTimeRepository.GetByIdAsync(profile.DutyTimeId ?? Guid.Empty);
|
//var userRound = await _dutyTimeRepository.GetByIdAsync(profile.DutyTimeId ?? Guid.Empty);
|
||||||
|
var effectiveDate = await _userDutyTimeRepository.GetLastEffectRound(profile.Id);
|
||||||
|
var roundId = effectiveDate != null ? effectiveDate.DutyTimeId : Guid.Empty;
|
||||||
|
var userRound = await _dutyTimeRepository.GetByIdAsync(roundId);
|
||||||
|
|
||||||
var checkInData = await _userTimeStampRepository.GetTimestampByDateAsync(data.KeycloakUserId, data.CheckDate);
|
var checkInData = await _userTimeStampRepository.GetTimestampByDateAsync(data.KeycloakUserId, data.CheckDate);
|
||||||
|
|
||||||
var duty = userRound ?? getDefaultRound;
|
var duty = userRound ?? getDefaultRound;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue