fix: Leave Performance
This commit is contained in:
parent
aaa180e217
commit
9c696be46e
4 changed files with 132 additions and 140 deletions
|
|
@ -3,6 +3,7 @@ using System.Net.Http.Headers;
|
|||
using System.Net.Http.Json;
|
||||
using BMA.EHR.Application.Common.Interfaces;
|
||||
using BMA.EHR.Application.Messaging;
|
||||
using BMA.EHR.Application.Responses.Leaves;
|
||||
using BMA.EHR.Domain.Models.HR;
|
||||
using BMA.EHR.Domain.Models.Leave.Commons;
|
||||
using BMA.EHR.Domain.Models.Leave.Requests;
|
||||
|
|
@ -552,6 +553,48 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
|||
return 0;
|
||||
}
|
||||
|
||||
public async Task<List<GetSumApproveLeaveByTypeDto>> GetSumApproveLeaveByTypeAndRange(DateTime startDate, DateTime endDate)
|
||||
{
|
||||
var data = await _dbContext.Set<LeaveRequest>().AsQueryable()
|
||||
.Include(x => x.Type)
|
||||
.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
|
||||
.Where(x => x.LeaveStatus == "APPROVE").ToListAsync();
|
||||
|
||||
var res = (from d in data
|
||||
group d by new { d.KeycloakUserId, LeaveTypeId = d.Type.Id, LeaveTypeCode = d.Type.Code } into grp
|
||||
select new GetSumApproveLeaveByTypeDto
|
||||
{
|
||||
KeycloakUserId = grp.Key.KeycloakUserId,
|
||||
LeaveTypeId = grp.Key.LeaveTypeId,
|
||||
LeaveTypeCode = grp.Key.LeaveTypeCode,
|
||||
SumLeaveDay = grp.Sum(x => x.LeaveTotal)
|
||||
})
|
||||
.ToList();
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
public async Task<List<GetCountApproveLeaveByTypeDto>> GetCountApproveLeaveByTypeAndRange(DateTime startDate, DateTime endDate)
|
||||
{
|
||||
var data = await _dbContext.Set<LeaveRequest>().AsQueryable()
|
||||
.Include(x => x.Type)
|
||||
.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
|
||||
.Where(x => x.LeaveStatus == "APPROVE").ToListAsync();
|
||||
|
||||
var res = (from d in data
|
||||
group d by new { d.KeycloakUserId, LeaveTypeId = d.Type.Id, LeaveTypeCode = d.Type.Code } into grp
|
||||
select new GetCountApproveLeaveByTypeDto
|
||||
{
|
||||
KeycloakUserId = grp.Key.KeycloakUserId,
|
||||
LeaveTypeId = grp.Key.LeaveTypeId,
|
||||
LeaveTypeCode = grp.Key.LeaveTypeCode,
|
||||
CountLeave = grp.Count()
|
||||
})
|
||||
.ToList();
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
public async Task<double> GetSumApproveLeaveByTypeAndRangeForUser(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate)
|
||||
{
|
||||
var data = await _dbContext.Set<LeaveRequest>().AsQueryable()
|
||||
|
|
|
|||
|
|
@ -0,0 +1,13 @@
|
|||
namespace BMA.EHR.Application.Responses.Leaves
|
||||
{
|
||||
public class GetCountApproveLeaveByTypeDto
|
||||
{
|
||||
public Guid KeycloakUserId { get; set; }
|
||||
|
||||
public Guid LeaveTypeId { get; set; }
|
||||
|
||||
public string LeaveTypeCode { get; set; } = string.Empty;
|
||||
|
||||
public int CountLeave { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
namespace BMA.EHR.Application.Responses.Leaves
|
||||
{
|
||||
public class GetSumApproveLeaveByTypeDto
|
||||
{
|
||||
public Guid KeycloakUserId { get; set; }
|
||||
|
||||
public Guid LeaveTypeId { get; set; }
|
||||
|
||||
public string LeaveTypeCode { get; set; } = string.Empty;
|
||||
|
||||
public double SumLeaveDay { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +1,3 @@
|
|||
using System.Data.Common;
|
||||
using System.Globalization;
|
||||
using System.IO.Pipelines;
|
||||
using System.Security.Claims;
|
||||
using BMA.EHR.Application.Repositories;
|
||||
using BMA.EHR.Application.Repositories.Commands;
|
||||
using BMA.EHR.Application.Repositories.Leaves.LeaveRequests;
|
||||
|
|
@ -10,14 +6,13 @@ using BMA.EHR.Application.Repositories.MetaData;
|
|||
using BMA.EHR.Domain.Common;
|
||||
using BMA.EHR.Domain.Extensions;
|
||||
using BMA.EHR.Domain.Models.Leave.Requests;
|
||||
using BMA.EHR.Domain.Models.Leave.TimeAttendants;
|
||||
using BMA.EHR.Domain.Shared;
|
||||
using BMA.EHR.Infrastructure.Persistence;
|
||||
using BMA.EHR.Leave.Service.DTOs.Reports;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Org.BouncyCastle.Utilities;
|
||||
using Swashbuckle.AspNetCore.Annotations;
|
||||
using System.Globalization;
|
||||
using System.Security.Claims;
|
||||
|
||||
namespace BMA.EHR.Leave.Service.Controllers
|
||||
{
|
||||
|
|
@ -751,6 +746,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
//var profile = await _userProfileRepository.SearchProfile(null, null, null);
|
||||
var profile = await _userProfileRepository.GetProfileWithKeycloak(AccessToken);
|
||||
|
||||
// get leave day
|
||||
var leaveDays = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRange(req.StartDate, req.EndDate);
|
||||
var leaveTypes = await _leaveTypeRepository.GetAllAsync();
|
||||
|
||||
var count = 1;
|
||||
var employees = new List<dynamic>();
|
||||
|
||||
|
|
@ -758,93 +757,40 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
|
||||
foreach (var p in profile)
|
||||
{
|
||||
var sickType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-001");
|
||||
if (sickType == null)
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
var sickDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||
sickType.Id,
|
||||
req.StartDate,
|
||||
req.EndDate);
|
||||
var keycloakUserId = p.Keycloak ?? Guid.Empty;
|
||||
|
||||
var personalType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-002");
|
||||
if (personalType == null)
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
var personalDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||
personalType.Id,
|
||||
req.StartDate,
|
||||
req.EndDate);
|
||||
var sickDay = leaveDays.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-001");
|
||||
var sickDayCount = sickDay != null ? sickDay.SumLeaveDay : 0;
|
||||
|
||||
var maternityType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-003");
|
||||
if (maternityType == null)
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
var maternityDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||
maternityType.Id,
|
||||
req.StartDate,
|
||||
req.EndDate);
|
||||
var personalDay = leaveDays.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-002");
|
||||
var personalDayCount = personalDay != null ? personalDay.SumLeaveDay : 0;
|
||||
|
||||
var wifeType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-004");
|
||||
if (wifeType == null)
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
var wifeDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||
wifeType.Id,
|
||||
req.StartDate,
|
||||
req.EndDate);
|
||||
var maternityDay = leaveDays.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-003");
|
||||
var maternityDayCount = maternityDay != null ? maternityDay.SumLeaveDay : 0;
|
||||
|
||||
var restType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-005");
|
||||
if (restType == null)
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
var restDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||
restType.Id,
|
||||
req.StartDate,
|
||||
req.EndDate);
|
||||
var wifeDay = leaveDays.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-004");
|
||||
var wifeDayCount = wifeDay != null ? wifeDay.SumLeaveDay : 0;
|
||||
|
||||
var ordainType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-006");
|
||||
if (ordainType == null)
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
var ordainDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||
ordainType.Id,
|
||||
req.StartDate,
|
||||
req.EndDate);
|
||||
var restDay = leaveDays.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-005");
|
||||
var restDayCount = restDay != null ? restDay.SumLeaveDay : 0;
|
||||
|
||||
var absentType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-007");
|
||||
if (absentType == null)
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
var absentDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||
absentType.Id,
|
||||
req.StartDate,
|
||||
req.EndDate);
|
||||
var ordainDay = leaveDays.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-006");
|
||||
var ordainDayCount = ordainDay != null ? ordainDay.SumLeaveDay : 0;
|
||||
|
||||
var studyType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-008");
|
||||
if (studyType == null)
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
var studyDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||
studyType.Id,
|
||||
req.StartDate,
|
||||
req.EndDate);
|
||||
var absentDay = leaveDays.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-007");
|
||||
var absentDayCount = absentDay != null ? absentDay.SumLeaveDay : 0;
|
||||
|
||||
var agencyType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-009");
|
||||
if (agencyType == null)
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
var agencyDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||
agencyType.Id,
|
||||
req.StartDate,
|
||||
req.EndDate);
|
||||
var studyDay = leaveDays.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-008");
|
||||
var studyDayCount = studyDay != null ? studyDay.SumLeaveDay : 0;
|
||||
|
||||
var coupleType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-010");
|
||||
if (coupleType == null)
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
var coupleDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||
coupleType.Id,
|
||||
req.StartDate,
|
||||
req.EndDate);
|
||||
var agencyDay = leaveDays.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-009");
|
||||
var agencyDayCount = agencyDay != null ? agencyDay.SumLeaveDay : 0;
|
||||
|
||||
var therapyType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-011");
|
||||
if (therapyType == null)
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
var therapyDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||
therapyType.Id,
|
||||
req.StartDate,
|
||||
req.EndDate);
|
||||
var coupleDay = leaveDays.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-010");
|
||||
var coupleDayCount = coupleDay != null ? coupleDay.SumLeaveDay : 0;
|
||||
|
||||
var therapyDay = leaveDays.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-011");
|
||||
var therapyDayCount = therapyDay != null ? therapyDay.SumLeaveDay : 0;
|
||||
|
||||
var timeStamps = await _processUserTimeStampRepository.GetTimeStampHistoryByRangeForUserAsync(p.Keycloak ?? Guid.Empty,
|
||||
req.StartDate,
|
||||
|
|
@ -885,12 +831,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
var absentCount = processTimeStamps.Count(x => x.CheckOutStatus == "ABSENT");
|
||||
var lateCount = processTimeStamps.Count(x => x.CheckInStatus == "LATE");
|
||||
|
||||
|
||||
|
||||
var emp = new
|
||||
{
|
||||
no = count,
|
||||
fullName = _userProfileRepository.GetUserFullName(p.Keycloak ?? Guid.Empty, AccessToken),
|
||||
fullName = $"{p.Prefix}{p.FirstName} {p.LastName}",// _userProfileRepository.GetUserFullName(p.Keycloak ?? Guid.Empty, AccessToken),
|
||||
position = p.Position == null ? "" : p.Position,
|
||||
positionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
|
||||
posNo = p.ProfileSalary == null ? "" : p.ProfileSalary.PosNo,
|
||||
|
|
@ -970,67 +914,46 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
var count = 1;
|
||||
var employees = new List<dynamic>();
|
||||
|
||||
// get leave day
|
||||
var leaveDays = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRange(req.StartDate, req.EndDate);
|
||||
var leaveCounts = await _leaveRequestRepository.GetCountApproveLeaveByTypeAndRange(req.StartDate, req.EndDate);
|
||||
var leaveTypes = await _leaveTypeRepository.GetAllAsync();
|
||||
|
||||
|
||||
|
||||
foreach (var p in profile)
|
||||
{
|
||||
var sickType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-001");
|
||||
if (sickType == null)
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
var sickDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||
sickType.Id,
|
||||
req.StartDate,
|
||||
req.EndDate);
|
||||
var keycloakUserId = p.Keycloak ?? Guid.Empty;
|
||||
|
||||
var sickCount = await _leaveRequestRepository.GetCountApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||
sickType.Id,
|
||||
req.StartDate,
|
||||
req.EndDate);
|
||||
var sickDay = leaveDays.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-001");
|
||||
var sickDayCount = sickDay != null ? sickDay.SumLeaveDay : 0;
|
||||
var sickCountData = leaveCounts.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-001");
|
||||
var sickCount = sickCountData != null ? sickCountData.CountLeave : 0;
|
||||
|
||||
var personalType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-002");
|
||||
if (personalType == null)
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
var personalDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||
personalType.Id,
|
||||
req.StartDate,
|
||||
req.EndDate);
|
||||
var personalDay = leaveDays.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-002");
|
||||
var personalDayCount = personalDay != null ? personalDay.SumLeaveDay : 0;
|
||||
var personalCountData = leaveCounts.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-002");
|
||||
var personalCount = personalCountData != null ? personalCountData.CountLeave : 0;
|
||||
|
||||
var personalCount = await _leaveRequestRepository.GetCountApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||
personalType.Id,
|
||||
req.StartDate,
|
||||
req.EndDate);
|
||||
var maternityDay = leaveDays.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-003");
|
||||
var maternityDayCount = maternityDay != null ? maternityDay.SumLeaveDay : 0;
|
||||
var maternityCountData = leaveCounts.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-003");
|
||||
var maternityCount = maternityCountData != null ? maternityCountData.CountLeave : 0;
|
||||
|
||||
var maternityType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-003");
|
||||
if (maternityType == null)
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
var maternityDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||
maternityType.Id,
|
||||
req.StartDate,
|
||||
req.EndDate);
|
||||
var wifeDay = leaveDays.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-004");
|
||||
var wifeDayCount = wifeDay != null ? wifeDay.SumLeaveDay : 0;
|
||||
var wifeCountData = leaveCounts.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-004");
|
||||
var wifeCount = wifeCountData != null ? wifeCountData.CountLeave : 0;
|
||||
|
||||
var wifeType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-004");
|
||||
if (wifeType == null)
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
var wifeDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||
wifeType.Id,
|
||||
req.StartDate,
|
||||
req.EndDate);
|
||||
var restDay = leaveDays.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-005");
|
||||
var restDayCount = restDay != null ? restDay.SumLeaveDay : 0;
|
||||
var restCountData = leaveCounts.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-005");
|
||||
var restCount = restCountData != null ? restCountData.CountLeave : 0;
|
||||
|
||||
var restType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-005");
|
||||
if (restType == null)
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
var restDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||
restType.Id,
|
||||
req.StartDate,
|
||||
req.EndDate);
|
||||
|
||||
var ordainType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-006");
|
||||
if (ordainType == null)
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
var ordainDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||
ordainType.Id,
|
||||
req.StartDate,
|
||||
req.EndDate);
|
||||
var ordainDay = leaveDays.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-006");
|
||||
var ordainDayCount = ordainDay != null ? ordainDay.SumLeaveDay : 0;
|
||||
var ordainCountData = leaveCounts.FirstOrDefault(x => x.KeycloakUserId == keycloakUserId && x.LeaveTypeCode == "LV-006");
|
||||
var ordainCount = ordainCountData != null ? ordainCountData.CountLeave : 0;
|
||||
|
||||
var timeStamps = await _processUserTimeStampRepository.GetTimeStampHistoryByRangeForUserAsync(p.Keycloak ?? Guid.Empty,
|
||||
req.StartDate,
|
||||
|
|
@ -1075,7 +998,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
var emp = new
|
||||
{
|
||||
no = count,
|
||||
fullName = _userProfileRepository.GetUserFullName(p.Keycloak ?? Guid.Empty, AccessToken),
|
||||
fullName = $"{p.Prefix}{p.FirstName} {p.LastName}",// _userProfileRepository.GetUserFullName(p.Keycloak ?? Guid.Empty, AccessToken),
|
||||
posNo = p.PosNoEmployee ?? "",
|
||||
reason = "",
|
||||
|
||||
|
|
@ -1173,7 +1096,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
|
||||
var timeStamps = await _processUserTimeStampRepository.GetTimestampByDateAsync(keycloakUserId, dd);
|
||||
|
||||
var fullName = _userProfileRepository.GetUserFullName(keycloakUserId, AccessToken);
|
||||
var fullName = $"{p.Prefix}{p.FirstName} {p.LastName}"; // _userProfileRepository.GetUserFullName(keycloakUserId, AccessToken);
|
||||
|
||||
|
||||
var defaultRound = await _dutyTimeRepository.GetDefaultAsync();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue