This commit is contained in:
parent
6d0921a76a
commit
4161fcc1cf
5 changed files with 62 additions and 4 deletions
|
|
@ -1888,6 +1888,37 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
|||
return 0;
|
||||
}
|
||||
|
||||
public async Task<double> GetSumApproveLeaveTotalByTypeAndRangeForUserByProfile(Guid profileId, Guid leaveTypeId, DateTime startDate, DateTime endDate)
|
||||
{
|
||||
var data = await _dbContext.Set<LeaveRequest>().AsQueryable().AsNoTracking()
|
||||
.Include(x => x.Type)
|
||||
.Where(x => x.ProfileId == profileId)
|
||||
.Where(x => x.Type.Id == leaveTypeId)
|
||||
.Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ??x.CreatedAt) <= endDate))
|
||||
//.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
|
||||
.Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
|
||||
.ToListAsync();
|
||||
|
||||
if (data.Count > 0)
|
||||
return data.Sum(x => x.LeaveTotal);
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
public async Task<int> GetSumApproveLeaveCountByTypeAndRangeForUserByProfile(Guid profileId, Guid leaveTypeId, DateTime startDate, DateTime endDate)
|
||||
{
|
||||
var data = await _dbContext.Set<LeaveRequest>().AsQueryable().AsNoTracking()
|
||||
.Include(x => x.Type)
|
||||
.Where(x => x.ProfileId == profileId)
|
||||
.Where(x => x.Type.Id == leaveTypeId)
|
||||
.Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ??x.CreatedAt) <= endDate))
|
||||
//.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
|
||||
.Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
|
||||
.ToListAsync();
|
||||
|
||||
return data.Count;
|
||||
}
|
||||
|
||||
public async Task<int> GetSumApproveLeaveCountByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate)
|
||||
{
|
||||
var data = await _dbContext.Set<LeaveRequest>().AsQueryable().AsNoTracking()
|
||||
|
|
|
|||
|
|
@ -95,6 +95,9 @@ namespace BMA.EHR.Domain.Common
|
|||
protected Guid? ProfileId => User.GetProfileId();
|
||||
protected string? Prefix => User.GetPrefix();
|
||||
protected string? FullNameFromClaim => User.GetName();
|
||||
|
||||
protected string? FirstName => User.GetFirstName();
|
||||
protected string? LastName => User.GetLastName();
|
||||
|
||||
#endregion
|
||||
|
||||
|
|
|
|||
|
|
@ -26,5 +26,7 @@ namespace BMA.EHR.Domain.Extensions
|
|||
public static Guid? GetProfileId(this ClaimsPrincipal user) => user.GetGuidClaim(BmaClaimTypes.ProfileId);
|
||||
public static string? GetPrefix(this ClaimsPrincipal user) => user.GetClaimValue(BmaClaimTypes.Prefix);
|
||||
public static string? GetName(this ClaimsPrincipal user) => user.GetClaimValue(BmaClaimTypes.Name);
|
||||
public static string? GetFirstName(this ClaimsPrincipal user) => user.GetClaimValue(BmaClaimTypes.GivenName);
|
||||
public static string? GetLastName(this ClaimsPrincipal user) => user.GetClaimValue(BmaClaimTypes.FamilyName);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -378,6 +378,15 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
try
|
||||
{
|
||||
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
|
||||
// var profileId = ProfileId ?? Guid.Empty;
|
||||
// var prefix = Prefix ?? "";
|
||||
// var firstName = FirstName ?? "";
|
||||
// var lastName = LastName ?? "";
|
||||
// var rootDnaId = OrgRootDnaId ?? Guid.Empty;
|
||||
// var child1DnaId = OrgChild1DnaId ?? Guid.Empty;
|
||||
// var child2DnaId = OrgChild2DnaId ?? Guid.Empty;
|
||||
// var child3DnaId = OrgChild3DnaId ?? Guid.Empty;
|
||||
// var child4DnaId = OrgChild4DnaId ?? Guid.Empty;
|
||||
|
||||
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_HISTORY");
|
||||
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
||||
|
|
@ -389,7 +398,6 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
if (leaveBeginning == null)
|
||||
return Error("ไม่พบข้อมูลที่ต้องการแก้ไข", StatusCodes.Status404NotFound);
|
||||
|
||||
|
||||
var profile = await _userProfileRepository.GetProfileByProfileIdAsync(req.ProfileId, AccessToken);
|
||||
if (profile == null)
|
||||
{
|
||||
|
|
@ -399,10 +407,11 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
var startFiscalDate = new DateTime(DateTime.Now.Year - 1, 10, 1);
|
||||
var endFiscalDate = new DateTime(DateTime.Now.Year, 9, 30);
|
||||
|
||||
|
||||
if (req.LeaveDaysUsed is null || req.LeaveCount is null)
|
||||
{
|
||||
var systemLeaveDays = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser2(profile.Keycloak ?? Guid.Empty, req.LeaveTypeId, startFiscalDate, endFiscalDate);
|
||||
var systemLeaveCount = await _leaveRequestRepository.GetSumApproveLeaveCountByTypeAndRangeForUser2(profile.Keycloak ?? Guid.Empty, req.LeaveTypeId, startFiscalDate, endFiscalDate);
|
||||
var systemLeaveDays = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUserByProfile(req.ProfileId, req.LeaveTypeId, startFiscalDate, endFiscalDate);
|
||||
var systemLeaveCount = await _leaveRequestRepository.GetSumApproveLeaveCountByTypeAndRangeForUserByProfile(req.ProfileId, req.LeaveTypeId, startFiscalDate, endFiscalDate);
|
||||
|
||||
leaveBeginning.LeaveDaysUsed = req.BeginningLeaveDays + systemLeaveDays;
|
||||
leaveBeginning.LeaveCount = req.BeginningLeaveCount + systemLeaveCount;
|
||||
|
|
@ -464,6 +473,17 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
try
|
||||
{
|
||||
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
|
||||
|
||||
// var profileId = ProfileId ?? Guid.Empty;
|
||||
// var prefix = Prefix ?? "";
|
||||
// var firstName = FirstName ?? "";
|
||||
// var lastName = LastName ?? "";
|
||||
// var rootDnaId = OrgRootDnaId ?? Guid.Empty;
|
||||
// var child1DnaId = OrgChild1DnaId ?? Guid.Empty;
|
||||
// var child2DnaId = OrgChild2DnaId ?? Guid.Empty;
|
||||
// var child3DnaId = OrgChild3DnaId ?? Guid.Empty;
|
||||
// var child4DnaId = OrgChild4DnaId ?? Guid.Empty;
|
||||
|
||||
var getPermission = await _permission.GetPermissionAPIAsync("CREATE", "SYS_LEAVE_HISTORY");
|
||||
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
||||
if (jsonData["status"]?.ToString() != "200")
|
||||
|
|
|
|||
|
|
@ -3815,7 +3815,9 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
"NORMAL",
|
||||
CheckOutDescription = d.CheckOutRemark ?? "",
|
||||
IsLocationCheckIn = d.IsLocationCheckIn,
|
||||
IsLocationCheckOut = d.IsLocationCheckOut
|
||||
IsLocationCheckOut = d.IsLocationCheckOut,
|
||||
CheckInLocationName = d.CheckInLocationName ?? "",
|
||||
CheckOutLocationName = d.CheckOutLocationName ?? ""
|
||||
};
|
||||
|
||||
return Success(result);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue