delete comment
This commit is contained in:
parent
559765dd86
commit
8ba9d349db
4 changed files with 74 additions and 203 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
using Amazon.S3.Model;
|
using Amazon.S3.Model;
|
||||||
using BMA.EHR.Application.Common.Interfaces;
|
using BMA.EHR.Application.Common.Interfaces;
|
||||||
using BMA.EHR.Application.Messaging;
|
using BMA.EHR.Application.Messaging;
|
||||||
|
using BMA.EHR.Application.Responses.Profiles;
|
||||||
using BMA.EHR.Domain.Extensions;
|
using BMA.EHR.Domain.Extensions;
|
||||||
using BMA.EHR.Domain.Models.Leave.Commons;
|
using BMA.EHR.Domain.Models.Leave.Commons;
|
||||||
using BMA.EHR.Domain.Models.Leave.Requests;
|
using BMA.EHR.Domain.Models.Leave.Requests;
|
||||||
|
|
@ -97,7 +98,6 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
await _dbContext.SaveChangesAsync();
|
await _dbContext.SaveChangesAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public async Task<LeaveBeginning?> GetByYearAndTypeIdForUserAsync(int year, Guid typeId, Guid userId)
|
public async Task<LeaveBeginning?> GetByYearAndTypeIdForUserAsync(int year, Guid typeId, Guid userId)
|
||||||
{
|
{
|
||||||
var pf = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
|
var pf = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
|
||||||
|
|
@ -165,6 +165,67 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<LeaveBeginning?> GetByYearAndTypeIdForUser(int year, Guid typeId, GetProfileByKeycloakIdDto? pf)
|
||||||
|
{
|
||||||
|
var govAge = (pf?.DateStart?.Date ?? DateTime.Now.Date).DiffDay(DateTime.Now.Date);
|
||||||
|
|
||||||
|
var leaveType = await _dbContext.Set<LeaveType>().FirstOrDefaultAsync(x => x.Id == typeId);
|
||||||
|
|
||||||
|
var data = await _dbContext.Set<LeaveBeginning>()
|
||||||
|
.Include(x => x.LeaveType)
|
||||||
|
.FirstOrDefaultAsync(x => x.LeaveYear == year && x.LeaveTypeId == typeId && x.ProfileId == pf.Id);
|
||||||
|
|
||||||
|
if (data == null)
|
||||||
|
{
|
||||||
|
var limit = 0.0;
|
||||||
|
|
||||||
|
var prev = await _dbContext.Set<LeaveBeginning>()
|
||||||
|
.Include(x => x.LeaveType)
|
||||||
|
.FirstOrDefaultAsync(x => x.LeaveYear == year - 1 && x.LeaveTypeId == typeId && x.ProfileId == pf.Id);
|
||||||
|
|
||||||
|
var prevRemain = 0.0;
|
||||||
|
if (prev != null)
|
||||||
|
{
|
||||||
|
prevRemain = prev.LeaveDays - prev.LeaveDaysUsed;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (govAge >= 180)
|
||||||
|
{
|
||||||
|
if (govAge >= 3650)
|
||||||
|
{
|
||||||
|
limit = 10 + prevRemain;
|
||||||
|
if (limit > 30) limit = 30;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
limit = 10 + prevRemain;
|
||||||
|
if (limit > 20) limit = 20;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
limit = 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
data = new LeaveBeginning
|
||||||
|
{
|
||||||
|
LeaveYear = year,
|
||||||
|
LeaveTypeId = typeId,
|
||||||
|
ProfileId = pf.Id,
|
||||||
|
Prefix = pf.Prefix,
|
||||||
|
FirstName = pf.FirstName,
|
||||||
|
LastName = pf.LastName,
|
||||||
|
LeaveDaysUsed = 0,
|
||||||
|
LeaveDays = leaveType?.Code == "LV-005" ? limit : 0
|
||||||
|
};
|
||||||
|
|
||||||
|
_dbContext.Set<LeaveBeginning>().Add(data);
|
||||||
|
await _dbContext.SaveChangesAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
public async Task<LeaveBeginning?> GetByYearAndTypeIdForUser2Async(int year, Guid typeId, Guid userId)
|
public async Task<LeaveBeginning?> GetByYearAndTypeIdForUser2Async(int year, Guid typeId, Guid userId)
|
||||||
{
|
{
|
||||||
var pf = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
|
var pf = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ using BMA.EHR.Domain.Models.Organizations;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
using Nest;
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace BMA.EHR.Application.Repositories
|
namespace BMA.EHR.Application.Repositories
|
||||||
|
|
|
||||||
|
|
@ -149,24 +149,8 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
await _leaveRequestRepository.GetLastLeaveRequestByTypeForUserAsync(data.KeycloakUserId,
|
await _leaveRequestRepository.GetLastLeaveRequestByTypeForUserAsync(data.KeycloakUserId,
|
||||||
data.Type.Id, data.LeaveStartDate.Date);
|
data.Type.Id, data.LeaveStartDate.Date);
|
||||||
|
|
||||||
//var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
|
||||||
//var approver = string.Empty;
|
|
||||||
//if (rootOc != null)
|
|
||||||
//{
|
|
||||||
// var list = await _commandRepository.GetOrgApproverAsync(rootOc ?? Guid.Empty);
|
|
||||||
// if (list.Count > 0)
|
|
||||||
// approver = list.First().Name;
|
|
||||||
//}
|
|
||||||
|
|
||||||
//var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveByTypeForUserAsync(data.KeycloakUserId, data.Type.Id, data.LeaveStartDate.Year);
|
|
||||||
//GetSumApproveLeaveByRangeForUser
|
|
||||||
|
|
||||||
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 leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUserAsync(data.LeaveStartDate.Year, data.Type.Id, data.KeycloakUserId);
|
|
||||||
//var sumLeave = leaveData == null ? 0 : leaveData.LeaveDaysUsed;
|
|
||||||
|
|
||||||
var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear);
|
var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear);
|
||||||
|
|
||||||
return new
|
return new
|
||||||
|
|
@ -211,17 +195,6 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
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 approver = string.Empty;
|
|
||||||
//if (rootOc != null)
|
|
||||||
//{
|
|
||||||
// var list = await _commandRepository.GetOrgApproverAsync(rootOc ?? Guid.Empty);
|
|
||||||
// if (list.Count > 0)
|
|
||||||
// approver = list.First().Name;
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
template = "leave10",
|
template = "leave10",
|
||||||
|
|
@ -250,47 +223,22 @@ 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)
|
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 approver = string.Empty;
|
|
||||||
//if (rootOc != null)
|
|
||||||
//{
|
|
||||||
// var list = await _commandRepository.GetOrgApproverAsync(rootOc ?? Guid.Empty);
|
|
||||||
// if (list.Count > 0)
|
|
||||||
// approver = list.First().Name;
|
|
||||||
//}
|
|
||||||
|
|
||||||
//var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveByTypeForUserAsync(data.KeycloakUserId, data.Type.Id, data.LeaveStartDate.Year);
|
|
||||||
|
|
||||||
//var userCalendar = await _userCalendarRepository.GetExist(profile.Id);
|
|
||||||
//var category = userCalendar == null ? "NORMAL" : userCalendar.Calendar;
|
|
||||||
|
|
||||||
//var sumWorkDay = await _holidayRepository.GetHolidayCountAsync(data.LeaveStartDate.Date, data.LeaveEndDate.Date, category);
|
|
||||||
|
|
||||||
//var sumWeekend = _holidayRepository.GetWeekEndCount(data.LeaveStartDate.Date, data.LeaveEndDate.Date, category);
|
|
||||||
|
|
||||||
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 thisYear = data.LeaveStartDate.Year;
|
var thisYear = data.LeaveStartDate.Year;
|
||||||
var toDay = data.LeaveStartDate.Date;
|
var toDay = data.LeaveStartDate.Date;
|
||||||
if(toDay >= new DateTime(toDay.Year, 10, 1) && toDay <= new DateTime(toDay.Year, 12, 31))
|
if (toDay >= new DateTime(toDay.Year, 10, 1) && toDay <= new DateTime(toDay.Year, 12, 31))
|
||||||
thisYear = thisYear + 1;
|
thisYear = thisYear + 1;
|
||||||
|
|
||||||
var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUserAsync(thisYear, data.Type.Id, data.KeycloakUserId);
|
var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUserAsync(thisYear, data.Type.Id, data.KeycloakUserId);
|
||||||
//var sumLeave = leaveData == null ? 0 : leaveData.LeaveDaysUsed;
|
|
||||||
|
|
||||||
var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear);
|
var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear);
|
||||||
|
|
||||||
|
|
@ -298,7 +246,6 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var leaveLimit = leaveData == null ? 0.0 : leaveData.LeaveDays;
|
var leaveLimit = leaveData == null ? 0.0 : leaveData.LeaveDays;
|
||||||
var extendLeave = leaveLimit - 10;
|
var extendLeave = leaveLimit - 10;
|
||||||
|
|
||||||
|
|
||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
template = "leave11",
|
template = "leave11",
|
||||||
|
|
@ -318,9 +265,6 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
restDayOldTotal = extendLeave.ToString().ToThaiNumber(),
|
restDayOldTotal = extendLeave.ToString().ToThaiNumber(),
|
||||||
restDayCurrentTotal = (10).ToString().ToThaiNumber(),
|
restDayCurrentTotal = (10).ToString().ToThaiNumber(),
|
||||||
|
|
||||||
//restDayOldTotal = data.RestDayOldTotal.ToString().ToThaiNumber(),
|
|
||||||
//restDayCurrentTotal = data.RestDayCurrentTotal.ToString().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(),
|
||||||
|
|
||||||
|
|
@ -2193,7 +2137,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
range.Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;
|
range.Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;
|
||||||
range.Style.Font.Bold = true;
|
range.Style.Font.Bold = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
worksheet.Cells[2, 1].Value = organizationName;
|
worksheet.Cells[2, 1].Value = organizationName;
|
||||||
worksheet.Cells[3, 1].Value = dateTimeStamp;
|
worksheet.Cells[3, 1].Value = dateTimeStamp;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -848,7 +848,6 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
}
|
}
|
||||||
|
|
||||||
var leaveLimit = 0.0;
|
var leaveLimit = 0.0;
|
||||||
var remainPrev = 0.0;
|
|
||||||
|
|
||||||
|
|
||||||
var orgName = "";
|
var orgName = "";
|
||||||
|
|
@ -869,59 +868,16 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
if (leaveType.Code.Trim().ToUpper() == "LV-005")
|
if (leaveType.Code.Trim().ToUpper() == "LV-005")
|
||||||
{
|
{
|
||||||
leaveLimit = leaveData == null ? 0 : leaveData.LeaveDays;
|
leaveLimit = leaveData == null ? 0 : leaveData.LeaveDays;
|
||||||
|
|
||||||
|
|
||||||
//var beginningLeave = await _leaveBeginningRepository.GetByYearAndTypeIdAsync(thisYear, leaveType.Id);
|
|
||||||
|
|
||||||
//if (govAge >= 180)
|
|
||||||
//{
|
|
||||||
// var leavePrevYear = (await _leaveRequestRepository.GetSumApproveLeaveAsync(thisYear)).Where(x => x.LeaveTypeCode == "LV-005" && x.KeycloakUserId == userId).FirstOrDefault();
|
|
||||||
// if (govAge >= 3650)
|
|
||||||
// {
|
|
||||||
// leaveLimit = beginningLeave != null ? beginningLeave.LeaveDays : 30 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay);
|
|
||||||
// remainPrev = beginningLeave != null ? beginningLeave.LeaveDays : 30 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน
|
|
||||||
// if (remainPrev >= 20) remainPrev = 20;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// leaveLimit = beginningLeave != null ? beginningLeave.LeaveDays : 20 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay);
|
|
||||||
// remainPrev = beginningLeave != null ? beginningLeave.LeaveDays : 20 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน
|
|
||||||
// if (remainPrev >= 10) remainPrev = 10;
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
//{
|
|
||||||
// leaveLimit = 0;
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
leaveLimit = leaveType.Limit;
|
leaveLimit = leaveType.Limit;
|
||||||
|
|
||||||
|
|
||||||
//var sumLeave = await _leaveRequestRepository.GetSumLeaveByTypeForUserAsync(userId, req.Type, thisYear);
|
|
||||||
var restOldDay = leaveData == null ? 0 : leaveData.LeaveDays - 10;
|
var restOldDay = leaveData == null ? 0 : leaveData.LeaveDays - 10;
|
||||||
var restCurrentDay = 10.0;
|
var restCurrentDay = 10.0;
|
||||||
var sumLeave = leaveData == null ? 0 : leaveData.LeaveDaysUsed;
|
var sumLeave = leaveData == null ? 0 : leaveData.LeaveDaysUsed;
|
||||||
|
|
||||||
//if (leaveType.Code.Trim().ToUpper() == "LV-005")
|
|
||||||
//{
|
|
||||||
// restOldDay = remainPrev;
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
// restOldDay = await _leaveRequestRepository.GetRestDayTotalByYearForUserAsync(userId, thisYear - 1);
|
|
||||||
|
|
||||||
var lastSalary = profile.ProfileSalary;
|
var lastSalary = profile.ProfileSalary;
|
||||||
|
|
||||||
//var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
|
||||||
//var approver = profile.Commander ?? "";
|
|
||||||
//var userOc = profile.Root ?? "";
|
|
||||||
//if (rootOc != null)
|
|
||||||
//{
|
|
||||||
// var list = await _commandRepository.GetOrgApproverAsync(rootOc ?? Guid.Empty);
|
|
||||||
// if (list.Count > 0)
|
|
||||||
// approver = list.First().Name;
|
|
||||||
//}
|
|
||||||
|
|
||||||
var leaveLast = await _leaveRequestRepository.GetLeaveLastByTypeForUserAsync(userId, req.Type);
|
var leaveLast = await _leaveRequestRepository.GetLeaveLastByTypeForUserAsync(userId, req.Type);
|
||||||
|
|
||||||
var result = new GetUserLeaveProfileResultDto
|
var result = new GetUserLeaveProfileResultDto
|
||||||
|
|
@ -1349,7 +1305,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
// return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
// return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var rawData =
|
var rawData =
|
||||||
await _leaveRequestRepository.GetLeaveRequestByUserIdAsync(userId, req.Year, req.Type, req.Status);
|
await _leaveRequestRepository.GetLeaveRequestByUserIdAsync(userId, req.Year, req.Type, req.Status);
|
||||||
|
|
@ -1477,8 +1433,6 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||||
public async Task<ActionResult<ResponseObject>> GetLeaveRequestByIdAsync(Guid id)
|
public async Task<ActionResult<ResponseObject>> GetLeaveRequestByIdAsync(Guid id)
|
||||||
{
|
{
|
||||||
//var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
|
|
||||||
|
|
||||||
var rawData = await _leaveRequestRepository.GetByIdAsync(id);
|
var rawData = await _leaveRequestRepository.GetByIdAsync(id);
|
||||||
|
|
||||||
var thisYear = DateTime.Now.Year;
|
var thisYear = DateTime.Now.Year;
|
||||||
|
|
@ -2297,8 +2251,8 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
}
|
}
|
||||||
var thisYear = DateTime.Now.Year;
|
var thisYear = DateTime.Now.Year;
|
||||||
var toDay = DateTime.Now.Date;
|
var toDay = DateTime.Now.Date;
|
||||||
if(toDay >= new DateTime(toDay.Year, 10, 1) && toDay <= new DateTime(toDay.Year, 12, 31))
|
if (toDay >= new DateTime(toDay.Year, 10, 1) && toDay <= new DateTime(toDay.Year, 12, 31))
|
||||||
thisYear = thisYear + 1;
|
thisYear = thisYear + 1;
|
||||||
|
|
||||||
//var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId, AccessToken);
|
//var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId, AccessToken);
|
||||||
|
|
||||||
|
|
@ -2355,70 +2309,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
if (rawData.Type.Code == "LV-005")
|
if (rawData.Type.Code == "LV-005")
|
||||||
{
|
{
|
||||||
//var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUserAsync(thisYear, leaveType.Id, userId);
|
|
||||||
leaveLimit = leaveData == null ? 0.0 : leaveData.LeaveDays;
|
leaveLimit = leaveData == null ? 0.0 : leaveData.LeaveDays;
|
||||||
extendLeave = leaveLimit - 10;
|
extendLeave = leaveLimit - 10;
|
||||||
|
|
||||||
//var beginningLeave = await _leaveBeginningRepository.GetByYearAndTypeIdAsync(thisYear, leaveType.Id);
|
|
||||||
|
|
||||||
//var apprvPrevData = approvePrevYear.FirstOrDefault(x => x.KeycloakUserId == userId && x.LeaveTypeId == leaveType.Id);
|
|
||||||
//var apprvPrev = apprvPrevData == null ? 0 : apprvPrevData.SumLeaveDay;
|
|
||||||
|
|
||||||
//var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
|
|
||||||
//var govAge = (profile?.DateStart?.Date ?? DateTime.Now.Date).DiffDay(DateTime.Now.Date);
|
|
||||||
|
|
||||||
//if (govAge >= 180)
|
|
||||||
//{
|
|
||||||
// if (govAge >= 3650)
|
|
||||||
// {
|
|
||||||
// // ถ้าอายุราชการเกิน 10 ปี ได้บวกเพิ่มอีก 10 วัน
|
|
||||||
// extendLeave = beginningLeave != null ? beginningLeave.LeaveDays : 30 - apprvPrev; // หายอดวันลาที่เหลือของปีก่อน
|
|
||||||
// if (extendLeave >= 20) extendLeave = 20;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// extendLeave = beginningLeave != null ? beginningLeave.LeaveDays : 20 - apprvPrev; // หายอดวันลาที่เหลือของปีก่อน
|
|
||||||
// if (extendLeave >= 10) extendLeave = 10;
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
// leaveLimit = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// #1136
|
|
||||||
//var extendLeave = 0.0;
|
|
||||||
//var leaveLimit = rawData.Type.Limit;
|
|
||||||
|
|
||||||
//var approvePrevYear = await _leaveRequestRepository.GetSumApproveLeaveAsync(thisYear - 1);
|
|
||||||
|
|
||||||
//if (rawData.Type.Code == "LV-005")
|
|
||||||
//{
|
|
||||||
// var beginningLeave = await _leaveBeginningRepository.GetByYearAndTypeIdAsync(thisYear, rawData.Type.Id);
|
|
||||||
|
|
||||||
// var apprvPrevData = approvePrevYear.FirstOrDefault(x => x.KeycloakUserId == rawData.KeycloakUserId && x.LeaveTypeId == rawData.Type.Id);
|
|
||||||
// var apprvPrev = apprvPrevData == null ? 0 : apprvPrevData.SumLeaveDay;
|
|
||||||
|
|
||||||
// var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId, AccessToken);
|
|
||||||
// var govAge = (profile?.DateStart?.Date ?? DateTime.Now.Date).DiffDay(DateTime.Now.Date);
|
|
||||||
|
|
||||||
// if (govAge >= 180)
|
|
||||||
// {
|
|
||||||
// if (govAge >= 3650)
|
|
||||||
// {
|
|
||||||
// // ถ้าอายุราชการเกิน 10 ปี ได้บวกเพิ่มอีก 10 วัน
|
|
||||||
// extendLeave = beginningLeave != null ? beginningLeave.LeaveDays : 30 - apprvPrev; // หายอดวันลาที่เหลือของปีก่อน
|
|
||||||
// if (extendLeave >= 20) extendLeave = 20;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// extendLeave = beginningLeave != null ? beginningLeave.LeaveDays : 20 - apprvPrev; // หายอดวันลาที่เหลือของปีก่อน
|
|
||||||
// if (extendLeave >= 10) extendLeave = 10;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// leaveLimit = 0;
|
|
||||||
//}
|
|
||||||
|
|
||||||
var result = new GetLeaveRequestForAdminByIdDto
|
var result = new GetLeaveRequestForAdminByIdDto
|
||||||
{
|
{
|
||||||
Id = rawData.Id,
|
Id = rawData.Id,
|
||||||
|
|
@ -2594,22 +2488,21 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
thisYear = thisYear + 1;
|
thisYear = thisYear + 1;
|
||||||
|
|
||||||
var sendList = await _leaveRequestRepository.GetSumSendLeaveAsync(thisYear);
|
var sendList = await _leaveRequestRepository.GetSumSendLeaveAsync(thisYear);
|
||||||
//var approveList = await _leaveRequestRepository.GetSumApproveLeaveAsync(thisYear);
|
|
||||||
var rejectList = await _leaveRequestRepository.GetSumRejectLeaveAsync(thisYear);
|
var rejectList = await _leaveRequestRepository.GetSumRejectLeaveAsync(thisYear);
|
||||||
var deleteList = await _leaveRequestRepository.GetSumDeleteLeaveAsync(thisYear);
|
var deleteList = await _leaveRequestRepository.GetSumDeleteLeaveAsync(thisYear);
|
||||||
|
|
||||||
//var approvePrevYear = await _leaveRequestRepository.GetSumApproveLeaveAsync(thisYear - 1);
|
|
||||||
|
|
||||||
var result = new List<dynamic>();
|
var result = new List<dynamic>();
|
||||||
|
var pf = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
|
||||||
|
if (pf == null)
|
||||||
|
{
|
||||||
|
throw new Exception(GlobalMessages.DataNotFound);
|
||||||
|
}
|
||||||
foreach (var leaveType in leaveTypes)
|
foreach (var leaveType in leaveTypes)
|
||||||
{
|
{
|
||||||
var sendData = sendList.FirstOrDefault(x => x.KeycloakUserId == userId && x.LeaveTypeId == leaveType.Id);
|
var sendData = sendList.FirstOrDefault(x => x.KeycloakUserId == userId && x.LeaveTypeId == leaveType.Id);
|
||||||
var send = sendData == null ? 0 : sendData.SumLeaveDay;
|
var send = sendData == null ? 0 : sendData.SumLeaveDay;
|
||||||
|
|
||||||
//var approveData = approveList.FirstOrDefault(x => x.KeycloakUserId == userId && x.LeaveTypeId == leaveType.Id);
|
var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUser(thisYear, leaveType.Id, pf);
|
||||||
//var approve = approveData == null ? 0 : approveData.SumLeaveDay;
|
|
||||||
|
|
||||||
var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUserAsync(thisYear, leaveType.Id, userId);
|
|
||||||
var approve = leaveData == null ? 0 : leaveData.LeaveDaysUsed;
|
var approve = leaveData == null ? 0 : leaveData.LeaveDaysUsed;
|
||||||
|
|
||||||
var rejectData = rejectList.FirstOrDefault(x => x.KeycloakUserId == userId && x.LeaveTypeId == leaveType.Id);
|
var rejectData = rejectList.FirstOrDefault(x => x.KeycloakUserId == userId && x.LeaveTypeId == leaveType.Id);
|
||||||
|
|
@ -2625,34 +2518,8 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
if (leaveType.Code == "LV-005")
|
if (leaveType.Code == "LV-005")
|
||||||
{
|
{
|
||||||
//var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUserAsync(thisYear, leaveType.Id, userId);
|
|
||||||
leaveLimit = leaveData == null ? 0.0 : leaveData.LeaveDays;
|
leaveLimit = leaveData == null ? 0.0 : leaveData.LeaveDays;
|
||||||
extendLeave = leaveLimit - 10;
|
extendLeave = leaveLimit - 10;
|
||||||
|
|
||||||
//var beginningLeave = await _leaveBeginningRepository.GetByYearAndTypeIdAsync(thisYear, leaveType.Id);
|
|
||||||
|
|
||||||
//var apprvPrevData = approvePrevYear.FirstOrDefault(x => x.KeycloakUserId == userId && x.LeaveTypeId == leaveType.Id);
|
|
||||||
//var apprvPrev = apprvPrevData == null ? 0 : apprvPrevData.SumLeaveDay;
|
|
||||||
|
|
||||||
//var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
|
|
||||||
//var govAge = (profile?.DateStart?.Date ?? DateTime.Now.Date).DiffDay(DateTime.Now.Date);
|
|
||||||
|
|
||||||
//if (govAge >= 180)
|
|
||||||
//{
|
|
||||||
// if (govAge >= 3650)
|
|
||||||
// {
|
|
||||||
// // ถ้าอายุราชการเกิน 10 ปี ได้บวกเพิ่มอีก 10 วัน
|
|
||||||
// extendLeave = beginningLeave != null ? beginningLeave.LeaveDays : 30 - apprvPrev; // หายอดวันลาที่เหลือของปีก่อน
|
|
||||||
// if (extendLeave >= 20) extendLeave = 20;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// extendLeave = beginningLeave != null ? beginningLeave.LeaveDays : 20 - apprvPrev; // หายอดวันลาที่เหลือของปีก่อน
|
|
||||||
// if (extendLeave >= 10) extendLeave = 10;
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
// leaveLimit = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var data = new
|
var data = new
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue