fix user/check => totalDay ไม่ได้ครึ่งวันก่อนเข้าสมการตรวจสอบ

This commit is contained in:
Suphonchai Phoonsawat 2026-07-17 13:54:45 +07:00
parent b0ae4863a9
commit 0a4f3c0d68
2 changed files with 107 additions and 11 deletions

View file

@ -1053,6 +1053,16 @@ namespace BMA.EHR.Leave.Service.Controllers
public async Task<ActionResult<ResponseObject>> CheckUserLeaveAsync([FromBody] GetLeaveCheckDto req)
{
var totalDay = (double)req.StartLeaveDate.DiffDay(req.EndLeaveDate.Date);
if (req.StartLeaveDate == req.EndLeaveDate)
{
if (req.LeaveRange != "ALL")
totalDay -= 0.5;
}
else
{
if(req.LeaveRangeEnd != "ALL")
totalDay -= 0.5;
}
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
@ -1306,25 +1316,25 @@ namespace BMA.EHR.Leave.Service.Controllers
isLeave = false;
message = "ช่วงวันลาที่ระบุไม่ถูกต้อง";
}
if (req.LeaveRange != "ALL")
totalDay -= 0.5;
if (req.LeaveRangeEnd != "ALL")
totalDay -= 0.5;
// if (req.LeaveRange != "ALL")
// totalDay -= 0.5;
//
// if (req.LeaveRangeEnd != "ALL")
// totalDay -= 0.5;
}
else if (totalDay == 1)
{
if (req.LeaveRange != req.LeaveRangeEnd)
{
isLeave = false;
message = "ช่วงวันลาที่ระบุไม่ถูกต้อง";
}
if (req.LeaveRange != "ALL")
totalDay -= 0.5;
// if (req.LeaveRange != "ALL")
// totalDay -= 0.5;
}