Merge branch 'develop' into adiDev
Some checks failed
release-dev / release-dev (push) Failing after 11s
Some checks failed
release-dev / release-dev (push) Failing after 11s
This commit is contained in:
commit
f96aa09cc7
17 changed files with 314 additions and 214 deletions
|
|
@ -4,6 +4,9 @@
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
|
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||||
|
<NoWarn>$(NoWarn);$(WarningsNotAsErrors)</NoWarn>
|
||||||
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -308,6 +308,33 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
return await rawData.ToListAsync();
|
return await rawData.ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<List<LeaveRequest>> GetLeaveRequestForAdminWithAuthAsync(int year, Guid type, string status, DateTime startDate, DateTime endDate,List<Guid> keycloakIdList)
|
||||||
|
{
|
||||||
|
var rawData = _dbContext.Set<LeaveRequest>().AsNoTracking()
|
||||||
|
.Include(x => x.Type)
|
||||||
|
.Where(x => keycloakIdList.Contains(x.KeycloakUserId))
|
||||||
|
.Where(x => x.LeaveStatus != "DRAFT")
|
||||||
|
.OrderByDescending(x => x.CreatedAt)
|
||||||
|
.AsQueryable();
|
||||||
|
|
||||||
|
if (year != 0)
|
||||||
|
rawData = rawData.Where(x => x.LeaveStartDate.Year == year);
|
||||||
|
|
||||||
|
if (type != Guid.Empty)
|
||||||
|
rawData = rawData.Where(x => x.Type.Id == type);
|
||||||
|
|
||||||
|
if (status.Trim().ToUpper() != "ALL")
|
||||||
|
rawData = rawData.Where(x => x.LeaveStatus == status);
|
||||||
|
|
||||||
|
if (startDate != DateTime.MinValue)
|
||||||
|
rawData = rawData.Where(x => x.LeaveStartDate >= startDate);
|
||||||
|
|
||||||
|
if (endDate != DateTime.MinValue)
|
||||||
|
rawData = rawData.Where(x => x.LeaveEndDate <= endDate);
|
||||||
|
|
||||||
|
return await rawData.ToListAsync();
|
||||||
|
}
|
||||||
|
|
||||||
public async Task<double> GetRestDayTotalByYearForUserAsync(Guid keycloakUserId, int year)
|
public async Task<double> GetRestDayTotalByYearForUserAsync(Guid keycloakUserId, int year)
|
||||||
{
|
{
|
||||||
var startFiscalDate = new DateTime(year - 1, 10, 1);
|
var startFiscalDate = new DateTime(year - 1, 10, 1);
|
||||||
|
|
@ -425,7 +452,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
return await rawData.ToListAsync();
|
return await rawData.ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<LeaveRequest> ApproveCancelLeaveRequestAsync(LeaveRequest data, string Reason)
|
public async Task<LeaveRequest> ApproveCancelLeaveRequestAsync(LeaveRequest data, string Reason,string LeaveReason)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
@ -438,6 +465,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
|
|
||||||
data.LeaveCancelStatus = "APPROVE";
|
data.LeaveCancelStatus = "APPROVE";
|
||||||
data.LeaveDirectorComment = Reason;
|
data.LeaveDirectorComment = Reason;
|
||||||
|
data.LeaveCancelComment = LeaveReason;
|
||||||
|
|
||||||
// TODO : Update ไปตาราง beginning
|
// TODO : Update ไปตาราง beginning
|
||||||
if (data.ApproveStep == "st4") // ถ้ามีการอนุมัติจากผู้มีอำนาจแล้ว
|
if (data.ApproveStep == "st4") // ถ้ามีการอนุมัติจากผู้มีอำนาจแล้ว
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,9 @@
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||||
|
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||||
|
<NoWarn>$(NoWarn);$(WarningsNotAsErrors)</NoWarn>
|
||||||
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,9 @@
|
||||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||||
<DockerfileContext>.</DockerfileContext>
|
<DockerfileContext>.</DockerfileContext>
|
||||||
<RootNamespace>BMA.EHR.Command.Service</RootNamespace>
|
<RootNamespace>BMA.EHR.Command.Service</RootNamespace>
|
||||||
|
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||||
|
<NoWarn>$(NoWarn);$(WarningsNotAsErrors)</NoWarn>
|
||||||
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,9 @@
|
||||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||||
<DockerfileContext>.</DockerfileContext>
|
<DockerfileContext>.</DockerfileContext>
|
||||||
<RootNamespace>BMA.EHR.Discipline.Service</RootNamespace>
|
<RootNamespace>BMA.EHR.Discipline.Service</RootNamespace>
|
||||||
|
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||||
|
<NoWarn>$(NoWarn);$(WarningsNotAsErrors)</NoWarn>
|
||||||
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,9 @@
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
|
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||||
|
<NoWarn>$(NoWarn);$(WarningsNotAsErrors)</NoWarn>
|
||||||
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,9 @@
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
|
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||||
|
<NoWarn>$(NoWarn);$(WarningsNotAsErrors)</NoWarn>
|
||||||
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,9 @@
|
||||||
<DockerfileContext>.</DockerfileContext>
|
<DockerfileContext>.</DockerfileContext>
|
||||||
<RootNamespace>BMA.EHR.Insignia.Service</RootNamespace>
|
<RootNamespace>BMA.EHR.Insignia.Service</RootNamespace>
|
||||||
<AssemblyName>BMA.EHR.Insignia</AssemblyName>
|
<AssemblyName>BMA.EHR.Insignia</AssemblyName>
|
||||||
|
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||||
|
<NoWarn>$(NoWarn);$(WarningsNotAsErrors)</NoWarn>
|
||||||
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,8 @@
|
||||||
<RootNamespace>BMA.EHR.Leave.Service</RootNamespace>
|
<RootNamespace>BMA.EHR.Leave.Service</RootNamespace>
|
||||||
<AssemblyName>BMA.EHR.Leave</AssemblyName>
|
<AssemblyName>BMA.EHR.Leave</AssemblyName>
|
||||||
|
|
||||||
<NoWarn>$(NoWarn);</NoWarn>
|
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||||
|
<NoWarn>$(NoWarn);$(WarningsNotAsErrors)</NoWarn>
|
||||||
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -282,8 +282,13 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
//var sumWeekend = _holidayRepository.GetWeekEndCount(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 endFiscalYear = data.CreatedAt.Date.AddDays(-1); // นับจากวันที่ยื่นลา
|
||||||
|
|
||||||
var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUserAsync(data.LeaveStartDate.Year, data.Type.Id, data.KeycloakUserId);
|
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;
|
var leaveLimit = leaveData == null ? 0.0 : leaveData.LeaveDays;
|
||||||
|
|
@ -314,13 +319,16 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
leaveDateStart = data.LeaveStartDate.Date.ToThaiShortDate().ToThaiNumber(),
|
leaveDateStart = data.LeaveStartDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
leaveDateEnd = data.LeaveEndDate.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(),
|
leaveAddress = data.LeaveAddress.ToThaiNumber(),
|
||||||
leaveNumber = data.LeaveNumber.ToThaiNumber(),
|
leaveNumber = data.LeaveNumber.ToThaiNumber(),
|
||||||
|
|
||||||
LeaveSummary = sumLeave.ToString().ToThaiNumber(),
|
|
||||||
LeaveRemain = (leaveLimit - 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() // สิทธิ์การลา
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ using BMA.EHR.Application.Repositories.Commands;
|
||||||
using BMA.EHR.Application.Repositories.Leaves.LeaveRequests;
|
using BMA.EHR.Application.Repositories.Leaves.LeaveRequests;
|
||||||
using BMA.EHR.Application.Repositories.Leaves.TimeAttendants;
|
using BMA.EHR.Application.Repositories.Leaves.TimeAttendants;
|
||||||
using BMA.EHR.Application.Repositories.MetaData;
|
using BMA.EHR.Application.Repositories.MetaData;
|
||||||
|
using BMA.EHR.Application.Responses.Profiles;
|
||||||
using BMA.EHR.Domain.Common;
|
using BMA.EHR.Domain.Common;
|
||||||
using BMA.EHR.Domain.Extensions;
|
using BMA.EHR.Domain.Extensions;
|
||||||
using BMA.EHR.Domain.Models.Leave.Commons;
|
using BMA.EHR.Domain.Models.Leave.Commons;
|
||||||
|
|
@ -1552,7 +1553,27 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
{
|
{
|
||||||
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
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>();
|
var result = new List<GetLeaveRequestForAdminResultDto>();
|
||||||
|
|
||||||
|
|
@ -1650,7 +1671,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
data = await _leaveRequestRepository.ApproveCancelLeaveRequestAsync(data, "อนุมัติการขอยกเลิกการลา โดยระบบ");
|
data = await _leaveRequestRepository.ApproveCancelLeaveRequestAsync(data, "อนุมัติการขอยกเลิกการลา โดยระบบ", req.Reason ?? "");
|
||||||
}
|
}
|
||||||
|
|
||||||
// upload leave cancel document
|
// upload leave cancel document
|
||||||
|
|
|
||||||
|
|
@ -28,5 +28,11 @@ namespace BMA.EHR.Leave.Service.DTOs.LeaveRequest
|
||||||
|
|
||||||
public string ProfileType { get; set; } = string.Empty;
|
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;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,9 @@
|
||||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||||
<DockerfileContext>.</DockerfileContext>
|
<DockerfileContext>.</DockerfileContext>
|
||||||
<RootNamespace>BMA.EHR.MetaData.Service</RootNamespace>
|
<RootNamespace>BMA.EHR.MetaData.Service</RootNamespace>
|
||||||
|
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||||
|
<NoWarn>$(NoWarn);$(WarningsNotAsErrors)</NoWarn>
|
||||||
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,9 @@
|
||||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||||
<DockerfileContext>.</DockerfileContext>
|
<DockerfileContext>.</DockerfileContext>
|
||||||
<RootNamespace>BMA.EHR.OrganizationEmployee.Service</RootNamespace>
|
<RootNamespace>BMA.EHR.OrganizationEmployee.Service</RootNamespace>
|
||||||
|
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||||
|
<NoWarn>$(NoWarn);$(WarningsNotAsErrors)</NoWarn>
|
||||||
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,9 @@
|
||||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||||
<DockerfileContext>.</DockerfileContext>
|
<DockerfileContext>.</DockerfileContext>
|
||||||
<RootNamespace>BMA.EHR.Placement.Service</RootNamespace>
|
<RootNamespace>BMA.EHR.Placement.Service</RootNamespace>
|
||||||
|
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||||
|
<NoWarn>$(NoWarn);$(WarningsNotAsErrors)</NoWarn>
|
||||||
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,9 @@
|
||||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||||
<DockerfileContext>.</DockerfileContext>
|
<DockerfileContext>.</DockerfileContext>
|
||||||
<RootNamespace>BMA.EHR.Report.Service</RootNamespace>
|
<RootNamespace>BMA.EHR.Report.Service</RootNamespace>
|
||||||
|
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||||
|
<NoWarn>$(NoWarn);$(WarningsNotAsErrors)</NoWarn>
|
||||||
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,9 @@
|
||||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||||
<DockerfileContext>.</DockerfileContext>
|
<DockerfileContext>.</DockerfileContext>
|
||||||
<RootNamespace>BMA.EHR.Retirement.Service</RootNamespace>
|
<RootNamespace>BMA.EHR.Retirement.Service</RootNamespace>
|
||||||
|
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||||
|
<NoWarn>$(NoWarn);$(WarningsNotAsErrors)</NoWarn>
|
||||||
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue