retirement report
Some checks failed
release-dev / release-dev (push) Failing after 11s

This commit is contained in:
kittapath 2025-02-03 17:09:43 +07:00
parent 8a27795586
commit 6d44f6e9c3
2 changed files with 133 additions and 7 deletions

View file

@ -1,5 +1,6 @@
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.Repositories.Reports;
using BMA.EHR.Domain.Common; using BMA.EHR.Domain.Common;
using BMA.EHR.Domain.Extensions; using BMA.EHR.Domain.Extensions;
using BMA.EHR.Domain.Models.Retirement; using BMA.EHR.Domain.Models.Retirement;
@ -35,15 +36,17 @@ namespace BMA.EHR.Retirement.Service.Controllers
private readonly IConfiguration _configuration; private readonly IConfiguration _configuration;
private readonly PermissionRepository _permission; private readonly PermissionRepository _permission;
private readonly DisciplineDbContext _contextDiscipline; private readonly DisciplineDbContext _contextDiscipline;
private readonly RetireReportRepository _service;
public RetirementController(RetirementRepository repository, public RetirementController(RetirementRepository repository,
NotificationRepository repositoryNoti, NotificationRepository repositoryNoti,
ApplicationDBContext context, ApplicationDBContext context,
MinIOService documentService, MinIOService documentService,
IConfiguration configuration, IConfiguration configuration,
OrganizationCommonRepository organizationCommonRepository, OrganizationCommonRepository organizationCommonRepository,
IHttpContextAccessor httpContextAccessor, IHttpContextAccessor httpContextAccessor,
PermissionRepository permission, PermissionRepository permission,
DisciplineDbContext contextDiscipline) DisciplineDbContext contextDiscipline,
RetireReportRepository service)
{ {
_repository = repository; _repository = repository;
_repositoryNoti = repositoryNoti; _repositoryNoti = repositoryNoti;
@ -54,6 +57,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
_configuration = configuration; _configuration = configuration;
_permission = permission; _permission = permission;
_contextDiscipline = contextDiscipline; _contextDiscipline = contextDiscipline;
_service = service;
} }
#region " Properties " #region " Properties "
@ -991,7 +995,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
}; };
var dataRaw = new RetirementRawProfile var dataRaw = new RetirementRawProfile
{ {
Order = profileRawCount+1, Order = profileRawCount + 1,
Remove = "ADD", Remove = "ADD",
RetirementPeriod = retire, RetirementPeriod = retire,
CreatedFullName = FullName ?? "System Administrator", CreatedFullName = FullName ?? "System Administrator",
@ -1042,7 +1046,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
data.posExecutiveId = org.result.posExecutiveId; data.posExecutiveId = org.result.posExecutiveId;
data.posExecutiveName = org.result.posExecutiveName; data.posExecutiveName = org.result.posExecutiveName;
data.posNo = org.result.posNo; data.posNo = org.result.posNo;
dataRaw.profileId = org.result.profileId; dataRaw.profileId = org.result.profileId;
dataRaw.prefix = org.result.prefix; dataRaw.prefix = org.result.prefix;
dataRaw.firstName = org.result.firstName; dataRaw.firstName = org.result.firstName;
@ -1104,7 +1108,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
}; };
var dataRaw = new RetirementRawProfile var dataRaw = new RetirementRawProfile
{ {
Order = profileRawCount+1, Order = profileRawCount + 1,
Remove = "ADD", Remove = "ADD",
RetirementPeriod = retire, RetirementPeriod = retire,
CreatedFullName = FullName ?? "System Administrator", CreatedFullName = FullName ?? "System Administrator",
@ -2021,12 +2025,88 @@ namespace BMA.EHR.Retirement.Service.Controllers
return Error("ไม่พบรอบประกาศเกษียณอายุราชการ"); return Error("ไม่พบรอบประกาศเกษียณอายุราชการ");
var data = retirePeriodOfficer.RetirementRawProfiles var data = retirePeriodOfficer.RetirementRawProfiles
.Select(x => new { .Select(x => new
{
profileId = x.profileId profileId = x.profileId
}) })
.ToList(); .ToList();
return Success(data); return Success(data);
} }
#region 31- & 32-
/// <summary>
/// 31-ประกาศเกษียณข้าราชการ & 32-ประกาศเกษียณลูกจ้างประจำ
/// </summary>
/// <param name="Id">Id ของรอบเกษียณ</param>
/// <param name="exportType">pdf, docx หรือ xlsx</param>
/// <returns></returns>
/// <response code="200">เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpGet("31/{exportType}/{Id}")]
public async Task<ActionResult<ResponseObject>> GetProfileRetirement([FromRoute] Guid Id, string exportType = "pdf")
{
var retire = await _service.GetProfileRetirementdAsync(Id);
if (retire != null)
{
var reportfile = string.Empty;
exportType = exportType.Trim();
switch (retire.GetType().GetProperty("Type").GetValue(retire))
{
case "OFFICER":
if (string.IsNullOrEmpty(retire.GetType().GetProperty("TypeReport").GetValue(retire)))
{
reportfile = $"retire-1";
}
else if (retire.GetType().GetProperty("TypeReport").GetValue(retire) == "ADD" || retire.GetType().GetProperty("TypeReport").GetValue(retire) == "EDIT")
{
reportfile = $"retire-2";
}
else if (retire.GetType().GetProperty("TypeReport").GetValue(retire) == "REMOVE")
{
reportfile = $"retire-3";
}
else
{
return Error(retire.GetType().GetProperty("TypeReport").GetValue(retire));
}
break;
case "EMPLOYEE":
if (string.IsNullOrEmpty(retire.GetType().GetProperty("TypeReport").GetValue(retire)))
{
reportfile = $"retire-emp-1";
}
else if (retire.GetType().GetProperty("TypeReport").GetValue(retire) == "ADD" || retire.GetType().GetProperty("TypeReport").GetValue(retire) == "EDIT")
{
reportfile = $"retire-emp-2";
}
else if (retire.GetType().GetProperty("TypeReport").GetValue(retire) == "REMOVE")
{
reportfile = $"retire-emp-3";
}
else
{
return Error(retire.GetType().GetProperty("TypeReport").GetValue(retire));
}
break;
default:
return Error(retire.GetType().GetProperty("Type").GetValue(retire));
}
var data = new
{
template = reportfile,
reportName = "docx-report",
data = retire
};
return Success(data);
}
else
{
return NotFound();
}
}
#endregion
} }
} }

View file

@ -1,5 +1,7 @@
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.Repositories.Reports;
using BMA.EHR.Application.Repositories.Reports;
using BMA.EHR.Domain.Common; using BMA.EHR.Domain.Common;
using BMA.EHR.Domain.Extensions; using BMA.EHR.Domain.Extensions;
using BMA.EHR.Domain.Models.Retirement; using BMA.EHR.Domain.Models.Retirement;
@ -32,6 +34,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
private readonly IHttpContextAccessor _httpContextAccessor; private readonly IHttpContextAccessor _httpContextAccessor;
private readonly IConfiguration _configuration; private readonly IConfiguration _configuration;
private readonly PermissionRepository _permission; private readonly PermissionRepository _permission;
private readonly RetireReportRepository _service;
public RetirementResignController(RetirementRepository repository, public RetirementResignController(RetirementRepository repository,
NotificationRepository repositoryNoti, NotificationRepository repositoryNoti,
@ -39,7 +42,8 @@ namespace BMA.EHR.Retirement.Service.Controllers
MinIOService documentService, MinIOService documentService,
IHttpContextAccessor httpContextAccessor, IHttpContextAccessor httpContextAccessor,
IConfiguration configuration, IConfiguration configuration,
PermissionRepository permission) PermissionRepository permission,
RetireReportRepository service)
{ {
_repository = repository; _repository = repository;
_repositoryNoti = repositoryNoti; _repositoryNoti = repositoryNoti;
@ -48,6 +52,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
_httpContextAccessor = httpContextAccessor; _httpContextAccessor = httpContextAccessor;
_configuration = configuration; _configuration = configuration;
_permission = permission; _permission = permission;
_service = service;
} }
#region " Properties " #region " Properties "
@ -2642,5 +2647,46 @@ namespace BMA.EHR.Retirement.Service.Controllers
} }
return Success(); return Success();
} }
#region 33-
/// <summary>
/// 33-แบบฟอร์มหนังสือขอลาออกจากราชการ
/// </summary>
/// <param name="id">id </param>
/// <param name="exportType">pdf, docx หรือ xlsx</param>
/// <returns></returns>
/// <response code="200">เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpGet("33/{exportType}/{id}")]
public async Task<ActionResult<ResponseObject>> GetResign33ConvertReportAsync(Guid id, string exportType = "pdf")
{
try
{
var resign = await _service.GetResignByUser(id);
if (resign == null)
return NotFound();
var mimeType = "";
switch (exportType.Trim().ToLower())
{
case "pdf": mimeType = "application/pdf"; break;
case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break;
case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break;
}
var data = new
{
template = "resign",
reportName = "docx-report",
data = resign
};
return Success(data);
}
catch
{
throw;
}
}
#endregion
} }
} }