This commit is contained in:
parent
c1597c4a5c
commit
0451b9e3e1
1 changed files with 63 additions and 25 deletions
|
|
@ -17,6 +17,7 @@ using Microsoft.EntityFrameworkCore;
|
|||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Org.BouncyCastle.Asn1.Pkcs;
|
||||
using Sentry;
|
||||
using Swashbuckle.AspNetCore.Annotations;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Security.Claims;
|
||||
|
|
@ -2204,40 +2205,77 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
if (rawData.Root != null && rawData.Root != "")
|
||||
orgName += $" {rawData.Root}";
|
||||
|
||||
// #1136
|
||||
var extendLeave = 0.0;
|
||||
var leaveLimit = rawData.Type.Limit;
|
||||
var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUserAsync(thisYear, rawData.Type.Id, rawData.KeycloakUserId);
|
||||
|
||||
var approvePrevYear = await _leaveRequestRepository.GetSumApproveLeaveAsync(thisYear - 1);
|
||||
var extendLeave = 0.0;
|
||||
var leaveLimit = (double)rawData.Type.Limit;
|
||||
|
||||
if (rawData.Type.Code == "LV-005")
|
||||
{
|
||||
var beginningLeave = await _leaveBeginningRepository.GetByYearAndTypeIdAsync(thisYear, rawData.Type.Id);
|
||||
//var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUserAsync(thisYear, leaveType.Id, userId);
|
||||
leaveLimit = leaveData == null ? 0.0 : leaveData.LeaveDays;
|
||||
extendLeave = leaveLimit - 10;
|
||||
|
||||
var apprvPrevData = approvePrevYear.FirstOrDefault(x => x.KeycloakUserId == rawData.KeycloakUserId && x.LeaveTypeId == rawData.Type.Id);
|
||||
var apprvPrev = apprvPrevData == null ? 0 : apprvPrevData.SumLeaveDay;
|
||||
//var beginningLeave = await _leaveBeginningRepository.GetByYearAndTypeIdAsync(thisYear, leaveType.Id);
|
||||
|
||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId, AccessToken);
|
||||
var govAge = (profile?.DateStart?.Date ?? DateTime.Now.Date).DiffDay(DateTime.Now.Date);
|
||||
//var apprvPrevData = approvePrevYear.FirstOrDefault(x => x.KeycloakUserId == userId && x.LeaveTypeId == leaveType.Id);
|
||||
//var apprvPrev = apprvPrevData == null ? 0 : apprvPrevData.SumLeaveDay;
|
||||
|
||||
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 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
|
||||
{
|
||||
Id = rawData.Id,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue