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