no message

This commit is contained in:
kittapath 2024-11-08 15:39:20 +07:00
parent df1e5dd103
commit 8e4ed43a9d

View file

@ -23,7 +23,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
[Produces("application/json")] [Produces("application/json")]
[Authorize] [Authorize]
[SwaggerTag("ระบบลาออกลูกจ้าง")] [SwaggerTag("ระบบลาออกลูกจ้าง")]
public class RetirementResignEmployeeController : BaseController public class RetirementResignEmployeeEmployeeController : BaseController
{ {
private readonly RetirementRepository _repository; private readonly RetirementRepository _repository;
private readonly NotificationRepository _repositoryNoti; private readonly NotificationRepository _repositoryNoti;
@ -33,7 +33,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
private readonly IConfiguration _configuration; private readonly IConfiguration _configuration;
private readonly PermissionRepository _permission; private readonly PermissionRepository _permission;
public RetirementResignEmployeeController(RetirementRepository repository, public RetirementResignEmployeeEmployeeController(RetirementRepository repository,
NotificationRepository repositoryNoti, NotificationRepository repositoryNoti,
ApplicationDBContext context, ApplicationDBContext context,
MinIOService documentService, MinIOService documentService,
@ -69,7 +69,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpGet("user")] [HttpGet("user")]
public async Task<ActionResult<ResponseObject>> GetListByProfile() public async Task<ActionResult<ResponseObject>> GetListByProfile()
{ {
var apiUrl = $"{_configuration["API"]}/org/profile-employee/keycloak/position"; var apiUrl = $"{_configuration["API"]}/org/profile/keycloak/position";
using (var client = new HttpClient()) using (var client = new HttpClient())
{ {
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
@ -83,7 +83,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
if (org == null || org.result == null) if (org == null || org.result == null)
return Error("ไม่พบหน่วยงานของผู้ใช้งานคนนี้", 404); return Error("ไม่พบหน่วยงานของผู้ใช้งานคนนี้", 404);
var retirementResigns = await _context.RetirementResignEmployees.AsQueryable() var retirementResignEmployees = await _context.RetirementResignEmployees.AsQueryable()
.Where(x => x.profileId == org.result.profileId) .Where(x => x.profileId == org.result.profileId)
.OrderByDescending(x => x.CreatedAt) .OrderByDescending(x => x.CreatedAt)
.Select(p => new .Select(p => new
@ -97,12 +97,12 @@ namespace BMA.EHR.Retirement.Service.Controllers
p.RejectReason, p.RejectReason,
p.CancelReason, p.CancelReason,
p.Status, p.Status,
statusCancel = p.RetirementResignCancels.FirstOrDefault() == null ? null : p.RetirementResignCancels.FirstOrDefault().Status, statusCancel = p.RetirementResignEmployeeCancels.FirstOrDefault() == null ? null : p.RetirementResignEmployeeCancels.FirstOrDefault().Status,
p.IsActive, p.IsActive,
}) })
.ToListAsync(); .ToListAsync();
return Success(retirementResigns); return Success(retirementResignEmployees);
} }
} }
@ -131,7 +131,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
if (org == null || org.result == null) if (org == null || org.result == null)
return Error("ไม่พบหน่วยงานของผู้ใช้งานคนนี้", 404); return Error("ไม่พบหน่วยงานของผู้ใช้งานคนนี้", 404);
var retirementResigns = await _context.RetirementResignCancels.AsQueryable() var retirementResignEmployees = await _context.RetirementResignEmployeeCancels.AsQueryable()
.Where(x => x.profileId == org.result.profileId) .Where(x => x.profileId == org.result.profileId)
.OrderByDescending(x => x.CreatedAt) .OrderByDescending(x => x.CreatedAt)
.Select(p => new .Select(p => new
@ -149,7 +149,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
}) })
.ToListAsync(); .ToListAsync();
return Success(retirementResigns); return Success(retirementResignEmployees);
} }
} }
@ -170,7 +170,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
{ {
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden); return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
} }
var retirementResigns = await _context.RetirementResigns.AsQueryable() var retirementResignEmployees = await _context.RetirementResignEmployees.AsQueryable()
.Where(x => x.Status == type.Trim().ToUpper()) .Where(x => x.Status == type.Trim().ToUpper())
.OrderByDescending(x => x.CreatedAt) .OrderByDescending(x => x.CreatedAt)
.Select(p => new .Select(p => new
@ -192,7 +192,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
p.PositionNumberOld, p.PositionNumberOld,
p.OrganizationPositionOld, p.OrganizationPositionOld,
p.RemarkHorizontal, p.RemarkHorizontal,
statusCancel = p.RetirementResignCancels.FirstOrDefault().Status ?? null, statusCancel = p.RetirementResignEmployeeCancels.FirstOrDefault().Status ?? null,
p.ApproveReason, p.ApproveReason,
p.RejectReason, p.RejectReason,
p.CancelReason, p.CancelReason,
@ -201,7 +201,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
}) })
.ToListAsync(); .ToListAsync();
return Success(retirementResigns); return Success(retirementResignEmployees);
} }
/// <summary> /// <summary>
@ -221,7 +221,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
{ {
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden); return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
} }
var retirementResigns = await _context.RetirementResignCancels.AsQueryable() var retirementResignEmployees = await _context.RetirementResignEmployeeCancels.AsQueryable()
.Where(x => x.Status == type.Trim().ToUpper()) .Where(x => x.Status == type.Trim().ToUpper())
.OrderByDescending(x => x.CreatedAt) .OrderByDescending(x => x.CreatedAt)
.Select(p => new .Select(p => new
@ -243,7 +243,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
p.PositionNumberOld, p.PositionNumberOld,
p.OrganizationPositionOld, p.OrganizationPositionOld,
p.RemarkHorizontal, p.RemarkHorizontal,
statusMain = p.RetirementResign.Status, statusMain = p.RetirementResignEmployee.Status,
p.ApproveReason, p.ApproveReason,
p.RejectReason, p.RejectReason,
p.CancelReason, p.CancelReason,
@ -252,7 +252,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
}) })
.ToListAsync(); .ToListAsync();
return Success(retirementResigns); return Success(retirementResignEmployees);
} }
/// <summary> /// <summary>
@ -267,7 +267,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpGet("{id:length(36)}")] [HttpGet("{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> GetDetailByUser(Guid id) public async Task<ActionResult<ResponseObject>> GetDetailByUser(Guid id)
{ {
var dataMain = await _context.RetirementResigns.AsQueryable() var dataMain = await _context.RetirementResignEmployees.AsQueryable()
.Where(x => x.Id == id) .Where(x => x.Id == id)
.Select(p => new .Select(p => new
{ {
@ -275,12 +275,12 @@ namespace BMA.EHR.Retirement.Service.Controllers
}) })
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
if (dataMain == null) if (dataMain == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
if (dataMain.Status != "CANCEL") if (dataMain.Status != "CANCEL")
{ {
var getWorkflow = await _permission.GetPermissionAPIWorkflowAsync(id.ToString(), "SYS_RESIGN"); var getWorkflow = await _permission.GetPermissionAPIWorkflowAsync(id.ToString(), "SYS_RESIGN");
var createdUserId = await _context.RetirementResigns.AsQueryable() var createdUserId = await _context.RetirementResignEmployees.AsQueryable()
.Where(x => x.Id == id) .Where(x => x.Id == id)
.Where(x => x.CreatedUserId == UserId) .Where(x => x.CreatedUserId == UserId)
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
@ -293,7 +293,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden); return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
} }
} }
var data = await _context.RetirementResigns.AsQueryable() var data = await _context.RetirementResignEmployees.AsQueryable()
.Where(x => x.Id == id) .Where(x => x.Id == id)
.Select(p => new .Select(p => new
{ {
@ -354,17 +354,17 @@ namespace BMA.EHR.Retirement.Service.Controllers
p.IsNoBurden, p.IsNoBurden,
p.IsDiscipline, p.IsDiscipline,
p.CancelReason, p.CancelReason,
RetirementResignCancels = p.RetirementResignCancels.FirstOrDefault(), RetirementResignEmployeeCancels = p.RetirementResignEmployeeCancels.FirstOrDefault(),
// Avatar = p.Profile.Avatar == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.Profile.Avatar.Id, // Avatar = p.Profile.Avatar == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.Profile.Avatar.Id,
RetirementResignDocs = p.RetirementResignDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }), RetirementResignEmployeeDocs = p.RetirementResignEmployeeDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
// RetirementResignDebtDocs = p.RetirementResignDebtDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }), // RetirementResignEmployeeDebtDocs = p.RetirementResignEmployeeDebtDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
}) })
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
if (data == null) if (data == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
var retirementResignDocs = new List<dynamic>(); var retirementResignEmployeeDocs = new List<dynamic>();
foreach (var doc in data.RetirementResignDocs) foreach (var doc in data.RetirementResignEmployeeDocs)
{ {
var _doc = new var _doc = new
{ {
@ -372,10 +372,10 @@ namespace BMA.EHR.Retirement.Service.Controllers
PathName = await _documentService.ImagesPath(doc.Id), PathName = await _documentService.ImagesPath(doc.Id),
doc.Id, doc.Id,
}; };
retirementResignDocs.Add(_doc); retirementResignEmployeeDocs.Add(_doc);
} }
// var retirementResignDebtDocs = new List<dynamic>(); // var retirementResignEmployeeDebtDocs = new List<dynamic>();
// foreach (var doc in data.RetirementResignDebtDocs) // foreach (var doc in data.RetirementResignEmployeeDebtDocs)
// { // {
// var _doc = new // var _doc = new
// { // {
@ -383,7 +383,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
// PathName = await _documentService.ImagesPath(doc.Id), // PathName = await _documentService.ImagesPath(doc.Id),
// doc.Id, // doc.Id,
// }; // };
// retirementResignDebtDocs.Add(_doc); // retirementResignEmployeeDebtDocs.Add(_doc);
// } // }
var _data = new var _data = new
{ {
@ -445,11 +445,11 @@ namespace BMA.EHR.Retirement.Service.Controllers
data.IsNoBurden, data.IsNoBurden,
data.IsDiscipline, data.IsDiscipline,
data.CancelReason, data.CancelReason,
idCancel = data.RetirementResignCancels?.Id ?? Guid.Empty, idCancel = data.RetirementResignEmployeeCancels?.Id ?? Guid.Empty,
statusCancel = data.RetirementResignCancels?.Status ?? null, statusCancel = data.RetirementResignEmployeeCancels?.Status ?? null,
// Avatar = data.Avatar == Guid.Parse("00000000-0000-0000-0000-000000000000") ? null : await _documentService.ImagesPath(data.Avatar), // Avatar = data.Avatar == Guid.Parse("00000000-0000-0000-0000-000000000000") ? null : await _documentService.ImagesPath(data.Avatar),
Docs = retirementResignDocs, Docs = retirementResignEmployeeDocs,
// DocDebts = retirementResignDebtDocs, // DocDebts = retirementResignEmployeeDebtDocs,
}; };
return Success(_data); return Success(_data);
@ -458,7 +458,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
{ {
var getWorkflow = await _permission.GetPermissionAPIWorkflowAsync(id.ToString(), "RETIREMENT_CANCEL"); var getWorkflow = await _permission.GetPermissionAPIWorkflowAsync(id.ToString(), "RETIREMENT_CANCEL");
var createdUserId = await _context.RetirementResignCancels.AsQueryable() var createdUserId = await _context.RetirementResignEmployeeCancels.AsQueryable()
.Where(x => x.CreatedUserId == UserId) .Where(x => x.CreatedUserId == UserId)
.Where(x => x.Id == id) .Where(x => x.Id == id)
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
@ -471,8 +471,8 @@ namespace BMA.EHR.Retirement.Service.Controllers
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden); return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
} }
} }
var data = await _context.RetirementResignCancels.AsQueryable() var data = await _context.RetirementResignEmployeeCancels.AsQueryable()
.Where(x => x.RetirementResign.Id == id) .Where(x => x.RetirementResignEmployee.Id == id)
.Select(p => new .Select(p => new
{ {
p.Id, p.Id,
@ -532,16 +532,16 @@ namespace BMA.EHR.Retirement.Service.Controllers
p.IsNoBurden, p.IsNoBurden,
p.IsDiscipline, p.IsDiscipline,
p.CancelReason, p.CancelReason,
idMain = p.RetirementResign.Id, idMain = p.RetirementResignEmployee.Id,
statusMain = p.RetirementResign.Status, statusMain = p.RetirementResignEmployee.Status,
RetirementResignDocs = p.RetirementResign.RetirementResignDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }), RetirementResignEmployeeDocs = p.RetirementResignEmployee.RetirementResignEmployeeDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
}) })
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
if (data == null) if (data == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
var retirementResignDocs = new List<dynamic>(); var retirementResignEmployeeDocs = new List<dynamic>();
foreach (var doc in data.RetirementResignDocs) foreach (var doc in data.RetirementResignEmployeeDocs)
{ {
var _doc = new var _doc = new
{ {
@ -549,7 +549,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
PathName = await _documentService.ImagesPath(doc.Id), PathName = await _documentService.ImagesPath(doc.Id),
doc.Id, doc.Id,
}; };
retirementResignDocs.Add(_doc); retirementResignEmployeeDocs.Add(_doc);
} }
var _data = new var _data = new
{ {
@ -614,8 +614,8 @@ namespace BMA.EHR.Retirement.Service.Controllers
data.idMain, data.idMain,
data.statusMain, data.statusMain,
// Avatar = data.Avatar == Guid.Parse("00000000-0000-0000-0000-000000000000") ? null : await _documentService.ImagesPath(data.Avatar), // Avatar = data.Avatar == Guid.Parse("00000000-0000-0000-0000-000000000000") ? null : await _documentService.ImagesPath(data.Avatar),
Docs = retirementResignDocs, Docs = retirementResignEmployeeDocs,
// DocDebts = retirementResignDebtDocs, // DocDebts = retirementResignEmployeeDebtDocs,
}; };
return Success(_data); return Success(_data);
} }
@ -634,7 +634,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
public async Task<ActionResult<ResponseObject>> GetDetailByUserCancel(Guid id) public async Task<ActionResult<ResponseObject>> GetDetailByUserCancel(Guid id)
{ {
var getWorkflow = await _permission.GetPermissionAPIWorkflowAsync(id.ToString(), "RETIREMENT_CANCEL"); var getWorkflow = await _permission.GetPermissionAPIWorkflowAsync(id.ToString(), "RETIREMENT_CANCEL");
var createdUserId = await _context.RetirementResignCancels.AsQueryable() var createdUserId = await _context.RetirementResignEmployeeCancels.AsQueryable()
.Where(x => x.CreatedUserId == UserId) .Where(x => x.CreatedUserId == UserId)
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
if (getWorkflow == false && createdUserId == null) if (getWorkflow == false && createdUserId == null)
@ -646,7 +646,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden); return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
} }
} }
var data = await _context.RetirementResignCancels.AsQueryable() var data = await _context.RetirementResignEmployeeCancels.AsQueryable()
.Where(x => x.Id == id) .Where(x => x.Id == id)
.Select(p => new .Select(p => new
{ {
@ -707,16 +707,16 @@ namespace BMA.EHR.Retirement.Service.Controllers
p.IsNoBurden, p.IsNoBurden,
p.IsDiscipline, p.IsDiscipline,
p.CancelReason, p.CancelReason,
idMain = p.RetirementResign.Id, idMain = p.RetirementResignEmployee.Id,
statusMain = p.RetirementResign.Status, statusMain = p.RetirementResignEmployee.Status,
RetirementResignDocs = p.RetirementResign.RetirementResignDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }), RetirementResignEmployeeDocs = p.RetirementResignEmployee.RetirementResignEmployeeDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
}) })
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
if (data == null) if (data == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
var retirementResignDocs = new List<dynamic>(); var retirementResignEmployeeDocs = new List<dynamic>();
foreach (var doc in data.RetirementResignDocs) foreach (var doc in data.RetirementResignEmployeeDocs)
{ {
var _doc = new var _doc = new
{ {
@ -724,7 +724,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
PathName = await _documentService.ImagesPath(doc.Id), PathName = await _documentService.ImagesPath(doc.Id),
doc.Id, doc.Id,
}; };
retirementResignDocs.Add(_doc); retirementResignEmployeeDocs.Add(_doc);
} }
var _data = new var _data = new
{ {
@ -789,8 +789,8 @@ namespace BMA.EHR.Retirement.Service.Controllers
data.idMain, data.idMain,
data.statusMain, data.statusMain,
// Avatar = data.Avatar == Guid.Parse("00000000-0000-0000-0000-000000000000") ? null : await _documentService.ImagesPath(data.Avatar), // Avatar = data.Avatar == Guid.Parse("00000000-0000-0000-0000-000000000000") ? null : await _documentService.ImagesPath(data.Avatar),
Docs = retirementResignDocs, Docs = retirementResignEmployeeDocs,
// DocDebts = retirementResignDebtDocs, // DocDebts = retirementResignEmployeeDebtDocs,
}; };
return Success(_data); return Success(_data);
} }
@ -804,7 +804,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
/// <response code="401">ไม่ได้ Login เข้าระบบ</response> /// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response> /// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPost()] [HttpPost()]
public async Task<ActionResult<ResponseObject>> Post([FromForm] RetirementResignRequest req) public async Task<ActionResult<ResponseObject>> Post([FromForm] RetirementResignEmployeeRequest req)
{ {
// var profile = await _context.Profiles // var profile = await _context.Profiles
// .Include(x => x.PositionLevel) // .Include(x => x.PositionLevel)
@ -817,7 +817,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
// if (profile == null) // if (profile == null)
// return Error(GlobalMessages.DataNotFound, 404); // return Error(GlobalMessages.DataNotFound, 404);
var retirementResign = new RetirementResign var retirementResignEmployee = new RetirementResignEmployee
{ {
// Profile = profile, // Profile = profile,
Location = req.Location, Location = req.Location,
@ -853,44 +853,44 @@ namespace BMA.EHR.Retirement.Service.Controllers
if (org == null || org.result == null) if (org == null || org.result == null)
return Error("ไม่พบหน่วยงานของผู้ใช้งานคนนี้", 404); return Error("ไม่พบหน่วยงานของผู้ใช้งานคนนี้", 404);
retirementResign.profileId = org.result.profileId; retirementResignEmployee.profileId = org.result.profileId;
retirementResign.prefix = org.result.prefix; retirementResignEmployee.prefix = org.result.prefix;
retirementResign.firstName = org.result.firstName; retirementResignEmployee.firstName = org.result.firstName;
retirementResign.lastName = org.result.lastName; retirementResignEmployee.lastName = org.result.lastName;
retirementResign.citizenId = org.result.citizenId; retirementResignEmployee.citizenId = org.result.citizenId;
retirementResign.rootOld = org.result.root; retirementResignEmployee.rootOld = org.result.root;
retirementResign.rootOldId = org.result.rootId; retirementResignEmployee.rootOldId = org.result.rootId;
retirementResign.rootShortNameOld = org.result.rootShortName; retirementResignEmployee.rootShortNameOld = org.result.rootShortName;
retirementResign.child1Old = org.result.child1; retirementResignEmployee.child1Old = org.result.child1;
retirementResign.child1OldId = org.result.child1Id; retirementResignEmployee.child1OldId = org.result.child1Id;
retirementResign.child1ShortNameOld = org.result.child1ShortName; retirementResignEmployee.child1ShortNameOld = org.result.child1ShortName;
retirementResign.child2Old = org.result.child2; retirementResignEmployee.child2Old = org.result.child2;
retirementResign.child2OldId = org.result.child2Id; retirementResignEmployee.child2OldId = org.result.child2Id;
retirementResign.child2ShortNameOld = org.result.child2ShortName; retirementResignEmployee.child2ShortNameOld = org.result.child2ShortName;
retirementResign.child3Old = org.result.child3; retirementResignEmployee.child3Old = org.result.child3;
retirementResign.child3OldId = org.result.child3Id; retirementResignEmployee.child3OldId = org.result.child3Id;
retirementResign.child3ShortNameOld = org.result.child3ShortName; retirementResignEmployee.child3ShortNameOld = org.result.child3ShortName;
retirementResign.child4Old = org.result.child4; retirementResignEmployee.child4Old = org.result.child4;
retirementResign.child4OldId = org.result.child4Id; retirementResignEmployee.child4OldId = org.result.child4Id;
retirementResign.child4ShortNameOld = org.result.child4ShortName; retirementResignEmployee.child4ShortNameOld = org.result.child4ShortName;
retirementResign.posMasterNoOld = org.result.posMasterNo; retirementResignEmployee.posMasterNoOld = org.result.posMasterNo;
retirementResign.posTypeOldId = org.result.posTypeId; retirementResignEmployee.posTypeOldId = org.result.posTypeId;
retirementResign.posTypeNameOld = org.result.posTypeName; retirementResignEmployee.posTypeNameOld = org.result.posTypeName;
retirementResign.posLevelOldId = org.result.posLevelId; retirementResignEmployee.posLevelOldId = org.result.posLevelId;
retirementResign.posLevelNameOld = org.result.posLevelName; retirementResignEmployee.posLevelNameOld = org.result.posLevelName;
retirementResign.PositionOld = org.result.position; retirementResignEmployee.PositionOld = org.result.position;
retirementResign.PositionLevelOld = org.result.posLevelName; retirementResignEmployee.PositionLevelOld = org.result.posLevelName;
retirementResign.PositionTypeOld = org.result.posTypeName; retirementResignEmployee.PositionTypeOld = org.result.posTypeName;
retirementResign.PositionNumberOld = org.result.nodeShortName + org.result.posMasterNo; retirementResignEmployee.PositionNumberOld = org.result.nodeShortName + org.result.posMasterNo;
retirementResign.OrganizationOld = (org.result.child4 == null ? "" : org.result.child4 + "/") + retirementResignEmployee.OrganizationOld = (org.result.child4 == null ? "" : org.result.child4 + "/") +
(org.result.child3 == null ? "" : org.result.child3 + "/") + (org.result.child3 == null ? "" : org.result.child3 + "/") +
(org.result.child2 == null ? "" : org.result.child2 + "/") + (org.result.child2 == null ? "" : org.result.child2 + "/") +
(org.result.child1 == null ? "" : org.result.child1 + "/") + (org.result.child1 == null ? "" : org.result.child1 + "/") +
(org.result.root == null ? "" : org.result.root); (org.result.root == null ? "" : org.result.root);
retirementResign.OrganizationPositionOld = org.result.position + "-" + retirementResign.OrganizationOld; retirementResignEmployee.OrganizationPositionOld = org.result.position + "-" + retirementResignEmployee.OrganizationOld;
} }
await _context.RetirementResigns.AddAsync(retirementResign); await _context.RetirementResignEmployees.AddAsync(retirementResignEmployee);
await _context.SaveChangesAsync(); await _context.SaveChangesAsync();
if (Request.Form.Files != null && Request.Form.Files.Count != 0) if (Request.Form.Files != null && Request.Form.Files.Count != 0)
{ {
@ -903,9 +903,9 @@ namespace BMA.EHR.Retirement.Service.Controllers
.FirstOrDefaultAsync(x => x.Id == doc.Id); .FirstOrDefaultAsync(x => x.Id == doc.Id);
if (_doc != null) if (_doc != null)
{ {
var retirementResignDoc = new RetirementResignDoc var retirementResignEmployeeDoc = new RetirementResignEmployeeDoc
{ {
RetirementResign = retirementResign, RetirementResignEmployee = retirementResignEmployee,
Document = _doc, Document = _doc,
CreatedFullName = FullName ?? "System Administrator", CreatedFullName = FullName ?? "System Administrator",
CreatedUserId = UserId ?? "", CreatedUserId = UserId ?? "",
@ -914,14 +914,14 @@ namespace BMA.EHR.Retirement.Service.Controllers
LastUpdateUserId = UserId ?? "", LastUpdateUserId = UserId ?? "",
LastUpdatedAt = DateTime.Now, LastUpdatedAt = DateTime.Now,
}; };
await _context.RetirementResignDocs.AddAsync(retirementResignDoc); await _context.RetirementResignEmployeeDocs.AddAsync(retirementResignEmployeeDoc);
} }
} }
} }
// await _repositoryNoti.PushNotificationAsync( // await _repositoryNoti.PushNotificationAsync(
// Guid.Parse("08dc3db9-257d-470d-8256-3dc24f6fa332"), // Guid.Parse("08dc3db9-257d-470d-8256-3dc24f6fa332"),
// $"{retirementResign.prefix}{retirementResign.firstName} {retirementResign.lastName} ได้ทำการยื่นขอลาออก", // $"{retirementResignEmployee.prefix}{retirementResignEmployee.firstName} {retirementResignEmployee.lastName} ได้ทำการยื่นขอลาออก",
// $"{retirementResign.prefix}{retirementResign.firstName} {retirementResign.lastName} ได้ทำการยื่นขอลาออก", // $"{retirementResignEmployee.prefix}{retirementResignEmployee.firstName} {retirementResignEmployee.lastName} ได้ทำการยื่นขอลาออก",
// "", // "",
// "", // "",
// true // true
@ -933,13 +933,13 @@ namespace BMA.EHR.Retirement.Service.Controllers
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]); client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _res = await client.PostAsJsonAsync($"{_configuration["API"]}/org/workflow/add-workflow", new var _res = await client.PostAsJsonAsync($"{_configuration["API"]}/org/workflow/add-workflow", new
{ {
refId = retirementResign.Id, refId = retirementResignEmployee.Id,
sysName = "SYS_RETIREMENT", sysName = "SYS_RETIREMENT",
posLevelName = retirementResign.PositionLevelOld, posLevelName = retirementResignEmployee.PositionLevelOld,
posTypeName = retirementResign.PositionTypeOld, posTypeName = retirementResignEmployee.PositionTypeOld,
}); });
} }
return Success(retirementResign); return Success(retirementResignEmployee);
} }
/// <summary> /// <summary>
@ -951,12 +951,12 @@ namespace BMA.EHR.Retirement.Service.Controllers
/// <response code="401">ไม่ได้ Login เข้าระบบ</response> /// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response> /// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPut("{id:length(36)}")] [HttpPut("{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> Put([FromForm] RetirementResignRequest req, Guid id) public async Task<ActionResult<ResponseObject>> Put([FromForm] RetirementResignEmployeeRequest req, Guid id)
{ {
var updated = await _context.RetirementResigns var updated = await _context.RetirementResignEmployees
.FirstOrDefaultAsync(x => x.Id == id); .FirstOrDefaultAsync(x => x.Id == id);
if (updated == null) if (updated == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
updated.Location = req.Location; updated.Location = req.Location;
updated.ActiveDate = req.ActiveDate; updated.ActiveDate = req.ActiveDate;
@ -983,12 +983,12 @@ namespace BMA.EHR.Retirement.Service.Controllers
/// <response code="401">ไม่ได้ Login เข้าระบบ</response> /// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response> /// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPut("update-cancel/{id:length(36)}")] [HttpPut("update-cancel/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> PutCancel([FromForm] RetirementResignRequest req, Guid id) public async Task<ActionResult<ResponseObject>> PutCancel([FromForm] RetirementResignEmployeeRequest req, Guid id)
{ {
var updated = await _context.RetirementResignCancels var updated = await _context.RetirementResignEmployeeCancels
.FirstOrDefaultAsync(x => x.Id == id); .FirstOrDefaultAsync(x => x.Id == id);
if (updated == null) if (updated == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
updated.Location = req.Location; updated.Location = req.Location;
updated.ActiveDate = req.ActiveDate; updated.ActiveDate = req.ActiveDate;
@ -1016,12 +1016,12 @@ namespace BMA.EHR.Retirement.Service.Controllers
/// <response code="401">ไม่ได้ Login เข้าระบบ</response> /// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response> /// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPut("debt/{id:length(36)}")] [HttpPut("debt/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> Debt([FromBody] RetirementResignDebtRequest req, Guid id) public async Task<ActionResult<ResponseObject>> Debt([FromBody] RetirementResignEmployeeDebtRequest req, Guid id)
{ {
var updated = await _context.RetirementResigns.AsQueryable() var updated = await _context.RetirementResignEmployees.AsQueryable()
.FirstOrDefaultAsync(x => x.Id == id); .FirstOrDefaultAsync(x => x.Id == id);
if (updated == null) if (updated == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
updated.IsNoDebt = req.IsNoDebt; updated.IsNoDebt = req.IsNoDebt;
updated.IsNoBurden = req.IsNoBurden; updated.IsNoBurden = req.IsNoBurden;
updated.IsDiscipline = req.IsDiscipline; updated.IsDiscipline = req.IsDiscipline;
@ -1040,9 +1040,9 @@ namespace BMA.EHR.Retirement.Service.Controllers
// .FirstOrDefaultAsync(x => x.Id == doc.Id); // .FirstOrDefaultAsync(x => x.Id == doc.Id);
// if (_doc != null) // if (_doc != null)
// { // {
// var retirementResignDebtDoc = new RetirementResignDebtDoc // var retirementResignEmployeeDebtDoc = new RetirementResignEmployeeDebtDoc
// { // {
// RetirementResign = updated, // RetirementResignEmployee = updated,
// Document = _doc, // Document = _doc,
// CreatedFullName = FullName ?? "System Administrator", // CreatedFullName = FullName ?? "System Administrator",
// CreatedUserId = UserId ?? "", // CreatedUserId = UserId ?? "",
@ -1051,7 +1051,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
// LastUpdateUserId = UserId ?? "", // LastUpdateUserId = UserId ?? "",
// LastUpdatedAt = DateTime.Now, // LastUpdatedAt = DateTime.Now,
// }; // };
// await _context.RetirementResignDebtDocs.AddAsync(retirementResignDebtDoc); // await _context.RetirementResignEmployeeDebtDocs.AddAsync(retirementResignEmployeeDebtDoc);
// } // }
// } // }
// } // }
@ -1070,16 +1070,16 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpDelete("debt/{id:length(36)}")] [HttpDelete("debt/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> DebtDelete(Guid id) public async Task<ActionResult<ResponseObject>> DebtDelete(Guid id)
{ {
var deleted = await _context.RetirementResignDocs.AsQueryable() var deleted = await _context.RetirementResignEmployeeDocs.AsQueryable()
.FirstOrDefaultAsync(x => x.Document.Id == id); .FirstOrDefaultAsync(x => x.Document.Id == id);
if (deleted == null) if (deleted == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
_context.RetirementResignDocs.Remove(deleted); _context.RetirementResignEmployeeDocs.Remove(deleted);
var _deleted = await _context.Documents.AsQueryable() var _deleted = await _context.Documents.AsQueryable()
.FirstOrDefaultAsync(x => x.Id == id); .FirstOrDefaultAsync(x => x.Id == id);
if (_deleted == null) if (_deleted == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
_context.Documents.Remove(_deleted); _context.Documents.Remove(_deleted);
await _context.SaveChangesAsync(); await _context.SaveChangesAsync();
@ -1098,14 +1098,14 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPut("cancel/{id:length(36)}")] [HttpPut("cancel/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> Cancel([FromBody] RetirementReasonRequest req, Guid id) public async Task<ActionResult<ResponseObject>> Cancel([FromBody] RetirementReasonRequest req, Guid id)
{ {
var updated = await _context.RetirementResigns.AsQueryable() var updated = await _context.RetirementResignEmployees.AsQueryable()
.FirstOrDefaultAsync(x => x.Id == id); .FirstOrDefaultAsync(x => x.Id == id);
if (updated == null) if (updated == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
updated.CancelReason = req.Reason; updated.CancelReason = req.Reason;
if (updated.Status == "DONE") if (updated.Status == "DONE")
{ {
var retirementResignCancel = new RetirementResignCancel var retirementResignEmployeeCancel = new RetirementResignEmployeeCancel
{ {
Location = updated.Location, Location = updated.Location,
SendDate = updated.SendDate, SendDate = updated.SendDate,
@ -1163,7 +1163,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
posTypeNameOld = updated.posTypeNameOld, posTypeNameOld = updated.posTypeNameOld,
posLevelOldId = updated.posLevelOldId, posLevelOldId = updated.posLevelOldId,
posLevelNameOld = updated.posLevelNameOld, posLevelNameOld = updated.posLevelNameOld,
RetirementResign = updated, RetirementResignEmployee = updated,
Status = "WAITTING", Status = "WAITTING",
CreatedFullName = FullName ?? "System Administrator", CreatedFullName = FullName ?? "System Administrator",
CreatedUserId = UserId ?? "", CreatedUserId = UserId ?? "",
@ -1172,7 +1172,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
LastUpdateUserId = UserId ?? "", LastUpdateUserId = UserId ?? "",
LastUpdatedAt = DateTime.Now, LastUpdatedAt = DateTime.Now,
}; };
await _context.RetirementResignCancels.AddAsync(retirementResignCancel); await _context.RetirementResignEmployeeCancels.AddAsync(retirementResignEmployeeCancel);
await _context.SaveChangesAsync(); await _context.SaveChangesAsync();
using (var client = new HttpClient()) using (var client = new HttpClient())
{ {
@ -1180,10 +1180,10 @@ namespace BMA.EHR.Retirement.Service.Controllers
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]); client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _res = await client.PostAsJsonAsync($"{_configuration["API"]}/org/workflow/add-workflow", new var _res = await client.PostAsJsonAsync($"{_configuration["API"]}/org/workflow/add-workflow", new
{ {
refId = retirementResignCancel.Id, refId = retirementResignEmployeeCancel.Id,
sysName = "RETIREMENT_CANCEL", sysName = "RETIREMENT_CANCEL",
posLevelName = retirementResignCancel.PositionLevelOld, posLevelName = retirementResignEmployeeCancel.PositionLevelOld,
posTypeName = retirementResignCancel.PositionTypeOld, posTypeName = retirementResignEmployeeCancel.PositionTypeOld,
}); });
} }
} }
@ -1243,10 +1243,10 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpDelete("{id:length(36)}")] [HttpDelete("{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> Delete(Guid id) public async Task<ActionResult<ResponseObject>> Delete(Guid id)
{ {
var deleted = await _context.RetirementResigns.AsQueryable() var deleted = await _context.RetirementResignEmployees.AsQueryable()
.FirstOrDefaultAsync(x => x.Id == id); .FirstOrDefaultAsync(x => x.Id == id);
if (deleted == null) if (deleted == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
deleted.Status = "DELETE"; deleted.Status = "DELETE";
deleted.LastUpdateFullName = FullName ?? "System Administrator"; deleted.LastUpdateFullName = FullName ?? "System Administrator";
deleted.LastUpdateUserId = UserId ?? ""; deleted.LastUpdateUserId = UserId ?? "";
@ -1267,10 +1267,10 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPut("confirm/{id:length(36)}")] [HttpPut("confirm/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> AdminConfirm([FromBody] RetirementReasonRequest req, Guid id) public async Task<ActionResult<ResponseObject>> AdminConfirm([FromBody] RetirementReasonRequest req, Guid id)
{ {
var updated = await _context.RetirementResigns var updated = await _context.RetirementResignEmployees
.FirstOrDefaultAsync(x => x.Id == id); .FirstOrDefaultAsync(x => x.Id == id);
if (updated == null) if (updated == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
updated.Status = "APPROVE"; updated.Status = "APPROVE";
updated.ApproveReason = req.Reason; updated.ApproveReason = req.Reason;
@ -1294,10 +1294,10 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPut("reject/{id:length(36)}")] [HttpPut("reject/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> AdminReject([FromBody] RetirementReasonRequest req, Guid id) public async Task<ActionResult<ResponseObject>> AdminReject([FromBody] RetirementReasonRequest req, Guid id)
{ {
var updated = await _context.RetirementResigns var updated = await _context.RetirementResignEmployees
.FirstOrDefaultAsync(x => x.Id == id); .FirstOrDefaultAsync(x => x.Id == id);
if (updated == null) if (updated == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
updated.Status = "REJECT"; updated.Status = "REJECT";
updated.RejectReason = req.Reason; updated.RejectReason = req.Reason;
@ -1321,10 +1321,10 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPut("officer/confirm/{id:length(36)}")] [HttpPut("officer/confirm/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> OfficerConfirm([FromBody] RetirementReasonRequest req, Guid id) public async Task<ActionResult<ResponseObject>> OfficerConfirm([FromBody] RetirementReasonRequest req, Guid id)
{ {
var updated = await _context.RetirementResigns var updated = await _context.RetirementResignEmployees
.FirstOrDefaultAsync(x => x.Id == id); .FirstOrDefaultAsync(x => x.Id == id);
if (updated == null) if (updated == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
// updated.Status = "APPROVE"; // updated.Status = "APPROVE";
updated.OfficerReject = false; updated.OfficerReject = false;
@ -1368,10 +1368,10 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPut("officer/reject/{id:length(36)}")] [HttpPut("officer/reject/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> OfficerReject([FromBody] RetirementReasonDateRequest req, Guid id) public async Task<ActionResult<ResponseObject>> OfficerReject([FromBody] RetirementReasonDateRequest req, Guid id)
{ {
var updated = await _context.RetirementResigns var updated = await _context.RetirementResignEmployees
.FirstOrDefaultAsync(x => x.Id == id); .FirstOrDefaultAsync(x => x.Id == id);
if (updated == null) if (updated == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
if ((DateTime.Now - updated.CreatedAt).TotalDays >= 90) if ((DateTime.Now - updated.CreatedAt).TotalDays >= 90)
return Error("สามารถยับยั้งได้ไม่เกิน 90 วัน"); return Error("สามารถยับยั้งได้ไม่เกิน 90 วัน");
// updated.Status = "REJECT"; // updated.Status = "REJECT";
@ -1417,10 +1417,10 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPut("commander/confirm/{id:length(36)}")] [HttpPut("commander/confirm/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> CommanderConfirm([FromBody] RetirementReasonRequest req, Guid id) public async Task<ActionResult<ResponseObject>> CommanderConfirm([FromBody] RetirementReasonRequest req, Guid id)
{ {
var updated = await _context.RetirementResigns var updated = await _context.RetirementResignEmployees
.FirstOrDefaultAsync(x => x.Id == id); .FirstOrDefaultAsync(x => x.Id == id);
if (updated == null) if (updated == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
// updated.Status = "APPROVE"; // updated.Status = "APPROVE";
updated.CommanderReject = false; updated.CommanderReject = false;
@ -1464,10 +1464,10 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPut("commander/reject/{id:length(36)}")] [HttpPut("commander/reject/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> CommanderReject([FromBody] RetirementReasonDateRequest req, Guid id) public async Task<ActionResult<ResponseObject>> CommanderReject([FromBody] RetirementReasonDateRequest req, Guid id)
{ {
var updated = await _context.RetirementResigns var updated = await _context.RetirementResignEmployees
.FirstOrDefaultAsync(x => x.Id == id); .FirstOrDefaultAsync(x => x.Id == id);
if (updated == null) if (updated == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
if ((DateTime.Now - updated.CreatedAt).TotalDays >= 90) if ((DateTime.Now - updated.CreatedAt).TotalDays >= 90)
return Error("สามารถยับยั้งได้ไม่เกิน 90 วัน"); return Error("สามารถยับยั้งได้ไม่เกิน 90 วัน");
// updated.Status = "REJECT"; // updated.Status = "REJECT";
@ -1512,10 +1512,10 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPut("oligarch/confirm/{id:length(36)}")] [HttpPut("oligarch/confirm/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> OligarchConfirm([FromBody] RetirementReasonRequest req, Guid id) public async Task<ActionResult<ResponseObject>> OligarchConfirm([FromBody] RetirementReasonRequest req, Guid id)
{ {
var updated = await _context.RetirementResigns var updated = await _context.RetirementResignEmployees
.FirstOrDefaultAsync(x => x.Id == id); .FirstOrDefaultAsync(x => x.Id == id);
if (updated == null) if (updated == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
updated.Status = "APPROVE"; updated.Status = "APPROVE";
updated.OligarchReject = false; updated.OligarchReject = false;
@ -1559,10 +1559,10 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPut("oligarch/reject/{id:length(36)}")] [HttpPut("oligarch/reject/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> OligarchReject([FromBody] RetirementReasonDateRequest req, Guid id) public async Task<ActionResult<ResponseObject>> OligarchReject([FromBody] RetirementReasonDateRequest req, Guid id)
{ {
var updated = await _context.RetirementResigns var updated = await _context.RetirementResignEmployees
.FirstOrDefaultAsync(x => x.Id == id); .FirstOrDefaultAsync(x => x.Id == id);
if (updated == null) if (updated == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
if ((DateTime.Now - updated.CreatedAt).TotalDays >= 90) if ((DateTime.Now - updated.CreatedAt).TotalDays >= 90)
return Error("สามารถยับยั้งได้ไม่เกิน 90 วัน"); return Error("สามารถยับยั้งได้ไม่เกิน 90 วัน");
updated.Status = "APPROVE"; updated.Status = "APPROVE";
@ -1608,10 +1608,10 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPut("commander-cancel/reject/{id:length(36)}")] [HttpPut("commander-cancel/reject/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> CommanderConfirmCancel([FromBody] RetirementReasonCancelRequest req, Guid id) public async Task<ActionResult<ResponseObject>> CommanderConfirmCancel([FromBody] RetirementReasonCancelRequest req, Guid id)
{ {
var updated = await _context.RetirementResignCancels var updated = await _context.RetirementResignEmployeeCancels
.FirstOrDefaultAsync(x => x.Id == id); .FirstOrDefaultAsync(x => x.Id == id);
if (updated == null) if (updated == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
updated.CommanderReject = req.Reject; updated.CommanderReject = req.Reject;
updated.CommanderApproveReason = req.Reason; updated.CommanderApproveReason = req.Reason;
@ -1634,10 +1634,10 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPut("oligarch-cancel/reject/{id:length(36)}")] [HttpPut("oligarch-cancel/reject/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> OligarchConfirmCancel([FromBody] RetirementReasonCancelRequest req, Guid id) public async Task<ActionResult<ResponseObject>> OligarchConfirmCancel([FromBody] RetirementReasonCancelRequest req, Guid id)
{ {
var updated = await _context.RetirementResignCancels var updated = await _context.RetirementResignEmployeeCancels
.FirstOrDefaultAsync(x => x.Id == id); .FirstOrDefaultAsync(x => x.Id == id);
if (updated == null) if (updated == null)
return Error(GlobalMessages.RetirementResignNotFound, 404); return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
updated.Status = "APPROVE"; updated.Status = "APPROVE";
updated.OligarchReject = req.Reject; updated.OligarchReject = req.Reject;
@ -1669,7 +1669,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
} }
foreach (var item in req.Id) foreach (var item in req.Id)
{ {
var uppdated = await _context.RetirementResigns var uppdated = await _context.RetirementResignEmployees
.FirstOrDefaultAsync(x => x.Id == item); .FirstOrDefaultAsync(x => x.Id == item);
if (uppdated == null) if (uppdated == null)
continue; continue;
@ -1706,7 +1706,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
.Select(p => new .Select(p => new
{ {
Id = p.Id, Id = p.Id,
Fullname = $"{p.RetirementResign.prefix}{p.RetirementResign.firstName} {p.RetirementResign.lastName}", Fullname = $"{p.RetirementResignEmployee.prefix}{p.RetirementResignEmployee.firstName} {p.RetirementResignEmployee.lastName}",
ReasonWork = p.ReasonWork == null ? p.ReasonWork : Newtonsoft.Json.JsonConvert.DeserializeObject(p.ReasonWork), ReasonWork = p.ReasonWork == null ? p.ReasonWork : Newtonsoft.Json.JsonConvert.DeserializeObject(p.ReasonWork),
ReasonWorkOther = p.ReasonWorkOther, ReasonWorkOther = p.ReasonWorkOther,
TimeThink = p.TimeThink, TimeThink = p.TimeThink,
@ -1748,14 +1748,14 @@ namespace BMA.EHR.Retirement.Service.Controllers
.Select(p => new .Select(p => new
{ {
Id = p.Id, Id = p.Id,
Prefix = p.RetirementResign.prefix, Prefix = p.RetirementResignEmployee.prefix,
FirstName = p.RetirementResign.firstName, FirstName = p.RetirementResignEmployee.firstName,
LastName = p.RetirementResign.lastName, LastName = p.RetirementResignEmployee.lastName,
Position = p.RetirementResign.PositionOld, Position = p.RetirementResignEmployee.PositionOld,
PositionLevel = p.RetirementResign.posLevelNameOld, PositionLevel = p.RetirementResignEmployee.posLevelNameOld,
Org = p.RetirementResign.OrganizationOld, Org = p.RetirementResignEmployee.OrganizationOld,
Fullname = $"{p.RetirementResign.prefix}{p.RetirementResign.firstName} {p.RetirementResign.lastName}", Fullname = $"{p.RetirementResignEmployee.prefix}{p.RetirementResignEmployee.firstName} {p.RetirementResignEmployee.lastName}",
// Avatar = p.RetirementResign.Profile.Avatar == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.RetirementResign.Profile.Avatar.Id, // Avatar = p.RetirementResignEmployee.Profile.Avatar == null ? Guid.Parse("00000000-0000-0000-0000-000000000000") : p.RetirementResignEmployee.Profile.Avatar.Id,
ReasonWork = p.ReasonWork == null ? p.ReasonWork : Newtonsoft.Json.JsonConvert.DeserializeObject(p.ReasonWork), ReasonWork = p.ReasonWork == null ? p.ReasonWork : Newtonsoft.Json.JsonConvert.DeserializeObject(p.ReasonWork),
ReasonWorkOther = p.ReasonWorkOther, ReasonWorkOther = p.ReasonWorkOther,
TimeThink = p.TimeThink, TimeThink = p.TimeThink,
@ -1774,21 +1774,21 @@ namespace BMA.EHR.Retirement.Service.Controllers
Suggestion = p.Suggestion, Suggestion = p.Suggestion,
AppointDate = p.AppointDate, AppointDate = p.AppointDate,
LastUpdatedAt = p.LastUpdatedAt, LastUpdatedAt = p.LastUpdatedAt,
OrganizationPositionOld = p.RetirementResign.OrganizationPositionOld, OrganizationPositionOld = p.RetirementResignEmployee.OrganizationPositionOld,
CreatedAt = p.CreatedAt, CreatedAt = p.CreatedAt,
posTypeName = p.RetirementResign.posTypeNameOld, posTypeName = p.RetirementResignEmployee.posTypeNameOld,
posLevelName = p.RetirementResign.posLevelNameOld, posLevelName = p.RetirementResignEmployee.posLevelNameOld,
posMasterNo = p.RetirementResign.posMasterNoOld, posMasterNo = p.RetirementResignEmployee.posMasterNoOld,
root = p.RetirementResign.rootOld, root = p.RetirementResignEmployee.rootOld,
rootShortName = p.RetirementResign.rootShortNameOld, rootShortName = p.RetirementResignEmployee.rootShortNameOld,
child1 = p.RetirementResign.child1Old, child1 = p.RetirementResignEmployee.child1Old,
child1ShortName = p.RetirementResign.child1ShortNameOld, child1ShortName = p.RetirementResignEmployee.child1ShortNameOld,
child2 = p.RetirementResign.child2Old, child2 = p.RetirementResignEmployee.child2Old,
child2ShortName = p.RetirementResign.child2ShortNameOld, child2ShortName = p.RetirementResignEmployee.child2ShortNameOld,
child3 = p.RetirementResign.child3Old, child3 = p.RetirementResignEmployee.child3Old,
child3ShortName = p.RetirementResign.child3ShortNameOld, child3ShortName = p.RetirementResignEmployee.child3ShortNameOld,
child4 = p.RetirementResign.child4Old, child4 = p.RetirementResignEmployee.child4Old,
child4ShortName = p.RetirementResign.child4ShortNameOld, child4ShortName = p.RetirementResignEmployee.child4ShortNameOld,
Score1 = p.Score1, Score1 = p.Score1,
Score2 = p.Score2, Score2 = p.Score2,
Score3 = p.Score3, Score3 = p.Score3,
@ -1863,14 +1863,14 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPost("questionnaire")] [HttpPost("questionnaire")]
public async Task<ActionResult<ResponseObject>> PostQuestion([FromBody] RetirementQuestionRequest req) public async Task<ActionResult<ResponseObject>> PostQuestion([FromBody] RetirementQuestionRequest req)
{ {
var retirementResign = await _context.RetirementResigns.AsQueryable() var retirementResignEmployee = await _context.RetirementResignEmployees.AsQueryable()
.FirstOrDefaultAsync(x => x.Id == req.RetirementResignId); .FirstOrDefaultAsync(x => x.Id == req.RetirementResignEmployeeId);
if (retirementResign == null) if (retirementResignEmployee == null)
return Error(GlobalMessages.RetirementResignNotFound); return Error(GlobalMessages.RetirementResignEmployeeNotFound);
var period = new RetirementQuestion var period = new RetirementQuestion
{ {
RetirementResign = retirementResign, RetirementResignEmployee = retirementResignEmployee,
ReasonWork = Newtonsoft.Json.JsonConvert.SerializeObject(req.ReasonWork), ReasonWork = Newtonsoft.Json.JsonConvert.SerializeObject(req.ReasonWork),
ReasonWorkOther = req.ReasonWorkOther, ReasonWorkOther = req.ReasonWorkOther,
TimeThink = req.TimeThink, TimeThink = req.TimeThink,
@ -1941,12 +1941,12 @@ namespace BMA.EHR.Retirement.Service.Controllers
if (uppdated == null) if (uppdated == null)
return Error(GlobalMessages.RetirementQuestionNotFound); return Error(GlobalMessages.RetirementQuestionNotFound);
var retirementResign = await _context.RetirementResigns.AsQueryable() var retirementResignEmployee = await _context.RetirementResignEmployees.AsQueryable()
.FirstOrDefaultAsync(x => x.Id == req.RetirementResignId); .FirstOrDefaultAsync(x => x.Id == req.RetirementResignEmployeeId);
if (retirementResign == null) if (retirementResignEmployee == null)
return Error(GlobalMessages.InsigniaNotFound); return Error(GlobalMessages.InsigniaNotFound);
// uppdated.RetirementResign = retirementResign; // uppdated.RetirementResignEmployee = retirementResignEmployee;
uppdated.ReasonWork = Newtonsoft.Json.JsonConvert.SerializeObject(req.ReasonWork); uppdated.ReasonWork = Newtonsoft.Json.JsonConvert.SerializeObject(req.ReasonWork);
uppdated.ReasonWorkOther = req.ReasonWorkOther; uppdated.ReasonWorkOther = req.ReasonWorkOther;
uppdated.TimeThink = req.TimeThink; uppdated.TimeThink = req.TimeThink;
@ -2035,7 +2035,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden); return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
} }
var uppdated = await _context.RetirementQuestions.AsQueryable() var uppdated = await _context.RetirementQuestions.AsQueryable()
.Include(x => x.RetirementResign) .Include(x => x.RetirementResignEmployee)
.FirstOrDefaultAsync(x => x.Id == id); .FirstOrDefaultAsync(x => x.Id == id);
if (uppdated == null) if (uppdated == null)
return Error(GlobalMessages.RetirementQuestionNotFound); return Error(GlobalMessages.RetirementQuestionNotFound);
@ -2044,10 +2044,10 @@ namespace BMA.EHR.Retirement.Service.Controllers
uppdated.LastUpdateFullName = FullName ?? "System Administrator"; uppdated.LastUpdateFullName = FullName ?? "System Administrator";
uppdated.LastUpdateUserId = UserId ?? ""; uppdated.LastUpdateUserId = UserId ?? "";
uppdated.LastUpdatedAt = DateTime.Now; uppdated.LastUpdatedAt = DateTime.Now;
if (uppdated.RetirementResign != null && uppdated.RetirementResign.profileId != null) if (uppdated.RetirementResignEmployee != null && uppdated.RetirementResignEmployee.profileId != null)
{ {
await _repositoryNoti.PushNotificationAsync( await _repositoryNoti.PushNotificationAsync(
Guid.Parse(uppdated.RetirementResign.profileId), Guid.Parse(uppdated.RetirementResignEmployee.profileId),
$"การนัดสัมภาษณ์เหตุผลการลาออก {req.AppointDate.ToThaiFullDate()}", $"การนัดสัมภาษณ์เหตุผลการลาออก {req.AppointDate.ToThaiFullDate()}",
$"การนัดสัมภาษณ์เหตุผลการลาออก {req.AppointDate.ToThaiFullDate()}", $"การนัดสัมภาษณ์เหตุผลการลาออก {req.AppointDate.ToThaiFullDate()}",
"", "",
@ -2248,7 +2248,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPost("command/report")] [HttpPost("command/report")]
public async Task<ActionResult<ResponseObject>> PostReport([FromBody] ReportPersonRequest req) public async Task<ActionResult<ResponseObject>> PostReport([FromBody] ReportPersonRequest req)
{ {
var placementProfiles = await _context.RetirementResigns var placementProfiles = await _context.RetirementResignEmployees
.Where(x => req.refIds.Contains(x.Id.ToString())) .Where(x => req.refIds.Contains(x.Id.ToString()))
.ToListAsync(); .ToListAsync();
placementProfiles.ForEach(profile => profile.Status = "REPORT"); placementProfiles.ForEach(profile => profile.Status = "REPORT");
@ -2266,7 +2266,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPost("command/report/delete")] [HttpPost("command/report/delete")]
public async Task<ActionResult<ResponseObject>> PostReportDelete([FromBody] ReportPersonRequest req) public async Task<ActionResult<ResponseObject>> PostReportDelete([FromBody] ReportPersonRequest req)
{ {
var placementProfiles = await _context.RetirementResigns var placementProfiles = await _context.RetirementResignEmployees
.Where(x => req.refIds.Contains(x.Id.ToString())) .Where(x => req.refIds.Contains(x.Id.ToString()))
.Where(x => x.Status.ToUpper() == "REPORT") .Where(x => x.Status.ToUpper() == "REPORT")
.ToListAsync(); .ToListAsync();
@ -2293,7 +2293,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
{ {
try try
{ {
var report_data = (from p in _context.RetirementResigns var report_data = (from p in _context.RetirementResignEmployees
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToList() .ToList()
join r in req.refIds join r in req.refIds
@ -2358,7 +2358,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPost("command/report/excecute")] [HttpPost("command/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecute([FromBody] ReportExecuteRequest req) public async Task<ActionResult<ResponseObject>> PostReportExecute([FromBody] ReportExecuteRequest req)
{ {
var data = await _context.RetirementResigns var data = await _context.RetirementResignEmployees
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync(); .ToListAsync();
var resultData = (from p in data var resultData = (from p in data
@ -2417,7 +2417,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPost("employee/report")] [HttpPost("employee/report")]
public async Task<ActionResult<ResponseObject>> PostReportEmployee([FromBody] ReportPersonRequest req) public async Task<ActionResult<ResponseObject>> PostReportEmployee([FromBody] ReportPersonRequest req)
{ {
var placementProfiles = await _context.RetirementResigns var placementProfiles = await _context.RetirementResignEmployees
.Where(x => req.refIds.Contains(x.Id.ToString())) .Where(x => req.refIds.Contains(x.Id.ToString()))
.ToListAsync(); .ToListAsync();
placementProfiles.ForEach(profile => profile.Status = "REPORT"); placementProfiles.ForEach(profile => profile.Status = "REPORT");
@ -2436,7 +2436,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPost("employee/report/delete")] [HttpPost("employee/report/delete")]
public async Task<ActionResult<ResponseObject>> PostReportDeleteEmployee([FromBody] ReportPersonRequest req) public async Task<ActionResult<ResponseObject>> PostReportDeleteEmployee([FromBody] ReportPersonRequest req)
{ {
var placementProfiles = await _context.RetirementResigns var placementProfiles = await _context.RetirementResignEmployees
.Where(x => req.refIds.Contains(x.Id.ToString())) .Where(x => req.refIds.Contains(x.Id.ToString()))
.Where(x => x.Status.ToUpper() == "REPORT") .Where(x => x.Status.ToUpper() == "REPORT")
.ToListAsync(); .ToListAsync();
@ -2456,7 +2456,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPost("employee/report/excecute")] [HttpPost("employee/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecuteEmployee([FromBody] ReportExecuteRequest req) public async Task<ActionResult<ResponseObject>> PostReportExecuteEmployee([FromBody] ReportExecuteRequest req)
{ {
var data = await _context.RetirementResigns var data = await _context.RetirementResignEmployees
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync(); .ToListAsync();
var resultData = (from p in data var resultData = (from p in data
@ -2513,7 +2513,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPost("leave-cancel/report")] [HttpPost("leave-cancel/report")]
public async Task<ActionResult<ResponseObject>> PostReportLeaveCancel([FromBody] ReportPersonRequest req) public async Task<ActionResult<ResponseObject>> PostReportLeaveCancel([FromBody] ReportPersonRequest req)
{ {
var placementProfiles = await _context.RetirementResignCancels var placementProfiles = await _context.RetirementResignEmployeeCancels
.Where(x => req.refIds.Contains(x.Id.ToString())) .Where(x => req.refIds.Contains(x.Id.ToString()))
.ToListAsync(); .ToListAsync();
placementProfiles.ForEach(profile => profile.Status = "REPORT"); placementProfiles.ForEach(profile => profile.Status = "REPORT");
@ -2532,7 +2532,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPost("leave-cancel/report/delete")] [HttpPost("leave-cancel/report/delete")]
public async Task<ActionResult<ResponseObject>> PostReportDeleteLeaveCancel([FromBody] ReportPersonRequest req) public async Task<ActionResult<ResponseObject>> PostReportDeleteLeaveCancel([FromBody] ReportPersonRequest req)
{ {
var placementProfiles = await _context.RetirementResignCancels var placementProfiles = await _context.RetirementResignEmployeeCancels
.Where(x => req.refIds.Contains(x.Id.ToString())) .Where(x => req.refIds.Contains(x.Id.ToString()))
.Where(x => x.Status.ToUpper() == "REPORT") .Where(x => x.Status.ToUpper() == "REPORT")
.ToListAsync(); .ToListAsync();
@ -2558,7 +2558,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
{ {
try try
{ {
var report_data = (from p in _context.RetirementResignCancels var report_data = (from p in _context.RetirementResignEmployeeCancels
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToList() .ToList()
join r in req.refIds join r in req.refIds
@ -2634,8 +2634,8 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPost("leave-cancel/report/excecute")] [HttpPost("leave-cancel/report/excecute")]
public async Task<ActionResult<ResponseObject>> PostReportExecuteLeaveCancel([FromBody] ReportExecuteRequest req) public async Task<ActionResult<ResponseObject>> PostReportExecuteLeaveCancel([FromBody] ReportExecuteRequest req)
{ {
var data = await _context.RetirementResignCancels var data = await _context.RetirementResignEmployeeCancels
.Include(x => x.RetirementResign) .Include(x => x.RetirementResignEmployee)
.Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString()))
.ToListAsync(); .ToListAsync();
string? _null = null; string? _null = null;
@ -2678,8 +2678,8 @@ namespace BMA.EHR.Retirement.Service.Controllers
if (_res.IsSuccessStatusCode) if (_res.IsSuccessStatusCode)
{ {
data.ForEach(profile => profile.Status = "DONE"); data.ForEach(profile => profile.Status = "DONE");
// var _data = await _context.RetirementResigns // var _data = await _context.RetirementResignEmployees
// .Where(x => data.Select(x => x.RetirementResign.Id).Contains(x.Id)) // .Where(x => data.Select(x => x.RetirementResignEmployee.Id).Contains(x.Id))
// .ToListAsync(); // .ToListAsync();
// _data.ForEach(profile => profile.Status = "DONEREJECT"); // _data.ForEach(profile => profile.Status = "DONEREJECT");
await _context.SaveChangesAsync(); await _context.SaveChangesAsync();