Task #2233 รายงานใบลา แสดงสำนักงาน ก.ก.
All checks were successful
Build & Deploy Leave Service / build (push) Successful in 1m23s
All checks were successful
Build & Deploy Leave Service / build (push) Successful in 1m23s
This commit is contained in:
parent
22a7a8c17c
commit
2e6a81ff31
3 changed files with 227 additions and 115 deletions
|
|
@ -233,6 +233,36 @@ namespace BMA.EHR.Application.Repositories
|
|||
}
|
||||
}
|
||||
|
||||
public async Task<GetProfileLeaveByKeycloakDto?> GetProfileLeaveReportByKeycloakIdAsync(Guid keycloakId, string? accessToken, string? report)
|
||||
{
|
||||
try
|
||||
{
|
||||
var apiPath = $"{_configuration["API"]}/org/dotnet/profile-leave/keycloak";
|
||||
var apiKey = _configuration["API_KEY"];
|
||||
var body = new
|
||||
{
|
||||
keycloakId = keycloakId,
|
||||
report = report
|
||||
};
|
||||
|
||||
var profiles = new List<SearchProfileDto>();
|
||||
|
||||
var apiResult = await PostExternalAPIAsync(apiPath, accessToken, body, apiKey);
|
||||
if (apiResult != null)
|
||||
{
|
||||
var raw = JsonConvert.DeserializeObject<GetProfileLeaveByKeycloakResultDto>(apiResult);
|
||||
if (raw != null)
|
||||
return raw.Result;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<GetProfileByKeycloakIdDto?> GetProfileByProfileIdAsync(Guid profileId, string? accessToken)
|
||||
{
|
||||
try
|
||||
|
|
|
|||
|
|
@ -2,6 +2,11 @@
|
|||
{
|
||||
public class GetProfileLeaveByKeycloakDto
|
||||
{
|
||||
public string ProfileType { get; set; }
|
||||
public string Prefix { get; set; }
|
||||
public string FirstName { get; set; }
|
||||
public string LastName { get; set; }
|
||||
public string CitizenId { get; set; }
|
||||
public DateTime BirthDate { get; set; }
|
||||
public DateTime RetireDate { get; set; }
|
||||
public string GovAge { get; set; } = string.Empty;
|
||||
|
|
@ -10,11 +15,14 @@
|
|||
public DateTime DateCurrent { get; set; }
|
||||
public int Amount { get; set; }
|
||||
public string? TelephoneNumber { get; set; } = string.Empty;
|
||||
public string PositionName { get; set; } = string.Empty;
|
||||
public string Position { get; set; } = string.Empty;
|
||||
public string PosLevel { get; set; } = string.Empty;
|
||||
public string PosType { get; set; } = string.Empty;
|
||||
public string? PositionLeaveName { get; set; }
|
||||
public string? PosExecutiveName { get; set; }
|
||||
public string CurrentAddress { get; set; } = string.Empty;
|
||||
public string Oc { get; set; } = string.Empty;
|
||||
public bool isCommission { get; set; } = false;
|
||||
public string Root { get; set; } = string.Empty;
|
||||
public string? Child1 { get; set; }
|
||||
public string? Child2 { get; set; }
|
||||
|
|
|
|||
|
|
@ -137,7 +137,12 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
|
||||
private async Task<dynamic> GetReport01(LeaveRequest data)
|
||||
{
|
||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//if (profile == null)
|
||||
//{
|
||||
// return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
//}
|
||||
var profile = await _userProfileRepository.GetProfileLeaveReportByKeycloakIdAsync(data.KeycloakUserId, AccessToken, "leave9");
|
||||
if (profile == null)
|
||||
{
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
|
|
@ -152,7 +157,11 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
var startFiscalYear = new DateTime(data.LeaveStartDate.Year - 1, 10, 1);
|
||||
var endFiscalYear = data.LeaveStartDate.Date.AddDays(-1); // นับจากวันที่ยื่นลา
|
||||
var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear);
|
||||
var approveResult = await GetApproverData(data.Approvers);
|
||||
var Oc = profile.isCommission == false
|
||||
? profile.Oc.ToThaiNumber()
|
||||
: profile.Oc.Replace("สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร", "สำนักงาน ก.ก.").ToThaiNumber();
|
||||
var approveResult = await GetApproverData(data.Approvers, profile.isCommission);
|
||||
|
||||
return new
|
||||
{
|
||||
template = "leave9",
|
||||
|
|
@ -183,10 +192,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
organizationName = profile!.Oc!.ToThaiNumber(),
|
||||
posExOrg = !string.IsNullOrEmpty(profile.PositionLeaveName) &&
|
||||
(profile.PositionLeaveName.Contains("อำนวยการ") || profile.PositionLeaveName.Contains("บริหาร"))
|
||||
? new[] { (profile!.Oc!.ToThaiNumber()) }
|
||||
? new[] { Oc }
|
||||
: !string.IsNullOrEmpty(profile.PosExecutiveName)
|
||||
? new[] { (profile.PosExecutiveName.ToThaiNumber()), (profile!.Oc!.ToThaiNumber()) }
|
||||
: new[] { (profile!.Oc!.ToThaiNumber()) },
|
||||
? new[] { profile.PosExecutiveName.ToThaiNumber(), Oc }
|
||||
: new[] { Oc },
|
||||
leaveDetail = data.LeaveDetail.ToThaiNumber(),
|
||||
leaveDateStart = data.LeaveStartDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||
leaveDateEnd = data.LeaveEndDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||
|
|
@ -227,14 +236,22 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
|
||||
private async Task<dynamic> GetReport02(LeaveRequest data)
|
||||
{
|
||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//if (profile == null)
|
||||
//{
|
||||
// return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
//}
|
||||
var profile = await _userProfileRepository.GetProfileLeaveReportByKeycloakIdAsync(data.KeycloakUserId, AccessToken, "leave10");
|
||||
if (profile == null)
|
||||
{
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
}
|
||||
|
||||
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
||||
var approveResult = await GetApproverData(data.Approvers);
|
||||
var Oc = profile.isCommission == false
|
||||
? profile.Oc.ToThaiNumber()
|
||||
: profile.Oc.Replace("สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร", "สำนักงาน ก.ก.").ToThaiNumber();
|
||||
var approveResult = await GetApproverData(data.Approvers, profile.isCommission);
|
||||
return new
|
||||
{
|
||||
template = "leave10",
|
||||
|
|
@ -265,10 +282,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
organizationName = profile!.Oc!.ToThaiNumber(),
|
||||
posExOrg = !string.IsNullOrEmpty(profile.PositionLeaveName) &&
|
||||
(profile.PositionLeaveName.Contains("อำนวยการ") || profile.PositionLeaveName.Contains("บริหาร"))
|
||||
? new[] { (profile!.Oc!.ToThaiNumber()) }
|
||||
? new[] { Oc }
|
||||
: !string.IsNullOrEmpty(profile.PosExecutiveName)
|
||||
? new[] { (profile.PosExecutiveName.ToThaiNumber()), (profile!.Oc!.ToThaiNumber()) }
|
||||
: new[] { (profile!.Oc!.ToThaiNumber()) },
|
||||
? new[] { profile.PosExecutiveName.ToThaiNumber(), Oc }
|
||||
: new[] { Oc },
|
||||
wifeDayName = data.WifeDayName ?? "",
|
||||
wifeDayDateBorn = data.WifeDayDateBorn == null || data.WifeDayDateBorn == "" ? "" : DateTime.Parse(data.WifeDayDateBorn).ToThaiShortDate().ToThaiNumber(),
|
||||
leaveDateStart = data.LeaveStartDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||
|
|
@ -289,7 +306,12 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
|
||||
private async Task<dynamic> GetReport03(LeaveRequest data)
|
||||
{
|
||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//if (profile == null)
|
||||
//{
|
||||
// return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
//}
|
||||
var profile = await _userProfileRepository.GetProfileLeaveReportByKeycloakIdAsync(data.KeycloakUserId, AccessToken, "leave11");
|
||||
if (profile == null)
|
||||
{
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
|
|
@ -313,8 +335,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
var sumLeave = leaveData == null ? 0.0 : leaveData.LeaveDaysUsed;
|
||||
var leaveLimit = leaveData == null ? 0.0 : leaveData.LeaveDays;
|
||||
var extendLeave = leaveLimit - 10;
|
||||
|
||||
var approveResult = await GetApproverData(data.Approvers);
|
||||
var Oc = profile.isCommission == false
|
||||
? profile.Oc.ToThaiNumber()
|
||||
: profile.Oc.Replace("สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร", "สำนักงาน ก.ก.").ToThaiNumber();
|
||||
var approveResult = await GetApproverData(data.Approvers, profile.isCommission);
|
||||
return new
|
||||
{
|
||||
template = "leave11",
|
||||
|
|
@ -345,10 +369,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
organizationName = profile!.Oc!.ToThaiNumber(),
|
||||
posExOrg = !string.IsNullOrEmpty(profile.PositionLeaveName) &&
|
||||
(profile.PositionLeaveName.Contains("อำนวยการ") || profile.PositionLeaveName.Contains("บริหาร"))
|
||||
? new[] { (profile!.Oc!.ToThaiNumber()) }
|
||||
? new[] { Oc }
|
||||
: !string.IsNullOrEmpty(profile.PosExecutiveName)
|
||||
? new[] { (profile.PosExecutiveName.ToThaiNumber()), (profile!.Oc!.ToThaiNumber()) }
|
||||
: new[] { (profile!.Oc!.ToThaiNumber()) },
|
||||
? new[] { profile.PosExecutiveName.ToThaiNumber(), Oc }
|
||||
: new[] { Oc },
|
||||
|
||||
restDayOldTotal = extendLeave.ToString().ToThaiNumber(),
|
||||
restDayCurrentTotal = (10).ToString().ToThaiNumber(),
|
||||
|
|
@ -379,7 +403,12 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
|
||||
private async Task<dynamic> GetReport04(LeaveRequest data, bool isHajj = false)
|
||||
{
|
||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//if (profile == null)
|
||||
//{
|
||||
// return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
//}
|
||||
var profile = await _userProfileRepository.GetProfileLeaveReportByKeycloakIdAsync(data.KeycloakUserId, AccessToken, isHajj ? "leave13": "leave12");
|
||||
if (profile == null)
|
||||
{
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
|
|
@ -399,7 +428,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
{
|
||||
isHajj = true;
|
||||
}
|
||||
var approveResult = await GetApproverData(data.Approvers);
|
||||
var Oc = profile.isCommission == false
|
||||
? profile.Oc.ToThaiNumber()
|
||||
: profile.Oc.Replace("สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร", "สำนักงาน ก.ก.").ToThaiNumber();
|
||||
var approveResult = await GetApproverData(data.Approvers, profile.isCommission);
|
||||
if (isHajj == true)
|
||||
{
|
||||
return new
|
||||
|
|
@ -432,11 +464,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
organizationName = profile!.Oc!.ToThaiNumber(),
|
||||
posExOrg = !string.IsNullOrEmpty(profile.PositionLeaveName) &&
|
||||
(profile.PositionLeaveName.Contains("อำนวยการ") || profile.PositionLeaveName.Contains("บริหาร"))
|
||||
? new[] { (profile!.Oc!.ToThaiNumber()) }
|
||||
? new[] { Oc }
|
||||
: !string.IsNullOrEmpty(profile.PosExecutiveName)
|
||||
? new[] { (profile.PosExecutiveName.ToThaiNumber()), (profile!.Oc!.ToThaiNumber()) }
|
||||
: new[] { (profile!.Oc!.ToThaiNumber()) },
|
||||
|
||||
? new[] { profile.PosExecutiveName.ToThaiNumber(), Oc }
|
||||
: new[] { Oc },
|
||||
|
||||
leavegovernmentDate = data.LeaveGovernmentDate == null ? "" : data.LeaveGovernmentDate.Value.Date.ToThaiShortDate().ToThaiNumber(),
|
||||
hajjDayStatus = data.HajjDayStatus,
|
||||
|
|
@ -487,10 +518,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
organizationName = profile!.Oc!.ToThaiNumber(),
|
||||
posExOrg = !string.IsNullOrEmpty(profile.PositionLeaveName) &&
|
||||
(profile.PositionLeaveName.Contains("อำนวยการ") || profile.PositionLeaveName.Contains("บริหาร"))
|
||||
? new[] { (profile!.Oc!.ToThaiNumber()) }
|
||||
? new[] { Oc }
|
||||
: !string.IsNullOrEmpty(profile.PosExecutiveName)
|
||||
? new[] { (profile.PosExecutiveName.ToThaiNumber()), (profile!.Oc!.ToThaiNumber()) }
|
||||
: new[] { (profile!.Oc!.ToThaiNumber()) },
|
||||
? new[] { profile.PosExecutiveName.ToThaiNumber(), Oc }
|
||||
: new[] { Oc },
|
||||
|
||||
leavebirthDate = data.LeaveBirthDate == null ? "" : data.LeaveBirthDate.Value.Date.ToThaiShortDate().ToThaiNumber(),
|
||||
leavegovernmentDate = data.LeaveGovernmentDate == null ? "" : data.LeaveGovernmentDate.Value.Date.ToThaiShortDate().ToThaiNumber(),
|
||||
|
|
@ -520,12 +551,16 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
|
||||
private async Task<dynamic> GetReport05(LeaveRequest data)
|
||||
{
|
||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//if (profile == null)
|
||||
//{
|
||||
// return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
//}
|
||||
var profile = await _userProfileRepository.GetProfileLeaveReportByKeycloakIdAsync(data.KeycloakUserId, AccessToken, "leave14");
|
||||
if (profile == null)
|
||||
{
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
}
|
||||
|
||||
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
||||
|
||||
//var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||
|
|
@ -536,7 +571,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
// if (list.Count > 0)
|
||||
// approver = list.First().Name;
|
||||
//}
|
||||
var approveResult = await GetApproverData(data.Approvers);
|
||||
var Oc = profile.isCommission == false
|
||||
? profile.Oc.ToThaiNumber()
|
||||
: profile.Oc.Replace("สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร", "สำนักงาน ก.ก.").ToThaiNumber();
|
||||
var approveResult = await GetApproverData(data.Approvers, profile.isCommission);
|
||||
return new
|
||||
{
|
||||
template = "leave14",
|
||||
|
|
@ -567,10 +605,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
organizationName = profile!.Oc!.ToThaiNumber(),
|
||||
posExOrg = !string.IsNullOrEmpty(profile.PositionLeaveName) &&
|
||||
(profile.PositionLeaveName.Contains("อำนวยการ") || profile.PositionLeaveName.Contains("บริหาร"))
|
||||
? new[] { (profile!.Oc!.ToThaiNumber()) }
|
||||
? new[] { Oc }
|
||||
: !string.IsNullOrEmpty(profile.PosExecutiveName)
|
||||
? new[] { (profile.PosExecutiveName.ToThaiNumber()), (profile!.Oc!.ToThaiNumber()) }
|
||||
: new[] { (profile!.Oc!.ToThaiNumber()) },
|
||||
? new[] { profile.PosExecutiveName.ToThaiNumber(), Oc }
|
||||
: new[] { Oc },
|
||||
|
||||
absentDaySummon = data.AbsentDaySummon.ToThaiNumber(),
|
||||
absentDayLocation = data.AbsentDayLocation.ToThaiNumber(),
|
||||
|
|
@ -594,12 +632,16 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
|
||||
private async Task<dynamic> GetReport06(LeaveRequest data)
|
||||
{
|
||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//if (profile == null)
|
||||
//{
|
||||
// return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
//}
|
||||
var profile = await _userProfileRepository.GetProfileLeaveReportByKeycloakIdAsync(data.KeycloakUserId, AccessToken, "leave15");
|
||||
if (profile == null)
|
||||
{
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
}
|
||||
|
||||
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
||||
|
||||
//var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||
|
|
@ -610,7 +652,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
// if (list.Count > 0)
|
||||
// approver = list.First().Name;
|
||||
//}
|
||||
var approveResult = await GetApproverData(data.Approvers);
|
||||
var Oc = profile.isCommission == false
|
||||
? profile.Oc.ToThaiNumber()
|
||||
: profile.Oc.Replace("สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร", "สำนักงาน ก.ก.").ToThaiNumber();
|
||||
var approveResult = await GetApproverData(data.Approvers, profile.isCommission);
|
||||
return new
|
||||
{
|
||||
template = "leave15",
|
||||
|
|
@ -641,10 +686,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
organizationName = profile!.Oc!.ToThaiNumber(),
|
||||
posExOrg = !string.IsNullOrEmpty(profile.PositionLeaveName) &&
|
||||
(profile.PositionLeaveName.Contains("อำนวยการ") || profile.PositionLeaveName.Contains("บริหาร"))
|
||||
? new[] { (profile!.Oc!.ToThaiNumber()) }
|
||||
? new[] { Oc }
|
||||
: !string.IsNullOrEmpty(profile.PosExecutiveName)
|
||||
? new[] { (profile.PosExecutiveName.ToThaiNumber()), (profile!.Oc!.ToThaiNumber()) }
|
||||
: new[] { (profile!.Oc!.ToThaiNumber()) },
|
||||
? new[] { profile.PosExecutiveName.ToThaiNumber(), Oc }
|
||||
: new[] { Oc },
|
||||
|
||||
leavebirthDate = data.LeaveBirthDate == null ? "" : data.LeaveBirthDate.Value.Date.ToThaiShortDate().ToThaiNumber(),
|
||||
leavegovernmentDate = data.LeaveGovernmentDate == null ? "" : data.LeaveGovernmentDate.Value.Date.ToThaiShortDate().ToThaiNumber(),
|
||||
|
|
@ -684,18 +729,22 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
|
||||
private async Task<dynamic> GetReport07(LeaveRequest data)
|
||||
{
|
||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//if (profile == null)
|
||||
//{
|
||||
// return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
//}
|
||||
|
||||
//var profileLeave = await _userProfileRepository.GetProfileLeaveByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//if (profileLeave == null)
|
||||
//{
|
||||
// return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
//}
|
||||
var profile = await _userProfileRepository.GetProfileLeaveReportByKeycloakIdAsync(data.KeycloakUserId, AccessToken, "leave16");
|
||||
if (profile == null)
|
||||
{
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
}
|
||||
|
||||
var profileLeave = await _userProfileRepository.GetProfileLeaveByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
if (profileLeave == null)
|
||||
{
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
}
|
||||
|
||||
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
||||
|
||||
//var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||
|
|
@ -706,7 +755,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
// if (list.Count > 0)
|
||||
// approver = list.First().Name;
|
||||
//}
|
||||
var approveResult = await GetApproverData(data.Approvers);
|
||||
var Oc = profile.isCommission == false
|
||||
? profile.Oc.ToThaiNumber()
|
||||
: profile.Oc.Replace("สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร", "สำนักงาน ก.ก.").ToThaiNumber();
|
||||
var approveResult = await GetApproverData(data.Approvers, profile.isCommission);
|
||||
return new
|
||||
{
|
||||
template = "leave16",
|
||||
|
|
@ -738,36 +790,36 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
organizationName = profile!.Oc!.ToThaiNumber(),
|
||||
posExOrg = !string.IsNullOrEmpty(profile.PositionLeaveName) &&
|
||||
(profile.PositionLeaveName.Contains("อำนวยการ") || profile.PositionLeaveName.Contains("บริหาร"))
|
||||
? new[] { (profile!.Oc!.ToThaiNumber()) }
|
||||
? new[] { Oc }
|
||||
: !string.IsNullOrEmpty(profile.PosExecutiveName)
|
||||
? new[] { (profile.PosExecutiveName.ToThaiNumber()), (profile!.Oc!.ToThaiNumber()) }
|
||||
: new[] { (profile!.Oc!.ToThaiNumber()) },
|
||||
? new[] { profile.PosExecutiveName.ToThaiNumber(), Oc }
|
||||
: new[] { Oc },
|
||||
|
||||
leaveDateStart = data.LeaveStartDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||
leaveDateEnd = data.LeaveEndDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||
|
||||
profileType = profile.ProfileType,
|
||||
|
||||
birthDate = profileLeave.BirthDate.ToThaiShortDate().ToThaiNumber(),
|
||||
retireDate = profileLeave.RetireDate.ToThaiShortDate().ToThaiNumber(),
|
||||
govAge = profileLeave.GovAge.ToThaiNumber(),
|
||||
age = profileLeave.Age.ToThaiNumber(),
|
||||
dateAppoint = profileLeave.DateAppoint.ToThaiShortDate().ToThaiNumber(),
|
||||
dateCurrent = profileLeave.DateCurrent.ToThaiShortDate().ToThaiNumber(),
|
||||
amount = ((double)profileLeave.Amount).ToNumericText().ToThaiNumber(),
|
||||
telephoneNumber = profileLeave.TelephoneNumber == null ? "" : profileLeave.TelephoneNumber.ToThaiNumber(),
|
||||
birthDate = profile.BirthDate.ToThaiShortDate().ToThaiNumber(),
|
||||
retireDate = profile.RetireDate.ToThaiShortDate().ToThaiNumber(),
|
||||
govAge = profile.GovAge.ToThaiNumber(),
|
||||
age = profile.Age.ToThaiNumber(),
|
||||
dateAppoint = profile.DateAppoint.ToThaiShortDate().ToThaiNumber(),
|
||||
dateCurrent = profile.DateCurrent.ToThaiShortDate().ToThaiNumber(),
|
||||
amount = ((double)profile.Amount).ToNumericText().ToThaiNumber(),
|
||||
telephoneNumber = profile.TelephoneNumber == null ? "" : profile.TelephoneNumber.ToThaiNumber(),
|
||||
|
||||
posLevel = profileLeave.PosLevel.ToThaiNumber(),
|
||||
posType = profileLeave.PosType.ToThaiNumber(),
|
||||
currentAddress = profileLeave.CurrentAddress.ToThaiNumber(),
|
||||
oc = profileLeave.Oc.ToThaiNumber(),
|
||||
root = profileLeave.Root.ToThaiNumber(),
|
||||
child1 = profileLeave.Child1 == null ? "" : profileLeave.Child1!.ToThaiNumber(),
|
||||
child2 = profileLeave.Child2 == null ? "" : profileLeave.Child2!.ToThaiNumber(),
|
||||
child3 = profileLeave.Child3 == null ? "" : profileLeave.Child3!.ToThaiNumber(),
|
||||
child4 = profileLeave.Child4 == null ? "" : profileLeave.Child4!.ToThaiNumber(),
|
||||
posLevel = profile.PosLevel.ToThaiNumber(),
|
||||
posType = profile.PosType.ToThaiNumber(),
|
||||
currentAddress = profile.CurrentAddress.ToThaiNumber(),
|
||||
oc = profile.Oc.ToThaiNumber(),
|
||||
root = profile.Root.ToThaiNumber(),
|
||||
child1 = profile.Child1 == null ? "" : profile.Child1!.ToThaiNumber(),
|
||||
child2 = profile.Child2 == null ? "" : profile.Child2!.ToThaiNumber(),
|
||||
child3 = profile.Child3 == null ? "" : profile.Child3!.ToThaiNumber(),
|
||||
child4 = profile.Child4 == null ? "" : profile.Child4!.ToThaiNumber(),
|
||||
|
||||
positions = profileLeave.Positions.Select(x => new
|
||||
positions = profile.Positions.Select(x => new
|
||||
{
|
||||
positionName = x.PositionName == null ? "" : x.PositionName.ToThaiNumber(),
|
||||
dateStart = x.DateStart.ToThaiShortDate().ToThaiNumber(),
|
||||
|
|
@ -780,7 +832,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
orgChild3 = x.OrgChild3 == null ? "" : x.OrgChild3.ToThaiNumber(),
|
||||
orgChild4 = x.OrgChild4 == null ? "" : x.OrgChild4.ToThaiNumber(),
|
||||
}).ToList(),
|
||||
educations = profileLeave.Educations.Select(x => new
|
||||
educations = profile.Educations.Select(x => new
|
||||
{
|
||||
educationLevel = x.EducationLevel == null ? "" : x.EducationLevel.ToThaiNumber(),
|
||||
institute = x.Institute == null ? "" : x.Institute.ToThaiNumber(),
|
||||
|
|
@ -802,12 +854,16 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
|
||||
private async Task<dynamic> GetReport08(LeaveRequest data)
|
||||
{
|
||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//if (profile == null)
|
||||
//{
|
||||
// return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
//}
|
||||
var profile = await _userProfileRepository.GetProfileLeaveReportByKeycloakIdAsync(data.KeycloakUserId, AccessToken, "leave17");
|
||||
if (profile == null)
|
||||
{
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
}
|
||||
|
||||
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
||||
|
||||
//var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||
|
|
@ -818,7 +874,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
// if (list.Count > 0)
|
||||
// approver = list.First().Name;
|
||||
//}
|
||||
var approveResult = await GetApproverData(data.Approvers);
|
||||
var Oc = profile.isCommission == false
|
||||
? profile.Oc.ToThaiNumber()
|
||||
: profile.Oc.Replace("สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร", "สำนักงาน ก.ก.").ToThaiNumber();
|
||||
var approveResult = await GetApproverData(data.Approvers, profile.isCommission);
|
||||
return new
|
||||
{
|
||||
template = "leave17",
|
||||
|
|
@ -849,10 +908,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
organizationName = profile!.Oc!.ToThaiNumber(),
|
||||
posExOrg = !string.IsNullOrEmpty(profile.PositionLeaveName) &&
|
||||
(profile.PositionLeaveName.Contains("อำนวยการ") || profile.PositionLeaveName.Contains("บริหาร"))
|
||||
? new[] { (profile!.Oc!.ToThaiNumber()) }
|
||||
? new[] { Oc }
|
||||
: !string.IsNullOrEmpty(profile.PosExecutiveName)
|
||||
? new[] { (profile.PosExecutiveName.ToThaiNumber()), (profile!.Oc!.ToThaiNumber()) }
|
||||
: new[] { (profile!.Oc!.ToThaiNumber()) },
|
||||
? new[] { profile.PosExecutiveName.ToThaiNumber(), Oc }
|
||||
: new[] { Oc },
|
||||
|
||||
leaveSalary = data.LeaveSalary == null ? "" : data.LeaveSalary.Value.ToNumericText().ToThaiNumber(),
|
||||
leaveSalaryText = data.LeaveSalaryText.ToThaiNumber(),
|
||||
|
|
@ -884,14 +943,19 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
|
||||
private async Task<dynamic> GetReport09(LeaveRequest data)
|
||||
{
|
||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
if (profile == null)
|
||||
{
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
}
|
||||
//var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//if (profile == null)
|
||||
//{
|
||||
// return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
//}
|
||||
|
||||
var profileLeave = await _userProfileRepository.GetProfileLeaveByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
if (profileLeave == null)
|
||||
//var profileLeave = await _userProfileRepository.GetProfileLeaveByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//if (profileLeave == null)
|
||||
//{
|
||||
// return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
//}
|
||||
var profile = await _userProfileRepository.GetProfileLeaveReportByKeycloakIdAsync(data.KeycloakUserId, AccessToken, "leave18");
|
||||
if (profile == null)
|
||||
{
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
}
|
||||
|
|
@ -906,7 +970,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
// if (list.Count > 0)
|
||||
// approver = list.First().Name;
|
||||
//}
|
||||
var approveResult = await GetApproverData(data.Approvers);
|
||||
var Oc = profile.isCommission == false
|
||||
? profile.Oc.ToThaiNumber()
|
||||
: profile.Oc.Replace("สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร", "สำนักงาน ก.ก.").ToThaiNumber();
|
||||
var approveResult = await GetApproverData(data.Approvers, profile.isCommission);
|
||||
return new
|
||||
{
|
||||
template = "leave18",
|
||||
|
|
@ -937,36 +1004,36 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
organizationName = profile!.Oc!.ToThaiNumber(),
|
||||
posExOrg = !string.IsNullOrEmpty(profile.PositionLeaveName) &&
|
||||
(profile.PositionLeaveName.Contains("อำนวยการ") || profile.PositionLeaveName.Contains("บริหาร"))
|
||||
? new[] { (profile!.Oc!.ToThaiNumber()) }
|
||||
? new[] { Oc }
|
||||
: !string.IsNullOrEmpty(profile.PosExecutiveName)
|
||||
? new[] { (profile.PosExecutiveName.ToThaiNumber()), (profile!.Oc!.ToThaiNumber()) }
|
||||
: new[] { (profile!.Oc!.ToThaiNumber()) },
|
||||
? new[] { profile.PosExecutiveName.ToThaiNumber(), Oc }
|
||||
: new[] { Oc },
|
||||
|
||||
leaveDateStart = data.LeaveStartDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||
leaveDateEnd = data.LeaveEndDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||
|
||||
profileType = profile.ProfileType,
|
||||
|
||||
birthDate = profileLeave.BirthDate.ToThaiShortDate().ToThaiNumber(),
|
||||
retireDate = profileLeave.RetireDate.ToThaiShortDate().ToThaiNumber(),
|
||||
govAge = profileLeave.GovAge.ToThaiNumber(),
|
||||
age = profileLeave.Age.ToThaiNumber(),
|
||||
dateAppoint = profileLeave.DateAppoint.ToThaiShortDate().ToThaiNumber(),
|
||||
dateCurrent = profileLeave.DateCurrent.ToThaiShortDate().ToThaiNumber(),
|
||||
amount = ((double)profileLeave.Amount).ToNumericText().ToThaiNumber(),
|
||||
telephoneNumber = profileLeave.TelephoneNumber == null ? "" : profileLeave.TelephoneNumber.ToThaiNumber(),
|
||||
birthDate = profile.BirthDate.ToThaiShortDate().ToThaiNumber(),
|
||||
retireDate = profile.RetireDate.ToThaiShortDate().ToThaiNumber(),
|
||||
govAge = profile.GovAge.ToThaiNumber(),
|
||||
age = profile.Age.ToThaiNumber(),
|
||||
dateAppoint = profile.DateAppoint.ToThaiShortDate().ToThaiNumber(),
|
||||
dateCurrent = profile.DateCurrent.ToThaiShortDate().ToThaiNumber(),
|
||||
amount = ((double)profile.Amount).ToNumericText().ToThaiNumber(),
|
||||
telephoneNumber = profile.TelephoneNumber == null ? "" : profile.TelephoneNumber.ToThaiNumber(),
|
||||
|
||||
posLevel = profileLeave.PosLevel.ToThaiNumber(),
|
||||
posType = profileLeave.PosType.ToThaiNumber(),
|
||||
currentAddress = profileLeave.CurrentAddress.ToThaiNumber(),
|
||||
oc = profileLeave.Oc.ToThaiNumber(),
|
||||
root = profileLeave.Root.ToThaiNumber(),
|
||||
child1 = profileLeave.Child1 == null ? "" : profileLeave.Child1!.ToThaiNumber(),
|
||||
child2 = profileLeave.Child2 == null ? "" : profileLeave.Child2!.ToThaiNumber(),
|
||||
child3 = profileLeave.Child3 == null ? "" : profileLeave.Child3!.ToThaiNumber(),
|
||||
child4 = profileLeave.Child4 == null ? "" : profileLeave.Child4!.ToThaiNumber(),
|
||||
posLevel = profile.PosLevel.ToThaiNumber(),
|
||||
posType = profile.PosType.ToThaiNumber(),
|
||||
currentAddress = profile.CurrentAddress.ToThaiNumber(),
|
||||
oc = profile.Oc.ToThaiNumber(),
|
||||
root = profile.Root.ToThaiNumber(),
|
||||
child1 = profile.Child1 == null ? "" : profile.Child1!.ToThaiNumber(),
|
||||
child2 = profile.Child2 == null ? "" : profile.Child2!.ToThaiNumber(),
|
||||
child3 = profile.Child3 == null ? "" : profile.Child3!.ToThaiNumber(),
|
||||
child4 = profile.Child4 == null ? "" : profile.Child4!.ToThaiNumber(),
|
||||
|
||||
positions = profileLeave.Positions.Select(x => new
|
||||
positions = profile.Positions.Select(x => new
|
||||
{
|
||||
positionName = x.PositionName == null ? "" : x.PositionName.ToThaiNumber(),
|
||||
dateStart = x.DateStart.ToThaiShortDate().ToThaiNumber(),
|
||||
|
|
@ -980,7 +1047,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
orgChild4 = x.OrgChild4 == null ? "" : x.OrgChild4.ToThaiNumber(),
|
||||
}).ToList(),
|
||||
|
||||
educations = profileLeave.Educations.Select(x => new
|
||||
educations = profile.Educations.Select(x => new
|
||||
{
|
||||
educationLevel = x.EducationLevel == null ? "" : x.EducationLevel.ToThaiNumber(),
|
||||
institute = x.Institute == null ? "" : x.Institute.ToThaiNumber(),
|
||||
|
|
@ -1109,12 +1176,16 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
}
|
||||
|
||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
//if (profile == null)
|
||||
//{
|
||||
// return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
//}
|
||||
var profile = await _userProfileRepository.GetProfileLeaveReportByKeycloakIdAsync(data.KeycloakUserId, AccessToken, "leave9");
|
||||
if (profile == null)
|
||||
{
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
}
|
||||
|
||||
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
||||
|
||||
//var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||
|
|
@ -1125,7 +1196,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
// if (list.Count > 0)
|
||||
// approver = list.First().Name;
|
||||
//}
|
||||
var approveResult = await GetApproverData(data.Approvers);
|
||||
var Oc = profile.isCommission == false
|
||||
? profile.Oc.ToThaiNumber()
|
||||
: profile.Oc.Replace("สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร", "สำนักงาน ก.ก.").ToThaiNumber();
|
||||
var approveResult = await GetApproverData(data.Approvers, profile.isCommission);
|
||||
var result = new
|
||||
{
|
||||
template = "แบบใบขอยกเลิกวันลา",
|
||||
|
|
@ -1154,10 +1228,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
organizationName = profile!.Oc!.ToThaiNumber(),
|
||||
posExOrg = !string.IsNullOrEmpty(profile.PositionLeaveName) &&
|
||||
(profile.PositionLeaveName.Contains("อำนวยการ") || profile.PositionLeaveName.Contains("บริหาร"))
|
||||
? new[] { (profile!.Oc!.ToThaiNumber()) }
|
||||
? new[] { Oc }
|
||||
: !string.IsNullOrEmpty(profile.PosExecutiveName)
|
||||
? new[] { (profile.PosExecutiveName.ToThaiNumber()), (profile!.Oc!.ToThaiNumber()) }
|
||||
: new[] { (profile!.Oc!.ToThaiNumber()) },
|
||||
? new[] { profile.PosExecutiveName.ToThaiNumber(), Oc }
|
||||
: new[] { Oc },
|
||||
leaveDateStart = data.LeaveStartDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||
leaveDateEnd = data.LeaveEndDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
||||
|
|
@ -2811,7 +2885,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
}
|
||||
#endregion
|
||||
|
||||
private async Task<object> GetApproverData(List<LeaveRequestApprover> list)
|
||||
private async Task<object> GetApproverData(List<LeaveRequestApprover> list, bool? isCommission = false)
|
||||
{
|
||||
var _default = new
|
||||
{
|
||||
|
|
@ -2842,10 +2916,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
: $"{x.PositionName}{x.PositionLevelName}").ToThaiNumber(),
|
||||
posExOrg = !string.IsNullOrEmpty(x.PositionLevelName) &&
|
||||
(x.PositionLevelName.Contains("อำนวยการ") || x.PositionLevelName.Contains("บริหาร"))
|
||||
? new[] { (x!.OrganizationName!.ToThaiNumber()) }
|
||||
? new[] { (isCommission == false ? x!.OrganizationName : x!.OrganizationName.Replace("สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร", "สำนักงาน ก.ก.")).ToThaiNumber() }
|
||||
: !string.IsNullOrEmpty(x.PosExecutiveName)
|
||||
? new[] { (x.PosExecutiveName.ToThaiNumber()), (x!.OrganizationName!.ToThaiNumber()) }
|
||||
: new[] { (x!.OrganizationName!.ToThaiNumber()) },
|
||||
? new[] { (x.PosExecutiveName.ToThaiNumber()), (isCommission == false ? x!.OrganizationName : x!.OrganizationName.Replace("สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร", "สำนักงาน ก.ก.")).ToThaiNumber() }
|
||||
: new[] { (isCommission == false ? x!.OrganizationName : x!.OrganizationName.Replace("สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร", "สำนักงาน ก.ก.")).ToThaiNumber() },
|
||||
positionSign = !string.IsNullOrEmpty(x.PositionSign)
|
||||
? x.PositionSign.Replace("\r", "").Replace("\n", " ")
|
||||
: "............................................",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue