Merge branch 'develop' into adiDev
Some checks failed
release-dev / release-dev (push) Failing after 11s

This commit is contained in:
AdisakKanthawilang 2025-05-02 13:49:42 +07:00
commit f96aa09cc7
17 changed files with 314 additions and 214 deletions

View file

@ -11,7 +11,8 @@
<RootNamespace>BMA.EHR.Leave.Service</RootNamespace>
<AssemblyName>BMA.EHR.Leave</AssemblyName>
<NoWarn>$(NoWarn);</NoWarn>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<NoWarn>$(NoWarn);$(WarningsNotAsErrors)</NoWarn>
</PropertyGroup>

View file

@ -282,8 +282,13 @@ namespace BMA.EHR.Leave.Service.Controllers
//var sumWeekend = _holidayRepository.GetWeekEndCount(data.LeaveStartDate.Date, data.LeaveEndDate.Date, category);
var startFiscalYear = new DateTime(data.LeaveStartDate.Year - 1, 10, 1);
var endFiscalYear = data.CreatedAt.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 = leaveData == null ? 0 : leaveData.LeaveDaysUsed;
var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear);
var leaveLimit = leaveData == null ? 0.0 : leaveData.LeaveDays;
@ -314,13 +319,16 @@ namespace BMA.EHR.Leave.Service.Controllers
leaveDateStart = data.LeaveStartDate.Date.ToThaiShortDate().ToThaiNumber(),
leaveDateEnd = data.LeaveEndDate.Date.ToThaiShortDate().ToThaiNumber(),
leaveTotal = data.LeaveTotal.ToString().ToThaiNumber(),
//LeaveTotal = data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
leaveAddress = data.LeaveAddress.ToThaiNumber(),
leaveNumber = data.LeaveNumber.ToThaiNumber(),
LeaveSummary = sumLeave.ToString().ToThaiNumber(),
LeaveRemain = (leaveLimit - sumLeave).ToString().ToThaiNumber(),
leaveTotal = data.LeaveTotal.ToString().ToThaiNumber(), // วันลาปัจจุบัน
LeaveSummary = sumLeave.ToString().ToThaiNumber(), // วันลาครั้งก่อน
LeaveAll = (data.LeaveTotal + sumLeave).ToString().ToThaiNumber(), // ลาครั้งนี้ + ครั้งก่อน
LeaveLimit = leaveLimit.ToString().ToThaiNumber() // สิทธิ์การลา
}
};
}

View file

@ -3,6 +3,7 @@ using BMA.EHR.Application.Repositories.Commands;
using BMA.EHR.Application.Repositories.Leaves.LeaveRequests;
using BMA.EHR.Application.Repositories.Leaves.TimeAttendants;
using BMA.EHR.Application.Repositories.MetaData;
using BMA.EHR.Application.Responses.Profiles;
using BMA.EHR.Domain.Common;
using BMA.EHR.Domain.Extensions;
using BMA.EHR.Domain.Models.Leave.Commons;
@ -1552,7 +1553,27 @@ namespace BMA.EHR.Leave.Service.Controllers
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var rawData = await _leaveRequestRepository.GetLeaveRequestForAdminAsync(req.Year, req.Type, req.Status, req.StartDate, req.EndDate);
// เพิ่มเติมการดึงคนตามสิทธิ์แบบที่ bright ทำ #1462
var profileList = new List<GetProfileByKeycloakIdRootDto>();
if (req.ProfileType.Trim().ToUpper() == "OFFICER")
{
profileList = await _userProfileRepository.GetProfileWithNoneValidateKeycloakAllOfficerAndRevision(AccessToken, req.Node, req.NodeId, jsonData["result"] == "OWNER" || jsonData["result"] == "CHILD", req.RevisionId);
}
else
{
profileList = await _userProfileRepository.GetProfileWithNoneValidateKeycloakAllEmployeeAndRevision(AccessToken, req.Node, req.NodeId, jsonData["result"] == "OWNER" || jsonData["result"] == "CHILD", req.RevisionId);
}
var keycloakList = new List<Guid>();
if(profileList != null)
{
keycloakList = profileList.Where(x => x.Keycloak != null).Select(x => x.Keycloak!.Value).ToList();
}
var rawData = await _leaveRequestRepository.GetLeaveRequestForAdminWithAuthAsync(req.Year, req.Type, req.Status, req.StartDate, req.EndDate, keycloakList);
var result = new List<GetLeaveRequestForAdminResultDto>();
@ -1650,7 +1671,7 @@ namespace BMA.EHR.Leave.Service.Controllers
}
else
{
data = await _leaveRequestRepository.ApproveCancelLeaveRequestAsync(data, "อนุมัติการขอยกเลิกการลา โดยระบบ");
data = await _leaveRequestRepository.ApproveCancelLeaveRequestAsync(data, "อนุมัติการขอยกเลิกการลา โดยระบบ", req.Reason ?? "");
}
// upload leave cancel document

View file

@ -28,5 +28,11 @@ namespace BMA.EHR.Leave.Service.DTOs.LeaveRequest
public string ProfileType { get; set; } = string.Empty;
public string NodeId { get; set; } = string.Empty;
public int Node { get; set; }
public string? RevisionId { get; set; } = string.Empty;
}
}