fix : Optimize Query

This commit is contained in:
Suphonchai Phoonsawat 2024-07-07 09:59:37 +07:00
parent 89ef146c19
commit a911648907
9 changed files with 168 additions and 232 deletions

View file

@ -199,7 +199,7 @@ namespace BMA.EHR.Application.Repositories.Reports
.Select(x => new
{
//Gendor = x.Profile.Gender == null ? null : x.Profile.Gender.Name,
Gendor = _userProfileRepository.GetOfficerProfileById(x.ProfileId, AccessToken).Gender ?? "",
Gendor = x.Gender ?? "",// _userProfileRepository.GetOfficerProfileById(x.ProfileId, AccessToken).Gender ?? "",
RequestInsigniaName = x.RequestInsignia.Name,
OcId = x.Request.OrganizationId
})
@ -244,7 +244,7 @@ namespace BMA.EHR.Application.Repositories.Reports
.Select(x => new
{
//Gendor = x.Profile.Gender == null ? null : x.Profile.Gender.Name,
Gendor = _userProfileRepository.GetOfficerProfileById(x.ProfileId, AccessToken).Gender ?? "",
Gendor = x.Gender ?? "", //_userProfileRepository.GetOfficerProfileById(x.ProfileId, AccessToken).Gender ?? "",
RequestInsigniaName = x.RequestInsignia.Name,
OcId = x.Request.OrganizationId
})
@ -303,7 +303,7 @@ namespace BMA.EHR.Application.Repositories.Reports
.Select(x => new
{
//Gendor = x.Profile.Gender == null ? null : x.Profile.Gender.Name,
Gendor = _userProfileRepository.GetOfficerProfileById(x.ProfileId, AccessToken).Gender ?? "",
Gendor = x.Gender ?? "", //_userProfileRepository.GetOfficerProfileById(x.ProfileId, AccessToken).Gender ?? "",
RequestInsigniaName = x.RequestInsignia.Name,
OcId = x.Request.OrganizationId
})
@ -355,7 +355,7 @@ namespace BMA.EHR.Application.Repositories.Reports
.Select(x => new
{
//Gendor = x.Profile.Gender == null ? null : x.Profile.Gender.Name,
Gendor = _userProfileRepository.GetOfficerProfileById(x.ProfileId, AccessToken).Gender ?? "",
Gendor = x.Gender ?? "", //_userProfileRepository.GetOfficerProfileById(x.ProfileId, AccessToken).Gender ?? "",
RequestInsigniaName = x.RequestInsignia.Name,
OcId = x.Request.OrganizationId
})
@ -442,10 +442,10 @@ namespace BMA.EHR.Application.Repositories.Reports
InsigniaInitial = r.RequestInsignia.ShortName,
InsigniaName = r.RequestInsignia.Name,
ProfileId = r.ProfileId,
FullName = $"{_userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).FirstName} {_userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).LastName}", // $"{r.Profile.Prefix?.Name}{r.Profile.FirstName} {r.Profile.LastName}",
Gender = _userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).Gender == null ? null : _userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).Gender,
Male = _userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).Gender == null ? 0 : (_userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).Gender == "ชาย" ? 1 : 0),
Female = _userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).Gender == null ? 0 : (_userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).Gender == "หญิง" ? 1 : 0),
FullName = $"{r.Prefix}{r.FirstName} {r.LastName}",
Gender = r.Gender ?? "",
Male = r.Gender == null ? 0 : (r.Gender == "ชาย" ? 1 : 0),
Female = r.Gender == null ? 0 : (r.Gender == "หญิง" ? 1 : 0),
InsigniaId = r.RequestInsignia.Id,
OCName = _userProfileRepository.GetOc(r.Request.OrganizationId, 0, AccessToken).Root,
// _organizationCommonRepository.GetOrganizationNameFullPath(r.Request.Organization.Id, false, false)
@ -668,24 +668,22 @@ namespace BMA.EHR.Application.Repositories.Reports
InsigniaInitial = r.RequestInsignia.ShortName,
InsigniaName = r.RequestInsignia.Name,
ProfileId = r.ProfileId,
CitizenId = _userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).CitizenId.ToThaiNumber(), // r.Profile.CitizenId == null ? null : r.Profile.CitizenId.ToThaiNumber(),
FullName = $"{_userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).Prefix}{_userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).FirstName} {_userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).LastName}",
CitizenId = r.CitizenId.ToThaiNumber(), // r.Profile.CitizenId == null ? null : r.Profile.CitizenId.ToThaiNumber(),
FullName = $"{r.Prefix}{r.FirstName} {r.LastName}",
// $"{r.Profile.Prefix?.Name}{r.Profile.FirstName} {r.Profile.LastName}",
ShowProfileId = r.ProfileId,
Type = _userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).PosType.PosTypeName,
Type = r.PosTypeName,
AcademicStanding = "",
Level = _userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).PosLevel.PosLevelName,
DateStart = _userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).DateStart.Value.ToThaiShortDate().ToThaiNumber(),
SalaryAmount = _userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).ProfileSalary.Count() == 0 ||
_userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).ProfileSalary == null ? "-" :
Convert.ToInt32(_userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount).ToNumericText().ToThaiNumber(),
Level = r.PosLevelName,
DateStart = r.DateAppoint.Value.ToThaiShortDate().ToThaiNumber(),
SalaryAmount = r.Amount.Value.ToNumericText().ToThaiNumber(),
InsigniaRecv = "",
InsigniaRecvDate = "",
InsigniaRequest = r.RequestInsignia.ShortName,
Remark = "",
Position = (_userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).Position ?? "") +
(" ประเภท" + _userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).PosType?.PosTypeName) +
(" ระดับ" + _userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).PosLevel?.PosLevelName) +
Position = (r.Position ?? "") +
(" ประเภท" + r.PosTypeName) +
(" ระดับ" + r.PosLevelName) +
(" สังกัด" + CRLF + _userProfileRepository.GetOc(r.Request.OrganizationId, 0, AccessToken).Root)
,
OCName = _userProfileRepository.GetOc(r.Request.OrganizationId, 0, AccessToken).Root,
@ -761,7 +759,7 @@ namespace BMA.EHR.Application.Repositories.Reports
.Select(x => new
{
//Gendor = x.Profile.Gender == null ? null : x.Profile.Gender.Name,
Gendor = _userProfileRepository.GetOfficerProfileById(x.ProfileId, AccessToken).Gender ?? "",
Gendor = x.Gender, //_userProfileRepository.GetOfficerProfileById(x.ProfileId, AccessToken).Gender ?? "",
RequestInsigniaName = x.RequestInsignia.Name,
InsigniaInitial = $"{x.RequestInsignia.Name}({x.RequestInsignia.ShortName})",
OcId = x.Request.OrganizationId
@ -801,7 +799,7 @@ namespace BMA.EHR.Application.Repositories.Reports
.Select(x => new
{
//Gendor = x.Profile.Gender == null ? null : x.Profile.Gender.Name,
Gendor = _userProfileRepository.GetOfficerProfileById(x.ProfileId, AccessToken).Gender ?? "",
Gendor = x.Gender, // _userProfileRepository.GetOfficerProfileById(x.ProfileId, AccessToken).Gender ?? "",
RequestInsigniaName = x.RequestInsignia.Name,
OcId = x.Request.OrganizationId
})
@ -859,8 +857,8 @@ namespace BMA.EHR.Application.Repositories.Reports
&& r.RequestInsignia.InsigniaType.Name != "เหรียญบำเหน็จในราชการ"
select new
{
Male = _userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).Gender == "ชาย" ? 1 : 0,
Female = _userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).Gender == "หญิง" ? 1 : 0,
Male = r.Gender == "ชาย" ? 1 : 0,
Female = r.Gender == "หญิง" ? 1 : 0,
})
.Distinct()
.ToList();
@ -886,9 +884,9 @@ namespace BMA.EHR.Application.Repositories.Reports
InsigniaInitial = r.RequestInsignia.ShortName,
InsigniaName = r.RequestInsignia.Name,
ProfileId = r.ProfileId,
FullName = $"{_userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).Prefix}{_userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).FirstName} {_userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).LastName}",
FullName = $"{r.Prefix}{r.FirstName} {r.LastName}",
// $"{r.Profile.Prefix?.Name}{r.Profile.FirstName} {r.Profile.LastName}",
Gender = _userProfileRepository.GetOfficerProfileById(r.ProfileId, AccessToken).Gender,
Gender = r.Gender,
Male = gender.Sum(x => x.Male),
Female = gender.Sum(x => x.Female),
InsigniaId = r.RequestInsignia.Id,