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;
|
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)
|
public async Task<int> GetSumApproveLeaveCountByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate)
|
||||||
{
|
{
|
||||||
var data = await _dbContext.Set<LeaveRequest>().AsQueryable().AsNoTracking()
|
var data = await _dbContext.Set<LeaveRequest>().AsQueryable().AsNoTracking()
|
||||||
|
|
|
||||||
|
|
@ -95,6 +95,9 @@ namespace BMA.EHR.Domain.Common
|
||||||
protected Guid? ProfileId => User.GetProfileId();
|
protected Guid? ProfileId => User.GetProfileId();
|
||||||
protected string? Prefix => User.GetPrefix();
|
protected string? Prefix => User.GetPrefix();
|
||||||
protected string? FullNameFromClaim => User.GetName();
|
protected string? FullNameFromClaim => User.GetName();
|
||||||
|
|
||||||
|
protected string? FirstName => User.GetFirstName();
|
||||||
|
protected string? LastName => User.GetLastName();
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,5 +26,7 @@ namespace BMA.EHR.Domain.Extensions
|
||||||
public static Guid? GetProfileId(this ClaimsPrincipal user) => user.GetGuidClaim(BmaClaimTypes.ProfileId);
|
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? GetPrefix(this ClaimsPrincipal user) => user.GetClaimValue(BmaClaimTypes.Prefix);
|
||||||
public static string? GetName(this ClaimsPrincipal user) => user.GetClaimValue(BmaClaimTypes.Name);
|
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
|
try
|
||||||
{
|
{
|
||||||
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
|
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 getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_HISTORY");
|
||||||
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
||||||
|
|
@ -389,7 +398,6 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
if (leaveBeginning == null)
|
if (leaveBeginning == null)
|
||||||
return Error("ไม่พบข้อมูลที่ต้องการแก้ไข", StatusCodes.Status404NotFound);
|
return Error("ไม่พบข้อมูลที่ต้องการแก้ไข", StatusCodes.Status404NotFound);
|
||||||
|
|
||||||
|
|
||||||
var profile = await _userProfileRepository.GetProfileByProfileIdAsync(req.ProfileId, AccessToken);
|
var profile = await _userProfileRepository.GetProfileByProfileIdAsync(req.ProfileId, AccessToken);
|
||||||
if (profile == null)
|
if (profile == null)
|
||||||
{
|
{
|
||||||
|
|
@ -399,10 +407,11 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var startFiscalDate = new DateTime(DateTime.Now.Year - 1, 10, 1);
|
var startFiscalDate = new DateTime(DateTime.Now.Year - 1, 10, 1);
|
||||||
var endFiscalDate = new DateTime(DateTime.Now.Year, 9, 30);
|
var endFiscalDate = new DateTime(DateTime.Now.Year, 9, 30);
|
||||||
|
|
||||||
|
|
||||||
if (req.LeaveDaysUsed is null || req.LeaveCount is null)
|
if (req.LeaveDaysUsed is null || req.LeaveCount is null)
|
||||||
{
|
{
|
||||||
var systemLeaveDays = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser2(profile.Keycloak ?? Guid.Empty, req.LeaveTypeId, startFiscalDate, endFiscalDate);
|
var systemLeaveDays = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUserByProfile(req.ProfileId, req.LeaveTypeId, startFiscalDate, endFiscalDate);
|
||||||
var systemLeaveCount = await _leaveRequestRepository.GetSumApproveLeaveCountByTypeAndRangeForUser2(profile.Keycloak ?? Guid.Empty, req.LeaveTypeId, startFiscalDate, endFiscalDate);
|
var systemLeaveCount = await _leaveRequestRepository.GetSumApproveLeaveCountByTypeAndRangeForUserByProfile(req.ProfileId, req.LeaveTypeId, startFiscalDate, endFiscalDate);
|
||||||
|
|
||||||
leaveBeginning.LeaveDaysUsed = req.BeginningLeaveDays + systemLeaveDays;
|
leaveBeginning.LeaveDaysUsed = req.BeginningLeaveDays + systemLeaveDays;
|
||||||
leaveBeginning.LeaveCount = req.BeginningLeaveCount + systemLeaveCount;
|
leaveBeginning.LeaveCount = req.BeginningLeaveCount + systemLeaveCount;
|
||||||
|
|
@ -464,6 +473,17 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
|
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 getPermission = await _permission.GetPermissionAPIAsync("CREATE", "SYS_LEAVE_HISTORY");
|
||||||
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
||||||
if (jsonData["status"]?.ToString() != "200")
|
if (jsonData["status"]?.ToString() != "200")
|
||||||
|
|
|
||||||
|
|
@ -3815,7 +3815,9 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
"NORMAL",
|
"NORMAL",
|
||||||
CheckOutDescription = d.CheckOutRemark ?? "",
|
CheckOutDescription = d.CheckOutRemark ?? "",
|
||||||
IsLocationCheckIn = d.IsLocationCheckIn,
|
IsLocationCheckIn = d.IsLocationCheckIn,
|
||||||
IsLocationCheckOut = d.IsLocationCheckOut
|
IsLocationCheckOut = d.IsLocationCheckOut,
|
||||||
|
CheckInLocationName = d.CheckInLocationName ?? "",
|
||||||
|
CheckOutLocationName = d.CheckOutLocationName ?? ""
|
||||||
};
|
};
|
||||||
|
|
||||||
return Success(result);
|
return Success(result);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue