permission พ้นจากราชการ

This commit is contained in:
Bright 2024-08-20 17:27:27 +07:00
parent f8c62a1cde
commit 114ef1c01e
4 changed files with 147 additions and 4 deletions

View file

@ -10,6 +10,7 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Swashbuckle.AspNetCore.Annotations;
using System.Net.Http.Headers;
using System.Security.Claims;
@ -31,6 +32,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
private readonly OrganizationCommonRepository _organizationCommonRepository;
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly IConfiguration _configuration;
private readonly PermissionRepository _permission;
public RetirementController(RetirementRepository repository,
NotificationRepository repositoryNoti,
@ -38,7 +40,8 @@ namespace BMA.EHR.Retirement.Service.Controllers
MinIOService documentService,
IConfiguration configuration,
OrganizationCommonRepository organizationCommonRepository,
IHttpContextAccessor httpContextAccessor)
IHttpContextAccessor httpContextAccessor,
PermissionRepository permission)
{
_repository = repository;
_repositoryNoti = repositoryNoti;
@ -47,6 +50,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
_organizationCommonRepository = organizationCommonRepository;
_httpContextAccessor = httpContextAccessor;
_configuration = configuration;
_permission = permission;
}
#region " Properties "
@ -315,6 +319,15 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPost("profile")]
public async Task<ActionResult<ResponseObject>> CreateProfileRetirement([FromBody] PeriodRequest req)
{
var action = "CREATE";
var system = "SYS_RETIREMENT";
var getPermission = await _permission.GetPermissionAPIAsync(action, system);
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var attrPrivilege = jsonData["result"]?.ToString();
if (!req.Type.Trim().ToUpper().Contains("EMPLOYEE") && !req.Type.Trim().ToUpper().Contains("OFFICER"))
return Error("ประเภทพ้นราชการไม่ถูกต้อง");
if (req.Year == 0)
@ -862,6 +875,16 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPut("profile/{retireId:length(36)}")]
public async Task<ActionResult<ResponseObject>> AddProfileRetirement([FromBody] ProfileRequest req, Guid retireId)
{
var action = "UPDATE";
var system = "SYS_RETIREMENT";
var getPermission = await _permission.GetPermissionAPIAsync(action, system);
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var attrPrivilege = jsonData["result"]?.ToString();
// var profile = await _context.Profiles
// .FirstOrDefaultAsync(x => x.Id == req.ProfileId);
// if (profile == null)
@ -1042,6 +1065,15 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPost("edit")]
public async Task<ActionResult<ResponseObject>> EditReasonProfileRetirement([FromBody] ProfileRetireRequest req)
{
var action = "CREATE";
var system = "SYS_RETIREMENT";
var getPermission = await _permission.GetPermissionAPIAsync(action, system);
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var attrPrivilege = jsonData["result"]?.ToString();
var profile = await _context.RetirementProfiles
.FirstOrDefaultAsync(x => x.Id == req.RetireProfileId);
if (profile == null)
@ -1155,6 +1187,15 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPut("upload/{retireId:length(36)}")]
public async Task<ActionResult<ResponseObject>> UploadRetirement([FromForm] RetirementFileRequest req, Guid retireId)
{
var action = "UPDATE";
var system = "SYS_RETIREMENT";
var getPermission = await _permission.GetPermissionAPIAsync(action, system);
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var attrPrivilege = jsonData["result"]?.ToString();
var retire = await _context.RetirementPeriods
.FirstOrDefaultAsync(x => x.Id == retireId);
if (retire == null)
@ -1212,6 +1253,15 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPut("detail/{retireId:length(36)}")]
public async Task<ActionResult<ResponseObject>> UpdateDetailRetirement([FromForm] RetirementDetailRequest req, Guid retireId)
{
var action = "UPDATE";
var system = "SYS_RETIREMENT";
var getPermission = await _permission.GetPermissionAPIAsync(action, system);
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var attrPrivilege = jsonData["result"]?.ToString();
var retire = await _context.RetirementPeriods
.FirstOrDefaultAsync(x => x.Id == retireId);
if (retire == null)

View file

@ -15,6 +15,7 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Swashbuckle.AspNetCore.Annotations;
using System.Net.Http.Headers;
using System.Reflection.Metadata;
@ -39,6 +40,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
private readonly MinIOService _documentService;
private readonly IConfiguration _configuration;
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly PermissionRepository _permission;
public RetirementDeceasedController(RetirementRepository repository,
NotificationRepository repositoryNoti,
@ -46,7 +48,8 @@ namespace BMA.EHR.Retirement.Service.Controllers
ApplicationDBContext context,
MinIOService documentService,
IConfiguration configuration,
IHttpContextAccessor httpContextAccessor)
IHttpContextAccessor httpContextAccessor,
PermissionRepository permission)
{
_repository = repository;
_repositoryNoti = repositoryNoti;
@ -55,6 +58,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
_documentService = documentService;
_httpContextAccessor = httpContextAccessor;
_configuration = configuration;
_permission = permission;
}
#region " Properties "
@ -542,6 +546,15 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPut("detail/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> UpdateDetail([FromBody] RetirementDeceasedAddNotiPersonRequest req, Guid id)
{
var action = "UPDATE";
var system = "SYS_PASSAWAY";
var getPermission = await _permission.GetPermissionAPIAsync(action, system);
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var attrPrivilege = jsonData["result"]?.ToString();
var retirementDeceased = await _context.RetirementDeceaseds.AsQueryable()
.Include(x => x.RetirementDeceasedNotis)
.FirstOrDefaultAsync(x => x.Id == id);
@ -615,6 +628,15 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpDelete("detail/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> DeleteDetail(Guid id)
{
var action = "DELETE";
var system = "SYS_PASSAWAY";
var getPermission = await _permission.GetPermissionAPIAsync(action, system);
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var attrPrivilege = jsonData["result"]?.ToString();
var retirementDeceasedNoti = await _context.RetirementDeceasedNotis.AsQueryable()
.FirstOrDefaultAsync(x => x.Id == id);
if (retirementDeceasedNoti == null)

View file

@ -9,6 +9,7 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Swashbuckle.AspNetCore.Annotations;
using System.Net.Http.Headers;
using System.Security.Claims;
@ -29,13 +30,15 @@ namespace BMA.EHR.Retirement.Service.Controllers
private readonly MinIOService _documentService;
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly IConfiguration _configuration;
private readonly PermissionRepository _permission;
public RetirementOutController(RetirementRepository repository,
NotificationRepository repositoryNoti,
ApplicationDBContext context,
MinIOService documentService,
IHttpContextAccessor httpContextAccessor,
IConfiguration configuration)
IConfiguration configuration,
PermissionRepository permission)
{
_repository = repository;
_repositoryNoti = repositoryNoti;
@ -43,6 +46,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
_documentService = documentService;
_httpContextAccessor = httpContextAccessor;
_configuration = configuration;
_permission = permission;
}
#region " Properties "
@ -334,6 +338,15 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPut("{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> Put([FromBody] RetirementOutEditRequest req, Guid id)
{
var action = "UPDATE";
var system = "SYS_DISMISS";
var getPermission = await _permission.GetPermissionAPIAsync(action, system);
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var attrPrivilege = jsonData["result"]?.ToString();
var uppdated = await _context.RetirementOuts
.FirstOrDefaultAsync(x => x.Id == id);
if (uppdated == null)
@ -393,6 +406,15 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpDelete("{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> Delete(Guid id)
{
var action = "DELETE";
var system = "SYS_DISMISS";
var getPermission = await _permission.GetPermissionAPIAsync(action, system);
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var attrPrivilege = jsonData["result"]?.ToString();
var deleted = await _context.RetirementOuts.AsQueryable()
.FirstOrDefaultAsync(x => x.Id == id);
if (deleted == null)
@ -414,6 +436,15 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPost("report")]
public async Task<ActionResult<ResponseObject>> PostToReport([FromBody] RetirementProfileRequest req)
{
var action = "CREATE";
var system = "SYS_DISMISS";
var getPermission = await _permission.GetPermissionAPIAsync(action, system);
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var attrPrivilege = jsonData["result"]?.ToString();
foreach (var item in req.Id)
{
var uppdated = await _context.RetirementOuts

View file

@ -11,6 +11,7 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Swashbuckle.AspNetCore.Annotations;
using System.Net.Http.Headers;
using System.Security.Claims;
@ -33,13 +34,15 @@ namespace BMA.EHR.Retirement.Service.Controllers
private readonly MinIOService _documentService;
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly IConfiguration _configuration;
private readonly PermissionRepository _permission;
public RetirementResignController(RetirementRepository repository,
NotificationRepository repositoryNoti,
ApplicationDBContext context,
MinIOService documentService,
IHttpContextAccessor httpContextAccessor,
IConfiguration configuration)
IConfiguration configuration,
PermissionRepository permission)
{
_repository = repository;
_repositoryNoti = repositoryNoti;
@ -47,6 +50,7 @@ namespace BMA.EHR.Retirement.Service.Controllers
_documentService = documentService;
_httpContextAccessor = httpContextAccessor;
_configuration = configuration;
_permission = permission;
}
#region " Properties "
@ -1045,6 +1049,15 @@ $"คำขอลาออกของ {updated.prefix}{updated.firstName} {upda
[HttpPost("report")]
public async Task<ActionResult<ResponseObject>> PostToReport([FromBody] RetirementProfileRequest req)
{
var action = "CREATE";
var system = "SYS_RESIGN";
var getPermission = await _permission.GetPermissionAPIAsync(action, system);
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var attrPrivilege = jsonData["result"]?.ToString();
foreach (var item in req.Id)
{
var uppdated = await _context.RetirementResigns
@ -1356,6 +1369,15 @@ $"คำขอลาออกของ {updated.prefix}{updated.firstName} {upda
[HttpPut("questionnaire/comment/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> PutQuestionComment([FromBody] RetirementQuestionCommentRequest req, Guid id)
{
var action = "UPDATE";
var system = "SYS_RESIGN_INTERVIEW";
var getPermission = await _permission.GetPermissionAPIAsync(action, system);
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var attrPrivilege = jsonData["result"]?.ToString();
var uppdated = await _context.RetirementQuestions.AsQueryable()
.FirstOrDefaultAsync(x => x.Id == id);
if (uppdated == null)
@ -1394,6 +1416,15 @@ $"คำขอลาออกของ {updated.prefix}{updated.firstName} {upda
[HttpPut("questionnaire/appoint/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> UpdateAppointQuestion([FromBody] RetirementQuestionAppointRequest req, Guid id)
{
var action = "UPDATE";
var system = "SYS_RESIGN_INTERVIEW";
var getPermission = await _permission.GetPermissionAPIAsync(action, system);
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var attrPrivilege = jsonData["result"]?.ToString();
var uppdated = await _context.RetirementQuestions.AsQueryable()
.Include(x => x.RetirementResign)
.FirstOrDefaultAsync(x => x.Id == id);
@ -1482,6 +1513,15 @@ $"คำขอลาออกของ {updated.prefix}{updated.firstName} {upda
[HttpPut("questionnaire/question")]
public async Task<ActionResult<ResponseObject>> UpdateQuestionnaireQuestion([FromBody] RetirementQuestionnaireQuestionRequest req)
{
var action = "UPDATE";
var system = "SYS_RESIGN_INTERVIEW";
var getPermission = await _permission.GetPermissionAPIAsync(action, system);
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var attrPrivilege = jsonData["result"]?.ToString();
var uppdated = await _context.RetirementQuestionnaireQuestions.AsQueryable()
.FirstOrDefaultAsync();
if (uppdated == null)