Merge branch 'develop' into working
All checks were successful
Build & Deploy Leave Service / build (push) Successful in 1m9s
Build & Deploy Checkin Service / build (push) Successful in 2m4s

This commit is contained in:
Suphonchai Phoonsawat 2026-01-19 22:43:24 +07:00
commit 6c8e79b1bc
2 changed files with 50 additions and 19 deletions

View file

@ -1136,9 +1136,28 @@ namespace BMA.EHR.Leave.Service.Controllers
dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
leaveTypeName = data.Type.Name, leaveTypeName = data.Type.Name,
fullname = fullName, fullname = fullName,
positionName = profile!.Position == null ? "-" : profile!.Position.ToThaiNumber(), position = string.IsNullOrEmpty(profile.Position) ? "-" : profile.Position,
positionName = (!string.IsNullOrEmpty(profile.PositionLeaveName) &&
(profile.PositionLeaveName.Contains("อำนวยการ") || profile.PositionLeaveName.Contains("บริหาร"))
? string.IsNullOrEmpty(profile.PosExecutiveName)
? string.IsNullOrEmpty(profile.Position)
? "-"
: profile.Position
: profile.PosExecutiveName
: string.IsNullOrEmpty(profile.Position)
? "-"
: string.IsNullOrEmpty(profile.PositionLeaveName)
? profile.Position
: $"{profile.Position}{profile.PositionLeaveName}").ToThaiNumber(),
positionLeaveName = profile!.PositionLeaveName == null ? "-" : profile!.PositionLeaveName.ToThaiNumber(), positionLeaveName = profile!.PositionLeaveName == null ? "-" : profile!.PositionLeaveName.ToThaiNumber(),
organizationName = profile!.Oc ?? "", posExecutiveName = profile.PosExecutiveName,
organizationName = profile!.Oc!.ToThaiNumber(),
posExOrg = !string.IsNullOrEmpty(profile.PositionLeaveName) &&
(profile.PositionLeaveName.Contains("อำนวยการ") || profile.PositionLeaveName.Contains("บริหาร"))
? new[] { (profile!.Oc!.ToThaiNumber()) }
: !string.IsNullOrEmpty(profile.PosExecutiveName)
? new[] { (profile.PosExecutiveName.ToThaiNumber()), (profile!.Oc!.ToThaiNumber()) }
: new[] { (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(),
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(), dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
@ -2834,7 +2853,7 @@ namespace BMA.EHR.Leave.Service.Controllers
? x.LastUpdatedAt.Value.Date.ToThaiShortDate().ToThaiNumber() ? x.LastUpdatedAt.Value.Date.ToThaiShortDate().ToThaiNumber()
: "............/............/............", : "............/............/............",
comment = !string.IsNullOrEmpty(x.Comment) comment = !string.IsNullOrEmpty(x.Comment)
? x.Comment.Replace("\r", "").Replace("\n", " ").Trim() ? (x.Comment.Replace("\r", "").Replace("\n", " ").Trim()).ToThaiNumber()
: "......................................................................................................................................................................", : "......................................................................................................................................................................",
approveType = (x.ApproveType ?? "").Trim().ToUpper() approveType = (x.ApproveType ?? "").Trim().ToUpper()
}) })

View file

@ -239,16 +239,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpGet("{id:length(36)}")] [HttpGet("{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> GetDetailAdmin(Guid id) public async Task<ActionResult<ResponseObject>> GetDetailAdmin(Guid id)
{ {
var getWorkflow = await _permission.GetPermissionAPIWorkflowAsync(id.ToString(), "SYS_DISMISS");
if (getWorkflow == false)
{
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_DISMISS");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
}
var data = await _context.RetirementOuts.AsQueryable() var data = await _context.RetirementOuts.AsQueryable()
.Where(x => x.Id == id) .Where(x => x.Id == id)
.Select(p => new .Select(p => new
@ -294,6 +284,20 @@ namespace BMA.EHR.Retirement.Service.Controllers
p.OrganizationOld, p.OrganizationOld,
}) })
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
string _system = data != null && data.profileType?.Trim().ToUpper() == "OFFICER" ? "SYS_DISMISS" : "SYS_DISMISS_EMP";
var getWorkflow = await _permission.GetPermissionAPIWorkflowAsync(id.ToString(), _system);
if (getWorkflow == false)
{
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_DISMISS");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
}
if (data == null) if (data == null)
return Error(GlobalMessages.DataNotFound, 404); return Error(GlobalMessages.DataNotFound, 404);
@ -462,14 +466,18 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpPut("{id:length(36)}")] [HttpPut("{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> Put([FromBody] RetirementOutEditRequest req, Guid id) public async Task<ActionResult<ResponseObject>> Put([FromBody] RetirementOutEditRequest req, Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_DISMISS"); var uppdated = await _context.RetirementOuts
.FirstOrDefaultAsync(x => x.Id == id);
string _system = uppdated != null && uppdated.profileType?.Trim().ToUpper() == "OFFICER" ? "SYS_DISMISS" : "SYS_DISMISS_EMP";
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", _system);
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission); var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200") if (jsonData["status"]?.ToString() != "200")
{ {
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden); return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
} }
var uppdated = await _context.RetirementOuts
.FirstOrDefaultAsync(x => x.Id == id);
if (uppdated == null) if (uppdated == null)
return Error(GlobalMessages.RetirementOutNotFound, 404); return Error(GlobalMessages.RetirementOutNotFound, 404);
@ -527,14 +535,18 @@ 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 getPermission = await _permission.GetPermissionAPIAsync("DELETE", "SYS_DISMISS"); var deleted = await _context.RetirementOuts.AsQueryable()
.FirstOrDefaultAsync(x => x.Id == id);
string _system = deleted != null && deleted.profileType?.Trim().ToUpper() == "OFFICER" ? "SYS_DISMISS" : "SYS_DISMISS_EMP";
var getPermission = await _permission.GetPermissionAPIAsync("DELETE", _system);
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission); var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200") if (jsonData["status"]?.ToString() != "200")
{ {
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden); return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
} }
var deleted = await _context.RetirementOuts.AsQueryable()
.FirstOrDefaultAsync(x => x.Id == id);
if (deleted == null) if (deleted == null)
return NotFound(); return NotFound();
_context.RetirementOuts.Remove(deleted); _context.RetirementOuts.Remove(deleted);