fix LeaveBeggining Add รายการใหม่เมื่อมีการตรวจสอบ auto ไม่ต้องใช้ cronjob เพราะว่ารายการจะเขอะเกินไป
This commit is contained in:
parent
746f435ca8
commit
749b2b68a1
3 changed files with 172 additions and 83 deletions
|
|
@ -1,6 +1,10 @@
|
||||||
using BMA.EHR.Application.Common.Interfaces;
|
using Amazon.S3.Model;
|
||||||
|
using BMA.EHR.Application.Common.Interfaces;
|
||||||
using BMA.EHR.Application.Messaging;
|
using BMA.EHR.Application.Messaging;
|
||||||
|
using BMA.EHR.Domain.Extensions;
|
||||||
|
using BMA.EHR.Domain.Models.Leave.Commons;
|
||||||
using BMA.EHR.Domain.Models.Leave.Requests;
|
using BMA.EHR.Domain.Models.Leave.Requests;
|
||||||
|
using BMA.EHR.Domain.Shared;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
|
|
@ -64,9 +68,81 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
|
|
||||||
public async Task<LeaveBeginning?> GetByYearAndTypeIdAsync(int year, Guid typeId)
|
public async Task<LeaveBeginning?> GetByYearAndTypeIdAsync(int year, Guid typeId)
|
||||||
{
|
{
|
||||||
return await _dbContext.Set<LeaveBeginning>()
|
var data = await _dbContext.Set<LeaveBeginning>()
|
||||||
.Include(x => x.LeaveType)
|
.Include(x => x.LeaveType)
|
||||||
.FirstOrDefaultAsync(x => x.LeaveYear == year && x.LeaveTypeId == typeId);
|
.FirstOrDefaultAsync(x => x.LeaveYear == year && x.LeaveTypeId == typeId);
|
||||||
|
|
||||||
|
|
||||||
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public async Task<LeaveBeginning?> GetByYearAndTypeIdForUserAsync(int year, Guid typeId, Guid userId)
|
||||||
|
{
|
||||||
|
var pf = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
|
||||||
|
if (pf == null)
|
||||||
|
{
|
||||||
|
throw new Exception(GlobalMessages.DataNotFound);
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -840,46 +840,52 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
if (profile.Root != null && profile.Root != "")
|
if (profile.Root != null && profile.Root != "")
|
||||||
orgName += $" {profile.Root}";
|
orgName += $" {profile.Root}";
|
||||||
|
|
||||||
|
var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUserAsync(thisYear, req.Type, userId);
|
||||||
|
|
||||||
|
|
||||||
if (leaveType.Code.Trim().ToUpper() == "LV-005")
|
if (leaveType.Code.Trim().ToUpper() == "LV-005")
|
||||||
{
|
{
|
||||||
var beginningLeave = await _leaveBeginningRepository.GetByYearAndTypeIdAsync(thisYear, leaveType.Id);
|
leaveLimit = leaveData == null ? 0 : leaveData.LeaveDays;
|
||||||
|
|
||||||
if (govAge >= 180)
|
|
||||||
{
|
//var beginningLeave = await _leaveBeginningRepository.GetByYearAndTypeIdAsync(thisYear, leaveType.Id);
|
||||||
var leavePrevYear = (await _leaveRequestRepository.GetSumApproveLeaveAsync(thisYear)).Where(x => x.LeaveTypeCode == "LV-005" && x.KeycloakUserId == userId).FirstOrDefault();
|
|
||||||
if (govAge >= 3650)
|
//if (govAge >= 180)
|
||||||
{
|
//{
|
||||||
leaveLimit = beginningLeave != null ? beginningLeave.LeaveDays : 30 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay);
|
// var leavePrevYear = (await _leaveRequestRepository.GetSumApproveLeaveAsync(thisYear)).Where(x => x.LeaveTypeCode == "LV-005" && x.KeycloakUserId == userId).FirstOrDefault();
|
||||||
remainPrev = beginningLeave != null ? beginningLeave.LeaveDays : 30 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน
|
// if (govAge >= 3650)
|
||||||
if (remainPrev >= 20) remainPrev = 20;
|
// {
|
||||||
}
|
// leaveLimit = beginningLeave != null ? beginningLeave.LeaveDays : 30 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay);
|
||||||
else
|
// remainPrev = beginningLeave != null ? beginningLeave.LeaveDays : 30 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน
|
||||||
{
|
// if (remainPrev >= 20) remainPrev = 20;
|
||||||
leaveLimit = beginningLeave != null ? beginningLeave.LeaveDays : 20 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay);
|
// }
|
||||||
remainPrev = beginningLeave != null ? beginningLeave.LeaveDays : 20 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน
|
// else
|
||||||
if (remainPrev >= 10) remainPrev = 10;
|
// {
|
||||||
}
|
// leaveLimit = beginningLeave != null ? beginningLeave.LeaveDays : 20 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay);
|
||||||
}
|
// remainPrev = beginningLeave != null ? beginningLeave.LeaveDays : 20 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน
|
||||||
else
|
// if (remainPrev >= 10) remainPrev = 10;
|
||||||
{
|
// }
|
||||||
leaveLimit = 0;
|
//}
|
||||||
}
|
//else
|
||||||
|
//{
|
||||||
|
// leaveLimit = 0;
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
leaveLimit = leaveType.Limit;
|
leaveLimit = leaveType.Limit;
|
||||||
|
|
||||||
|
|
||||||
var sumLeave = await _leaveRequestRepository.GetSumLeaveByTypeForUserAsync(userId, req.Type, thisYear);
|
//var sumLeave = await _leaveRequestRepository.GetSumLeaveByTypeForUserAsync(userId, req.Type, thisYear);
|
||||||
var restOldDay = 0.00;
|
var restOldDay = leaveData == null ? 0 : leaveData.LeaveDays - 10;
|
||||||
if (leaveType.Code.Trim().ToUpper() == "LV-005")
|
var restCurrentDay = 10.0;
|
||||||
{
|
var sumLeave = leaveData == null ? 0 : leaveData.LeaveDaysUsed;
|
||||||
restOldDay = remainPrev;
|
|
||||||
}
|
//if (leaveType.Code.Trim().ToUpper() == "LV-005")
|
||||||
else
|
//{
|
||||||
restOldDay = await _leaveRequestRepository.GetRestDayTotalByYearForUserAsync(userId, thisYear - 1);
|
// restOldDay = remainPrev;
|
||||||
|
//}
|
||||||
|
//else
|
||||||
|
// restOldDay = await _leaveRequestRepository.GetRestDayTotalByYearForUserAsync(userId, thisYear - 1);
|
||||||
|
|
||||||
var lastSalary = profile.ProfileSalary;
|
var lastSalary = profile.ProfileSalary;
|
||||||
|
|
||||||
|
|
@ -913,6 +919,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
LeaveTotal = sumLeave,
|
LeaveTotal = sumLeave,
|
||||||
LeaveRemain = leaveLimit - sumLeave,
|
LeaveRemain = leaveLimit - sumLeave,
|
||||||
RestDayTotalOld = restOldDay,
|
RestDayTotalOld = restOldDay,
|
||||||
|
RestDayTotalCurrent = restCurrentDay,
|
||||||
BirthDate = profile.BirthDate.Date,
|
BirthDate = profile.BirthDate.Date,
|
||||||
DateAppoint = profile.DateAppoint == null ? null : profile.DateAppoint.Value.Date,
|
DateAppoint = profile.DateAppoint == null ? null : profile.DateAppoint.Value.Date,
|
||||||
Salary = lastSalary == null ? 0 : lastSalary.Amount == null ? 0 : (int)lastSalary.Amount.Value,
|
Salary = lastSalary == null ? 0 : lastSalary.Amount == null ? 0 : (int)lastSalary.Amount.Value,
|
||||||
|
|
@ -946,11 +953,6 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
{
|
{
|
||||||
var totalDay = (double)req.StartLeaveDate.DiffDay(req.EndLeaveDate.Date);
|
var totalDay = (double)req.StartLeaveDate.DiffDay(req.EndLeaveDate.Date);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
|
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
|
||||||
|
|
||||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
|
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
|
||||||
|
|
@ -981,6 +983,8 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
var sumApproveLeave = await _leaveRequestRepository.GetSumApproveLeaveByTypeForUserAsync(userId, req.Type, req.StartLeaveDate.Year);
|
var sumApproveLeave = await _leaveRequestRepository.GetSumApproveLeaveByTypeForUserAsync(userId, req.Type, req.StartLeaveDate.Year);
|
||||||
|
|
||||||
|
// อ่านค่าจากตาราง beginning ทั้ง limit และ usage
|
||||||
|
var sumLeaveDay = await _leaveBeginningRepository.GetByYearAndTypeIdForUserAsync(req.StartLeaveDate.Year, req.Type, userId);
|
||||||
|
|
||||||
|
|
||||||
var minLeave = (await _context.Set<LeaveRequest>().Where(x => x.Type.Id == req.Type &&
|
var minLeave = (await _context.Set<LeaveRequest>().Where(x => x.Type.Id == req.Type &&
|
||||||
|
|
@ -1003,16 +1007,15 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
}
|
}
|
||||||
|
|
||||||
var isLeave = false;
|
var isLeave = false;
|
||||||
|
var approveDay = sumLeaveDay == null ? 0.0 : sumLeaveDay.LeaveDaysUsed;
|
||||||
|
var limitDay = sumLeaveDay == null ? 0.0 : sumLeaveDay.LeaveDays;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
switch (leaveType.Code.ToUpper().Trim())
|
switch (leaveType.Code.ToUpper().Trim())
|
||||||
{
|
{
|
||||||
case "LV-001":
|
case "LV-001":
|
||||||
// fix issue : ระบบลา (ขรก.) >> ลาป่วย (กรณียื่นขอลาเกิน 120 วัน/ปี) #828
|
// fix issue : ระบบลา (ขรก.) >> ลาป่วย (กรณียื่นขอลาเกิน 120 วัน/ปี) #828
|
||||||
isLeave = (totalDay - (sumWorkDay + sumWeekend) + sumApproveLeave) <= 120;
|
|
||||||
|
isLeave = (totalDay - (sumWorkDay + sumWeekend) + approveDay) <= 120;
|
||||||
if (!isLeave) message = "จำนวนวันลาเกินที่กำหนด";
|
if (!isLeave) message = "จำนวนวันลาเกินที่กำหนด";
|
||||||
//isLeave = true;
|
//isLeave = true;
|
||||||
break;
|
break;
|
||||||
|
|
@ -1021,13 +1024,13 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
// fix issue : ระบบลา (ขรก.) >> ลากิจส่วนตัว (กรณีผู้เข้ารับราชการไม่เกิน 1 ปี ยื่นขอลาเกิน 15 วัน/ปี) #831
|
// fix issue : ระบบลา (ขรก.) >> ลากิจส่วนตัว (กรณีผู้เข้ารับราชการไม่เกิน 1 ปี ยื่นขอลาเกิน 15 วัน/ปี) #831
|
||||||
if (govAge <= 365)
|
if (govAge <= 365)
|
||||||
{
|
{
|
||||||
isLeave = (totalDay - (sumWorkDay + sumWeekend) + sumApproveLeave) <= 15;
|
isLeave = (totalDay - (sumWorkDay + sumWeekend) + approveDay) <= 15;
|
||||||
if (!isLeave) message = "จำนวนวันลาเกินที่กำหนด";
|
if (!isLeave) message = "จำนวนวันลาเกินที่กำหนด";
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
isLeave = (totalDay - (sumWorkDay + sumWeekend) + sumApproveLeave) <= 45;
|
isLeave = (totalDay - (sumWorkDay + sumWeekend) + approveDay) <= 45;
|
||||||
if (!isLeave) message = "จำนวนวันลาเกินที่กำหนด";
|
if (!isLeave) message = "จำนวนวันลาเกินที่กำหนด";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1041,7 +1044,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
if (!isLeave) message = "จำนวนวันลาเกินที่กำหนด";
|
if (!isLeave) message = "จำนวนวันลาเกินที่กำหนด";
|
||||||
break;
|
break;
|
||||||
case "LV-004":
|
case "LV-004":
|
||||||
isLeave = (totalDay - (sumWorkDay + sumWeekend) + sumApproveLeave) <= 15;
|
isLeave = (totalDay - (sumWorkDay + sumWeekend) + approveDay) <= 15;
|
||||||
if (!isLeave) message = "จำนวนวันลาเกินที่กำหนด";
|
if (!isLeave) message = "จำนวนวันลาเกินที่กำหนด";
|
||||||
break;
|
break;
|
||||||
case "LV-005":
|
case "LV-005":
|
||||||
|
|
@ -1050,23 +1053,27 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
//var leavePrevYearRemain = 10 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน
|
//var leavePrevYearRemain = 10 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน
|
||||||
|
|
||||||
if (govAge >= 180)
|
if (govAge >= 180)
|
||||||
if (govAge >= 3650)
|
{
|
||||||
{
|
isLeave = (totalDay - (sumWorkDay + sumWeekend) + approveDay) <= (limitDay);
|
||||||
// ถ้าอายุราชการเกิน 10 ปี ได้บวกเพิ่มอีก 10 วัน
|
if (!isLeave) message = "จำนวนวันลาเกินที่กำหนด";
|
||||||
var leavePrevYearRemain = 30 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน
|
}
|
||||||
if (leavePrevYearRemain >= 20) leavePrevYearRemain = 20;
|
//if (govAge >= 3650)
|
||||||
|
//{
|
||||||
|
// // ถ้าอายุราชการเกิน 10 ปี ได้บวกเพิ่มอีก 10 วัน
|
||||||
|
// //var leavePrevYearRemain = 30 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน
|
||||||
|
// //if (leavePrevYearRemain >= 20) leavePrevYearRemain = 20;
|
||||||
|
|
||||||
isLeave = (totalDay - (sumWorkDay + sumWeekend) + sumApproveLeave) <= (10 + leavePrevYearRemain);
|
// isLeave = (totalDay - (sumWorkDay + sumWeekend) + approveDay) <= (limitDay);
|
||||||
if (!isLeave) message = "จำนวนวันลาเกินที่กำหนด";
|
// if (!isLeave) message = "จำนวนวันลาเกินที่กำหนด";
|
||||||
}
|
//}
|
||||||
else
|
//else
|
||||||
{
|
//{
|
||||||
var leavePrevYearRemain = 20 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน
|
// //var leavePrevYearRemain = 20 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน
|
||||||
if (leavePrevYearRemain >= 10) leavePrevYearRemain = 10;
|
// //if (leavePrevYearRemain >= 10) leavePrevYearRemain = 10;
|
||||||
|
|
||||||
isLeave = (totalDay - (sumWorkDay + sumWeekend) + sumApproveLeave) <= (10 + leavePrevYearRemain);
|
// isLeave = (totalDay - (sumWorkDay + sumWeekend) + sumApproveLeave) <= (10 + leavePrevYearRemain);
|
||||||
if (!isLeave) message = "จำนวนวันลาเกินที่กำหนด";
|
// if (!isLeave) message = "จำนวนวันลาเกินที่กำหนด";
|
||||||
}
|
//}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -2350,34 +2357,38 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
// fix issue : SIT ระบบบันทึกการลา>> สิทธิ์การลา(โอนสิทธิ์การลา) #974
|
// fix issue : SIT ระบบบันทึกการลา>> สิทธิ์การลา(โอนสิทธิ์การลา) #974
|
||||||
|
|
||||||
var extendLeave = 0.0;
|
var extendLeave = 0.0;
|
||||||
var leaveLimit = leaveType.Limit;
|
var leaveLimit = (double)leaveType.Limit;
|
||||||
|
|
||||||
if (leaveType.Code == "LV-005")
|
if (leaveType.Code == "LV-005")
|
||||||
{
|
{
|
||||||
var beginningLeave = await _leaveBeginningRepository.GetByYearAndTypeIdAsync(thisYear, leaveType.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 == userId && x.LeaveTypeId == leaveType.Id);
|
//var beginningLeave = await _leaveBeginningRepository.GetByYearAndTypeIdAsync(thisYear, leaveType.Id);
|
||||||
var apprvPrev = apprvPrevData == null ? 0 : apprvPrevData.SumLeaveDay;
|
|
||||||
|
|
||||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
|
//var apprvPrevData = approvePrevYear.FirstOrDefault(x => x.KeycloakUserId == userId && x.LeaveTypeId == leaveType.Id);
|
||||||
var govAge = (profile?.DateStart?.Date ?? DateTime.Now.Date).DiffDay(DateTime.Now.Date);
|
//var apprvPrev = apprvPrevData == null ? 0 : apprvPrevData.SumLeaveDay;
|
||||||
|
|
||||||
if (govAge >= 180)
|
//var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
|
||||||
{
|
//var govAge = (profile?.DateStart?.Date ?? DateTime.Now.Date).DiffDay(DateTime.Now.Date);
|
||||||
if (govAge >= 3650)
|
|
||||||
{
|
//if (govAge >= 180)
|
||||||
// ถ้าอายุราชการเกิน 10 ปี ได้บวกเพิ่มอีก 10 วัน
|
//{
|
||||||
extendLeave = beginningLeave != null ? beginningLeave.LeaveDays : 30 - apprvPrev; // หายอดวันลาที่เหลือของปีก่อน
|
// if (govAge >= 3650)
|
||||||
if (extendLeave >= 20) extendLeave = 20;
|
// {
|
||||||
}
|
// // ถ้าอายุราชการเกิน 10 ปี ได้บวกเพิ่มอีก 10 วัน
|
||||||
else
|
// extendLeave = beginningLeave != null ? beginningLeave.LeaveDays : 30 - apprvPrev; // หายอดวันลาที่เหลือของปีก่อน
|
||||||
{
|
// if (extendLeave >= 20) extendLeave = 20;
|
||||||
extendLeave = beginningLeave != null ? beginningLeave.LeaveDays : 20 - apprvPrev; // หายอดวันลาที่เหลือของปีก่อน
|
// }
|
||||||
if (extendLeave >= 10) extendLeave = 10;
|
// else
|
||||||
}
|
// {
|
||||||
}
|
// extendLeave = beginningLeave != null ? beginningLeave.LeaveDays : 20 - apprvPrev; // หายอดวันลาที่เหลือของปีก่อน
|
||||||
else
|
// if (extendLeave >= 10) extendLeave = 10;
|
||||||
leaveLimit = 0;
|
// }
|
||||||
|
//}
|
||||||
|
//else
|
||||||
|
// leaveLimit = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
var data = new
|
var data = new
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,8 @@
|
||||||
|
|
||||||
public double RestDayTotalOld { get; set; }
|
public double RestDayTotalOld { get; set; }
|
||||||
|
|
||||||
|
public double RestDayTotalCurrent { get; set; }
|
||||||
|
|
||||||
public DateTime BirthDate { get; set; }
|
public DateTime BirthDate { get; set; }
|
||||||
|
|
||||||
public DateTime? DateAppoint { get; set; }
|
public DateTime? DateAppoint { get; set; }
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue