add parent

This commit is contained in:
kittapath 2025-10-07 11:13:28 +07:00
parent ddf899ce5d
commit 9e8fe1b30a
22 changed files with 289 additions and 122 deletions

View file

@ -165,6 +165,11 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
data = data
.Where(x => x.RootDnaId == Guid.Parse(nodeId!)).ToList();
}
else if (role == "PARENT")
{
data = data
.Where(x => x.Child1DnaId == Guid.Parse(nodeId!)).ToList();
}
else if (role == "NORMAL")
{
data = data

View file

@ -141,37 +141,13 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
public async Task<List<ProcessUserTimeStamp>> GetTimestampByDateLateAsync(string type, string role, string nodeId, int? node, string nodeIdByReq, int? nodeByReq, DateTime StartDate, DateTime EndDate)
{
var _nodeId = role != "OWNER" ? Guid.Parse(nodeId) : Guid.Parse("00000000-0000-0000-0000-000000000000");
var data = new List<ProcessUserTimeStamp>();
//if (role == "OWNER" || role == "CHILD")
//{
// data = await _dbContext.Set<ProcessUserTimeStamp>().AsQueryable()
// .Where(x => x.CheckInStatus == "LATE")
// .Where(u => u.CheckIn.Date >= StartDate && u.CheckIn.Date <= EndDate)
// .Where(x => x.ProfileType == type.Trim().ToUpper())
// .Where(x => node == 4 ? x.Child4Id == _nodeId : (node == 3 ? x.Child3Id == _nodeId : (node == 2 ? x.Child2Id == _nodeId : (node == 1 ? x.Child1Id == _nodeId : (node == 0 ? x.RootId == _nodeId : true)))))
// .ToListAsync();
//}
//else
//{
// data = await _dbContext.Set<ProcessUserTimeStamp>().AsQueryable()
// .Where(x => x.CheckInStatus == "LATE")
// .Where(u => u.CheckIn.Date >= StartDate && u.CheckIn.Date <= EndDate)
// .Where(x => x.ProfileType == type.Trim().ToUpper())
// .Where(x => node == 4 ? x.Child4Id == _nodeId : (node == 3 ? x.Child3Id == _nodeId : (node == 2 ? x.Child2Id == _nodeId : (node == 1 ? x.Child1Id == _nodeId : (node == 0 ? x.RootId == _nodeId : true)))))
// .Where(x => node == 0 ? x.Child1Id == null : (node == 1 ? x.Child2Id == null : (node == 2 ? x.Child3Id == null : (node == 3 ? x.Child4Id == null : true))))
// .ToListAsync();
//}
data = await _dbContext.Set<ProcessUserTimeStamp>().AsQueryable()
.Where(x => x.CheckInStatus == "LATE")
.Where(u => u.CheckIn.Date >= StartDate && u.CheckIn.Date <= EndDate)
.Where(x => x.ProfileType == type.Trim().ToUpper()).ToListAsync();
// กรองตามสิทธิ์ admin ก่อน
if (role == "OWNER")
{
node = null;
}
if (role == "OWNER" || role == "CHILD")
if (role == "CHILD")
{
data = data.Where(x =>
node == 4 ? x.Child4DnaId == Guid.Parse(nodeId) :
@ -186,6 +162,10 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
{
data = data.Where(x => x.RootDnaId == Guid.Parse(nodeId)).ToList();
}
else if (role == "PARENT")
{
data = data.Where(x => x.Child1DnaId == Guid.Parse(nodeId)).ToList();
}
else if (role == "NORMAL")
{
data = data.Where(x =>
@ -197,7 +177,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
).ToList();
}
// กรองตามที่ fe ส่งมา
if (role == "ROOT" || role == "OWNER" || role == "CHILD")
if (role == "ROOT" || role == "OWNER" || role == "CHILD" || role == "PARENT")
{
data = data.Where(x =>
nodeByReq == 4 ? x.Child4Id == Guid.Parse(nodeIdByReq) :
@ -288,6 +268,12 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
.Where(x => x.RootDnaId == Guid.Parse(nodeId!))
.ToList();
}
else if (role == "PARENT")
{
data = data
.Where(x => x.Child1DnaId == Guid.Parse(nodeId!))
.ToList();
}
else if (role == "NORMAL")
{
data = data

View file

@ -90,7 +90,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
.Where(u => u.KeycloakUserId == keycloakId)
.Where(u => u.CheckIn.Year == year)
.OrderBy(u => u.CheckIn)
.ToListAsync();
return data;
@ -101,7 +101,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
var data = await _dbContext.Set<UserTimeStamp>()
.Where(u => u.CheckIn.Date >= startDate.Date && u.CheckIn.Date <= endDate.Date)
.OrderBy(u => u.CheckIn)
.ToListAsync();
return data;
@ -130,6 +130,12 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
.Where(x => x.RootDnaId == Guid.Parse(nodeId!))
.ToList();
}
else if (role == "PARENT")
{
data = data
.Where(x => x.Child1DnaId == Guid.Parse(nodeId!))
.ToList();
}
else if (role == "NORMAL")
{
data = data