Merge branch 'develop'
* develop: กรองสิทธิ์หน้ารายชื่อผู้ถูกพักราชการ #2084 #2146 and #2147 add filter status #2083 #2142 fix: update image retrieval logic in LeaveController and adjust RabbitMQ configuration in appsettings #2132 fix ลาติดตามคู่สมรส รายงานแสดง Null แก้เอกสารรายงานการลา #2109 fix: enhance database context configuration with retry logic for resilience fix: update end time parsing and improve attendance status logic fix: update leave remark formatting for better clarity fix report leave12 fix: improve approval step validation by checking for commanders feat: enhance leave request filtering and update configuration settings query leave report add permission brother migrate + api บันทึกผู้ตรวจสอบและส่งไปพิจาณา #2109
This commit is contained in:
commit
b55e1d1f63
31 changed files with 2723 additions and 644 deletions
|
|
@ -8,6 +8,7 @@ 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;
|
||||||
|
using System.IO.Compression;
|
||||||
using System.Net.Http.Headers;
|
using System.Net.Http.Headers;
|
||||||
using System.Net.Http.Json;
|
using System.Net.Http.Json;
|
||||||
|
|
||||||
|
|
@ -275,11 +276,17 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
|
|
||||||
public async Task<List<LeaveRequest>> GetLeaveRequestByYearForAdminAsync(int year, string role, string? nodeId, int? node)
|
public async Task<List<LeaveRequest>> GetLeaveRequestByYearForAdminAsync(int year, string role, string? nodeId, int? node)
|
||||||
{
|
{
|
||||||
var rawData = await _dbContext.Set<LeaveRequest>().AsQueryable().AsNoTracking()
|
var rawData = _dbContext.Set<LeaveRequest>().AsQueryable().AsNoTracking()
|
||||||
.Include(x => x.Type)
|
.Include(x => x.Type)
|
||||||
.Where(x => x.LeaveStartDate.Year == year)
|
.Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE");
|
||||||
.Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE")
|
//.ToListAsync();
|
||||||
.ToListAsync();
|
if (year != 0)
|
||||||
|
{
|
||||||
|
var startFiscalDate = new DateTime(year - 1, 10, 1);
|
||||||
|
var endFiscalDate = new DateTime(year, 9, 30);
|
||||||
|
rawData = rawData.Where(x => x.LeaveStartDate.Date >= startFiscalDate && x.LeaveStartDate.Date <= endFiscalDate);
|
||||||
|
}
|
||||||
|
|
||||||
if (role == "OWNER")
|
if (role == "OWNER")
|
||||||
{
|
{
|
||||||
node = null;
|
node = null;
|
||||||
|
|
@ -287,17 +294,22 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
if (role == "OWNER" || role == "CHILD")
|
if (role == "OWNER" || role == "CHILD")
|
||||||
{
|
{
|
||||||
rawData = rawData
|
rawData = rawData
|
||||||
.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))))).ToList();
|
.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true))))));
|
||||||
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
rawData = rawData
|
||||||
|
.Where(x => node == 4 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 1 || node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))));
|
||||||
}
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
rawData = rawData
|
rawData = rawData
|
||||||
.Where(x => x.RootDnaId == Guid.Parse(nodeId!)).ToList();
|
.Where(x => x.RootDnaId == Guid.Parse(nodeId!));
|
||||||
}
|
}
|
||||||
else if (role == "PARENT")
|
else if (role == "PARENT")
|
||||||
{
|
{
|
||||||
rawData = rawData
|
rawData = rawData
|
||||||
.Where(x => x.RootDnaId == Guid.Parse(nodeId!) && x.Child1DnaId != null).ToList();
|
.Where(x => x.RootDnaId == Guid.Parse(nodeId!) && x.Child1DnaId != null);
|
||||||
}
|
}
|
||||||
else if (role == "NORMAL")
|
else if (role == "NORMAL")
|
||||||
{
|
{
|
||||||
|
|
@ -307,10 +319,10 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) && x.Child2DnaId == null :
|
node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) && x.Child2DnaId == null :
|
||||||
node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) && x.Child3DnaId == null :
|
node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) && x.Child3DnaId == null :
|
||||||
node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) && x.Child4DnaId == null :
|
node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) && x.Child4DnaId == null :
|
||||||
node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : true).ToList();
|
node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : true);
|
||||||
}
|
}
|
||||||
|
|
||||||
return rawData;
|
return await rawData.ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<List<LeaveRequest>> GetLeaveRequestByUserIdAsync(Guid keycloakUserId, int year, Guid type, string status)
|
public async Task<List<LeaveRequest>> GetLeaveRequestByUserIdAsync(Guid keycloakUserId, int year, Guid type, string status)
|
||||||
|
|
@ -398,6 +410,11 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
rawData = rawData
|
rawData = rawData
|
||||||
.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true))))));
|
.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true))))));
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
rawData = rawData
|
||||||
|
.Where(x => node == 4 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 1 || node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))));
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
rawData = rawData
|
rawData = rawData
|
||||||
|
|
@ -556,8 +573,14 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
.Where(x => x.LeaveStatus == "DELETE" || x.LeaveStatus == "DELETING")
|
.Where(x => x.LeaveStatus == "DELETE" || x.LeaveStatus == "DELETING")
|
||||||
.AsQueryable();
|
.AsQueryable();
|
||||||
|
|
||||||
|
// if (year != 0)
|
||||||
|
// rawData = rawData.Where(x => x.LeaveStartDate.Year == year);
|
||||||
if (year != 0)
|
if (year != 0)
|
||||||
rawData = rawData.Where(x => x.LeaveStartDate.Year == year);
|
{
|
||||||
|
var startFiscalDate = new DateTime(year - 1, 10, 1);
|
||||||
|
var endFiscalDate = new DateTime(year, 9, 30);
|
||||||
|
rawData = rawData.Where(x => x.LeaveStartDate.Date >= startFiscalDate && x.LeaveStartDate.Date <= endFiscalDate);
|
||||||
|
}
|
||||||
|
|
||||||
if (type != Guid.Empty)
|
if (type != Guid.Empty)
|
||||||
rawData = rawData.Where(x => x.Type.Id == type);
|
rawData = rawData.Where(x => x.Type.Id == type);
|
||||||
|
|
@ -575,6 +598,11 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
rawData = rawData
|
rawData = rawData
|
||||||
.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true))))));
|
.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true))))));
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
rawData = rawData
|
||||||
|
.Where(x => node == 4 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 1 || node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))));
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
rawData = rawData
|
rawData = rawData
|
||||||
|
|
@ -886,6 +914,26 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
};
|
};
|
||||||
_appDbContext.Set<Notification>().Add(noti1);
|
_appDbContext.Set<Notification>().Add(noti1);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// มีแต่ approver อย่างเดียว
|
||||||
|
var firstApprover = rawData.Approvers
|
||||||
|
.Where(x => x.ApproveType!.ToUpper() == "APPROVER")
|
||||||
|
.OrderBy(x => x.Seq)
|
||||||
|
.FirstOrDefault();
|
||||||
|
if(firstApprover != null)
|
||||||
|
{
|
||||||
|
// Send Notification
|
||||||
|
var noti2 = new Notification
|
||||||
|
{
|
||||||
|
Body = $"การขอลาของคุณ {rawData.FirstName} {rawData.LastName} รอรับการอนุมัติจากคุณ",
|
||||||
|
ReceiverUserId = firstApprover!.ProfileId,
|
||||||
|
Type = "",
|
||||||
|
Payload = $"{URL}/leave/detail/{id}",
|
||||||
|
};
|
||||||
|
_appDbContext.Set<Notification>().Add(noti2);
|
||||||
|
}
|
||||||
|
}
|
||||||
await _appDbContext.SaveChangesAsync();
|
await _appDbContext.SaveChangesAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -955,7 +1003,9 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
|
|
||||||
approver.ApproveStatus = "APPROVE";
|
approver.ApproveStatus = "APPROVE";
|
||||||
approver.Comment = reason;
|
approver.Comment = reason;
|
||||||
|
approver.LastUpdateFullName = FullName ?? "";
|
||||||
|
approver.LastUpdateUserId = userId.ToString("D");
|
||||||
|
approver.LastUpdatedAt = DateTime.Now;
|
||||||
//await _dbContext.SaveChangesAsync();
|
//await _dbContext.SaveChangesAsync();
|
||||||
|
|
||||||
if (approver.Seq != maxSeq)
|
if (approver.Seq != maxSeq)
|
||||||
|
|
@ -1045,7 +1095,9 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
|
|
||||||
approver.ApproveStatus = "REJECT";
|
approver.ApproveStatus = "REJECT";
|
||||||
approver.Comment = reason;
|
approver.Comment = reason;
|
||||||
|
approver.LastUpdateFullName = FullName ?? "";
|
||||||
|
approver.LastUpdateUserId = userId.ToString("D");
|
||||||
|
approver.LastUpdatedAt = DateTime.Now;
|
||||||
if (approver.Seq != maxSeq)
|
if (approver.Seq != maxSeq)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -1108,7 +1160,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
.Where(x => x.ApproveType!.ToUpper() == "COMMANDER")
|
.Where(x => x.ApproveType!.ToUpper() == "COMMANDER")
|
||||||
.OrderBy(x => x.Seq)
|
.OrderBy(x => x.Seq)
|
||||||
.ToList();
|
.ToList();
|
||||||
if(commanders.Count > 0 || commanders != null)
|
if (commanders.Count > 0 && commanders != null)
|
||||||
{
|
{
|
||||||
if (rawData.ApproveStep != "st3")
|
if (rawData.ApproveStep != "st3")
|
||||||
{
|
{
|
||||||
|
|
@ -1141,7 +1193,9 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
|
|
||||||
approver.ApproveStatus = "APPROVE";
|
approver.ApproveStatus = "APPROVE";
|
||||||
approver.Comment = reason;
|
approver.Comment = reason;
|
||||||
|
approver.LastUpdateFullName = FullName ?? "";
|
||||||
|
approver.LastUpdateUserId = userId.ToString("D");
|
||||||
|
approver.LastUpdatedAt = DateTime.Now;
|
||||||
if (approver.Seq != maxSeq)
|
if (approver.Seq != maxSeq)
|
||||||
{
|
{
|
||||||
var nextApprover = approvers.FirstOrDefault(x => x.Seq == approver.Seq + 1);
|
var nextApprover = approvers.FirstOrDefault(x => x.Seq == approver.Seq + 1);
|
||||||
|
|
@ -1264,9 +1318,17 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
throw new Exception(GlobalMessages.DataNotFound);
|
throw new Exception(GlobalMessages.DataNotFound);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rawData.ApproveStep != "st3")
|
// ถ้าไม่มี commander ข้ามไปเช็ค approver ได้เลย
|
||||||
|
var commanders = rawData.Approvers
|
||||||
|
.Where(x => x.ApproveType!.ToUpper() == "COMMANDER")
|
||||||
|
.OrderBy(x => x.Seq)
|
||||||
|
.ToList();
|
||||||
|
if (commanders.Count > 0 && commanders != null)
|
||||||
{
|
{
|
||||||
throw new Exception("คำขอนี้ยังไม่ได้อยู่ในขั้นตอนที่สามารถอนุมัติได้ ไม่สามารถทำรายการได้");
|
if (rawData.ApproveStep != "st3")
|
||||||
|
{
|
||||||
|
throw new Exception("คำขอนี้ยังไม่ได้อยู่ในขั้นตอนที่สามารถอนุมัติได้ ไม่สามารถทำรายการได้");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// check commander approve
|
// check commander approve
|
||||||
|
|
@ -1294,7 +1356,9 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
|
|
||||||
approver.ApproveStatus = "REJECT";
|
approver.ApproveStatus = "REJECT";
|
||||||
approver.Comment = reason;
|
approver.Comment = reason;
|
||||||
|
approver.LastUpdateFullName = FullName ?? "";
|
||||||
|
approver.LastUpdateUserId = userId.ToString("D");
|
||||||
|
approver.LastUpdatedAt = DateTime.Now;
|
||||||
if (approver.Seq != maxSeq)
|
if (approver.Seq != maxSeq)
|
||||||
{
|
{
|
||||||
var nextApprover = approvers.FirstOrDefault(x => x.Seq == approver.Seq + 1);
|
var nextApprover = approvers.FirstOrDefault(x => x.Seq == approver.Seq + 1);
|
||||||
|
|
@ -1586,6 +1650,16 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
node == null ? true : true
|
node == null ? true : true
|
||||||
).ToList();
|
).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
data = data.Where(x =>
|
||||||
|
node == 4 ? x.Child3DnaId == Guid.Parse(nodeId) :
|
||||||
|
node == 3 ? x.Child2DnaId == Guid.Parse(nodeId) :
|
||||||
|
node == 2 ? x.Child1DnaId == Guid.Parse(nodeId) :
|
||||||
|
node == 1 || node == 0 ? x.RootDnaId == Guid.Parse(nodeId) :
|
||||||
|
node == null ? true : true
|
||||||
|
).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
data = data.Where(x => x.RootDnaId == Guid.Parse(nodeId)).ToList();
|
data = data.Where(x => x.RootDnaId == Guid.Parse(nodeId)).ToList();
|
||||||
|
|
@ -1606,7 +1680,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
).ToList();
|
).ToList();
|
||||||
}
|
}
|
||||||
// กรองตามที่ fe ส่งมา
|
// กรองตามที่ fe ส่งมา
|
||||||
if (role == "ROOT" || role == "OWNER" || role == "CHILD" || role == "PARENT")
|
if (role == "ROOT" || role == "OWNER" || role == "CHILD" || role == "BROTHER" || role == "PARENT")
|
||||||
{
|
{
|
||||||
data = data
|
data = data
|
||||||
.Where(x => nodeByReq == 4 ? x.Child4Id == Guid.Parse(nodeIdByReq) : nodeByReq == 3 ? x.Child3Id == Guid.Parse(nodeIdByReq) : nodeByReq == 2 ? x.Child2Id == Guid.Parse(nodeIdByReq) : nodeByReq == 1 ? x.Child1Id == Guid.Parse(nodeIdByReq) : nodeByReq == 0 ? x.RootId == Guid.Parse(nodeIdByReq) : true)
|
.Where(x => nodeByReq == 4 ? x.Child4Id == Guid.Parse(nodeIdByReq) : nodeByReq == 3 ? x.Child3Id == Guid.Parse(nodeIdByReq) : nodeByReq == 2 ? x.Child2Id == Guid.Parse(nodeIdByReq) : nodeByReq == 1 ? x.Child1Id == Guid.Parse(nodeIdByReq) : nodeByReq == 0 ? x.RootId == Guid.Parse(nodeIdByReq) : true)
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ 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;
|
||||||
|
using Serilog;
|
||||||
|
using System.Diagnostics;
|
||||||
|
|
||||||
namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
|
namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
|
||||||
{
|
{
|
||||||
|
|
@ -160,6 +162,12 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
|
||||||
.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true))))))
|
.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true))))))
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
data = data
|
||||||
|
.Where(x => node == 4 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 1 || node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))))
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
data = data
|
data = data
|
||||||
|
|
@ -168,15 +176,19 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
|
||||||
else if (role == "PARENT")
|
else if (role == "PARENT")
|
||||||
{
|
{
|
||||||
data = data
|
data = data
|
||||||
.Where(x => x.RootDnaId == Guid.Parse(nodeId!) && x.Child1DnaId != null).ToList();
|
.Where(x => x.RootDnaId == Guid.Parse(nodeId!) && x.Child1DnaId != null && x.Child1DnaId != Guid.Empty).ToList();
|
||||||
}
|
}
|
||||||
else if (role == "NORMAL")
|
else if (role == "NORMAL")
|
||||||
{
|
{
|
||||||
data = data.Where(x =>
|
data = data.Where(x =>
|
||||||
node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) && x.Child1DnaId == null :
|
node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) &&
|
||||||
node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) && x.Child2DnaId == null :
|
(x.Child1DnaId == Guid.Empty || x.Child1DnaId == null) :
|
||||||
node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) && x.Child3DnaId == null :
|
node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) &&
|
||||||
node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) && x.Child4DnaId == null :
|
(x.Child2DnaId == Guid.Empty || x.Child2DnaId == null) :
|
||||||
|
node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) &&
|
||||||
|
(x.Child3DnaId == Guid.Empty || x.Child3DnaId == null) :
|
||||||
|
node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) &&
|
||||||
|
(x.Child4DnaId == Guid.Empty || x.Child4DnaId == null) :
|
||||||
node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) :
|
node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) :
|
||||||
true
|
true
|
||||||
).ToList();
|
).ToList();
|
||||||
|
|
|
||||||
|
|
@ -158,6 +158,16 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
|
||||||
node == null ? true : true
|
node == null ? true : true
|
||||||
).ToList();
|
).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
data = data.Where(x =>
|
||||||
|
node == 4 ? x.Child3DnaId == Guid.Parse(nodeId) :
|
||||||
|
node == 3 ? x.Child2DnaId == Guid.Parse(nodeId) :
|
||||||
|
node == 2 ? x.Child1DnaId == Guid.Parse(nodeId) :
|
||||||
|
node == 1 || node == 0 ? x.RootDnaId == Guid.Parse(nodeId) :
|
||||||
|
node == null ? true : true
|
||||||
|
).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
data = data.Where(x => x.RootDnaId == Guid.Parse(nodeId)).ToList();
|
data = data.Where(x => x.RootDnaId == Guid.Parse(nodeId)).ToList();
|
||||||
|
|
@ -178,7 +188,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
|
||||||
).ToList();
|
).ToList();
|
||||||
}
|
}
|
||||||
// กรองตามที่ fe ส่งมา
|
// กรองตามที่ fe ส่งมา
|
||||||
if (role == "ROOT" || role == "OWNER" || role == "CHILD" || role == "PARENT")
|
if (role == "ROOT" || role == "OWNER" || role == "CHILD" || role == "BROTHER" || role == "PARENT")
|
||||||
{
|
{
|
||||||
data = data.Where(x =>
|
data = data.Where(x =>
|
||||||
nodeByReq == 4 ? x.Child4Id == Guid.Parse(nodeIdByReq) :
|
nodeByReq == 4 ? x.Child4Id == Guid.Parse(nodeIdByReq) :
|
||||||
|
|
@ -266,6 +276,12 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
|
||||||
.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true))))))
|
.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true))))))
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
data = data
|
||||||
|
.Where(x => node == 4 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 1 || node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))))
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
data = data
|
data = data
|
||||||
|
|
|
||||||
|
|
@ -124,6 +124,12 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
|
||||||
.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true))))))
|
.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true))))))
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
data = data
|
||||||
|
.Where(x => node == 4 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 1 || node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))))
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
data = data
|
data = data
|
||||||
|
|
|
||||||
|
|
@ -772,6 +772,18 @@ namespace BMA.EHR.DisciplineComplaint_Appeal.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -802,6 +814,11 @@ namespace BMA.EHR.DisciplineComplaint_Appeal.Service.Controllers
|
||||||
data_search = data_search
|
data_search = data_search
|
||||||
.Where(x => node == 4 ? x.child4DnaId == nodeId : (node == 3 ? x.child3DnaId == nodeId : (node == 2 ? x.child2DnaId == nodeId : (node == 1 ? x.child1DnaId == nodeId : (node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true)))))).ToList();
|
.Where(x => node == 4 ? x.child4DnaId == nodeId : (node == 3 ? x.child3DnaId == nodeId : (node == 2 ? x.child2DnaId == nodeId : (node == 1 ? x.child1DnaId == nodeId : (node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true)))))).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
data_search = data_search
|
||||||
|
.Where(x => node == 4 ? x.child3DnaId == nodeId : (node == 3 ? x.child2DnaId == nodeId : (node == 2 ? x.child1DnaId == nodeId : (node == 1 || node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true))))).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
data_search = data_search
|
data_search = data_search
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,13 @@
|
||||||
using BMA.EHR.Application.Repositories;
|
using BMA.EHR.Application.Repositories;
|
||||||
using BMA.EHR.Application.Repositories.MessageQueue;
|
using BMA.EHR.Application.Repositories.MessageQueue;
|
||||||
|
using BMA.EHR.Application.Responses.Profiles;
|
||||||
using BMA.EHR.Discipline.Service.Requests;
|
using BMA.EHR.Discipline.Service.Requests;
|
||||||
using BMA.EHR.Domain.Common;
|
using BMA.EHR.Domain.Common;
|
||||||
using BMA.EHR.Domain.Models.Discipline;
|
using BMA.EHR.Domain.Models.Discipline;
|
||||||
using BMA.EHR.Domain.Shared;
|
using BMA.EHR.Domain.Shared;
|
||||||
using BMA.EHR.Infrastructure.Persistence;
|
using BMA.EHR.Infrastructure.Persistence;
|
||||||
|
using Elasticsearch.Net;
|
||||||
|
|
||||||
// using BMA.EHR.Placement.Service.Requests;
|
// using BMA.EHR.Placement.Service.Requests;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
@ -29,24 +32,25 @@ namespace BMA.EHR.DisciplineSuspend.Service.Controllers
|
||||||
private readonly MinIODisciplineService _documentService;
|
private readonly MinIODisciplineService _documentService;
|
||||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
private readonly IHttpContextAccessor _httpContextAccessor;
|
||||||
private readonly PermissionRepository _permission;
|
private readonly PermissionRepository _permission;
|
||||||
|
private readonly UserProfileRepository _userProfileRepository;
|
||||||
public DisciplineSuspendController(DisciplineDbContext context,
|
public DisciplineSuspendController(DisciplineDbContext context,
|
||||||
MinIODisciplineService documentService,
|
MinIODisciplineService documentService,
|
||||||
IHttpContextAccessor httpContextAccessor,
|
IHttpContextAccessor httpContextAccessor,
|
||||||
PermissionRepository permission)
|
PermissionRepository permission,
|
||||||
|
UserProfileRepository userProfileRepository)
|
||||||
{
|
{
|
||||||
// _repository = repository;
|
// _repository = repository;
|
||||||
_context = context;
|
_context = context;
|
||||||
_documentService = documentService;
|
_documentService = documentService;
|
||||||
_httpContextAccessor = httpContextAccessor;
|
_httpContextAccessor = httpContextAccessor;
|
||||||
_permission = permission;
|
_permission = permission;
|
||||||
|
_userProfileRepository = userProfileRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
#region " Properties "
|
#region " Properties "
|
||||||
|
|
||||||
private string? UserId => _httpContextAccessor?.HttpContext?.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value;
|
private string? UserId => _httpContextAccessor?.HttpContext?.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value;
|
||||||
|
|
||||||
private string? FullName => _httpContextAccessor?.HttpContext?.User?.FindFirst("name")?.Value;
|
private string? FullName => _httpContextAccessor?.HttpContext?.User?.FindFirst("name")?.Value;
|
||||||
|
private string? AccessToken => _httpContextAccessor?.HttpContext?.Request.Headers["Authorization"];
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
@ -59,7 +63,7 @@ namespace BMA.EHR.DisciplineSuspend.Service.Controllers
|
||||||
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||||
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||||
[HttpGet()]
|
[HttpGet()]
|
||||||
public async Task<ActionResult<ResponseObject>> GetDisciplineSuspend(DateTime? startDate, DateTime? endDate, int page = 1, int pageSize = 25, string keyword = "", string profileType = "", string? sortBy = "", bool? descending = false)
|
public async Task<ActionResult<ResponseObject>> GetDisciplineSuspend(DateTime? startDate, DateTime? endDate, int page = 1, int pageSize = 25, string keyword = "", string profileType = "", string? sortBy = "", bool? descending = false, string? status="")
|
||||||
{
|
{
|
||||||
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_DISCIPLINE_SUSPENDED");
|
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_DISCIPLINE_SUSPENDED");
|
||||||
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
||||||
|
|
@ -67,6 +71,41 @@ namespace BMA.EHR.DisciplineSuspend.Service.Controllers
|
||||||
{
|
{
|
||||||
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
||||||
}
|
}
|
||||||
|
// กรองสิทธิ์
|
||||||
|
string role = jsonData["result"]?.ToString() ?? "";
|
||||||
|
var nodeId = string.Empty;
|
||||||
|
var profileAdmin = new GetUserOCAllDto();
|
||||||
|
profileAdmin = await _userProfileRepository.GetUserOCAll(Guid.Parse(UserId!), AccessToken);
|
||||||
|
if (role == "NORMAL" || role == "CHILD")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child4DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 1
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
}
|
||||||
var data_search = (from x in _context.DisciplineReport_Profiles.Include(x => x.DisciplineDisciplinary)
|
var data_search = (from x in _context.DisciplineReport_Profiles.Include(x => x.DisciplineDisciplinary)
|
||||||
where
|
where
|
||||||
(
|
(
|
||||||
|
|
@ -78,7 +117,7 @@ namespace BMA.EHR.DisciplineSuspend.Service.Controllers
|
||||||
) :
|
) :
|
||||||
true
|
true
|
||||||
)
|
)
|
||||||
&&
|
&&
|
||||||
(
|
(
|
||||||
(x.CitizenId != null && x.CitizenId.Contains(keyword)) ||
|
(x.CitizenId != null && x.CitizenId.Contains(keyword)) ||
|
||||||
((x.Prefix ?? "") + (x.FirstName ?? "") + " " + (x.LastName ?? "")).Contains(keyword) ||
|
((x.Prefix ?? "") + (x.FirstName ?? "") + " " + (x.LastName ?? "")).Contains(keyword) ||
|
||||||
|
|
@ -94,6 +133,48 @@ namespace BMA.EHR.DisciplineSuspend.Service.Controllers
|
||||||
(profileType.ToUpper() == "OFFICER" && x.profileType == "OFFICER") ||
|
(profileType.ToUpper() == "OFFICER" && x.profileType == "OFFICER") ||
|
||||||
(profileType.ToUpper() == "EMPLOYEE" && x.profileType == "EMPLOYEE")
|
(profileType.ToUpper() == "EMPLOYEE" && x.profileType == "EMPLOYEE")
|
||||||
)
|
)
|
||||||
|
&&
|
||||||
|
(
|
||||||
|
!string.IsNullOrEmpty(status) ? x.Status!.Trim().ToUpper() == status : true
|
||||||
|
)
|
||||||
|
&&
|
||||||
|
(
|
||||||
|
role == "OWNER"
|
||||||
|
? true
|
||||||
|
: role == "ROOT"
|
||||||
|
? x.rootDnaId == nodeId
|
||||||
|
: role == "PARENT"
|
||||||
|
? x.rootDnaId == nodeId && x.child1DnaId != null
|
||||||
|
: role == "CHILD"
|
||||||
|
? (
|
||||||
|
profileAdmin.Node == 4 ? x.child4DnaId == nodeId :
|
||||||
|
profileAdmin.Node == 3 ? x.child3DnaId == nodeId :
|
||||||
|
profileAdmin.Node == 2 ? x.child2DnaId == nodeId :
|
||||||
|
profileAdmin.Node == 1 ? x.child1DnaId == nodeId :
|
||||||
|
profileAdmin.Node == 0 ? x.rootDnaId == nodeId :
|
||||||
|
true
|
||||||
|
)
|
||||||
|
: role == "BROTHER"
|
||||||
|
? (
|
||||||
|
profileAdmin.Node == 4 ? x.child3DnaId == nodeId :
|
||||||
|
profileAdmin.Node == 3 ? x.child2DnaId == nodeId :
|
||||||
|
profileAdmin.Node == 2 ? x.child1DnaId == nodeId :
|
||||||
|
(
|
||||||
|
profileAdmin.Node == 1 || profileAdmin.Node == 0
|
||||||
|
)
|
||||||
|
? x.rootDnaId == nodeId : true
|
||||||
|
)
|
||||||
|
: role == "NORMAL"
|
||||||
|
? (
|
||||||
|
profileAdmin.Node == 0 ? x.rootDnaId == nodeId && x.child1DnaId == null :
|
||||||
|
profileAdmin.Node == 1 ? x.child1DnaId == nodeId && x.child2DnaId == null :
|
||||||
|
profileAdmin.Node == 2 ? x.child2DnaId == nodeId && x.child3DnaId == null :
|
||||||
|
profileAdmin.Node == 3 ? x.child3DnaId == nodeId && x.child4DnaId == null :
|
||||||
|
profileAdmin.Node == 4 ? x.child4DnaId == nodeId :
|
||||||
|
true
|
||||||
|
)
|
||||||
|
: true
|
||||||
|
)
|
||||||
select x).ToList();
|
select x).ToList();
|
||||||
var query = data_search
|
var query = data_search
|
||||||
.Select(x => new
|
.Select(x => new
|
||||||
|
|
|
||||||
|
|
@ -552,12 +552,15 @@ namespace BMA.EHR.Domain.Middlewares
|
||||||
return Guid.Empty.ToString("D");
|
return Guid.Empty.ToString("D");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Decode Base64 payload
|
// Decode Base64Url payload (JWT uses Base64Url encoding, not standard Base64)
|
||||||
var payload = parts[1];
|
var payload = parts[1];
|
||||||
|
|
||||||
|
// แปลง Base64Url เป็น Base64 ก่อน
|
||||||
|
payload = payload.Replace('-', '+').Replace('_', '/');
|
||||||
|
|
||||||
// เพิ่ม padding ถ้าจำเป็น
|
// เพิ่ม padding ถ้าจำเป็น
|
||||||
var padLength = 4 - (payload.Length % 4);
|
var padLength = 4 - (payload.Length % 4);
|
||||||
if (padLength != 4)
|
if (padLength < 4)
|
||||||
{
|
{
|
||||||
payload += new string('=', padLength);
|
payload += new string('=', padLength);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using BMA.EHR.Domain.Models.Base;
|
using BMA.EHR.Domain.Models.Base;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace BMA.EHR.Domain.Models.Leave.Requests
|
namespace BMA.EHR.Domain.Models.Leave.Requests
|
||||||
{
|
{
|
||||||
|
|
@ -16,6 +17,9 @@ namespace BMA.EHR.Domain.Models.Leave.Requests
|
||||||
|
|
||||||
public string PositionName { get; set; } = string.Empty;
|
public string PositionName { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[Comment("ตำแหน่งใต้ลายเช็นต์")]
|
||||||
|
public string? PositionSign { get; set; } = string.Empty;
|
||||||
|
|
||||||
public Guid ProfileId { get; set; } = Guid.Empty;
|
public Guid ProfileId { get; set; } = Guid.Empty;
|
||||||
|
|
||||||
public Guid KeycloakId { get; set; } = Guid.Empty;
|
public Guid KeycloakId { get; set; } = Guid.Empty;
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,6 @@ namespace BMA.EHR.Infrastructure
|
||||||
public static IServiceCollection AddLeavePersistence(this IServiceCollection services,
|
public static IServiceCollection AddLeavePersistence(this IServiceCollection services,
|
||||||
IConfiguration configuration)
|
IConfiguration configuration)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
// leave db context
|
// leave db context
|
||||||
var connectionStringLeave = configuration.GetConnectionString("LeaveConnection");
|
var connectionStringLeave = configuration.GetConnectionString("LeaveConnection");
|
||||||
|
|
||||||
|
|
@ -31,6 +29,10 @@ namespace BMA.EHR.Infrastructure
|
||||||
{
|
{
|
||||||
b.MigrationsAssembly(typeof(LeaveDbContext).Assembly.FullName);
|
b.MigrationsAssembly(typeof(LeaveDbContext).Assembly.FullName);
|
||||||
b.MigrationsHistoryTable("__LeaveMigrationsHistory");
|
b.MigrationsHistoryTable("__LeaveMigrationsHistory");
|
||||||
|
b.EnableRetryOnFailure(
|
||||||
|
maxRetryCount: 5,
|
||||||
|
maxRetryDelay: System.TimeSpan.FromSeconds(30),
|
||||||
|
errorNumbersToAdd: null);
|
||||||
|
|
||||||
}),
|
}),
|
||||||
ServiceLifetime.Transient);
|
ServiceLifetime.Transient);
|
||||||
|
|
@ -43,8 +45,6 @@ namespace BMA.EHR.Infrastructure
|
||||||
public static IServiceCollection AddDisciplinePersistence(this IServiceCollection services,
|
public static IServiceCollection AddDisciplinePersistence(this IServiceCollection services,
|
||||||
IConfiguration configuration)
|
IConfiguration configuration)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
// discipline db context
|
// discipline db context
|
||||||
var connectionStringDiscipline = configuration.GetConnectionString("DisciplineConnection");
|
var connectionStringDiscipline = configuration.GetConnectionString("DisciplineConnection");
|
||||||
|
|
||||||
|
|
@ -54,7 +54,10 @@ namespace BMA.EHR.Infrastructure
|
||||||
{
|
{
|
||||||
b.MigrationsAssembly(typeof(DisciplineDbContext).Assembly.FullName);
|
b.MigrationsAssembly(typeof(DisciplineDbContext).Assembly.FullName);
|
||||||
b.MigrationsHistoryTable("__DisciplineMigrationsHistory");
|
b.MigrationsHistoryTable("__DisciplineMigrationsHistory");
|
||||||
|
b.EnableRetryOnFailure(
|
||||||
|
maxRetryCount: 5,
|
||||||
|
maxRetryDelay: System.TimeSpan.FromSeconds(30),
|
||||||
|
errorNumbersToAdd: null);
|
||||||
}),
|
}),
|
||||||
ServiceLifetime.Transient);
|
ServiceLifetime.Transient);
|
||||||
|
|
||||||
|
|
@ -67,8 +70,6 @@ namespace BMA.EHR.Infrastructure
|
||||||
IConfiguration configuration)
|
IConfiguration configuration)
|
||||||
{
|
{
|
||||||
services.AddTransient<MinIOService>();
|
services.AddTransient<MinIOService>();
|
||||||
|
|
||||||
|
|
||||||
var connectionString = configuration.GetConnectionString("DefaultConnection");
|
var connectionString = configuration.GetConnectionString("DefaultConnection");
|
||||||
|
|
||||||
services.AddDbContext<ApplicationDBContext>(options =>
|
services.AddDbContext<ApplicationDBContext>(options =>
|
||||||
|
|
@ -77,10 +78,15 @@ namespace BMA.EHR.Infrastructure
|
||||||
{
|
{
|
||||||
b.MigrationsAssembly(typeof(ApplicationDBContext).Assembly.FullName);
|
b.MigrationsAssembly(typeof(ApplicationDBContext).Assembly.FullName);
|
||||||
b.MigrationsHistoryTable("__EHRMigrationsHistory");
|
b.MigrationsHistoryTable("__EHRMigrationsHistory");
|
||||||
|
b.EnableRetryOnFailure(
|
||||||
|
maxRetryCount: 5,
|
||||||
|
maxRetryDelay: System.TimeSpan.FromSeconds(30),
|
||||||
|
errorNumbersToAdd: null);
|
||||||
|
|
||||||
}),
|
}),
|
||||||
ServiceLifetime.Transient);
|
ServiceLifetime.Transient);
|
||||||
|
|
||||||
|
|
||||||
services.AddTransient<IApplicationDBContext>(provider => provider.GetService<ApplicationDBContext>());
|
services.AddTransient<IApplicationDBContext>(provider => provider.GetService<ApplicationDBContext>());
|
||||||
|
|
||||||
var connectionStringExam = configuration.GetConnectionString("ExamConnection");
|
var connectionStringExam = configuration.GetConnectionString("ExamConnection");
|
||||||
|
|
@ -91,6 +97,10 @@ namespace BMA.EHR.Infrastructure
|
||||||
{
|
{
|
||||||
b.MigrationsAssembly(typeof(ApplicationDBExamContext).Assembly.FullName);
|
b.MigrationsAssembly(typeof(ApplicationDBExamContext).Assembly.FullName);
|
||||||
b.MigrationsHistoryTable("__EHRMigrationsHistory");
|
b.MigrationsHistoryTable("__EHRMigrationsHistory");
|
||||||
|
b.EnableRetryOnFailure(
|
||||||
|
maxRetryCount: 5,
|
||||||
|
maxRetryDelay: System.TimeSpan.FromSeconds(30),
|
||||||
|
errorNumbersToAdd: null);
|
||||||
|
|
||||||
}),
|
}),
|
||||||
ServiceLifetime.Transient);
|
ServiceLifetime.Transient);
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,30 @@
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace BMA.EHR.Infrastructure.Migrations.LeaveDb
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class update_LeaveRequestApprover_add_PositionSign : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AddColumn<string>(
|
||||||
|
name: "PositionSign",
|
||||||
|
table: "LeaveRequestApprovers",
|
||||||
|
type: "longtext",
|
||||||
|
nullable: true,
|
||||||
|
comment: "ตำแหน่งใต้ลายเช็นต์")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "PositionSign",
|
||||||
|
table: "LeaveRequestApprovers");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -731,6 +731,10 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb
|
||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("longtext");
|
.HasColumnType("longtext");
|
||||||
|
|
||||||
|
b.Property<string>("PositionSign")
|
||||||
|
.HasColumnType("longtext")
|
||||||
|
.HasComment("ตำแหน่งใต้ลายเช็นต์");
|
||||||
|
|
||||||
b.Property<string>("Prefix")
|
b.Property<string>("Prefix")
|
||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("longtext");
|
.HasColumnType("longtext");
|
||||||
|
|
|
||||||
|
|
@ -627,6 +627,18 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -702,6 +714,11 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
||||||
rawData = rawData
|
rawData = rawData
|
||||||
.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))))).ToList();
|
.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))))).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
rawData = rawData
|
||||||
|
.Where(x => node == 4 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 1 || node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : true)))).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
rawData = rawData
|
rawData = rawData
|
||||||
|
|
@ -914,6 +931,18 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -987,6 +1016,11 @@ namespace BMA.EHR.Insignia.Service.Controllers
|
||||||
rawData = rawData
|
rawData = rawData
|
||||||
.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))))).ToList();
|
.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))))).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
rawData = rawData
|
||||||
|
.Where(x => node == 4 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 1 || node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : true)))).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
rawData = rawData
|
rawData = rawData
|
||||||
|
|
|
||||||
|
|
@ -129,6 +129,18 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -144,6 +156,11 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
resData = resData
|
resData = resData
|
||||||
.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))))).ToList();
|
.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))))).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
resData = resData
|
||||||
|
.Where(x => node == 4 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 1 || node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true))))).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
resData = resData
|
resData = resData
|
||||||
|
|
|
||||||
|
|
@ -1304,6 +1304,18 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROHTER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -1484,7 +1496,8 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
CheckInPOI = d.CheckInPOI,
|
CheckInPOI = d.CheckInPOI,
|
||||||
CheckInLat = d.CheckInLat,
|
CheckInLat = d.CheckInLat,
|
||||||
CheckInLon = d.CheckInLon,
|
CheckInLon = d.CheckInLon,
|
||||||
CheckInImg = $"{imgUrl}/{d.CheckInImageUrl}",
|
//CheckInImg = $"{imgUrl}/{d.CheckInImageUrl}",
|
||||||
|
CheckInImg = await _minIOService.ImagesPathByName(d.CheckInImageUrl),
|
||||||
CheckInStatus = d.CheckInStatus != null || d.CheckInStatus != "" ? d.CheckInStatus :
|
CheckInStatus = d.CheckInStatus != null || d.CheckInStatus != "" ? d.CheckInStatus :
|
||||||
DateTime.Parse(d.CheckIn.ToString("yyyy-MM-dd HH:mm")) >
|
DateTime.Parse(d.CheckIn.ToString("yyyy-MM-dd HH:mm")) >
|
||||||
DateTime.Parse($"{d.CheckIn.Date.ToString("yyyy-MM-dd")} {duty.StartTimeMorning}") ?
|
DateTime.Parse($"{d.CheckIn.Date.ToString("yyyy-MM-dd")} {duty.StartTimeMorning}") ?
|
||||||
|
|
@ -1504,7 +1517,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
CheckOutPOI = d.CheckOut == null ? "" : d.CheckOutPOI,
|
CheckOutPOI = d.CheckOut == null ? "" : d.CheckOutPOI,
|
||||||
CheckOutLat = d.CheckOut == null ? null : d.CheckOutLat,
|
CheckOutLat = d.CheckOut == null ? null : d.CheckOutLat,
|
||||||
CheckOutLon = d.CheckOut == null ? null : d.CheckOutLon,
|
CheckOutLon = d.CheckOut == null ? null : d.CheckOutLon,
|
||||||
CheckOutImg = d.CheckOut == null ? "" : $"{imgUrl}/{d.CheckOutImageUrl}",
|
CheckOutImg = d.CheckOut == null ? "" : await _minIOService.ImagesPathByName(d.CheckOutImageUrl),
|
||||||
|
|
||||||
CheckOutStatus = d.CheckOut == null ? null :
|
CheckOutStatus = d.CheckOut == null ? null :
|
||||||
d.CheckOutStatus != null || d.CheckOutStatus != "" ? d.CheckOutStatus :
|
d.CheckOutStatus != null || d.CheckOutStatus != "" ? d.CheckOutStatus :
|
||||||
|
|
@ -1600,6 +1613,18 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -1834,6 +1859,18 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -2053,7 +2090,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||||
public async Task<ActionResult<ResponseObject>> SearchEmpProfileAsync([FromBody] DTOs.ChangeRound.SearchProfileDto req)
|
public async Task<ActionResult<ResponseObject>> SearchEmpProfileAsync([FromBody] DTOs.ChangeRound.SearchProfileDto req)
|
||||||
{
|
{
|
||||||
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_WORK_ROUND_EDIT");
|
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_WORK_ROUND_EDIT_EMP");
|
||||||
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
||||||
if (jsonData["status"]?.ToString() != "200")
|
if (jsonData["status"]?.ToString() != "200")
|
||||||
{
|
{
|
||||||
|
|
@ -2077,6 +2114,18 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -2325,9 +2374,30 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
//var endTime = DateTimeOffset.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")}T{duty.EndTimeAfternoon}:00.0000000+07:00").ToLocalTime().DateTime;
|
//var endTime = DateTimeOffset.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")}T{duty.EndTimeAfternoon}:00.0000000+07:00").ToLocalTime().DateTime;
|
||||||
|
|
||||||
var endTime = DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")}T{duty.EndTimeAfternoon}:00.0000000+07:00");
|
//var endTime = DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")}T{duty.EndTimeAfternoon}:00.0000000+07:00");
|
||||||
|
var endTime = DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")} {duty.EndTimeAfternoon}");
|
||||||
|
var status = string.Empty;
|
||||||
|
if(lastCheckIn == null)
|
||||||
|
{
|
||||||
|
status = "ABSENT";
|
||||||
|
}
|
||||||
|
else if (lastCheckIn.CheckIn.Date < DateTime.Now.Date)
|
||||||
|
{
|
||||||
|
status = "NORMAL";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (time < endTime)
|
||||||
|
{
|
||||||
|
status = "ABSENT";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
status = "NORMAL";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var status = lastCheckIn == null ? "ABSENT" : lastCheckIn.CheckIn.Date < DateTime.Now.Date ? "NORMAL" : time < endTime ? "ABSENT" : "NORMAL";
|
//var status = lastCheckIn == null ? "ABSENT" : lastCheckIn.CheckIn.Date < DateTime.Now.Date ? "NORMAL" : time < endTime ? "ABSENT" : "NORMAL";
|
||||||
|
|
||||||
return Success(new
|
return Success(new
|
||||||
{
|
{
|
||||||
|
|
@ -2437,6 +2507,18 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
|
||||||
|
|
@ -152,7 +152,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var startFiscalYear = new DateTime(data.LeaveStartDate.Year - 1, 10, 1);
|
var startFiscalYear = new DateTime(data.LeaveStartDate.Year - 1, 10, 1);
|
||||||
var endFiscalYear = data.LeaveStartDate.Date.AddDays(-1); // นับจากวันที่ยื่นลา
|
var endFiscalYear = data.LeaveStartDate.Date.AddDays(-1); // นับจากวันที่ยื่นลา
|
||||||
var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear);
|
var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear);
|
||||||
|
var approveResult = await GetApproverData(data.Approvers);
|
||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
template = "leave9",
|
template = "leave9",
|
||||||
|
|
@ -181,6 +181,27 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
LeaveRemain = (data.Type.Limit - sumLeave).ToString().ToThaiNumber(),
|
LeaveRemain = (data.Type.Limit - sumLeave).ToString().ToThaiNumber(),
|
||||||
LeaveAll = (data.LeaveTotal + sumLeave).ToString().ToThaiNumber(),
|
LeaveAll = (data.LeaveTotal + sumLeave).ToString().ToThaiNumber(),
|
||||||
|
|
||||||
|
Type1 = data.Type.Name == "ลาป่วย" ? "🗹" : "☐",
|
||||||
|
Type2 = data.Type.Name == "ลากิจส่วนตัว" ? "🗹" : "☐",
|
||||||
|
Type3 = data.Type.Name == "ลาคลอดบุตร" ? "🗹" : "☐",
|
||||||
|
|
||||||
|
leaveS1 = data.Type.Name == "ลาป่วย" ? sumLeave.ToString().ToThaiNumber() : "",
|
||||||
|
leaveS2 = data.Type.Name == "ลากิจส่วนตัว" ? sumLeave.ToString().ToThaiNumber() : "",
|
||||||
|
leaveS3 = data.Type.Name == "ลาคลอดบุตร" ? sumLeave.ToString().ToThaiNumber() : "",
|
||||||
|
|
||||||
|
leaveT1 = data.Type.Name == "ลาป่วย" ? data.LeaveTotal.ToString().ToThaiNumber() : "",
|
||||||
|
leaveT2 = data.Type.Name == "ลากิจส่วนตัว" ? data.LeaveTotal.ToString().ToThaiNumber() : "",
|
||||||
|
leaveT3 = data.Type.Name == "ลาคลอดบุตร" ? data.LeaveTotal.ToString().ToThaiNumber() : "",
|
||||||
|
|
||||||
|
leaveA1 = data.Type.Name == "ลาป่วย" ? (data.LeaveTotal + sumLeave).ToString().ToThaiNumber() : "",
|
||||||
|
leaveA2 = data.Type.Name == "ลากิจส่วนตัว" ? (data.LeaveTotal + sumLeave).ToString().ToThaiNumber() : "",
|
||||||
|
leaveA3 = data.Type.Name == "ลาคลอดบุตร" ? (data.LeaveTotal + sumLeave).ToString().ToThaiNumber() : "",
|
||||||
|
approve = approveResult,
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -194,7 +215,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
}
|
}
|
||||||
|
|
||||||
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
||||||
|
var approveResult = await GetApproverData(data.Approvers);
|
||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
template = "leave10",
|
template = "leave10",
|
||||||
|
|
@ -217,6 +238,13 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber(), //data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber(), //data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
||||||
leaveAddress = data.LeaveAddress.ToThaiNumber(),
|
leaveAddress = data.LeaveAddress.ToThaiNumber(),
|
||||||
leaveNumber = data.LeaveNumber.ToThaiNumber(),
|
leaveNumber = data.LeaveNumber.ToThaiNumber(),
|
||||||
|
|
||||||
|
approve = approveResult,
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -248,6 +276,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var leaveLimit = leaveData == null ? 0.0 : leaveData.LeaveDays;
|
var leaveLimit = leaveData == null ? 0.0 : leaveData.LeaveDays;
|
||||||
var extendLeave = leaveLimit - 10;
|
var extendLeave = leaveLimit - 10;
|
||||||
|
|
||||||
|
var approveResult = await GetApproverData(data.Approvers);
|
||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
template = "leave11",
|
template = "leave11",
|
||||||
|
|
@ -278,7 +307,15 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
LeaveSummary = sumLeave.ToString().ToThaiNumber(), // วันลาครั้งก่อน
|
LeaveSummary = sumLeave.ToString().ToThaiNumber(), // วันลาครั้งก่อน
|
||||||
|
|
||||||
LeaveAll = (data.LeaveTotal + sumLeave).ToString().ToThaiNumber(), // ลาครั้งนี้ + ครั้งก่อน
|
LeaveAll = (data.LeaveTotal + sumLeave).ToString().ToThaiNumber(), // ลาครั้งนี้ + ครั้งก่อน
|
||||||
LeaveLimit = leaveLimit.ToString().ToThaiNumber() // สิทธิ์การลา
|
LeaveLimit = leaveLimit.ToString().ToThaiNumber(), // สิทธิ์การลา
|
||||||
|
|
||||||
|
approve = approveResult,
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -305,7 +342,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
{
|
{
|
||||||
isHajj = true;
|
isHajj = true;
|
||||||
}
|
}
|
||||||
|
var approveResult = await GetApproverData(data.Approvers);
|
||||||
if (isHajj == true)
|
if (isHajj == true)
|
||||||
{
|
{
|
||||||
return new
|
return new
|
||||||
|
|
@ -330,8 +367,15 @@ 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()//data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber(),//data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
||||||
|
|
||||||
|
hajjStatus = data.HajjDayStatus == true ? "☐ ยังไม่เคย 🗹 เคย" : "🗹 ยังไม่เคย ☐ เคย",
|
||||||
|
approve = approveResult,
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -365,8 +409,15 @@ 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()//data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber(),//data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
||||||
|
|
||||||
|
ordainStatus = data.OrdainDayStatus == true ? "☐ ยังไม่เคย 🗹 เคย" : "🗹 ยังไม่เคย ☐ เคย",
|
||||||
|
approve = approveResult,
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -390,7 +441,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
// if (list.Count > 0)
|
// if (list.Count > 0)
|
||||||
// approver = list.First().Name;
|
// approver = list.First().Name;
|
||||||
//}
|
//}
|
||||||
|
var approveResult = await GetApproverData(data.Approvers);
|
||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
template = "leave14",
|
template = "leave14",
|
||||||
|
|
@ -417,6 +468,12 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
leaveDateEnd = data.LeaveEndDate.Date.ToThaiShortDate().ToThaiNumber(),
|
leaveDateEnd = data.LeaveEndDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber(), //data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber(), //data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
||||||
|
|
||||||
|
approve = approveResult,
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -439,7 +496,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
// if (list.Count > 0)
|
// if (list.Count > 0)
|
||||||
// approver = list.First().Name;
|
// approver = list.First().Name;
|
||||||
//}
|
//}
|
||||||
|
var approveResult = await GetApproverData(data.Approvers);
|
||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
template = "leave15",
|
template = "leave15",
|
||||||
|
|
@ -473,6 +530,21 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber(), //data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber(), //data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
||||||
leaveAddress = data.LeaveAddress.ToThaiNumber(),
|
leaveAddress = data.LeaveAddress.ToThaiNumber(),
|
||||||
leaveNumber = data.LeaveNumber.ToThaiNumber(),
|
leaveNumber = data.LeaveNumber.ToThaiNumber(),
|
||||||
|
|
||||||
|
Type1 = data.LeaveSubTypeName == "ศึกษาต่อ" ? "🗹" : "☐",
|
||||||
|
Type2 = data.LeaveSubTypeName == "ฝึกอบรม" ? "🗹" : "☐",
|
||||||
|
Type3 = data.LeaveSubTypeName == "ปฎิบัติการวิจัย" ? "🗹" : "☐",
|
||||||
|
Type4 = data.LeaveSubTypeName == "ดูงาน" ? "🗹" : "☐",
|
||||||
|
country1 = data.LeaveSubTypeName == "ศึกษาต่อ" ? data.StudyDayCountry.ToThaiNumber() ?? "" : "",
|
||||||
|
country2 = data.LeaveSubTypeName != "ศึกษาต่อ" ? data.StudyDayCountry.ToThaiNumber() ?? "" : "",
|
||||||
|
scholarship1 = data.LeaveSubTypeName == "ศึกษาต่อ" ? data.StudyDayScholarship.ToThaiNumber() ?? "" : "☐",
|
||||||
|
scholarship2 = data.LeaveSubTypeName != "ศึกษาต่อ" ? data.StudyDayScholarship.ToThaiNumber() ?? "" : "☐",
|
||||||
|
approve = approveResult,
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -501,7 +573,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
// if (list.Count > 0)
|
// if (list.Count > 0)
|
||||||
// approver = list.First().Name;
|
// approver = list.First().Name;
|
||||||
//}
|
//}
|
||||||
|
var approveResult = await GetApproverData(data.Approvers);
|
||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
template = "leave16",
|
template = "leave16",
|
||||||
|
|
@ -562,10 +634,15 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
institute = x.Institute == null ? "" : x.Institute.ToThaiNumber(),
|
institute = x.Institute == null ? "" : x.Institute.ToThaiNumber(),
|
||||||
country = x.Country == null ? "" : x.Country.ToThaiNumber(),
|
country = x.Country == null ? "" : x.Country.ToThaiNumber(),
|
||||||
finishDate = x.FinishDate == null ? "-" : x.FinishDate.Value.ToThaiShortDate().ToThaiNumber()
|
finishDate = x.FinishDate == null ? "-" : x.FinishDate.Value.ToThaiShortDate().ToThaiNumber()
|
||||||
}).ToList()
|
}).ToList(),
|
||||||
|
|
||||||
//positionName = profileLeave.PositionName,
|
//positionName = profileLeave.PositionName,
|
||||||
|
approve = approveResult,
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -589,7 +666,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
// if (list.Count > 0)
|
// if (list.Count > 0)
|
||||||
// approver = list.First().Name;
|
// approver = list.First().Name;
|
||||||
//}
|
//}
|
||||||
|
var approveResult = await GetApproverData(data.Approvers);
|
||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
template = "leave17",
|
template = "leave17",
|
||||||
|
|
@ -613,16 +690,23 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
coupleDayPosition = data.CoupleDayPosition.ToThaiNumber(),
|
coupleDayPosition = data.CoupleDayPosition.ToThaiNumber(),
|
||||||
coupleDayOrganizationName = "-",
|
coupleDayOrganizationName = "-",
|
||||||
coupleDayLevelCountry = data.CoupleDayLevelCountry.ToThaiNumber(),
|
coupleDayLevelCountry = data.CoupleDayLevelCountry.ToThaiNumber(),
|
||||||
coupleDayCountryHistory = data.CoupleDayCountryHistory!.ToThaiNumber() ?? "",
|
coupleDayCountryHistory = data.CoupleDayCountryHistory == null ? "-" : data.CoupleDayCountryHistory!.ToThaiNumber() ?? "",
|
||||||
coupleDayTotalHistory = data.CoupleDayTotalHistory!.ToThaiNumber() ?? "",
|
coupleDayTotalHistory = data.CoupleDayTotalHistory == null ? "-" : data.CoupleDayTotalHistory!.ToThaiNumber(),
|
||||||
coupleDayStartDateHistory = data.CoupleDayStartDateHistory == null ? "" : data.CoupleDayStartDateHistory.Value.Date.ToThaiShortDate().ToThaiNumber(),
|
coupleDayStartDateHistory = data.CoupleDayStartDateHistory == null ? "-" : data.CoupleDayStartDateHistory.Value.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
coupleDayEndDateHistory = data.CoupleDayEndDateHistory == null ? "" : data.CoupleDayEndDateHistory.Value.Date.ToThaiShortDate().ToThaiNumber(),
|
coupleDayEndDateHistory = data.CoupleDayEndDateHistory == null ? "-" : data.CoupleDayEndDateHistory.Value.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
coupleDaySumTotalHistory = data.CoupleDaySumTotalHistory!.ToThaiNumber(),
|
coupleDaySumTotalHistory = data.CoupleDaySumTotalHistory == null ? "-" : data.CoupleDaySumTotalHistory!.ToThaiNumber(),
|
||||||
|
|
||||||
|
|
||||||
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(), //data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber(), //data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
||||||
|
|
||||||
|
approve = approveResult,
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -651,7 +735,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
// if (list.Count > 0)
|
// if (list.Count > 0)
|
||||||
// approver = list.First().Name;
|
// approver = list.First().Name;
|
||||||
//}
|
//}
|
||||||
|
var approveResult = await GetApproverData(data.Approvers);
|
||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
template = "leave18",
|
template = "leave18",
|
||||||
|
|
@ -668,13 +752,9 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
positionLeaveName = profile!.PositionLeaveName == null ? "-" : profile!.PositionLeaveName.ToThaiNumber(),
|
positionLeaveName = profile!.PositionLeaveName == null ? "-" : profile!.PositionLeaveName.ToThaiNumber(),
|
||||||
organizationName = profile!.Oc!.ToThaiNumber() ?? "",
|
organizationName = profile!.Oc!.ToThaiNumber() ?? "",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
leaveDateStart = data.LeaveStartDate.Date.ToThaiShortDate().ToThaiNumber(),
|
leaveDateStart = data.LeaveStartDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
leaveDateEnd = data.LeaveEndDate.Date.ToThaiShortDate().ToThaiNumber(),
|
leaveDateEnd = data.LeaveEndDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
|
|
||||||
|
|
||||||
profileType = profile.ProfileType,
|
profileType = profile.ProfileType,
|
||||||
|
|
||||||
birthDate = profileLeave.BirthDate.ToThaiShortDate().ToThaiNumber(),
|
birthDate = profileLeave.BirthDate.ToThaiShortDate().ToThaiNumber(),
|
||||||
|
|
@ -709,13 +789,23 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
orgChild3 = x.OrgChild3 == null ? "" : x.OrgChild3.ToThaiNumber(),
|
orgChild3 = x.OrgChild3 == null ? "" : x.OrgChild3.ToThaiNumber(),
|
||||||
orgChild4 = x.OrgChild4 == null ? "" : x.OrgChild4.ToThaiNumber(),
|
orgChild4 = x.OrgChild4 == null ? "" : x.OrgChild4.ToThaiNumber(),
|
||||||
}).ToList(),
|
}).ToList(),
|
||||||
|
|
||||||
educations = profileLeave.Educations.Select(x => new
|
educations = profileLeave.Educations.Select(x => new
|
||||||
{
|
{
|
||||||
educationLevel = x.EducationLevel == null ? "" : x.EducationLevel.ToThaiNumber(),
|
educationLevel = x.EducationLevel == null ? "" : x.EducationLevel.ToThaiNumber(),
|
||||||
institute = x.Institute == null ? "" : x.Institute.ToThaiNumber(),
|
institute = x.Institute == null ? "" : x.Institute.ToThaiNumber(),
|
||||||
country = x.Country == null ? "" : x.Country.ToThaiNumber(),
|
country = x.Country == null ? "" : x.Country.ToThaiNumber(),
|
||||||
finishDate = x.FinishDate == null ? "-" : x.FinishDate.Value.ToThaiShortDate().ToThaiNumber()
|
finishDate = x.FinishDate == null ? "-" : x.FinishDate.Value.ToThaiShortDate().ToThaiNumber()
|
||||||
}).ToList()
|
}).ToList(),
|
||||||
|
|
||||||
|
Type1 = profile.ProfileType == "OFFICER" ? "🗹" : "☐",
|
||||||
|
Type2 = profile.ProfileType != "OFFICER" ? "🗹" : "☐",
|
||||||
|
approve = approveResult,
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -920,6 +1010,18 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -940,7 +1042,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var count = 1;
|
var count = 1;
|
||||||
var employees = new List<dynamic>();
|
var employees = new List<dynamic>();
|
||||||
// กรองตามที่ fe ส่งมา
|
// กรองตามที่ fe ส่งมา
|
||||||
if ((role == "ROOT" || role == "OWNER" || role == "CHILD" || role == "PARENT") /*&& req.node > profileAdmin?.Node*/)
|
if ((role == "ROOT" || role == "OWNER" || role == "CHILD" || role == "PARENT" || role == "BROTHER") /*&& req.node > profileAdmin?.Node*/)
|
||||||
{
|
{
|
||||||
profile = profile
|
profile = profile
|
||||||
.Where(x => req.node == 4 ? x.OrgChild4Id == req.nodeId : req.node == 3 ? x.OrgChild3Id == req.nodeId : req.node == 2 ? x.OrgChild2Id == req.nodeId : req.node == 1 ? x.OrgChild1Id == req.nodeId : req.node == 0 ? x.OrgRootId == req.nodeId : true)
|
.Where(x => req.node == 4 ? x.OrgChild4Id == req.nodeId : req.node == 3 ? x.OrgChild3Id == req.nodeId : req.node == 2 ? x.OrgChild2Id == req.nodeId : req.node == 1 ? x.OrgChild1Id == req.nodeId : req.node == 0 ? x.OrgRootId == req.nodeId : true)
|
||||||
|
|
@ -1332,7 +1434,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
||||||
}
|
}
|
||||||
var profile = new List<GetProfileByKeycloakIdRootDto>();
|
var profile = new List<GetProfileByKeycloakIdRootDto>();
|
||||||
profile = await _userProfileRepository.GetProfileWithKeycloakAllOfficerRetireFilterAndRevisionAndDate(AccessToken, req.node, req.nodeId, jsonData["result"] == "OWNER" || jsonData["result"] == "CHILD", req.isRetirement ?? true, req.revisionId, req.StartDate, req.EndDate);
|
profile = await _userProfileRepository.GetProfileWithKeycloakAllOfficerRetireFilterAndRevisionAndDate(AccessToken, req.node, req.nodeId, jsonData["result"] == "OWNER" || jsonData["result"] == "CHILD" || jsonData["result"] == "BROTHER", req.isRetirement ?? true, req.revisionId, req.StartDate, req.EndDate);
|
||||||
|
|
||||||
// get leave day
|
// get leave day
|
||||||
var leaveDays = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRange(req.StartDate, req.EndDate);
|
var leaveDays = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRange(req.StartDate, req.EndDate);
|
||||||
|
|
@ -1537,6 +1639,18 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -1611,7 +1725,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var workTotal = 0;
|
var workTotal = 0;
|
||||||
var seminarTotal = 0;
|
var seminarTotal = 0;
|
||||||
// กรองตามที่ fe ส่งมา
|
// กรองตามที่ fe ส่งมา
|
||||||
if ((role == "ROOT" || role == "OWNER" || role == "CHILD" || role == "PARENT") /*&& req.node > profileAdmin?.Node*/)
|
if ((role == "ROOT" || role == "OWNER" || role == "CHILD" || role == "PARENT" || role == "BROTHER") /*&& req.node > profileAdmin?.Node*/)
|
||||||
{
|
{
|
||||||
profile = profile
|
profile = profile
|
||||||
.Where(x => req.node == 4 ? x.OrgChild4Id == req.nodeId : req.node == 3 ? x.OrgChild3Id == req.nodeId : req.node == 2 ? x.OrgChild2Id == req.nodeId : req.node == 1 ? x.OrgChild1Id == req.nodeId : req.node == 0 ? x.OrgRootId == req.nodeId : true)
|
.Where(x => req.node == 4 ? x.OrgChild4Id == req.nodeId : req.node == 3 ? x.OrgChild3Id == req.nodeId : req.node == 2 ? x.OrgChild2Id == req.nodeId : req.node == 1 ? x.OrgChild1Id == req.nodeId : req.node == 0 ? x.OrgRootId == req.nodeId : true)
|
||||||
|
|
@ -1664,10 +1778,13 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
|
|
||||||
var leaveRangeEnd = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
|
var leaveRangeEnd = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
|
||||||
if (leaveRangeEnd == "MORNING")
|
if(leaveRange != leaveRangeEnd)
|
||||||
remarkStr += "ครึ่งวันเช้า";
|
{
|
||||||
else if (leaveRangeEnd == "AFTERNOON")
|
if (leaveRangeEnd == "MORNING")
|
||||||
remarkStr += "ครึ่งวันบ่าย";
|
remarkStr += " - ครึ่งวันเช้า";
|
||||||
|
else if (leaveRangeEnd == "AFTERNOON")
|
||||||
|
remarkStr += " - ครึ่งวันบ่าย";
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
remarkStr += leaveReq.Type.Name;
|
remarkStr += leaveReq.Type.Name;
|
||||||
|
|
@ -1863,6 +1980,18 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -1877,7 +2006,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
profile = await _userProfileRepository.GetEmployeeByAdminRole(AccessToken, profileAdmin?.Node, nodeId, role, req.revisionId, req.node, req.nodeId);
|
profile = await _userProfileRepository.GetEmployeeByAdminRole(AccessToken, profileAdmin?.Node, nodeId, role, req.revisionId, req.node, req.nodeId);
|
||||||
}
|
}
|
||||||
// Child กรองตามที่ fe ส่งมาอีกชั้น
|
// Child กรองตามที่ fe ส่งมาอีกชั้น
|
||||||
if ((role == "ROOT" || role == "OWNER" || role == "CHILD" || role == "PARENT") /*&& req.node > profileAdmin?.Node*/)
|
if ((role == "ROOT" || role == "OWNER" || role == "CHILD" || role == "PARENT" || role == "BROTHER") /*&& req.node > profileAdmin?.Node*/)
|
||||||
{
|
{
|
||||||
profile = profile
|
profile = profile
|
||||||
.Where(x => req.node == 4 ? x.OrgChild4Id == req.nodeId : req.node == 3 ? x.OrgChild3Id == req.nodeId : req.node == 2 ? x.OrgChild2Id == req.nodeId : req.node == 1 ? x.OrgChild1Id == req.nodeId : req.node == 0 ? x.OrgRootId == req.nodeId : true)
|
.Where(x => req.node == 4 ? x.OrgChild4Id == req.nodeId : req.node == 3 ? x.OrgChild3Id == req.nodeId : req.node == 2 ? x.OrgChild2Id == req.nodeId : req.node == 1 ? x.OrgChild1Id == req.nodeId : req.node == 0 ? x.OrgRootId == req.nodeId : true)
|
||||||
|
|
@ -1978,11 +2107,20 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
remarkStr += "ครึ่งวันบ่าย";
|
remarkStr += "ครึ่งวันบ่าย";
|
||||||
|
|
||||||
|
|
||||||
|
// var leaveRangeEnd = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
|
||||||
|
// if (leaveRangeEnd == "MORNING")
|
||||||
|
// remarkStr += "ครึ่งวันเช้า";
|
||||||
|
// else if (leaveRangeEnd == "AFTERNOON")
|
||||||
|
// remarkStr += "ครึ่งวันบ่าย";
|
||||||
|
|
||||||
var leaveRangeEnd = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
|
var leaveRangeEnd = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
|
||||||
if (leaveRangeEnd == "MORNING")
|
if(leaveRange != leaveRangeEnd)
|
||||||
remarkStr += "ครึ่งวันเช้า";
|
{
|
||||||
else if (leaveRangeEnd == "AFTERNOON")
|
if (leaveRangeEnd == "MORNING")
|
||||||
remarkStr += "ครึ่งวันบ่าย";
|
remarkStr += " - ครึ่งวันเช้า";
|
||||||
|
else if (leaveRangeEnd == "AFTERNOON")
|
||||||
|
remarkStr += " - ครึ่งวันบ่าย";
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
remarkStr += leaveReq.Type.Name;
|
remarkStr += leaveReq.Type.Name;
|
||||||
|
|
@ -2057,8 +2195,8 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
timeStamps.CheckOut != null ?
|
timeStamps.CheckOut != null ?
|
||||||
timeStamps.CheckOut.Value.ToThaiFullDate2() :
|
timeStamps.CheckOut.Value.ToThaiFullDate2() :
|
||||||
"",
|
"",
|
||||||
checkInTimeRaw = timeStamps?.CheckIn,
|
checkInTimeRaw = timeStamps == null ? dd.date.Date : timeStamps?.CheckIn,
|
||||||
checkOutTimeRaw = timeStamps?.CheckOut,
|
checkOutTimeRaw = timeStamps == null ? dd.date.Date : timeStamps?.CheckOut != null ? timeStamps?.CheckOut : null,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (timeStamps != null)
|
if (timeStamps != null)
|
||||||
|
|
@ -2094,7 +2232,8 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
employees = employees.OrderBy(x => x.checkInDate).ThenBy(x => x.checkInTimeRaw ?? DateTime.MaxValue).ThenBy(x => x.checkOutTimeRaw ?? DateTime.MaxValue).ToList();
|
//employees = employees.OrderBy(x => x.checkInDate).ThenBy(x => x.checkInTimeRaw ?? DateTime.MaxValue).ThenBy(x => x.checkOutTimeRaw ?? DateTime.MaxValue).ToList();
|
||||||
|
employees = employees.OrderBy(x => x.checkInTimeRaw ?? DateTime.MaxValue).ThenBy(x => x.checkOutTimeRaw ?? DateTime.MaxValue).ToList();
|
||||||
for (int i = 0; i < employees.Count; i++)
|
for (int i = 0; i < employees.Count; i++)
|
||||||
{
|
{
|
||||||
employees[i].no = i + 1;
|
employees[i].no = i + 1;
|
||||||
|
|
@ -2281,6 +2420,18 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -2390,6 +2541,18 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -2417,5 +2580,55 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
private async Task<object> GetApproverData(List<LeaveRequestApprover> list)
|
||||||
|
{
|
||||||
|
var _default = new
|
||||||
|
{
|
||||||
|
fullName = "......................",
|
||||||
|
positionName = "......................",
|
||||||
|
positionSign = "......................",
|
||||||
|
updatedAt = "...... /...... /......",
|
||||||
|
comment = "......................",
|
||||||
|
approveType = ""
|
||||||
|
};
|
||||||
|
|
||||||
|
var approvers = list
|
||||||
|
.Select(x => new
|
||||||
|
{
|
||||||
|
fullName = $"{(x.Prefix ?? "")}{(x.FirstName ?? "")} {(x.LastName ?? "")}".Trim(),
|
||||||
|
positionName = x.PositionName ?? "......................",
|
||||||
|
positionSign = x.PositionSign ?? "......................",
|
||||||
|
updatedAt = x.LastUpdatedAt.HasValue
|
||||||
|
? x.LastUpdatedAt.Value.Date.ToThaiShortDate().ToThaiNumber()
|
||||||
|
: "...... /...... /......",
|
||||||
|
comment = (x.Comment ?? "")
|
||||||
|
.Replace("\r", "")
|
||||||
|
.Replace("\n", "")
|
||||||
|
.Trim(),
|
||||||
|
approveType = (x.ApproveType ?? "").Trim().ToUpper()
|
||||||
|
})
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
var sender = approvers
|
||||||
|
.FirstOrDefault(x => x.approveType == "SENDER")
|
||||||
|
?? _default;
|
||||||
|
|
||||||
|
var approver = approvers
|
||||||
|
.FirstOrDefault(x => x.approveType == "APPROVER")
|
||||||
|
?? _default;
|
||||||
|
|
||||||
|
var commanders = approvers
|
||||||
|
.Where(x => x.approveType == "COMMANDER")
|
||||||
|
.DefaultIfEmpty(_default)
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
return new
|
||||||
|
{
|
||||||
|
sender = sender,
|
||||||
|
approver = approver,
|
||||||
|
commanders = commanders
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -159,6 +159,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
FirstName = r.FirstName,
|
FirstName = r.FirstName,
|
||||||
LastName = r.LastName,
|
LastName = r.LastName,
|
||||||
PositionName = r.PositionName,
|
PositionName = r.PositionName,
|
||||||
|
PositionSign = r.PositionSign,
|
||||||
ProfileId = r.ProfileId,
|
ProfileId = r.ProfileId,
|
||||||
KeycloakId = r.KeycloakId,
|
KeycloakId = r.KeycloakId,
|
||||||
ApproveStatus = "PENDING",
|
ApproveStatus = "PENDING",
|
||||||
|
|
@ -1226,7 +1227,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var data = await _leaveRequestRepository.GetLeaveRequestByYearAsync(req.Year, userId);
|
var data = await _leaveRequestRepository.GetLeaveRequestByYearAsync(req.Year, userId);
|
||||||
|
|
||||||
var resultData = (from d in data
|
var resultData = (from d in data
|
||||||
//join p in profileList on d.KeycloakUserId equals p.Keycloak
|
//join p in profileList on d.KeycloakUserId equals p.Keycloak
|
||||||
select new GetLeaveRequestCalendarResultDto
|
select new GetLeaveRequestCalendarResultDto
|
||||||
{
|
{
|
||||||
Id = d.Id,
|
Id = d.Id,
|
||||||
|
|
@ -1285,6 +1286,18 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -1664,6 +1677,18 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -1849,6 +1874,18 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -1944,6 +1981,73 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
return Success(result);
|
return Success(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// เพิ่มชื่อผู้ส่งไปพิจารณา (ADMIN)
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>
|
||||||
|
/// </returns>
|
||||||
|
/// <response code="200">เมื่อทำรายการสำเร็จ</response>
|
||||||
|
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||||
|
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||||
|
[HttpPut("admin/sender/{id:guid}")]
|
||||||
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||||
|
public async Task<ActionResult<ResponseObject>> SenderLeaveRequestAsync(Guid id)
|
||||||
|
{
|
||||||
|
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
||||||
|
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
||||||
|
if (jsonData["status"]?.ToString() != "200")
|
||||||
|
{
|
||||||
|
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
||||||
|
}
|
||||||
|
|
||||||
|
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(Guid.Parse(UserId!), AccessToken);
|
||||||
|
|
||||||
|
if (profile == null)
|
||||||
|
{
|
||||||
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
|
}
|
||||||
|
|
||||||
|
var rawData = await _leaveRequestRepository.GetByIdAsync(id);
|
||||||
|
|
||||||
|
if (rawData == null)
|
||||||
|
{
|
||||||
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
|
}
|
||||||
|
|
||||||
|
var sender = rawData.Approvers
|
||||||
|
.Where(x => x.ApproveType!.ToUpper() == "SENDER")
|
||||||
|
.FirstOrDefault();
|
||||||
|
|
||||||
|
if (sender == null)
|
||||||
|
{
|
||||||
|
await _leaveRequestRepository.AddApproversAsync(id, new List<LeaveRequestApprover>
|
||||||
|
{
|
||||||
|
new LeaveRequestApprover
|
||||||
|
{
|
||||||
|
Prefix = profile.Prefix,
|
||||||
|
FirstName = profile.FirstName,
|
||||||
|
LastName = profile.LastName,
|
||||||
|
PositionName = profile.Position,
|
||||||
|
ProfileId = profile.Id,
|
||||||
|
KeycloakId = Guid.Parse(UserId!),
|
||||||
|
ApproveType = "SENDER",
|
||||||
|
|
||||||
|
CreatedFullName = FullName ?? "",
|
||||||
|
CreatedUserId = UserId!,
|
||||||
|
CreatedAt = DateTime.Now,
|
||||||
|
LastUpdateFullName = FullName ?? "",
|
||||||
|
LastUpdateUserId = UserId!,
|
||||||
|
LastUpdatedAt = DateTime.Now,
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return Success();
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// LV2_018 - ผู้มีอำนาจอนุมัติขอยกเลิกการลา(ADMIN)
|
/// LV2_018 - ผู้มีอำนาจอนุมัติขอยกเลิกการลา(ADMIN)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -2460,6 +2564,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
FirstName = x.FirstName,
|
FirstName = x.FirstName,
|
||||||
LastName = x.LastName,
|
LastName = x.LastName,
|
||||||
PositionName = x.PositionName,
|
PositionName = x.PositionName,
|
||||||
|
PositionSign = x.PositionSign,
|
||||||
ApproveStatus = x.ApproveStatus,
|
ApproveStatus = x.ApproveStatus,
|
||||||
Comment = x.Comment,
|
Comment = x.Comment,
|
||||||
ProfileId = x.ProfileId,
|
ProfileId = x.ProfileId,
|
||||||
|
|
@ -2474,6 +2579,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
FirstName = x.FirstName,
|
FirstName = x.FirstName,
|
||||||
LastName = x.LastName,
|
LastName = x.LastName,
|
||||||
PositionName = x.PositionName,
|
PositionName = x.PositionName,
|
||||||
|
PositionSign = x.PositionSign,
|
||||||
ApproveStatus = x.ApproveStatus,
|
ApproveStatus = x.ApproveStatus,
|
||||||
Comment = x.Comment,
|
Comment = x.Comment,
|
||||||
ProfileId = x.ProfileId,
|
ProfileId = x.ProfileId,
|
||||||
|
|
|
||||||
|
|
@ -161,6 +161,8 @@ namespace BMA.EHR.Leave.Service.DTOs.LeaveRequest
|
||||||
|
|
||||||
public string PositionName { get; set; } = string.Empty;
|
public string PositionName { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public string PositionSign { get; set; } = string.Empty;
|
||||||
|
|
||||||
public Guid ProfileId { get; set; } = Guid.Empty;
|
public Guid ProfileId { get; set; } = Guid.Empty;
|
||||||
|
|
||||||
public Guid KeycloakId { get; set; } = Guid.Empty;
|
public Guid KeycloakId { get; set; } = Guid.Empty;
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,9 @@ namespace BMA.EHR.Leave.Service.DTOs.LeaveRequest
|
||||||
[JsonProperty("positionName")]
|
[JsonProperty("positionName")]
|
||||||
public string PositionName { get; set; } = string.Empty;
|
public string PositionName { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[JsonProperty("positionSign")]
|
||||||
|
public string? PositionSign { get; set; } = string.Empty;
|
||||||
|
|
||||||
[JsonProperty("profileId")]
|
[JsonProperty("profileId")]
|
||||||
public Guid ProfileId { get; set; } = Guid.Empty;
|
public Guid ProfileId { get; set; } = Guid.Empty;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,21 +15,22 @@
|
||||||
},
|
},
|
||||||
"AllowedHosts": "*",
|
"AllowedHosts": "*",
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
"DefaultConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=hrms;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
// "DefaultConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=hrms;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
||||||
"ExamConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=hrms_exam;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
// "ExamConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=hrms_exam;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
||||||
"LeaveConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=hrms_leave;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
|
// "LeaveConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=hrms_leave;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
|
||||||
|
|
||||||
// "DefaultConnection": "server=192.168.1.63;user=root;password=12345678;port=3306;database=hrms;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
"DefaultConnection": "server=192.168.1.63;user=root;password=12345678;port=3306;database=hrms;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
||||||
// "ExamConnection": "server=192.168.1.63;user=root;password=12345678;port=3306;database=hrms_exam;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
"ExamConnection": "server=192.168.1.63;user=root;password=12345678;port=3306;database=hrms_exam;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
||||||
// "LeaveConnection": "server=192.168.1.63;user=root;password=12345678;port=3306;database=hrms_leave;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
|
"LeaveConnection": "server=192.168.1.63;user=root;password=12345678;port=3306;database=hrms_leave;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
|
||||||
|
|
||||||
//"DefaultConnection": "server=172.27.17.68;user=user;password=cDldaqkwESWvuZ37Gr0n;port=3306;database=hrms;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
//"DefaultConnection": "server=172.27.17.68;user=user;password=cDldaqkwESWvuZ37Gr0n;port=3306;database=hrms;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
||||||
//"ExamConnection": "server=172.27.17.68;user=user;password=cDldaqkwESWvuZ37Gr0n;port=3306;database=hrms_exam;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
//"ExamConnection": "server=172.27.17.68;user=user;password=cDldaqkwESWvuZ37Gr0n;port=3306;database=hrms_exam;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
||||||
//"LeaveConnection": "server=172.27.17.68;user=user;password=cDldaqkwESWvuZ37Gr0n;port=3306;database=hrms_leave;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
|
//"LeaveConnection": "server=172.27.17.68;user=user;password=cDldaqkwESWvuZ37Gr0n;port=3306;database=hrms_leave;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
|
||||||
},
|
},
|
||||||
"Jwt": {
|
"Jwt": {
|
||||||
"Key": "HP-FnQMUj9msHMSD3T9HtdEnphAKoCJLEl85CIqROFI",
|
//"Key": "HP-FnQMUj9msHMSD3T9HtdEnphAKoCJLEl85CIqROFI",
|
||||||
"Issuer": "https://id.frappet.synology.me/realms/hrms"
|
"Key": "j7C9RO_p4nRtuwCH4z9Db_A_6We42tkD_p4lZtDrezc",
|
||||||
|
"Issuer": "https://hrmsbkk-id.case-collection.com/realms/hrms"
|
||||||
//"Key": "xY2VR-EFvvNPsMs39u8ooVBWQL6mPwrNJOh3koJFTgU",
|
//"Key": "xY2VR-EFvvNPsMs39u8ooVBWQL6mPwrNJOh3koJFTgU",
|
||||||
//"Issuer": "https://hrms-id.bangkok.go.th/realms/hrms"
|
//"Issuer": "https://hrms-id.bangkok.go.th/realms/hrms"
|
||||||
},
|
},
|
||||||
|
|
@ -39,22 +40,21 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"MinIO": {
|
"MinIO": {
|
||||||
"Endpoint": "https://edm-s3.frappet.synology.me/",
|
"Endpoint": "https://hrmsbkk-s3.case-collection.com/",
|
||||||
"AccessKey": "XxtdnJajPjp3hHuKdOMn",
|
"AccessKey": "iwvzjyjgz0BKtLPmMpPu",
|
||||||
"SecretKey": "rVPzB05giC7bA400cUuIThzT4T9SGCcpcmL3tBBg",
|
"SecretKey": "Yv56vwctYdIspDknRJ46xztcBDzteGF3elZiDcAr",
|
||||||
"BucketName": "bma-ehr-fpt"
|
"BucketName": "hrms-fpt"
|
||||||
},
|
},
|
||||||
"Protocol": "HTTPS",
|
"Protocol": "HTTPS",
|
||||||
"Node": {
|
"Node": {
|
||||||
"API": "https://bma-ehr.frappet.synology.me/api/v1/probation"
|
"API": "https://bma-ehr.frappet.synology.me/api/v1/probation"
|
||||||
},
|
},
|
||||||
"Rabbit": {
|
"Rabbit": {
|
||||||
"Host": "192.168.1.40",
|
"Host": "192.168.1.63",
|
||||||
"API": "https://bma-ehr.frappet.synology.me/api/v1",
|
|
||||||
"User": "admin",
|
"User": "admin",
|
||||||
"Password": "Test123456",
|
"Password": "12345678",
|
||||||
"Queue": "bma-checkin-queue",
|
"Queue": "hrms-checkin-queue",
|
||||||
"URL": "https://edm-mq.frappet.synology.me/api/queues/%2F/"
|
"URL": "http://192.168.1.63:9122/api/queues/%2F/"
|
||||||
},
|
},
|
||||||
"Mail": {
|
"Mail": {
|
||||||
"Server": "mail.bangkok.go.th",
|
"Server": "mail.bangkok.go.th",
|
||||||
|
|
@ -63,8 +63,12 @@
|
||||||
"MailFrom": "saraban.csc.rd@bangkok.go.th",
|
"MailFrom": "saraban.csc.rd@bangkok.go.th",
|
||||||
"Port": "25"
|
"Port": "25"
|
||||||
},
|
},
|
||||||
"VITE_URL_MGT": "https://bma-ehr.frappet.synology.me",
|
"Domain": "https://hrmsbkk.case-collection.com",
|
||||||
"API": "https://bma-ehr.frappet.synology.me/api/v1",
|
"APIPROBATION": "https://hrmsbkk.case-collection.com/api/v1/probation",
|
||||||
|
"API": "https://hrmsbkk.case-collection.com/api/v1",
|
||||||
|
"APIV2": "https://hrmsbkk.case-collection.com/api/v2",
|
||||||
|
"VITE_URL_MGT": "https://hrmsbkk-mgt.case-collection.com",
|
||||||
|
//"API": "https://bma-ehr.frappet.synology.me/api/v1",
|
||||||
//"API": "https://bma-hrms.bangkok.go.th/api/v1",
|
//"API": "https://bma-hrms.bangkok.go.th/api/v1",
|
||||||
"API_KEY": "fKRL16yyEgbyTEJdsMw2h64tGSCmkW685PRtM3CygzX1JOSdptT9UJtpgWwKM8FybRTJups3GTFwj27ZRvlPdIkv3XgCoVJaD5LmR06ozuEPvCCRSdp2WFthg08V5xHc56fTPfZLpr1VmXrhd6dvYhHIqKkQUJR02Rlkss11cLRWEQOssEFVA4xdu2J5DIRO1EM5m7wRRvEwcDB4mYRXD9HH52SMq6iYqUWEWsMwLdbk7QW9yYESUEuzMW5gWrb6vIeWZxJV5bTz1PcWUyR7eO9Fyw1F5DiQYc9JgzTC1mW7cv31fEtTtrfbJYKIb5EbWilqIEUKC6A0UKBDDek35ML0006cqRVm0pvdOH6jeq7VQyYrhdXe59dBEyhYGUIfozoVBvW7Up4QBuOMjyPjSqJPlMBKwaseptfrblxQV1AOOivSBpf1ZcQyOZ8JktRtKUDSuXsmG0lsXwFlI3JCeSHdpVdgZWFYcJPegqfrB6KotR02t9AVkpLs1ZWrixwz"
|
"API_KEY": "fKRL16yyEgbyTEJdsMw2h64tGSCmkW685PRtM3CygzX1JOSdptT9UJtpgWwKM8FybRTJups3GTFwj27ZRvlPdIkv3XgCoVJaD5LmR06ozuEPvCCRSdp2WFthg08V5xHc56fTPfZLpr1VmXrhd6dvYhHIqKkQUJR02Rlkss11cLRWEQOssEFVA4xdu2J5DIRO1EM5m7wRRvEwcDB4mYRXD9HH52SMq6iYqUWEWsMwLdbk7QW9yYESUEuzMW5gWrb6vIeWZxJV5bTz1PcWUyR7eO9Fyw1F5DiQYc9JgzTC1mW7cv31fEtTtrfbJYKIb5EbWilqIEUKC6A0UKBDDek35ML0006cqRVm0pvdOH6jeq7VQyYrhdXe59dBEyhYGUIfozoVBvW7Up4QBuOMjyPjSqJPlMBKwaseptfrblxQV1AOOivSBpf1ZcQyOZ8JktRtKUDSuXsmG0lsXwFlI3JCeSHdpVdgZWFYcJPegqfrB6KotR02t9AVkpLs1ZWrixwz"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -100,6 +100,18 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -217,6 +229,11 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
placementAppointments = placementAppointments
|
placementAppointments = placementAppointments
|
||||||
.Where(x => node == 4 ? x.child4DnaId == nodeId : (node == 3 ? x.child3DnaId == nodeId : (node == 2 ? x.child2DnaId == nodeId : (node == 1 ? x.child1DnaId == nodeId : (node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true)))))).ToList();
|
.Where(x => node == 4 ? x.child4DnaId == nodeId : (node == 3 ? x.child3DnaId == nodeId : (node == 2 ? x.child2DnaId == nodeId : (node == 1 ? x.child1DnaId == nodeId : (node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true)))))).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
placementAppointments = placementAppointments
|
||||||
|
.Where(x => node == 4 ? x.child3DnaId == nodeId : (node == 3 ? x.child2DnaId == nodeId : (node == 2 ? x.child1DnaId == nodeId : (node == 1 || node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true))))).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
placementAppointments = placementAppointments
|
placementAppointments = placementAppointments
|
||||||
|
|
|
||||||
|
|
@ -98,6 +98,18 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -210,6 +222,11 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
placementAppointments = placementAppointments
|
placementAppointments = placementAppointments
|
||||||
.Where(x => node == 4 ? x.child4DnaId == nodeId : (node == 3 ? x.child3DnaId == nodeId : (node == 2 ? x.child2DnaId == nodeId : (node == 1 ? x.child1DnaId == nodeId : (node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true)))))).ToList();
|
.Where(x => node == 4 ? x.child4DnaId == nodeId : (node == 3 ? x.child3DnaId == nodeId : (node == 2 ? x.child2DnaId == nodeId : (node == 1 ? x.child1DnaId == nodeId : (node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true)))))).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
placementAppointments = placementAppointments
|
||||||
|
.Where(x => node == 4 ? x.child3DnaId == nodeId : (node == 3 ? x.child2DnaId == nodeId : (node == 2 ? x.child1DnaId == nodeId : (node == 1 || node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true))))).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
placementAppointments = placementAppointments
|
placementAppointments = placementAppointments
|
||||||
|
|
|
||||||
|
|
@ -99,6 +99,18 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -171,6 +183,11 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
placementOfficers = placementOfficers
|
placementOfficers = placementOfficers
|
||||||
.Where(x => node == 4 ? x.child4DnaOldId == nodeId : (node == 3 ? x.child3DnaOldId == nodeId : (node == 2 ? x.child2DnaOldId == nodeId : (node == 1 ? x.child1DnaOldId == nodeId : (node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true)))))).ToList();
|
.Where(x => node == 4 ? x.child4DnaOldId == nodeId : (node == 3 ? x.child3DnaOldId == nodeId : (node == 2 ? x.child2DnaOldId == nodeId : (node == 1 ? x.child1DnaOldId == nodeId : (node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true)))))).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
placementOfficers = placementOfficers
|
||||||
|
.Where(x => node == 4 ? x.child3DnaOldId == nodeId : (node == 3 ? x.child2DnaOldId == nodeId : (node == 2 ? x.child1DnaOldId == nodeId : (node == 1 || node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true))))).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
placementOfficers = placementOfficers
|
placementOfficers = placementOfficers
|
||||||
|
|
|
||||||
|
|
@ -100,6 +100,18 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -209,6 +221,11 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
placementReceives = placementReceives
|
placementReceives = placementReceives
|
||||||
.Where(x => (node == 4 ? x.child4DnaId == nodeId : (node == 3 ? x.child3DnaId == nodeId : (node == 2 ? x.child2DnaId == nodeId : (node == 1 ? x.child1DnaId == nodeId : (node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true)))))) || (x.CreatedUserId == UserId)).ToList();
|
.Where(x => (node == 4 ? x.child4DnaId == nodeId : (node == 3 ? x.child3DnaId == nodeId : (node == 2 ? x.child2DnaId == nodeId : (node == 1 ? x.child1DnaId == nodeId : (node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true)))))) || (x.CreatedUserId == UserId)).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
placementReceives = placementReceives
|
||||||
|
.Where(x => node == 4 ? x.child3DnaId == nodeId : (node == 3 ? x.child2DnaId == nodeId : (node == 2 ? x.child1DnaId == nodeId : (node == 1 || node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true))))).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
placementReceives = placementReceives
|
placementReceives = placementReceives
|
||||||
|
|
@ -485,46 +502,35 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
LastUpdateUserId = UserId ?? "",
|
LastUpdateUserId = UserId ?? "",
|
||||||
LastUpdatedAt = DateTime.Now,
|
LastUpdatedAt = DateTime.Now,
|
||||||
};
|
};
|
||||||
if (placementReceive.citizenId.Length != 13)
|
|
||||||
|
var apiUrlCheckCitizen = $"{_configuration["API"]}/org/dotnet/check-citizen";
|
||||||
|
|
||||||
|
using (var client = new HttpClient())
|
||||||
|
|
||||||
{
|
{
|
||||||
return Error("กรุณากรอกข้อมูลรหัสบัตรประจำตัวประชาชนให้ครบ 13 หลัก", 500);
|
|
||||||
}
|
|
||||||
int[] citizenIdDigits = placementReceive.citizenId.Select(c => int.Parse(c.ToString())).ToArray();
|
|
||||||
int cal =
|
|
||||||
citizenIdDigits[0] * 13 +
|
|
||||||
citizenIdDigits[1] * 12 +
|
|
||||||
citizenIdDigits[2] * 11 +
|
|
||||||
citizenIdDigits[3] * 10 +
|
|
||||||
citizenIdDigits[4] * 9 +
|
|
||||||
citizenIdDigits[5] * 8 +
|
|
||||||
citizenIdDigits[6] * 7 +
|
|
||||||
citizenIdDigits[7] * 6 +
|
|
||||||
citizenIdDigits[8] * 5 +
|
|
||||||
citizenIdDigits[9] * 4 +
|
|
||||||
citizenIdDigits[10] * 3 +
|
|
||||||
citizenIdDigits[11] * 2;
|
|
||||||
|
|
||||||
int calStp2 = cal % 11;
|
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
|
||||||
int chkDigit = 11 - calStp2;
|
|
||||||
|
|
||||||
//////if (chkDigit == 10)
|
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
|
||||||
//////{
|
|
||||||
////// chkDigit = 1;
|
var _res = await client.PostAsJsonAsync(apiUrlCheckCitizen, new
|
||||||
//////}
|
|
||||||
//////else if (chkDigit == 11)
|
{
|
||||||
//////{
|
|
||||||
////// chkDigit = chkDigit % 10;
|
placementReceive.citizenId
|
||||||
//////}
|
|
||||||
|
});
|
||||||
|
|
||||||
|
var _result = await _res.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
|
var jsonDataCheckCitizen = JsonConvert.DeserializeObject<JObject>(_result);
|
||||||
|
|
||||||
|
if (!_res.IsSuccessStatusCode)
|
||||||
|
|
||||||
|
throw new Exception(jsonDataCheckCitizen?["message"]?.ToString());
|
||||||
|
|
||||||
if (chkDigit >= 10)
|
|
||||||
{
|
|
||||||
chkDigit = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (citizenIdDigits[12] != chkDigit)
|
|
||||||
{
|
|
||||||
return Error("ข้อมูลรหัสบัตรประจำตัวประชาชนไม่ถูกต้อง", 500);
|
|
||||||
}
|
|
||||||
|
|
||||||
var avatarUrl = string.Empty;
|
var avatarUrl = string.Empty;
|
||||||
var apiUrl = $"{_configuration["API"]}/org/profile/citizenid/position/{req.citizenId}";
|
var apiUrl = $"{_configuration["API"]}/org/profile/citizenid/position/{req.citizenId}";
|
||||||
|
|
@ -806,36 +812,33 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
.FirstOrDefaultAsync(x => x.Id == id);
|
.FirstOrDefaultAsync(x => x.Id == id);
|
||||||
if (uppdated == null)
|
if (uppdated == null)
|
||||||
return Error(GlobalMessages.PlacementReceiveNotFound, 404);
|
return Error(GlobalMessages.PlacementReceiveNotFound, 404);
|
||||||
if (req.citizenId.Length != 13)
|
|
||||||
{
|
|
||||||
return Error("กรุณากรอกข้อมูลรหัสบัตรประจำตัวประชาชนให้ครบ 13 หลัก", 500);
|
|
||||||
}
|
|
||||||
int[] citizenIdDigits = req.citizenId.Select(c => int.Parse(c.ToString())).ToArray();
|
|
||||||
int cal =
|
|
||||||
citizenIdDigits[0] * 13 +
|
|
||||||
citizenIdDigits[1] * 12 +
|
|
||||||
citizenIdDigits[2] * 11 +
|
|
||||||
citizenIdDigits[3] * 10 +
|
|
||||||
citizenIdDigits[4] * 9 +
|
|
||||||
citizenIdDigits[5] * 8 +
|
|
||||||
citizenIdDigits[6] * 7 +
|
|
||||||
citizenIdDigits[7] * 6 +
|
|
||||||
citizenIdDigits[8] * 5 +
|
|
||||||
citizenIdDigits[9] * 4 +
|
|
||||||
citizenIdDigits[10] * 3 +
|
|
||||||
citizenIdDigits[11] * 2;
|
|
||||||
|
|
||||||
int calStp2 = cal % 11;
|
var apiUrlCheckCitizen = $"{_configuration["API"]}/org/dotnet/check-citizen";
|
||||||
int chkDigit = 11 - calStp2;
|
|
||||||
|
|
||||||
if (chkDigit >= 10)
|
using (var client = new HttpClient())
|
||||||
{
|
|
||||||
chkDigit = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (citizenIdDigits[12] != chkDigit)
|
|
||||||
{
|
{
|
||||||
return Error("ข้อมูลรหัสบัตรประจำตัวประชาชนไม่ถูกต้อง", 500);
|
|
||||||
|
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
|
||||||
|
|
||||||
|
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
|
||||||
|
|
||||||
|
var _res = await client.PostAsJsonAsync(apiUrlCheckCitizen, new
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
req.citizenId
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
var _result = await _res.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
|
var jsonDataCheckCitizen = JsonConvert.DeserializeObject<JObject>(_result);
|
||||||
|
|
||||||
|
if (!_res.IsSuccessStatusCode)
|
||||||
|
|
||||||
|
throw new Exception(jsonDataCheckCitizen?["message"]?.ToString());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
uppdated.Relationship = req.Relationship;
|
uppdated.Relationship = req.Relationship;
|
||||||
|
|
|
||||||
|
|
@ -100,6 +100,18 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -176,6 +188,11 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
placementRepatriations = placementRepatriations
|
placementRepatriations = placementRepatriations
|
||||||
.Where(x => node == 4 ? x.child4DnaOldId == nodeId : (node == 3 ? x.child3DnaOldId == nodeId : (node == 2 ? x.child2DnaOldId == nodeId : (node == 1 ? x.child1DnaOldId == nodeId : (node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true)))))).ToList();
|
.Where(x => node == 4 ? x.child4DnaOldId == nodeId : (node == 3 ? x.child3DnaOldId == nodeId : (node == 2 ? x.child2DnaOldId == nodeId : (node == 1 ? x.child1DnaOldId == nodeId : (node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true)))))).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
placementRepatriations = placementRepatriations
|
||||||
|
.Where(x => node == 4 ? x.child3DnaOldId == nodeId : (node == 3 ? x.child2DnaOldId == nodeId : (node == 2 ? x.child1DnaOldId == nodeId : (node == 1 || node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true))))).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
placementRepatriations = placementRepatriations
|
placementRepatriations = placementRepatriations
|
||||||
|
|
|
||||||
|
|
@ -192,6 +192,18 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -262,6 +274,11 @@ namespace BMA.EHR.Placement.Service.Controllers
|
||||||
placementTransfers = placementTransfers
|
placementTransfers = placementTransfers
|
||||||
.Where(x => node == 4 ? x.child4DnaOldId == nodeId : (node == 3 ? x.child3DnaOldId == nodeId : (node == 2 ? x.child2DnaOldId == nodeId : (node == 1 ? x.child1DnaOldId == nodeId : (node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true)))))).ToList();
|
.Where(x => node == 4 ? x.child4DnaOldId == nodeId : (node == 3 ? x.child3DnaOldId == nodeId : (node == 2 ? x.child2DnaOldId == nodeId : (node == 1 ? x.child1DnaOldId == nodeId : (node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true)))))).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
placementTransfers = placementTransfers
|
||||||
|
.Where(x => node == 4 ? x.child3DnaOldId == nodeId : (node == 3 ? x.child2DnaOldId == nodeId : (node == 2 ? x.child1DnaOldId == nodeId : (node == 1 || node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true))))).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
placementTransfers = placementTransfers
|
placementTransfers = placementTransfers
|
||||||
|
|
|
||||||
|
|
@ -104,6 +104,18 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -155,6 +167,11 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
retirementDeceaseds = retirementDeceaseds
|
retirementDeceaseds = retirementDeceaseds
|
||||||
.Where(x => node == 4 ? x.child4DnaId == nodeId : (node == 3 ? x.child3DnaId == nodeId : (node == 2 ? x.child2DnaId == nodeId : (node == 1 ? x.child1DnaId == nodeId : (node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true)))))).ToList();
|
.Where(x => node == 4 ? x.child4DnaId == nodeId : (node == 3 ? x.child3DnaId == nodeId : (node == 2 ? x.child2DnaId == nodeId : (node == 1 ? x.child1DnaId == nodeId : (node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true)))))).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
retirementDeceaseds = retirementDeceaseds
|
||||||
|
.Where(x => node == 4 ? x.child3DnaId == nodeId : (node == 3 ? x.child2DnaId == nodeId : (node == 2 ? x.child1DnaId == nodeId : (node == 1 || node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true))))).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
retirementDeceaseds = retirementDeceaseds
|
retirementDeceaseds = retirementDeceaseds
|
||||||
|
|
|
||||||
|
|
@ -100,6 +100,18 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -205,6 +217,11 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
retirementOthers = retirementOthers
|
retirementOthers = retirementOthers
|
||||||
.Where(x => node == 4 ? x.child4DnaOldId == nodeId : (node == 3 ? x.child3DnaOldId == nodeId : (node == 2 ? x.child2DnaOldId == nodeId : (node == 1 ? x.child1DnaOldId == nodeId : (node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true)))))).ToList();
|
.Where(x => node == 4 ? x.child4DnaOldId == nodeId : (node == 3 ? x.child3DnaOldId == nodeId : (node == 2 ? x.child2DnaOldId == nodeId : (node == 1 ? x.child1DnaOldId == nodeId : (node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true)))))).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
retirementOthers = retirementOthers
|
||||||
|
.Where(x => node == 4 ? x.child3DnaOldId == nodeId : (node == 3 ? x.child2DnaOldId == nodeId : (node == 2 ? x.child1DnaOldId == nodeId : (node == 1 || node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true))))).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
retirementOthers = retirementOthers
|
retirementOthers = retirementOthers
|
||||||
|
|
|
||||||
|
|
@ -115,6 +115,18 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -186,6 +198,11 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
retirementOuts = retirementOuts
|
retirementOuts = retirementOuts
|
||||||
.Where(x => node == 4 ? x.child4DnaOldId == nodeId : (node == 3 ? x.child3DnaOldId == nodeId : (node == 2 ? x.child2DnaOldId == nodeId : (node == 1 ? x.child1DnaOldId == nodeId : (node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true)))))).ToList();
|
.Where(x => node == 4 ? x.child4DnaOldId == nodeId : (node == 3 ? x.child3DnaOldId == nodeId : (node == 2 ? x.child2DnaOldId == nodeId : (node == 1 ? x.child1DnaOldId == nodeId : (node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true)))))).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
retirementOuts = retirementOuts
|
||||||
|
.Where(x => node == 4 ? x.child3DnaOldId == nodeId : (node == 3 ? x.child2DnaOldId == nodeId : (node == 2 ? x.child1DnaOldId == nodeId : (node == 1 || node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true))))).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
retirementOuts = retirementOuts
|
retirementOuts = retirementOuts
|
||||||
|
|
|
||||||
|
|
@ -257,6 +257,18 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -312,6 +324,11 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
retirementResigns = retirementResigns
|
retirementResigns = retirementResigns
|
||||||
.Where(x => node == 4 ? x.child4DnaOldId == nodeId : (node == 3 ? x.child3DnaOldId == nodeId : (node == 2 ? x.child2DnaOldId == nodeId : (node == 1 ? x.child1DnaOldId == nodeId : (node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true)))))).ToList();
|
.Where(x => node == 4 ? x.child4DnaOldId == nodeId : (node == 3 ? x.child3DnaOldId == nodeId : (node == 2 ? x.child2DnaOldId == nodeId : (node == 1 ? x.child1DnaOldId == nodeId : (node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true)))))).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
retirementResigns = retirementResigns
|
||||||
|
.Where(x => node == 4 ? x.child3DnaOldId == nodeId : (node == 3 ? x.child2DnaOldId == nodeId : (node == 2 ? x.child1DnaOldId == nodeId : (node == 1 || node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true))))).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
retirementResigns = retirementResigns
|
retirementResigns = retirementResigns
|
||||||
|
|
@ -372,6 +389,18 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -426,6 +455,11 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
retirementResigns = retirementResigns
|
retirementResigns = retirementResigns
|
||||||
.Where(x => node == 4 ? x.child4DnaOldId == nodeId : (node == 3 ? x.child3DnaOldId == nodeId : (node == 2 ? x.child2DnaOldId == nodeId : (node == 1 ? x.child1DnaOldId == nodeId : (node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true)))))).ToList();
|
.Where(x => node == 4 ? x.child4DnaOldId == nodeId : (node == 3 ? x.child3DnaOldId == nodeId : (node == 2 ? x.child2DnaOldId == nodeId : (node == 1 ? x.child1DnaOldId == nodeId : (node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true)))))).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
retirementResigns = retirementResigns
|
||||||
|
.Where(x => node == 4 ? x.child3DnaOldId == nodeId : (node == 3 ? x.child2DnaOldId == nodeId : (node == 2 ? x.child1DnaOldId == nodeId : (node == 1 || node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true))))).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
retirementResigns = retirementResigns
|
retirementResigns = retirementResigns
|
||||||
|
|
@ -633,182 +667,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
};
|
};
|
||||||
|
|
||||||
return Success(_data);
|
return Success(_data);
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// var getWorkflow = await _permission.GetPermissionAPIWorkflowAsync(id.ToString(), "RETIREMENT_CANCEL");
|
|
||||||
// var createdUserId = await _context.RetirementResignCancels.AsQueryable()
|
|
||||||
// .Where(x => x.CreatedUserId == UserId)
|
|
||||||
// .Where(x => x.RetirementResign.Id == id)
|
|
||||||
// .FirstOrDefaultAsync();
|
|
||||||
// if (getWorkflow == false && createdUserId == null)
|
|
||||||
// {
|
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_RESIGN");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// var data = await _context.RetirementResignCancels.AsQueryable()
|
|
||||||
// .Where(x => x.RetirementResign.Id == id)
|
|
||||||
// .Select(p => new
|
|
||||||
// {
|
|
||||||
// p.Id,
|
|
||||||
// p.prefix,
|
|
||||||
// p.firstName,
|
|
||||||
// p.lastName,
|
|
||||||
// p.profileId,
|
|
||||||
// p.Location,
|
|
||||||
// p.SendDate,
|
|
||||||
// p.ActiveDate,
|
|
||||||
// p.Reason,
|
|
||||||
// p.Remark,
|
|
||||||
// p.Status,
|
|
||||||
// salary = p.AmountOld,
|
|
||||||
// p.ApproveReason,
|
|
||||||
// p.RejectReason,
|
|
||||||
// p.IsActive,
|
|
||||||
// p.CreatedAt,
|
|
||||||
// p.PositionTypeOld,
|
|
||||||
// p.PositionLevelOld,
|
|
||||||
// p.PositionNumberOld,
|
|
||||||
// p.OrganizationPositionOld,
|
|
||||||
// p.OligarchReject,
|
|
||||||
// p.OligarchApproveReason,
|
|
||||||
// p.OligarchRejectReason,
|
|
||||||
// p.OligarchRejectDate,
|
|
||||||
// p.CommanderReject,
|
|
||||||
// p.CommanderApproveReason,
|
|
||||||
// p.CommanderRejectReason,
|
|
||||||
// p.CommanderRejectDate,
|
|
||||||
// p.OfficerReject,
|
|
||||||
// p.OfficerApproveReason,
|
|
||||||
// p.OfficerRejectReason,
|
|
||||||
// p.OfficerRejectDate,
|
|
||||||
// p.RemarkHorizontal,
|
|
||||||
// p.rootOld,
|
|
||||||
// p.rootOldId,
|
|
||||||
// p.rootShortNameOld,
|
|
||||||
// p.child1Old,
|
|
||||||
// p.child1OldId,
|
|
||||||
// p.child1ShortNameOld,
|
|
||||||
// p.child2Old,
|
|
||||||
// p.child2OldId,
|
|
||||||
// p.child2ShortNameOld,
|
|
||||||
// p.child3Old,
|
|
||||||
// p.child3OldId,
|
|
||||||
// p.child3ShortNameOld,
|
|
||||||
// p.child4Old,
|
|
||||||
// p.child4OldId,
|
|
||||||
// p.child4ShortNameOld,
|
|
||||||
// p.PositionOld,
|
|
||||||
// p.posMasterNoOld,
|
|
||||||
// p.posTypeOldId,
|
|
||||||
// p.posTypeNameOld,
|
|
||||||
// p.posLevelOldId,
|
|
||||||
// p.posLevelNameOld,
|
|
||||||
// p.IsNoDebt,
|
|
||||||
// p.IsNoBurden,
|
|
||||||
// p.IsDiscipline,
|
|
||||||
// p.CancelReason,
|
|
||||||
// p.ApproveStep,
|
|
||||||
// p.Group,
|
|
||||||
// Approvers = p.Approvers.Where(x => x.ApproveType.ToUpper() == "APPROVER"),
|
|
||||||
// Commanders = p.Approvers.Where(x => x.ApproveType.ToUpper() == "COMMANDER"),
|
|
||||||
// KeycloakUserId = p.CreatedUserId,
|
|
||||||
// idMain = p.RetirementResign.Id,
|
|
||||||
// statusMain = p.RetirementResign.Status,
|
|
||||||
// RetirementResignDocs = p.RetirementResign.RetirementResignDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
|
|
||||||
// })
|
|
||||||
// .FirstOrDefaultAsync();
|
|
||||||
// if (data == null)
|
|
||||||
// return Error(GlobalMessages.RetirementResignNotFound, 404);
|
|
||||||
|
|
||||||
// var retirementResignDocs = new List<dynamic>();
|
|
||||||
// foreach (var doc in data.RetirementResignDocs)
|
|
||||||
// {
|
|
||||||
// var _doc = new
|
|
||||||
// {
|
|
||||||
// FileName = doc.FileName,
|
|
||||||
// PathName = await _documentService.ImagesPath(doc.Id),
|
|
||||||
// doc.Id,
|
|
||||||
// };
|
|
||||||
// retirementResignDocs.Add(_doc);
|
|
||||||
// }
|
|
||||||
// var _data = new
|
|
||||||
// {
|
|
||||||
// data.Id,
|
|
||||||
// data.profileId,
|
|
||||||
// data.prefix,
|
|
||||||
// // data.PrefixId,
|
|
||||||
// data.firstName,
|
|
||||||
// data.lastName,
|
|
||||||
// data.Location,
|
|
||||||
// data.SendDate,
|
|
||||||
// data.ActiveDate,
|
|
||||||
// data.Reason,
|
|
||||||
// data.Remark,
|
|
||||||
// data.Status,
|
|
||||||
// data.salary,
|
|
||||||
// data.PositionTypeOld,
|
|
||||||
// data.PositionLevelOld,
|
|
||||||
// data.PositionNumberOld,
|
|
||||||
// data.OrganizationPositionOld,
|
|
||||||
// data.ApproveReason,
|
|
||||||
// data.RejectReason,
|
|
||||||
// data.IsActive,
|
|
||||||
// data.CreatedAt,
|
|
||||||
// data.OligarchReject,
|
|
||||||
// data.OligarchApproveReason,
|
|
||||||
// data.OligarchRejectReason,
|
|
||||||
// data.OligarchRejectDate,
|
|
||||||
// data.CommanderReject,
|
|
||||||
// data.CommanderApproveReason,
|
|
||||||
// data.CommanderRejectReason,
|
|
||||||
// data.CommanderRejectDate,
|
|
||||||
// data.OfficerReject,
|
|
||||||
// data.OfficerApproveReason,
|
|
||||||
// data.OfficerRejectReason,
|
|
||||||
// data.OfficerRejectDate,
|
|
||||||
// data.RemarkHorizontal,
|
|
||||||
// data.rootOld,
|
|
||||||
// data.rootOldId,
|
|
||||||
// data.rootShortNameOld,
|
|
||||||
// data.child1Old,
|
|
||||||
// data.child1OldId,
|
|
||||||
// data.child1ShortNameOld,
|
|
||||||
// data.child2Old,
|
|
||||||
// data.child2OldId,
|
|
||||||
// data.child2ShortNameOld,
|
|
||||||
// data.child3Old,
|
|
||||||
// data.child3OldId,
|
|
||||||
// data.child3ShortNameOld,
|
|
||||||
// data.child4Old,
|
|
||||||
// data.child4OldId,
|
|
||||||
// data.child4ShortNameOld,
|
|
||||||
// data.PositionOld,
|
|
||||||
// data.posMasterNoOld,
|
|
||||||
// data.posTypeOldId,
|
|
||||||
// data.posTypeNameOld,
|
|
||||||
// data.posLevelOldId,
|
|
||||||
// data.posLevelNameOld,
|
|
||||||
// data.IsNoDebt,
|
|
||||||
// data.IsNoBurden,
|
|
||||||
// data.IsDiscipline,
|
|
||||||
// data.CancelReason,
|
|
||||||
// data.idMain,
|
|
||||||
// data.statusMain,
|
|
||||||
// data.KeycloakUserId,
|
|
||||||
// data.ApproveStep,
|
|
||||||
// data.Group,
|
|
||||||
// data.Approvers,
|
|
||||||
// data.Commanders,
|
|
||||||
// statusCancel = data.Status,
|
|
||||||
// Docs = retirementResignDocs,
|
|
||||||
// };
|
|
||||||
// return Success(_data);
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -2149,6 +2007,18 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -2197,6 +2067,11 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
data = data
|
data = data
|
||||||
.Where(x => node == 4 ? x.child4DnaId == nodeId : (node == 3 ? x.child3DnaId == nodeId : (node == 2 ? x.child2DnaId == nodeId : (node == 1 ? x.child1DnaId == nodeId : (node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true)))))).ToList();
|
.Where(x => node == 4 ? x.child4DnaId == nodeId : (node == 3 ? x.child3DnaId == nodeId : (node == 2 ? x.child2DnaId == nodeId : (node == 1 ? x.child1DnaId == nodeId : (node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true)))))).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
data = data
|
||||||
|
.Where(x => node == 4 ? x.child3DnaId == nodeId : (node == 3 ? x.child2DnaId == nodeId : (node == 2 ? x.child1DnaId == nodeId : (node == 1 || node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true))))).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
data = data
|
data = data
|
||||||
|
|
@ -2548,12 +2423,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
[HttpGet("questionnaire/question")]
|
[HttpGet("questionnaire/question")]
|
||||||
public async Task<ActionResult<ResponseObject>> GetQuestionnaireQuestion()
|
public async Task<ActionResult<ResponseObject>> GetQuestionnaireQuestion()
|
||||||
{
|
{
|
||||||
//var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_RESIGN_INTERVIEW");
|
|
||||||
//var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
//if (jsonData["status"]?.ToString() != "200")
|
|
||||||
//{
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
//}
|
|
||||||
var retirementQuestionnaireQuestion = await _context.RetirementQuestionnaireQuestions.AsQueryable()
|
var retirementQuestionnaireQuestion = await _context.RetirementQuestionnaireQuestions.AsQueryable()
|
||||||
.Select(x => new
|
.Select(x => new
|
||||||
{
|
{
|
||||||
|
|
@ -3249,12 +3118,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||||
public async Task<ActionResult<ResponseObject>> OfficerApproveRetirementResignAsync(Guid id)
|
public async Task<ActionResult<ResponseObject>> OfficerApproveRetirementResignAsync(Guid id)
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.OfficerApproveRetirementResign(id);
|
await _repository.OfficerApproveRetirementResign(id);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
@ -3277,12 +3140,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.CommanderApproveRetirementResign(id, req.Reason ?? "", null);
|
await _repository.CommanderApproveRetirementResign(id, req.Reason ?? "", null);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
@ -3311,12 +3168,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.CommanderRejectRetirementResign(id, req.Reason ?? "", req.Date);
|
await _repository.CommanderRejectRetirementResign(id, req.Reason ?? "", req.Date);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
@ -3345,12 +3196,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.ApproveRetirementResign(id, req.Reason ?? "", null);
|
await _repository.ApproveRetirementResign(id, req.Reason ?? "", null);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
@ -3379,12 +3224,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.RejectRetirementResign(id, req.Reason ?? "", req.Date);
|
await _repository.RejectRetirementResign(id, req.Reason ?? "", req.Date);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
@ -3475,12 +3314,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||||
public async Task<ActionResult<ResponseObject>> OfficerApproveRetirementResignCancelAsync(Guid id)
|
public async Task<ActionResult<ResponseObject>> OfficerApproveRetirementResignCancelAsync(Guid id)
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.OfficerApproveRetirementResignCancel(id);
|
await _repository.OfficerApproveRetirementResignCancel(id);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
@ -3503,12 +3336,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.CommanderApproveRetirementResignCancel(id, req.Reason ?? "", null);
|
await _repository.CommanderApproveRetirementResignCancel(id, req.Reason ?? "", null);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
@ -3537,12 +3364,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.CommanderRejectRetirementResignCancel(id, req.Reason ?? "", req.Date);
|
await _repository.CommanderRejectRetirementResignCancel(id, req.Reason ?? "", req.Date);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
@ -3571,12 +3392,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.ApproveRetirementResignCancel(id, req.Reason ?? "", null);
|
await _repository.ApproveRetirementResignCancel(id, req.Reason ?? "", null);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
@ -3605,12 +3420,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.RejectRetirementResignCancel(id, req.Reason ?? "", req.Date);
|
await _repository.RejectRetirementResignCancel(id, req.Reason ?? "", req.Date);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
|
||||||
|
|
@ -196,6 +196,18 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -251,6 +263,11 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
retirementResignEmployees = retirementResignEmployees
|
retirementResignEmployees = retirementResignEmployees
|
||||||
.Where(x => node == 4 ? x.child4DnaOldId == nodeId : (node == 3 ? x.child3DnaOldId == nodeId : (node == 2 ? x.child2DnaOldId == nodeId : (node == 1 ? x.child1DnaOldId == nodeId : (node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true)))))).ToList();
|
.Where(x => node == 4 ? x.child4DnaOldId == nodeId : (node == 3 ? x.child3DnaOldId == nodeId : (node == 2 ? x.child2DnaOldId == nodeId : (node == 1 ? x.child1DnaOldId == nodeId : (node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true)))))).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
retirementResignEmployees = retirementResignEmployees
|
||||||
|
.Where(x => node == 4 ? x.child3DnaOldId == nodeId : (node == 3 ? x.child2DnaOldId == nodeId : (node == 2 ? x.child1DnaOldId == nodeId : (node == 1 || node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true))))).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
retirementResignEmployees = retirementResignEmployees
|
retirementResignEmployees = retirementResignEmployees
|
||||||
|
|
@ -311,6 +328,18 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -364,6 +393,11 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
retirementResignEmployees = retirementResignEmployees
|
retirementResignEmployees = retirementResignEmployees
|
||||||
.Where(x => node == 4 ? x.child4DnaOldId == nodeId : (node == 3 ? x.child3DnaOldId == nodeId : (node == 2 ? x.child2DnaOldId == nodeId : (node == 1 ? x.child1DnaOldId == nodeId : (node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true)))))).ToList();
|
.Where(x => node == 4 ? x.child4DnaOldId == nodeId : (node == 3 ? x.child3DnaOldId == nodeId : (node == 2 ? x.child2DnaOldId == nodeId : (node == 1 ? x.child1DnaOldId == nodeId : (node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true)))))).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
retirementResignEmployees = retirementResignEmployees
|
||||||
|
.Where(x => node == 4 ? x.child3DnaOldId == nodeId : (node == 3 ? x.child2DnaOldId == nodeId : (node == 2 ? x.child1DnaOldId == nodeId : (node == 1 || node == 0 ? x.rootDnaOldId == nodeId : (node == null ? true : true))))).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
retirementResignEmployees = retirementResignEmployees
|
retirementResignEmployees = retirementResignEmployees
|
||||||
|
|
@ -572,181 +606,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
};
|
};
|
||||||
|
|
||||||
return Success(_data);
|
return Success(_data);
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// var getWorkflow = await _permission.GetPermissionAPIWorkflowAsync(id.ToString(), "RETIREMENT_CANCEL_EMP");
|
|
||||||
// var createdUserId = await _context.RetirementResignEmployeeCancels.AsQueryable()
|
|
||||||
// .Where(x => x.CreatedUserId == UserId)
|
|
||||||
// .Where(x => x.RetirementResignEmployee.Id == id)
|
|
||||||
// .FirstOrDefaultAsync();
|
|
||||||
// if (getWorkflow == false && createdUserId == null)
|
|
||||||
// {
|
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_RESIGN_EMP");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// var data = await _context.RetirementResignEmployeeCancels.AsQueryable()
|
|
||||||
// .Where(x => x.RetirementResignEmployee.Id == id)
|
|
||||||
// .Select(p => new
|
|
||||||
// {
|
|
||||||
// p.Id,
|
|
||||||
// p.prefix,
|
|
||||||
// p.firstName,
|
|
||||||
// p.lastName,
|
|
||||||
// p.profileId,
|
|
||||||
// p.Location,
|
|
||||||
// p.SendDate,
|
|
||||||
// p.ActiveDate,
|
|
||||||
// p.Reason,
|
|
||||||
// p.Remark,
|
|
||||||
// p.Status,
|
|
||||||
// salary = p.AmountOld,
|
|
||||||
// p.ApproveReason,
|
|
||||||
// p.RejectReason,
|
|
||||||
// p.IsActive,
|
|
||||||
// p.CreatedAt,
|
|
||||||
// p.PositionTypeOld,
|
|
||||||
// p.PositionLevelOld,
|
|
||||||
// p.PositionNumberOld,
|
|
||||||
// p.OrganizationPositionOld,
|
|
||||||
// p.OligarchReject,
|
|
||||||
// p.OligarchApproveReason,
|
|
||||||
// p.OligarchRejectReason,
|
|
||||||
// p.OligarchRejectDate,
|
|
||||||
// p.CommanderReject,
|
|
||||||
// p.CommanderApproveReason,
|
|
||||||
// p.CommanderRejectReason,
|
|
||||||
// p.CommanderRejectDate,
|
|
||||||
// p.OfficerReject,
|
|
||||||
// p.OfficerApproveReason,
|
|
||||||
// p.OfficerRejectReason,
|
|
||||||
// p.OfficerRejectDate,
|
|
||||||
// p.RemarkHorizontal,
|
|
||||||
// p.rootOld,
|
|
||||||
// p.rootOldId,
|
|
||||||
// p.rootShortNameOld,
|
|
||||||
// p.child1Old,
|
|
||||||
// p.child1OldId,
|
|
||||||
// p.child1ShortNameOld,
|
|
||||||
// p.child2Old,
|
|
||||||
// p.child2OldId,
|
|
||||||
// p.child2ShortNameOld,
|
|
||||||
// p.child3Old,
|
|
||||||
// p.child3OldId,
|
|
||||||
// p.child3ShortNameOld,
|
|
||||||
// p.child4Old,
|
|
||||||
// p.child4OldId,
|
|
||||||
// p.child4ShortNameOld,
|
|
||||||
// p.PositionOld,
|
|
||||||
// p.posMasterNoOld,
|
|
||||||
// p.posTypeOldId,
|
|
||||||
// p.posTypeNameOld,
|
|
||||||
// p.posLevelOldId,
|
|
||||||
// p.posLevelNameOld,
|
|
||||||
// p.IsNoDebt,
|
|
||||||
// p.IsNoBurden,
|
|
||||||
// p.IsDiscipline,
|
|
||||||
// p.ApproveStep,
|
|
||||||
// p.Group,
|
|
||||||
// Approvers = p.Approvers.Where(x => x.ApproveType.ToUpper() == "APPROVER"),
|
|
||||||
// Commanders = p.Approvers.Where(x => x.ApproveType.ToUpper() == "COMMANDER"),
|
|
||||||
// KeycloakUserId = p.CreatedUserId,
|
|
||||||
// p.CancelReason,
|
|
||||||
// idMain = p.RetirementResignEmployee.Id,
|
|
||||||
// statusMain = p.RetirementResignEmployee.Status,
|
|
||||||
// RetirementResignEmployeeDocs = p.RetirementResignEmployee.RetirementResignEmployeeDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
|
|
||||||
// })
|
|
||||||
// .FirstOrDefaultAsync();
|
|
||||||
// if (data == null)
|
|
||||||
// return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
|
|
||||||
|
|
||||||
// var retirementResignEmployeeDocs = new List<dynamic>();
|
|
||||||
// foreach (var doc in data.RetirementResignEmployeeDocs)
|
|
||||||
// {
|
|
||||||
// var _doc = new
|
|
||||||
// {
|
|
||||||
// FileName = doc.FileName,
|
|
||||||
// PathName = await _documentService.ImagesPath(doc.Id),
|
|
||||||
// doc.Id,
|
|
||||||
// };
|
|
||||||
// retirementResignEmployeeDocs.Add(_doc);
|
|
||||||
// }
|
|
||||||
// var _data = new
|
|
||||||
// {
|
|
||||||
// data.Id,
|
|
||||||
// data.profileId,
|
|
||||||
// data.prefix,
|
|
||||||
// data.firstName,
|
|
||||||
// data.lastName,
|
|
||||||
// data.Location,
|
|
||||||
// data.SendDate,
|
|
||||||
// data.ActiveDate,
|
|
||||||
// data.Reason,
|
|
||||||
// data.Remark,
|
|
||||||
// data.Status,
|
|
||||||
// data.salary,
|
|
||||||
// data.PositionTypeOld,
|
|
||||||
// data.PositionLevelOld,
|
|
||||||
// data.PositionNumberOld,
|
|
||||||
// data.OrganizationPositionOld,
|
|
||||||
// data.ApproveReason,
|
|
||||||
// data.RejectReason,
|
|
||||||
// data.IsActive,
|
|
||||||
// data.CreatedAt,
|
|
||||||
// data.OligarchReject,
|
|
||||||
// data.OligarchApproveReason,
|
|
||||||
// data.OligarchRejectReason,
|
|
||||||
// data.OligarchRejectDate,
|
|
||||||
// data.CommanderReject,
|
|
||||||
// data.CommanderApproveReason,
|
|
||||||
// data.CommanderRejectReason,
|
|
||||||
// data.CommanderRejectDate,
|
|
||||||
// data.OfficerReject,
|
|
||||||
// data.OfficerApproveReason,
|
|
||||||
// data.OfficerRejectReason,
|
|
||||||
// data.OfficerRejectDate,
|
|
||||||
// data.RemarkHorizontal,
|
|
||||||
// data.rootOld,
|
|
||||||
// data.rootOldId,
|
|
||||||
// data.rootShortNameOld,
|
|
||||||
// data.child1Old,
|
|
||||||
// data.child1OldId,
|
|
||||||
// data.child1ShortNameOld,
|
|
||||||
// data.child2Old,
|
|
||||||
// data.child2OldId,
|
|
||||||
// data.child2ShortNameOld,
|
|
||||||
// data.child3Old,
|
|
||||||
// data.child3OldId,
|
|
||||||
// data.child3ShortNameOld,
|
|
||||||
// data.child4Old,
|
|
||||||
// data.child4OldId,
|
|
||||||
// data.child4ShortNameOld,
|
|
||||||
// data.PositionOld,
|
|
||||||
// data.posMasterNoOld,
|
|
||||||
// data.posTypeOldId,
|
|
||||||
// data.posTypeNameOld,
|
|
||||||
// data.posLevelOldId,
|
|
||||||
// data.posLevelNameOld,
|
|
||||||
// data.IsNoDebt,
|
|
||||||
// data.IsNoBurden,
|
|
||||||
// data.IsDiscipline,
|
|
||||||
// data.CancelReason,
|
|
||||||
// data.idMain,
|
|
||||||
// data.statusMain,
|
|
||||||
// data.ApproveStep,
|
|
||||||
// data.Group,
|
|
||||||
// data.KeycloakUserId,
|
|
||||||
// data.Approvers,
|
|
||||||
// data.Commanders,
|
|
||||||
// statusCancel = data.Status,
|
|
||||||
// Docs = retirementResignEmployeeDocs,
|
|
||||||
// };
|
|
||||||
// return Success(_data);
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -2065,6 +1924,18 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
? profileAdmin?.RootDnaId
|
? profileAdmin?.RootDnaId
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 1 || profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
else if (role == "ROOT" || role == "PARENT")
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
{
|
{
|
||||||
nodeId = profileAdmin?.RootDnaId;
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
|
@ -2113,6 +1984,11 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
data = data
|
data = data
|
||||||
.Where(x => node == 4 ? x.child4DnaId == nodeId : (node == 3 ? x.child3DnaId == nodeId : (node == 2 ? x.child2DnaId == nodeId : (node == 1 ? x.child1DnaId == nodeId : (node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true)))))).ToList();
|
.Where(x => node == 4 ? x.child4DnaId == nodeId : (node == 3 ? x.child3DnaId == nodeId : (node == 2 ? x.child2DnaId == nodeId : (node == 1 ? x.child1DnaId == nodeId : (node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true)))))).ToList();
|
||||||
}
|
}
|
||||||
|
else if (role == "BROTHER")
|
||||||
|
{
|
||||||
|
data = data
|
||||||
|
.Where(x => node == 4 ? x.child3DnaId == nodeId : (node == 3 ? x.child2DnaId == nodeId : (node == 2 ? x.child1DnaId == nodeId : (node == 1 || node == 0 ? x.rootDnaId == nodeId : (node == null ? true : true))))).ToList();
|
||||||
|
}
|
||||||
else if (role == "ROOT")
|
else if (role == "ROOT")
|
||||||
{
|
{
|
||||||
data = data
|
data = data
|
||||||
|
|
@ -2706,12 +2582,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||||
public async Task<ActionResult<ResponseObject>> OfficerApproveRetirementResignEmployeeAsync(Guid id)
|
public async Task<ActionResult<ResponseObject>> OfficerApproveRetirementResignEmployeeAsync(Guid id)
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.OfficerApproveRetirementResignEmployee(id);
|
await _repository.OfficerApproveRetirementResignEmployee(id);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
@ -2734,12 +2604,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.CommanderApproveRetirementResignEmployee(id, req.Reason ?? "", null);
|
await _repository.CommanderApproveRetirementResignEmployee(id, req.Reason ?? "", null);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
@ -2768,12 +2632,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.CommanderRejectRetirementResignEmployee(id, req.Reason ?? "", req.Date);
|
await _repository.CommanderRejectRetirementResignEmployee(id, req.Reason ?? "", req.Date);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
@ -2802,12 +2660,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.ApproveRetirementResignEmployee(id, req.Reason ?? "", null);
|
await _repository.ApproveRetirementResignEmployee(id, req.Reason ?? "", null);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
@ -2836,12 +2688,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.RejectRetirementResignEmployee(id, req.Reason ?? "", req.Date);
|
await _repository.RejectRetirementResignEmployee(id, req.Reason ?? "", req.Date);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
@ -2932,12 +2778,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||||
public async Task<ActionResult<ResponseObject>> OfficerApproveRetirementResignEmployeeCancelAsync(Guid id)
|
public async Task<ActionResult<ResponseObject>> OfficerApproveRetirementResignEmployeeCancelAsync(Guid id)
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.OfficerApproveRetirementResignEmployeeCancel(id);
|
await _repository.OfficerApproveRetirementResignEmployeeCancel(id);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
@ -2960,12 +2800,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.CommanderApproveRetirementResignEmployeeCancel(id, req.Reason ?? "", null);
|
await _repository.CommanderApproveRetirementResignEmployeeCancel(id, req.Reason ?? "", null);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
@ -2994,12 +2828,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.CommanderRejectRetirementResignEmployeeCancel(id, req.Reason ?? "", req.Date);
|
await _repository.CommanderRejectRetirementResignEmployeeCancel(id, req.Reason ?? "", req.Date);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
@ -3028,12 +2856,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.ApproveRetirementResignEmployeeCancel(id, req.Reason ?? "", null);
|
await _repository.ApproveRetirementResignEmployeeCancel(id, req.Reason ?? "", null);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
@ -3062,12 +2884,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
|
||||||
// var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
|
||||||
// if (jsonData["status"]?.ToString() != "200")
|
|
||||||
// {
|
|
||||||
// return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
|
||||||
// }
|
|
||||||
await _repository.RejectRetirementResignEmployeeCancel(id, req.Reason ?? "", req.Date);
|
await _repository.RejectRetirementResignEmployeeCancel(id, req.Reason ?? "", req.Date);
|
||||||
|
|
||||||
return Success();
|
return Success();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue