fix : optimize query speed
This commit is contained in:
parent
b707c25f89
commit
940405e2e6
1 changed files with 77 additions and 25 deletions
|
|
@ -869,18 +869,24 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
//var count = await _processUserTimeStampRepository.GetTimeStampHistoryForAdminCountAsync(startDate, endDate);
|
//var count = await _processUserTimeStampRepository.GetTimeStampHistoryForAdminCountAsync(startDate, endDate);
|
||||||
|
|
||||||
var imgUrl = $"{_configuration["MinIO:Endpoint"]}{_configuration["MinIO:BucketName"]}";
|
var imgUrl = $"{_configuration["MinIO:Endpoint"]}{_configuration["MinIO:BucketName"]}";
|
||||||
var data = (await _processUserTimeStampRepository.GetTimeStampHistoryForAdminAsync(startDate, endDate))
|
|
||||||
.Select(d => new CheckInProcessHistoryForAdminDto
|
|
||||||
{
|
|
||||||
Id = d.Id,
|
|
||||||
FullName = _userProfileRepository.GetUserFullName(d.KeycloakUserId, AccessToken),
|
|
||||||
|
|
||||||
CheckInDate = d.CheckIn.Date,
|
var resultData = await _processUserTimeStampRepository.GetTimeStampHistoryForAdminAsync(startDate, endDate);
|
||||||
CheckInTime = d.CheckIn.ToString("HH:mm"),
|
var data = new List<CheckInProcessHistoryForAdminDto>();
|
||||||
CheckInLocation = d.CheckInPOI,
|
|
||||||
CheckInLat = d.CheckInLat,
|
foreach (var d in resultData)
|
||||||
CheckInLon = d.CheckInLon,
|
{
|
||||||
CheckInStatus = d.CheckInStatus != "" ? d.CheckInStatus :
|
var pf = await _userProfileRepository.GetProfileByKeycloakIdAsync(d.KeycloakUserId, AccessToken);
|
||||||
|
if (pf == null) continue;
|
||||||
|
data.Add(new CheckInProcessHistoryForAdminDto
|
||||||
|
{
|
||||||
|
Id = d.Id,
|
||||||
|
FullName = $"{pf.Prefix}{pf.FirstName} {pf.LastName}",
|
||||||
|
CheckInDate = d.CheckIn.Date,
|
||||||
|
CheckInTime = d.CheckIn.ToString("HH:mm"),
|
||||||
|
CheckInLocation = d.CheckInPOI,
|
||||||
|
CheckInLat = d.CheckInLat,
|
||||||
|
CheckInLon = d.CheckInLon,
|
||||||
|
CheckInStatus = d.CheckInStatus != "" ? d.CheckInStatus :
|
||||||
DateTime.Parse(d.CheckIn.ToString("yyyy-MM-dd HH:mm")) >
|
DateTime.Parse(d.CheckIn.ToString("yyyy-MM-dd HH:mm")) >
|
||||||
DateTime.Parse($"{d.CheckIn.Date.ToString("yyyy-MM-dd")} {duty.StartTimeMorning}") ?
|
DateTime.Parse($"{d.CheckIn.Date.ToString("yyyy-MM-dd")} {duty.StartTimeMorning}") ?
|
||||||
|
|
||||||
|
|
@ -891,16 +897,16 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
|
|
||||||
"NORMAL",
|
"NORMAL",
|
||||||
CheckInIsLocation = d.IsLocationCheckIn,
|
CheckInIsLocation = d.IsLocationCheckIn,
|
||||||
CheckInLocationName = d.CheckInLocationName,
|
CheckInLocationName = d.CheckInLocationName,
|
||||||
//CheckInImageUrl = $"{imgUrl}/{d.CheckInImageUrl}",
|
//CheckInImageUrl = $"{imgUrl}/{d.CheckInImageUrl}",
|
||||||
|
|
||||||
CheckOutDate = d.CheckOut == null ? null : d.CheckOut.Value.Date,
|
CheckOutDate = d.CheckOut == null ? null : d.CheckOut.Value.Date,
|
||||||
CheckOutTime = d.CheckOut == null ? "" : d.CheckOut.Value.ToString("HH:mm"),
|
CheckOutTime = d.CheckOut == null ? "" : d.CheckOut.Value.ToString("HH:mm"),
|
||||||
CheckOutLocation = d.CheckOut == null ? "" : d.CheckOutPOI,
|
CheckOutLocation = d.CheckOut == null ? "" : d.CheckOutPOI,
|
||||||
CheckOutLat = d.CheckOut == null ? null : d.CheckOutLat,
|
CheckOutLat = d.CheckOut == null ? null : d.CheckOutLat,
|
||||||
CheckOutLon = d.CheckOut == null ? null : d.CheckOutLon,
|
CheckOutLon = d.CheckOut == null ? null : d.CheckOutLon,
|
||||||
CheckOutStatus = d.CheckOutStatus != "" ? d.CheckOutStatus :
|
CheckOutStatus = d.CheckOutStatus != "" ? d.CheckOutStatus :
|
||||||
d.CheckOut == null ? null : DateTime.Parse(d.CheckOut.Value.ToString("yyyy-MM-dd HH:mm")) <
|
d.CheckOut == null ? null : DateTime.Parse(d.CheckOut.Value.ToString("yyyy-MM-dd HH:mm")) <
|
||||||
DateTime.Parse($"{d.CheckIn.Date.ToString("yyyy-MM-dd")} {duty.EndTimeAfternoon}") ?
|
DateTime.Parse($"{d.CheckIn.Date.ToString("yyyy-MM-dd")} {duty.EndTimeAfternoon}") ?
|
||||||
"ABSENT" :
|
"ABSENT" :
|
||||||
|
|
@ -908,12 +914,58 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
DateTime.Parse($"{d.CheckIn.Date.ToString("yyyy-MM-dd")} {duty.EndTimeMorning}") ?
|
DateTime.Parse($"{d.CheckIn.Date.ToString("yyyy-MM-dd")} {duty.EndTimeMorning}") ?
|
||||||
"ABSENT" :
|
"ABSENT" :
|
||||||
"NORMAL",
|
"NORMAL",
|
||||||
CheckOutIsLocation = d.IsLocationCheckOut,
|
CheckOutIsLocation = d.IsLocationCheckOut,
|
||||||
CheckOutLocationName = d.CheckOutLocationName
|
CheckOutLocationName = d.CheckOutLocationName
|
||||||
//CheckOutImageUrl = d.CheckOut == null ? "" : $"{imgUrl}/{d.CheckOutImageUrl}",
|
//CheckOutImageUrl = d.CheckOut == null ? "" : $"{imgUrl}/{d.CheckOutImageUrl}",
|
||||||
})
|
});
|
||||||
|
}
|
||||||
|
|
||||||
.ToList();
|
|
||||||
|
// var data = (await _processUserTimeStampRepository.GetTimeStampHistoryForAdminAsync(startDate, endDate))
|
||||||
|
// .Select(d => new CheckInProcessHistoryForAdminDto
|
||||||
|
// {
|
||||||
|
// Id = d.Id,
|
||||||
|
// FullName = _userProfileRepository.GetUserFullName(d.KeycloakUserId, AccessToken),
|
||||||
|
|
||||||
|
// CheckInDate = d.CheckIn.Date,
|
||||||
|
// CheckInTime = d.CheckIn.ToString("HH:mm"),
|
||||||
|
// CheckInLocation = d.CheckInPOI,
|
||||||
|
// CheckInLat = d.CheckInLat,
|
||||||
|
// CheckInLon = d.CheckInLon,
|
||||||
|
// CheckInStatus = d.CheckInStatus != "" ? d.CheckInStatus :
|
||||||
|
// DateTime.Parse(d.CheckIn.ToString("yyyy-MM-dd HH:mm")) >
|
||||||
|
// DateTime.Parse($"{d.CheckIn.Date.ToString("yyyy-MM-dd")} {duty.StartTimeMorning}") ?
|
||||||
|
|
||||||
|
// DateTime.Parse(d.CheckIn.ToString("yyyy-MM-dd HH:mm")) >
|
||||||
|
// DateTime.Parse($"{d.CheckIn.ToString("yyyy-MM-dd")} {duty.EndTimeMorning}") ?
|
||||||
|
// "ABSENT" :
|
||||||
|
// "LATE" :
|
||||||
|
|
||||||
|
|
||||||
|
// "NORMAL",
|
||||||
|
// CheckInIsLocation = d.IsLocationCheckIn,
|
||||||
|
// CheckInLocationName = d.CheckInLocationName,
|
||||||
|
// //CheckInImageUrl = $"{imgUrl}/{d.CheckInImageUrl}",
|
||||||
|
|
||||||
|
// CheckOutDate = d.CheckOut == null ? null : d.CheckOut.Value.Date,
|
||||||
|
// CheckOutTime = d.CheckOut == null ? "" : d.CheckOut.Value.ToString("HH:mm"),
|
||||||
|
// CheckOutLocation = d.CheckOut == null ? "" : d.CheckOutPOI,
|
||||||
|
// CheckOutLat = d.CheckOut == null ? null : d.CheckOutLat,
|
||||||
|
// CheckOutLon = d.CheckOut == null ? null : d.CheckOutLon,
|
||||||
|
// CheckOutStatus = d.CheckOutStatus != "" ? d.CheckOutStatus :
|
||||||
|
// d.CheckOut == null ? null : DateTime.Parse(d.CheckOut.Value.ToString("yyyy-MM-dd HH:mm")) <
|
||||||
|
// DateTime.Parse($"{d.CheckIn.Date.ToString("yyyy-MM-dd")} {duty.EndTimeAfternoon}") ?
|
||||||
|
// "ABSENT" :
|
||||||
|
// DateTime.Parse(d.CheckOut.Value.ToString("yyyy-MM-dd HH:mm")) <
|
||||||
|
// DateTime.Parse($"{d.CheckIn.Date.ToString("yyyy-MM-dd")} {duty.EndTimeMorning}") ?
|
||||||
|
// "ABSENT" :
|
||||||
|
// "NORMAL",
|
||||||
|
// CheckOutIsLocation = d.IsLocationCheckOut,
|
||||||
|
// CheckOutLocationName = d.CheckOutLocationName
|
||||||
|
// //CheckOutImageUrl = d.CheckOut == null ? "" : $"{imgUrl}/{d.CheckOutImageUrl}",
|
||||||
|
// })
|
||||||
|
|
||||||
|
// .ToList();
|
||||||
|
|
||||||
if (keyword != "")
|
if (keyword != "")
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue