fix : ต่อ API ระยยลา

This commit is contained in:
Suphonchai Phoonsawat 2024-05-30 09:32:34 +07:00
parent 66d491a2af
commit be1c390bb8
10 changed files with 142 additions and 54 deletions

View file

@ -421,7 +421,7 @@ namespace BMA.EHR.Leave.Service.Controllers
public async Task<ActionResult<ResponseObject>> CheckInAsync([FromForm] CheckTimeDto data)
{
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
if (profile == null)
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
@ -583,7 +583,7 @@ namespace BMA.EHR.Leave.Service.Controllers
{
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
if (profile == null)
{
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
@ -751,7 +751,7 @@ namespace BMA.EHR.Leave.Service.Controllers
}
else
{
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(d.KeycloakUserId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(d.KeycloakUserId, AccessToken);
if (profile == null)
{
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
@ -844,7 +844,7 @@ namespace BMA.EHR.Leave.Service.Controllers
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
if (profile == null)
{
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
@ -973,7 +973,7 @@ namespace BMA.EHR.Leave.Service.Controllers
{
ProfileId = p.Id,
CitizenId = p.CitizenId ?? "",
FullName = $"{p.Prefix ?? "" }{p.FirstName ?? ""} {p.LastName ?? ""}",
FullName = $"{p.Prefix ?? ""}{p.FirstName ?? ""} {p.LastName ?? ""}",
StartTimeMorning = duty.StartTimeMorning,
LeaveTimeAfterNoon = duty.EndTimeAfternoon,
EffectiveDate = effectiveDate == null ? null : effectiveDate.EffectiveDate.Value.Date
@ -1129,7 +1129,7 @@ namespace BMA.EHR.Leave.Service.Controllers
foreach (var data in rawData)
{
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
if (profile == null)
{
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
@ -1148,7 +1148,7 @@ namespace BMA.EHR.Leave.Service.Controllers
var resObj = new GetAdditionalCheckRequestDto
{
Id = data.Id,
FullName = $"{profile.Prefix.Name}{profile.FirstName} {profile.LastName}",
FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}",
CreatedAt = data.CreatedAt,
CheckDate = data.CheckDate,
CheckInEdit = data.CheckInEdit,
@ -1365,7 +1365,7 @@ namespace BMA.EHR.Leave.Service.Controllers
}
else
{
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(d.KeycloakUserId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(d.KeycloakUserId, AccessToken);
if (profile == null)
{
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
@ -1457,7 +1457,7 @@ namespace BMA.EHR.Leave.Service.Controllers
foreach (var data in rawData)
{
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
if (profile == null)
{
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
@ -1661,7 +1661,7 @@ namespace BMA.EHR.Leave.Service.Controllers
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> GetLeaveSummaryByProfileAsync(Guid id, [FromBody] GetLeaveSummaryDto req)
{
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(id);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(id, AccessToken);
var thisYear = DateTime.Now.Year;
var startDate = req.StartDate;

View file

@ -83,6 +83,8 @@ namespace BMA.EHR.Leave.Service.Controllers
private bool? PlacementAdmin => _httpContextAccessor?.HttpContext?.User?.IsInRole("placement1");
protected string? AccessToken => _httpContextAccessor?.HttpContext?.Request.Headers["Authorization"];
private Guid OcId
{
get
@ -122,7 +124,7 @@ namespace BMA.EHR.Leave.Service.Controllers
var thisYear = DateTime.Now.Year;
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
if (profile == null)
{
@ -307,8 +309,8 @@ namespace BMA.EHR.Leave.Service.Controllers
leaveRequest.LeaveTypeCode = leaveType.Code;
leaveRequest.Dear = approver;
leaveRequest.PositionName = profile.Position == null ? "" : profile.Position.Name;
leaveRequest.PositionLevelName = profile.PositionLevel == null ? "" : profile.PositionLevel.Name;
leaveRequest.PositionName = profile.Position == null ? "" : profile.Position;
leaveRequest.PositionLevelName = profile.PosLevel == null ? "" : profile.PosLevel.PosLevelName;
leaveRequest.OrganizationName = profile.Oc ?? "";
@ -349,7 +351,7 @@ namespace BMA.EHR.Leave.Service.Controllers
// return Error("ไม่สามารถขอลาในช่วงเวลาเดียวกันได้");
// }
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
if (profile == null)
{
@ -533,8 +535,8 @@ namespace BMA.EHR.Leave.Service.Controllers
leaveRequest.LeaveTypeCode = leaveType.Code;
leaveRequest.Dear = approver;
leaveRequest.PositionName = profile.Position == null ? "" : profile.Position.Name;
leaveRequest.PositionLevelName = profile.PositionLevel == null ? "" : profile.PositionLevel.Name;
leaveRequest.PositionName = profile.Position == null ? "" : profile.Position;
leaveRequest.PositionLevelName = profile.PosLevel == null ? "" : profile.PosLevel.PosLevelName;
leaveRequest.OrganizationName = profile.Oc ?? "";
@ -594,7 +596,7 @@ namespace BMA.EHR.Leave.Service.Controllers
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
var thisYear = DateTime.Now.Year;
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
if (profile == null)
{
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
@ -627,11 +629,11 @@ namespace BMA.EHR.Leave.Service.Controllers
DateSendLeave = DateTime.Now.Date,
LeaveTypeName = leaveType.Name,
FullName = $"{profile.Prefix.Name}{profile.FirstName} {profile.LastName}",
FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}",
Dear = approver,
PositionName = profile.Position == null ? "" : profile.Position.Name,
PositionLevelName = profile.PositionLevel == null ? "" : profile.PositionLevel.Name,
PositionName = profile.Position == null ? "" : profile.Position,
PositionLevelName = profile.PosLevel == null ? "" : profile.PosLevel.PosLevelName,
OrganizationName = profile.Oc ?? "",
LeaveLimit = leaveType.Limit,
@ -664,7 +666,7 @@ namespace BMA.EHR.Leave.Service.Controllers
{
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
var govAge = profile!.DateStart!.Value.Date.DiffDay(DateTime.Now.Date);
@ -813,7 +815,7 @@ namespace BMA.EHR.Leave.Service.Controllers
foreach (var item in data)
{
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(item.KeycloakUserId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(item.KeycloakUserId, AccessToken);
var resData = new GetLeaveRequestCalendarResultDto
{
@ -822,7 +824,7 @@ namespace BMA.EHR.Leave.Service.Controllers
LeaveTypeId = item.Type.Id,
DateSendLeave = item.CreatedAt.Date,
Status = item.LeaveStatus,
FullName = $"{profile.Prefix.Name}{profile.FirstName} {profile.LastName}",
FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}",
LeaveStartDate = item.LeaveStartDate,
LeaveEndDate = item.LeaveEndDate,
KeycloakId = item.KeycloakUserId
@ -851,7 +853,7 @@ namespace BMA.EHR.Leave.Service.Controllers
{
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
if (profile == null)
{
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
@ -869,7 +871,7 @@ namespace BMA.EHR.Leave.Service.Controllers
Id = item.Id,
LeaveTypeId = item.Type.Id,
LeaveTypeName = item.Type.Name,
FullName = $"{profile.Prefix.Name}{profile.FirstName} {profile.LastName}",
FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}",
DateSendLeave = item.CreatedAt.Date,
IsDelete = item.LeaveStatus == "DELETE",
Status = item.LeaveStatus,
@ -910,7 +912,7 @@ namespace BMA.EHR.Leave.Service.Controllers
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
}
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId, AccessToken);
if (profile == null)
{
@ -937,7 +939,7 @@ namespace BMA.EHR.Leave.Service.Controllers
LeaveRange = rawData.LeaveRange ?? "",
LeaveTypeName = rawData.Type.Name,
LeaveTypeId = rawData.Type.Id,
FullName = $"{profile.Prefix.Name}{profile.FirstName} {profile.LastName}",
FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}",
DateSendLeave = rawData.CreatedAt,
Status = rawData.LeaveStatus,
LeaveStartDate = rawData.LeaveStartDate,
@ -1046,7 +1048,7 @@ namespace BMA.EHR.Leave.Service.Controllers
foreach (var item in rawData)
{
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(item.KeycloakUserId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(item.KeycloakUserId, AccessToken);
// Get Organization
var org = await _userProfileRepository.GetOrganizationById(profile.OcId ?? Guid.Empty);
@ -1063,14 +1065,14 @@ namespace BMA.EHR.Leave.Service.Controllers
Id = item.Id,
LeaveTypeId = item.Type.Id,
LeaveTypeName = item.Type.Name,
FullName = $"{profile.Prefix.Name}{profile.FirstName} {profile.LastName}",
FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}",
DateSendLeave = item.CreatedAt.Date,
Status = item.LeaveStatus,
CitizenId = profile.CitizenId ?? "",
LeaveStartDate = item.LeaveStartDate,
LeaveEndDate = item.LeaveEndDate,
Position = profile.Position == null ? "" : profile.Position.Name,
Level = profile.PositionLevel == null ? "" : profile.PositionLevel.Name,
Position = profile.Position == null ? "" : profile.Position,
Level = profile.PosLevel == null ? "" : profile.PosLevel.PosLevelName,
Agency = agency == null ? "" : agency.Name,
Org = gov_agency == null ? "" : gov_agency.Name,
LeaveRange = item.LeaveRange ?? "ALL"
@ -1165,13 +1167,13 @@ namespace BMA.EHR.Leave.Service.Controllers
foreach (var item in rawData)
{
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(item.KeycloakUserId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(item.KeycloakUserId, AccessToken);
var res = new GetLeaveCancelRequestResultDto
{
Id = item.Id,
LeaveTypeId = item.Type.Id,
LeaveTypeName = item.Type.Name,
FullName = $"{profile.Prefix.Name}{profile.FirstName} {profile.LastName}",
FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}",
DateSendLeave = item.CreatedAt.Date,
Status = item.LeaveCancelStatus
};
@ -1210,7 +1212,7 @@ namespace BMA.EHR.Leave.Service.Controllers
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
}
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId, AccessToken);
if (profile == null)
{
@ -1221,7 +1223,7 @@ namespace BMA.EHR.Leave.Service.Controllers
{
Id = rawData.Id,
LeaveTypeName = rawData.Type.Name,
FullName = $"{profile.Prefix.Name}{profile.FirstName} {profile.LastName}",
FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}",
Status = rawData.LeaveCancelStatus ?? "",
LeaveStartDate = rawData.LeaveStartDate,
LeaveEndDate = rawData.LeaveEndDate,
@ -1404,7 +1406,7 @@ namespace BMA.EHR.Leave.Service.Controllers
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
}
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId);
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId, AccessToken);
if (profile == null)
{
@ -1444,7 +1446,7 @@ namespace BMA.EHR.Leave.Service.Controllers
LeaveTypeName = rawData.Type.Name,
LeaveTypeId = rawData.Type.Id,
FullName = $"{profile.Prefix.Name}{profile.FirstName} {profile.LastName}",
FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}",
DateSendLeave = rawData.CreatedAt,
Status = rawData.LeaveStatus,
LeaveStartDate = rawData.LeaveStartDate,