เกษียณเพิ่มส่วนราชการต้นสังกัด

This commit is contained in:
Kittapath 2023-09-26 00:25:23 +07:00
parent 1f5edf20ed
commit a2bc99f739
9 changed files with 250 additions and 85 deletions

View file

@ -141,6 +141,96 @@ namespace BMA.EHR.Retirement.Service.Controllers
return 999999999;
return index;
}
private async Task<string> GetAgency(Guid profileId)
{
var organizationAgency = "-";
var _profile = await _context.Profiles
.Where(x => x.Id == profileId)
.FirstOrDefaultAsync();
if (_profile != null)
{
if (_profile.ProfileType == "officer")
{
var organization = await _context.Organizations
.Where(x => x.Id == _profile.OcId)
.FirstOrDefaultAsync();
if (organization != null)
{
var _organizationAgency = await _context.Organizations
.Include(x => x.OrganizationOrganization)
.Where(x => x.Id == organization.OrganizationAgencyId)
.FirstOrDefaultAsync();
if (_organizationAgency != null && _organizationAgency.OrganizationOrganization != null)
{
organizationAgency = _organizationAgency.OrganizationOrganization.Name;
}
}
}
else
{
var profilePosition = await _context.OrganizationEmployees
.Include(x => x.OrganizationAgency)
.ThenInclude(x => x.OrganizationOrganization)
.Where(x => x.Organization != null)
.Where(x => x.OrganizationAgency != null)
.Where(x => x.OrganizationAgency.OrganizationOrganization != null)
.Where(x => x.OrganizationAgency.OrganizationOrganization.Name != null)
.Where(x => x.Organization.Id == _profile.OcId)
.FirstOrDefaultAsync();
if (profilePosition != null)
{
organizationAgency = profilePosition.OrganizationAgency.OrganizationOrganization.Name;
}
}
}
return organizationAgency;
}
private async Task<string> GetGovermentAgency(Guid profileId)
{
var organizationGovernmentAgency = "-";
var _profile = await _context.Profiles
.Where(x => x.Id == profileId)
.FirstOrDefaultAsync();
if (_profile != null)
{
if (_profile.ProfileType == "officer")
{
var organization = await _context.Organizations
.Where(x => x.Id == _profile.OcId)
.FirstOrDefaultAsync();
if (organization != null)
{
var _organizationGovernmentAgency = await _context.Organizations
.Include(x => x.OrganizationOrganization)
.Where(x => x.Id == organization.OrganizationGovernmentAgencyId)
.FirstOrDefaultAsync();
if (_organizationGovernmentAgency != null && _organizationGovernmentAgency.OrganizationOrganization != null)
{
organizationGovernmentAgency = _organizationGovernmentAgency.OrganizationOrganization.Name;
}
}
}
else
{
var profilePosition = await _context.OrganizationEmployees
.Include(x => x.OrganizationGovernmentAgency)
.ThenInclude(x => x.OrganizationOrganization)
.Where(x => x.Organization != null)
.Where(x => x.OrganizationGovernmentAgency != null)
.Where(x => x.OrganizationGovernmentAgency.OrganizationOrganization != null)
.Where(x => x.OrganizationGovernmentAgency.OrganizationOrganization.Name != null)
.Where(x => x.Organization.Id == _profile.OcId)
.FirstOrDefaultAsync();
if (profilePosition != null)
{
organizationGovernmentAgency = profilePosition.OrganizationGovernmentAgency.OrganizationOrganization.Name;
}
}
}
return organizationGovernmentAgency;
}
#endregion
/// <summary>
@ -308,6 +398,9 @@ namespace BMA.EHR.Retirement.Service.Controllers
var profile_olds = new List<ProfileJsonRequest>();
foreach (var r in profile_old)
{
var organizationAgency = await GetAgency(r.profileId);
var organizationGovernmentAgency = await GetGovermentAgency(r.profileId);
var data = new ProfileJsonRequest
{
order = r.order,
@ -328,6 +421,8 @@ namespace BMA.EHR.Retirement.Service.Controllers
positionEmployeeLevel = r.positionEmployeeLevel,
positionEmployeeGroup = r.positionEmployeeGroup,
posNoEmployee = r.posNoEmployee,
organizationAgency = organizationAgency,//หน่วยงานต้นสังกัด
organizationGovernmentAgency = organizationGovernmentAgency,//ส่วนราชการต้นสังกัด
};
profile_olds.Add(data);
}
@ -465,6 +560,9 @@ namespace BMA.EHR.Retirement.Service.Controllers
var profile_news = new List<ProfileJsonRequest>();
foreach (var r in profile_new)
{
var organizationAgency = await GetAgency(r.profileId);
var organizationGovernmentAgency = await GetGovermentAgency(r.profileId);
var data = new ProfileJsonRequest
{
order = r.order,
@ -485,6 +583,8 @@ namespace BMA.EHR.Retirement.Service.Controllers
positionEmployeeLevel = r.positionEmployeeLevel,
positionEmployeeGroup = r.positionEmployeeGroup,
posNoEmployee = r.posNoEmployee,
organizationAgency = organizationAgency,//หน่วยงานต้นสังกัด
organizationGovernmentAgency = organizationGovernmentAgency,//ส่วนราชการต้นสังกัด
};
profile_news.Add(data);
}
@ -553,6 +653,9 @@ namespace BMA.EHR.Retirement.Service.Controllers
var profile_news = new List<ProfileJsonRequest>();
foreach (var r in profile_new)
{
var organizationAgency = await GetAgency(r.profileId);
var organizationGovernmentAgency = await GetGovermentAgency(r.profileId);
var data = new ProfileJsonRequest
{
order = r.order,
@ -573,6 +676,8 @@ namespace BMA.EHR.Retirement.Service.Controllers
positionEmployeeLevel = r.positionEmployeeLevel,
positionEmployeeGroup = r.positionEmployeeGroup,
posNoEmployee = r.posNoEmployee,
organizationAgency = organizationAgency,//หน่วยงานต้นสังกัด
organizationGovernmentAgency = organizationGovernmentAgency,//ส่วนราชการต้นสังกัด
};
profile_news.Add(data);
}

View file

@ -144,12 +144,12 @@ namespace BMA.EHR.Retirement.Service.Controllers
p.Status,
p.Amount,
p.RecruitDate,
PosNoId = p.PositionNumber == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionNumber.Id,
PositionId = p.PositionPath == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionPath.Id,
PositionPathSideId = p.PositionPathSide == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionPathSide.Id,
PositionTypeId = p.PositionType == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionType.Id,
PositionLineId = p.PositionLine == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionLine.Id,
PositionLevelId = p.PositionLevel == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.PositionLevel.Id,
PosNo = p.PositionNumber == null ? "-" : p.PositionNumber.Name,
Position = p.PositionPath == null ? "-" : p.PositionPath.Name,
PositionPathSide = p.PositionPathSide == null ? "-" : p.PositionPathSide.Name,
PositionType = p.PositionType == null ? "-" : p.PositionType.Name,
PositionLine = p.PositionLine == null ? "-" : p.PositionLine.Name,
PositionLevel = p.PositionLevel == null ? "-" : p.PositionLevel.Name,
OrganizationPositionId = p.OrganizationPosition == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.OrganizationPosition.Id,
p.CreatedAt,
p.Reason,
@ -198,12 +198,12 @@ namespace BMA.EHR.Retirement.Service.Controllers
data.Status,
data.Amount,
data.RecruitDate,
data.PosNoId,
data.PositionId,
data.PositionPathSideId,
data.PositionTypeId,
data.PositionLineId,
data.PositionLevelId,
data.PosNo,
data.Position,
data.PositionPathSide,
data.PositionType,
data.PositionLine,
data.PositionLevel,
data.OrganizationPositionId,
data.CreatedAt,
data.Reason,
@ -267,6 +267,13 @@ namespace BMA.EHR.Retirement.Service.Controllers
PositionTypeOld = profile.PositionType == null ? null : profile.PositionType.Name,
PositionNumberOld = profile.PosNo == null ? null : profile.PosNo.Name,
OrganizationPositionOld = profile.Position == null ? profile.Oc : $"{profile.Position.Name}-{profile.Oc}",
PositionNumber = profile.PosNo,
PositionPath = profile.Position,
PositionPathSide = await _context.PositionPathSides.FindAsync(profile.PositionPathSideId),
PositionType = profile.PositionType,
PositionLine = await _context.PositionLines.FindAsync(profile.PositionLineId),
PositionLevel = profile.PositionLevel,
// OrganizationPositionId = p.OrganizationPosition == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.OrganizationPosition.Id,
Status = "WAITTING",
CreatedUserId = UserId ?? "System Administrator",
CreatedFullName = FullName ?? "",

View file

@ -354,8 +354,8 @@ namespace BMA.EHR.Retirement.Service.Controllers
}
await _repositoryNoti.PushNotificationAsync(
Guid.Parse("08db721d-ae2f-4f5d-836a-02d2413df33d"),
$"{profile.Prefix?.Name}{profile.FirstName} {profile.LastName} ได้ทำการยื่นคำลาออก",
$"{profile.Prefix?.Name}{profile.FirstName} {profile.LastName} ได้ทำการยื่นคำลาออก",
$"{profile.Prefix?.Name}{profile.FirstName} {profile.LastName} ได้ทำการยื่นขอลาออก",
$"{profile.Prefix?.Name}{profile.FirstName} {profile.LastName} ได้ทำการยื่นขอลาออก",
"",
true
);