remove workflow retire

This commit is contained in:
kittapath 2025-06-11 10:58:47 +07:00
parent 61407c342b
commit afb2cfa189
4 changed files with 1070 additions and 425 deletions

View file

@ -625,7 +625,7 @@ namespace BMA.EHR.Application.Repositories
Body = $"การขอยกเลิกลาออกของคุณ {rawData.firstName} {rawData.lastName} รอรับการอนุมัติจากคุณ",
ReceiverUserId = _firstCommander!.ProfileId,
Type = "",
Payload = $"{URL}/retirement/resign-employee-detail-reject/{rawData.RetirementResignEmployee.Id}",
Payload = $"{URL}/retirement/resign-employee-detail-reject/{rawData.Id}",
};
_dbContext.Set<Notification>().Add(_noti1);
}
@ -643,7 +643,7 @@ namespace BMA.EHR.Application.Repositories
Body = $"การขอยกเลิกลาออกของคุณ {rawData.firstName} {rawData.lastName} รอรับการอนุมัติจากคุณ",
ReceiverUserId = firstCommander!.ProfileId,
Type = "",
Payload = $"{URL}/retirement/resign-employee-detail-reject/{rawData.RetirementResignEmployee.Id}",
Payload = $"{URL}/retirement/resign-employee-detail-reject/{rawData.Id}",
};
_dbContext.Set<Notification>().Add(noti1);
await _dbContext.SaveChangesAsync();
@ -731,7 +731,7 @@ namespace BMA.EHR.Application.Repositories
Body = $"การขอยกเลิกลาออกของคุณ {rawData.firstName} {rawData.lastName} รอรับการอนุมัติจากคุณ",
ReceiverUserId = nextApprover!.ProfileId,
Type = "",
Payload = $"{URL}/retirement/resign-employee-detail-reject/{rawData.RetirementResignEmployee.Id}",
Payload = $"{URL}/retirement/resign-employee-detail-reject/{rawData.Id}",
};
_dbContext.Set<Notification>().Add(noti);
await _dbContext.SaveChangesAsync();
@ -758,7 +758,7 @@ namespace BMA.EHR.Application.Repositories
Body = $"การขอยกเลิกลาออกของคุณ {rawData.firstName} {rawData.lastName} รอรับการอนุมัติจากคุณ",
ReceiverUserId = firstCommander!.ProfileId,
Type = "",
Payload = $"{URL}/retirement/resign-employee-detail-reject/{rawData.RetirementResignEmployee.Id}",
Payload = $"{URL}/retirement/resign-employee-detail-reject/{rawData.Id}",
};
_dbContext.Set<Notification>().Add(noti1);
await _dbContext.SaveChangesAsync();
@ -820,7 +820,7 @@ namespace BMA.EHR.Application.Repositories
Body = $"การขอยกเลิกลาออกของคุณ {rawData.firstName} {rawData.lastName} รอรับการอนุมัติจากคุณ",
ReceiverUserId = nextApprover!.ProfileId,
Type = "",
Payload = $"{URL}/retirement/resign-employee-detail-reject/{rawData.RetirementResignEmployee.Id}",
Payload = $"{URL}/retirement/resign-employee-detail-reject/{rawData.Id}",
};
_dbContext.Set<Notification>().Add(noti);
@ -848,7 +848,7 @@ namespace BMA.EHR.Application.Repositories
Body = $"การขอยกเลิกลาออกของคุณ {rawData.firstName} {rawData.lastName} รอรับการอนุมัติจากคุณ",
ReceiverUserId = firstCommander!.ProfileId,
Type = "",
Payload = $"{URL}/retirement/resign-employee-detail-reject/{rawData.RetirementResignEmployee.Id}",
Payload = $"{URL}/retirement/resign-employee-detail-reject/{rawData.Id}",
};
_dbContext.Set<Notification>().Add(noti1);
await _dbContext.SaveChangesAsync();

View file

@ -550,7 +550,7 @@ namespace BMA.EHR.Application.Repositories
Body = $"การขอยกเลิกลาออกของคุณ {rawData.firstName} {rawData.lastName} รอรับการอนุมัติจากคุณ",
ReceiverUserId = _firstCommander!.ProfileId,
Type = "",
Payload = $"{URL}/retirement/resign-detail-reject/{rawData.RetirementResign.Id}",
Payload = $"{URL}/retirement/resign-detail-reject/{rawData.Id}",
};
_dbContext.Set<Notification>().Add(_noti1);
}
@ -566,7 +566,7 @@ namespace BMA.EHR.Application.Repositories
Body = $"การขอยกเลิกลาออกของคุณ {rawData.firstName} {rawData.lastName} รอรับการอนุมัติจากคุณ",
ReceiverUserId = firstCommander!.ProfileId,
Type = "",
Payload = $"{URL}/retirement/resign-detail-reject/{rawData.RetirementResign.Id}",
Payload = $"{URL}/retirement/resign-detail-reject/{rawData.Id}",
};
_dbContext.Set<Notification>().Add(noti1);
await _dbContext.SaveChangesAsync();
@ -626,7 +626,7 @@ namespace BMA.EHR.Application.Repositories
Body = $"การขอยกเลิกลาออกของคุณ {rawData.firstName} {rawData.lastName} รอรับการอนุมัติจากคุณ",
ReceiverUserId = nextApprover!.ProfileId,
Type = "",
Payload = $"{URL}/retirement/resign-detail-reject/{rawData.RetirementResign.Id}",
Payload = $"{URL}/retirement/resign-detail-reject/{rawData.Id}",
};
_dbContext.Set<Notification>().Add(noti);
await _dbContext.SaveChangesAsync();
@ -650,7 +650,7 @@ namespace BMA.EHR.Application.Repositories
Body = $"การขอยกเลิกลาออกของคุณ {rawData.firstName} {rawData.lastName} รอรับการอนุมัติจากคุณ",
ReceiverUserId = firstCommander!.ProfileId,
Type = "",
Payload = $"{URL}/retirement/resign-detail-reject/{rawData.RetirementResign.Id}",
Payload = $"{URL}/retirement/resign-detail-reject/{rawData.Id}",
};
_dbContext.Set<Notification>().Add(noti1);
}
@ -713,7 +713,7 @@ namespace BMA.EHR.Application.Repositories
Body = $"การขอยกเลิกลาออกของคุณ {rawData.firstName} {rawData.lastName} รอรับการอนุมัติจากคุณ",
ReceiverUserId = nextApprover!.ProfileId,
Type = "",
Payload = $"{URL}/retirement/resign-detail-reject/{rawData.RetirementResign.Id}",
Payload = $"{URL}/retirement/resign-detail-reject/{rawData.Id}",
};
_dbContext.Set<Notification>().Add(noti);
@ -742,7 +742,7 @@ namespace BMA.EHR.Application.Repositories
Body = $"การขอยกเลิกลาออกของคุณ {rawData.firstName} {rawData.lastName} รอรับการอนุมัติจากคุณ",
ReceiverUserId = firstCommander!.ProfileId,
Type = "",
Payload = $"{URL}/retirement/resign-detail-reject/{rawData.RetirementResign.Id}",
Payload = $"{URL}/retirement/resign-detail-reject/{rawData.Id}",
};
_dbContext.Set<Notification>().Add(noti1);
}

View file

@ -349,179 +349,165 @@ namespace BMA.EHR.Retirement.Service.Controllers
return Error(GlobalMessages.RetirementResignNotFound, 404);
// if (dataMain.IsCancel != true)
// {
var getWorkflow = await _permission.GetPermissionAPIWorkflowAsync(id.ToString(), "SYS_RESIGN");
var createdUserId = await _context.RetirementResigns.AsQueryable()
.Where(x => x.Id == id)
.Where(x => x.CreatedUserId == UserId)
.FirstOrDefaultAsync();
if (getWorkflow == false && createdUserId == null)
{
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_RESIGN");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
}
var data = await _context.RetirementResigns.AsQueryable()
.Where(x => x.Id == id)
.Select(p => new
{
p.Id,
p.prefix,
p.firstName,
p.lastName,
p.profileId,
p.Location,
p.SendDate,
p.ActiveDate,
p.Reason,
p.ReasonResign,
p.Remark,
p.Status,
salary = p.AmountOld,
p.ApproveReason,
p.RejectReason,
p.IsActive,
p.CreatedAt,
p.PositionTypeOld,
p.PositionLevelOld,
p.PositionNumberOld,
p.OrganizationPositionOld,
p.OligarchReject,
p.OligarchApproveReason,
p.OligarchRejectReason,
p.OligarchRejectDate,
p.CommanderReject,
p.CommanderApproveReason,
p.CommanderRejectReason,
p.CommanderRejectDate,
p.OfficerReject,
p.OfficerApproveReason,
p.OfficerRejectReason,
p.OfficerRejectDate,
p.RemarkHorizontal,
p.rootOld,
p.rootOldId,
p.rootShortNameOld,
p.child1Old,
p.child1OldId,
p.child1ShortNameOld,
p.child2Old,
p.child2OldId,
p.child2ShortNameOld,
p.child3Old,
p.child3OldId,
p.child3ShortNameOld,
p.child4Old,
p.child4OldId,
p.child4ShortNameOld,
p.PositionOld,
p.posMasterNoOld,
p.posTypeOldId,
p.posTypeNameOld,
p.posLevelOldId,
p.posLevelNameOld,
p.IsNoDebt,
p.IsNoBurden,
p.IsDiscipline,
p.CancelReason,
p.ApproveStep,
p.Group,
Approvers = p.Approvers.Where(x => x.ApproveType.ToUpper() == "APPROVER"),
Commanders = p.Approvers.Where(x => x.ApproveType.ToUpper() == "COMMANDER"),
KeycloakUserId = p.CreatedUserId,
RetirementResignCancels = p.RetirementResignCancels.FirstOrDefault(),
RetirementResignDocs = p.RetirementResignDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
})
.FirstOrDefaultAsync();
if (data == null)
return Error(GlobalMessages.RetirementResignNotFound, 404);
var data = await _context.RetirementResigns.AsQueryable()
.Where(x => x.Id == id)
.Select(p => new
{
p.Id,
p.prefix,
p.firstName,
p.lastName,
p.profileId,
p.Location,
p.SendDate,
p.ActiveDate,
p.Reason,
p.ReasonResign,
p.Remark,
p.Status,
salary = p.AmountOld,
p.ApproveReason,
p.RejectReason,
p.IsActive,
p.CreatedAt,
p.PositionTypeOld,
p.PositionLevelOld,
p.PositionNumberOld,
p.OrganizationPositionOld,
p.OligarchReject,
p.OligarchApproveReason,
p.OligarchRejectReason,
p.OligarchRejectDate,
p.CommanderReject,
p.CommanderApproveReason,
p.CommanderRejectReason,
p.CommanderRejectDate,
p.OfficerReject,
p.OfficerApproveReason,
p.OfficerRejectReason,
p.OfficerRejectDate,
p.RemarkHorizontal,
p.rootOld,
p.rootOldId,
p.rootShortNameOld,
p.child1Old,
p.child1OldId,
p.child1ShortNameOld,
p.child2Old,
p.child2OldId,
p.child2ShortNameOld,
p.child3Old,
p.child3OldId,
p.child3ShortNameOld,
p.child4Old,
p.child4OldId,
p.child4ShortNameOld,
p.PositionOld,
p.posMasterNoOld,
p.posTypeOldId,
p.posTypeNameOld,
p.posLevelOldId,
p.posLevelNameOld,
p.IsNoDebt,
p.IsNoBurden,
p.IsDiscipline,
p.CancelReason,
p.ApproveStep,
p.Group,
Approvers = p.Approvers.Where(x => x.ApproveType.ToUpper() == "APPROVER"),
Commanders = p.Approvers.Where(x => x.ApproveType.ToUpper() == "COMMANDER"),
KeycloakUserId = p.CreatedUserId,
RetirementResignCancels = p.RetirementResignCancels.FirstOrDefault(),
RetirementResignDocs = p.RetirementResignDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
})
.FirstOrDefaultAsync();
if (data == null)
return Error(GlobalMessages.RetirementResignNotFound, 404);
var retirementResignDocs = new List<dynamic>();
foreach (var doc in data.RetirementResignDocs)
var retirementResignDocs = new List<dynamic>();
foreach (var doc in data.RetirementResignDocs)
{
var _doc = new
{
var _doc = new
{
FileName = doc.FileName,
PathName = await _documentService.ImagesPath(doc.Id),
doc.Id,
};
retirementResignDocs.Add(_doc);
}
var _data = new
{
data.Id,
data.profileId,
data.prefix,
data.firstName,
data.lastName,
data.Location,
data.SendDate,
data.ActiveDate,
data.Reason,
data.ReasonResign,
data.Remark,
data.Status,
data.salary,
data.PositionTypeOld,
data.PositionLevelOld,
data.PositionNumberOld,
data.OrganizationPositionOld,
data.ApproveReason,
data.RejectReason,
data.IsActive,
data.CreatedAt,
data.OligarchReject,
data.OligarchApproveReason,
data.OligarchRejectReason,
data.OligarchRejectDate,
data.CommanderReject,
data.CommanderApproveReason,
data.CommanderRejectReason,
data.CommanderRejectDate,
data.OfficerReject,
data.OfficerApproveReason,
data.OfficerRejectReason,
data.OfficerRejectDate,
data.RemarkHorizontal,
data.rootOld,
data.rootOldId,
data.rootShortNameOld,
data.child1Old,
data.child1OldId,
data.child1ShortNameOld,
data.child2Old,
data.child2OldId,
data.child2ShortNameOld,
data.child3Old,
data.child3OldId,
data.child3ShortNameOld,
data.child4Old,
data.child4OldId,
data.child4ShortNameOld,
data.PositionOld,
data.posMasterNoOld,
data.posTypeOldId,
data.posTypeNameOld,
data.posLevelOldId,
data.posLevelNameOld,
data.IsNoDebt,
data.IsNoBurden,
data.IsDiscipline,
data.CancelReason,
data.KeycloakUserId,
data.Approvers,
data.Commanders,
data.ApproveStep,
data.Group,
idCancel = data.RetirementResignCancels?.Id ?? null,
statusCancel = data.RetirementResignCancels?.Status ?? null,
statusMain = data.Status == "CANCEL" ? "DONECANCEL" : data.Status,
Docs = retirementResignDocs,
FileName = doc.FileName,
PathName = await _documentService.ImagesPath(doc.Id),
doc.Id,
};
retirementResignDocs.Add(_doc);
}
var _data = new
{
data.Id,
data.profileId,
data.prefix,
data.firstName,
data.lastName,
data.Location,
data.SendDate,
data.ActiveDate,
data.Reason,
data.ReasonResign,
data.Remark,
data.Status,
data.salary,
data.PositionTypeOld,
data.PositionLevelOld,
data.PositionNumberOld,
data.OrganizationPositionOld,
data.ApproveReason,
data.RejectReason,
data.IsActive,
data.CreatedAt,
data.OligarchReject,
data.OligarchApproveReason,
data.OligarchRejectReason,
data.OligarchRejectDate,
data.CommanderReject,
data.CommanderApproveReason,
data.CommanderRejectReason,
data.CommanderRejectDate,
data.OfficerReject,
data.OfficerApproveReason,
data.OfficerRejectReason,
data.OfficerRejectDate,
data.RemarkHorizontal,
data.rootOld,
data.rootOldId,
data.rootShortNameOld,
data.child1Old,
data.child1OldId,
data.child1ShortNameOld,
data.child2Old,
data.child2OldId,
data.child2ShortNameOld,
data.child3Old,
data.child3OldId,
data.child3ShortNameOld,
data.child4Old,
data.child4OldId,
data.child4ShortNameOld,
data.PositionOld,
data.posMasterNoOld,
data.posTypeOldId,
data.posTypeNameOld,
data.posLevelOldId,
data.posLevelNameOld,
data.IsNoDebt,
data.IsNoBurden,
data.IsDiscipline,
data.CancelReason,
data.KeycloakUserId,
data.Approvers,
data.Commanders,
data.ApproveStep,
data.Group,
idCancel = data.RetirementResignCancels?.Id ?? null,
statusCancel = data.RetirementResignCancels?.Status ?? null,
statusMain = data.Status == "CANCEL" ? "DONECANCEL" : data.Status,
Docs = retirementResignDocs,
};
return Success(_data);
return Success(_data);
// }
// else
// {
@ -700,6 +686,360 @@ namespace BMA.EHR.Retirement.Service.Controllers
// }
}
/// <summary>
/// get รายละเอียดลาออก
/// </summary>
/// <param name="id">Id ลาออก</param>
/// <returns></returns>
/// <response code="200"></response>
/// <response code="400">ค่าตัวแปรที่ส่งมาไม่ถูกต้อง</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpGet("user/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> GetDetailByUsers(Guid id)
{
var dataMain = await _context.RetirementResigns.AsQueryable()
.Where(x => x.Id == id)
.Select(p => new
{
p.IsCancel,
})
.FirstOrDefaultAsync();
if (dataMain == null)
return Error(GlobalMessages.RetirementResignNotFound, 404);
if (dataMain.IsCancel != true)
{
var data = await _context.RetirementResigns.AsQueryable()
.Where(x => x.Id == id)
.Select(p => new
{
p.Id,
p.prefix,
p.firstName,
p.lastName,
p.profileId,
p.Location,
p.SendDate,
p.ActiveDate,
p.Reason,
p.ReasonResign,
p.Remark,
p.Status,
salary = p.AmountOld,
p.ApproveReason,
p.RejectReason,
p.IsActive,
p.CreatedAt,
p.PositionTypeOld,
p.PositionLevelOld,
p.PositionNumberOld,
p.OrganizationPositionOld,
p.OligarchReject,
p.OligarchApproveReason,
p.OligarchRejectReason,
p.OligarchRejectDate,
p.CommanderReject,
p.CommanderApproveReason,
p.CommanderRejectReason,
p.CommanderRejectDate,
p.OfficerReject,
p.OfficerApproveReason,
p.OfficerRejectReason,
p.OfficerRejectDate,
p.RemarkHorizontal,
p.rootOld,
p.rootOldId,
p.rootShortNameOld,
p.child1Old,
p.child1OldId,
p.child1ShortNameOld,
p.child2Old,
p.child2OldId,
p.child2ShortNameOld,
p.child3Old,
p.child3OldId,
p.child3ShortNameOld,
p.child4Old,
p.child4OldId,
p.child4ShortNameOld,
p.PositionOld,
p.posMasterNoOld,
p.posTypeOldId,
p.posTypeNameOld,
p.posLevelOldId,
p.posLevelNameOld,
p.IsNoDebt,
p.IsNoBurden,
p.IsDiscipline,
p.CancelReason,
p.ApproveStep,
p.Group,
Approvers = p.Approvers.Where(x => x.ApproveType.ToUpper() == "APPROVER"),
Commanders = p.Approvers.Where(x => x.ApproveType.ToUpper() == "COMMANDER"),
CancelApprovers = new List<dynamic>(),
CancelCommanders = new List<dynamic>(),
KeycloakUserId = p.CreatedUserId,
RetirementResignCancels = p.RetirementResignCancels.FirstOrDefault(),
RetirementResignDocs = p.RetirementResignDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
})
.FirstOrDefaultAsync();
if (data == null)
return Error(GlobalMessages.RetirementResignNotFound, 404);
var retirementResignDocs = new List<dynamic>();
foreach (var doc in data.RetirementResignDocs)
{
var _doc = new
{
FileName = doc.FileName,
PathName = await _documentService.ImagesPath(doc.Id),
doc.Id,
};
retirementResignDocs.Add(_doc);
}
var _data = new
{
data.Id,
data.profileId,
data.prefix,
data.firstName,
data.lastName,
data.Location,
data.SendDate,
data.ActiveDate,
data.Reason,
data.ReasonResign,
data.Remark,
data.Status,
data.salary,
data.PositionTypeOld,
data.PositionLevelOld,
data.PositionNumberOld,
data.OrganizationPositionOld,
data.ApproveReason,
data.RejectReason,
data.IsActive,
data.CreatedAt,
data.OligarchReject,
data.OligarchApproveReason,
data.OligarchRejectReason,
data.OligarchRejectDate,
data.CommanderReject,
data.CommanderApproveReason,
data.CommanderRejectReason,
data.CommanderRejectDate,
data.OfficerReject,
data.OfficerApproveReason,
data.OfficerRejectReason,
data.OfficerRejectDate,
data.RemarkHorizontal,
data.rootOld,
data.rootOldId,
data.rootShortNameOld,
data.child1Old,
data.child1OldId,
data.child1ShortNameOld,
data.child2Old,
data.child2OldId,
data.child2ShortNameOld,
data.child3Old,
data.child3OldId,
data.child3ShortNameOld,
data.child4Old,
data.child4OldId,
data.child4ShortNameOld,
data.PositionOld,
data.posMasterNoOld,
data.posTypeOldId,
data.posTypeNameOld,
data.posLevelOldId,
data.posLevelNameOld,
data.IsNoDebt,
data.IsNoBurden,
data.IsDiscipline,
data.CancelReason,
data.KeycloakUserId,
data.Approvers,
data.Commanders,
data.ApproveStep,
data.CancelApprovers,
data.CancelCommanders,
data.Group,
idCancel = data.RetirementResignCancels?.Id ?? null,
statusCancel = data.RetirementResignCancels?.Status ?? null,
statusMain = data.Status == "CANCEL" ? "DONECANCEL" : data.Status,
Docs = retirementResignDocs,
};
return Success(_data);
}
else
{
var data = await _context.RetirementResignCancels.AsQueryable()
.Where(x => x.RetirementResign.Id == id)
.Select(p => new
{
p.Id,
p.prefix,
p.firstName,
p.lastName,
p.profileId,
p.Location,
p.SendDate,
p.ActiveDate,
p.Reason,
p.Remark,
p.Status,
salary = p.AmountOld,
p.ApproveReason,
p.RejectReason,
p.IsActive,
p.CreatedAt,
p.PositionTypeOld,
p.PositionLevelOld,
p.PositionNumberOld,
p.OrganizationPositionOld,
p.OligarchReject,
p.OligarchApproveReason,
p.OligarchRejectReason,
p.OligarchRejectDate,
p.CommanderReject,
p.CommanderApproveReason,
p.CommanderRejectReason,
p.CommanderRejectDate,
p.OfficerReject,
p.OfficerApproveReason,
p.OfficerRejectReason,
p.OfficerRejectDate,
p.RemarkHorizontal,
p.rootOld,
p.rootOldId,
p.rootShortNameOld,
p.child1Old,
p.child1OldId,
p.child1ShortNameOld,
p.child2Old,
p.child2OldId,
p.child2ShortNameOld,
p.child3Old,
p.child3OldId,
p.child3ShortNameOld,
p.child4Old,
p.child4OldId,
p.child4ShortNameOld,
p.PositionOld,
p.posMasterNoOld,
p.posTypeOldId,
p.posTypeNameOld,
p.posLevelOldId,
p.posLevelNameOld,
p.IsNoDebt,
p.IsNoBurden,
p.IsDiscipline,
p.CancelReason,
p.ApproveStep,
p.Group,
Approvers = p.RetirementResign.Approvers.Where(x => x.ApproveType.ToUpper() == "APPROVER"),
Commanders = p.RetirementResign.Approvers.Where(x => x.ApproveType.ToUpper() == "COMMANDER"),
CancelApprovers = p.Approvers.Where(x => x.ApproveType.ToUpper() == "APPROVER"),
CancelCommanders = p.Approvers.Where(x => x.ApproveType.ToUpper() == "COMMANDER"),
KeycloakUserId = p.CreatedUserId,
idMain = p.RetirementResign.Id,
statusMain = p.RetirementResign.Status,
RetirementResignDocs = p.RetirementResign.RetirementResignDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
})
.FirstOrDefaultAsync();
if (data == null)
return Error(GlobalMessages.RetirementResignNotFound, 404);
var retirementResignDocs = new List<dynamic>();
foreach (var doc in data.RetirementResignDocs)
{
var _doc = new
{
FileName = doc.FileName,
PathName = await _documentService.ImagesPath(doc.Id),
doc.Id,
};
retirementResignDocs.Add(_doc);
}
var _data = new
{
data.Id,
data.profileId,
data.prefix,
// data.PrefixId,
data.firstName,
data.lastName,
data.Location,
data.SendDate,
data.ActiveDate,
data.Reason,
data.Remark,
data.Status,
data.salary,
data.PositionTypeOld,
data.PositionLevelOld,
data.PositionNumberOld,
data.OrganizationPositionOld,
data.ApproveReason,
data.RejectReason,
data.IsActive,
data.CreatedAt,
data.OligarchReject,
data.OligarchApproveReason,
data.OligarchRejectReason,
data.OligarchRejectDate,
data.CommanderReject,
data.CommanderApproveReason,
data.CommanderRejectReason,
data.CommanderRejectDate,
data.OfficerReject,
data.OfficerApproveReason,
data.OfficerRejectReason,
data.OfficerRejectDate,
data.RemarkHorizontal,
data.rootOld,
data.rootOldId,
data.rootShortNameOld,
data.child1Old,
data.child1OldId,
data.child1ShortNameOld,
data.child2Old,
data.child2OldId,
data.child2ShortNameOld,
data.child3Old,
data.child3OldId,
data.child3ShortNameOld,
data.child4Old,
data.child4OldId,
data.child4ShortNameOld,
data.PositionOld,
data.posMasterNoOld,
data.posTypeOldId,
data.posTypeNameOld,
data.posLevelOldId,
data.posLevelNameOld,
data.IsNoDebt,
data.IsNoBurden,
data.IsDiscipline,
data.CancelReason,
data.idMain,
data.statusMain,
data.KeycloakUserId,
data.ApproveStep,
data.Group,
data.Approvers,
data.Commanders,
data.CancelApprovers,
data.CancelCommanders,
statusCancel = data.Status,
Docs = retirementResignDocs,
};
return Success(_data);
}
}
/// <summary>
/// get รายละเอียดลาออก
/// </summary>
@ -712,19 +1052,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpGet("cancel/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> GetDetailByUserCancel(Guid id)
{
var getWorkflow = await _permission.GetPermissionAPIWorkflowAsync(id.ToString(), "RETIREMENT_CANCEL");
var createdUserId = await _context.RetirementResignCancels.AsQueryable()
.Where(x => x.CreatedUserId == UserId)
.FirstOrDefaultAsync();
if (getWorkflow == false && createdUserId == null)
{
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_RESIGN");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
}
var data = await _context.RetirementResignCancels.AsQueryable()
.Where(x => x.Id == id)
.Select(p => new
@ -1026,19 +1353,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
}
}
await _context.SaveChangesAsync();
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _res = await client.PostAsJsonAsync($"{_configuration["API"]}/org/workflow/add-workflow", new
{
refId = retirementResign.Id,
sysName = "SYS_RESIGN",
posLevelName = retirementResign.PositionLevelOld,
posTypeName = retirementResign.PositionTypeOld,
fullName = $"{retirementResign.prefix}{retirementResign.firstName} {retirementResign.lastName}"
});
}
return Success(retirementResign);
}
@ -1304,18 +1618,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
}
await _context.AddRangeAsync(addList);
await _context.SaveChangesAsync();
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _res = await client.PostAsJsonAsync($"{_configuration["API"]}/org/workflow/add-workflow", new
{
refId = retirementResignCancel.Id,
sysName = "RETIREMENT_CANCEL",
posLevelName = retirementResignCancel.PositionLevelOld,
posTypeName = retirementResignCancel.PositionTypeOld,
});
}
updated.IsCancel = true;
updated.Status = "CANCELING";
}

View file

@ -288,179 +288,165 @@ namespace BMA.EHR.Retirement.Service.Controllers
// if (dataMain.IsCancel != true)
// {
var getWorkflow = await _permission.GetPermissionAPIWorkflowAsync(id.ToString(), "SYS_RESIGN_EMP");
var createdUserId = await _context.RetirementResignEmployees.AsQueryable()
.Where(x => x.Id == id)
.Where(x => x.CreatedUserId == UserId)
.FirstOrDefaultAsync();
if (getWorkflow == false && createdUserId == null)
{
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_RESIGN_EMP");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
}
var data = await _context.RetirementResignEmployees.AsQueryable()
.Where(x => x.Id == id)
.Select(p => new
{
p.Id,
p.prefix,
p.firstName,
p.lastName,
p.profileId,
p.Location,
p.SendDate,
p.ActiveDate,
p.Reason,
p.ReasonResign,
p.Remark,
p.Status,
salary = p.AmountOld,
p.ApproveReason,
p.RejectReason,
p.IsActive,
p.CreatedAt,
p.PositionTypeOld,
p.PositionLevelOld,
p.PositionNumberOld,
p.OrganizationPositionOld,
p.OligarchReject,
p.OligarchApproveReason,
p.OligarchRejectReason,
p.OligarchRejectDate,
p.CommanderReject,
p.CommanderApproveReason,
p.CommanderRejectReason,
p.CommanderRejectDate,
p.OfficerReject,
p.OfficerApproveReason,
p.OfficerRejectReason,
p.OfficerRejectDate,
p.RemarkHorizontal,
p.rootOld,
p.rootOldId,
p.rootShortNameOld,
p.child1Old,
p.child1OldId,
p.child1ShortNameOld,
p.child2Old,
p.child2OldId,
p.child2ShortNameOld,
p.child3Old,
p.child3OldId,
p.child3ShortNameOld,
p.child4Old,
p.child4OldId,
p.child4ShortNameOld,
p.PositionOld,
p.posMasterNoOld,
p.posTypeOldId,
p.posTypeNameOld,
p.posLevelOldId,
p.posLevelNameOld,
p.IsNoDebt,
p.IsNoBurden,
p.IsDiscipline,
p.CancelReason,
p.ApproveStep,
p.Group,
Approvers = p.Approvers.Where(x => x.ApproveType.ToUpper() == "APPROVER"),
Commanders = p.Approvers.Where(x => x.ApproveType.ToUpper() == "COMMANDER"),
KeycloakUserId = p.CreatedUserId,
RetirementResignEmployeeCancels = p.RetirementResignEmployeeCancels.FirstOrDefault(),
RetirementResignEmployeeDocs = p.RetirementResignEmployeeDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
})
.FirstOrDefaultAsync();
if (data == null)
return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
var data = await _context.RetirementResignEmployees.AsQueryable()
.Where(x => x.Id == id)
.Select(p => new
{
p.Id,
p.prefix,
p.firstName,
p.lastName,
p.profileId,
p.Location,
p.SendDate,
p.ActiveDate,
p.Reason,
p.ReasonResign,
p.Remark,
p.Status,
salary = p.AmountOld,
p.ApproveReason,
p.RejectReason,
p.IsActive,
p.CreatedAt,
p.PositionTypeOld,
p.PositionLevelOld,
p.PositionNumberOld,
p.OrganizationPositionOld,
p.OligarchReject,
p.OligarchApproveReason,
p.OligarchRejectReason,
p.OligarchRejectDate,
p.CommanderReject,
p.CommanderApproveReason,
p.CommanderRejectReason,
p.CommanderRejectDate,
p.OfficerReject,
p.OfficerApproveReason,
p.OfficerRejectReason,
p.OfficerRejectDate,
p.RemarkHorizontal,
p.rootOld,
p.rootOldId,
p.rootShortNameOld,
p.child1Old,
p.child1OldId,
p.child1ShortNameOld,
p.child2Old,
p.child2OldId,
p.child2ShortNameOld,
p.child3Old,
p.child3OldId,
p.child3ShortNameOld,
p.child4Old,
p.child4OldId,
p.child4ShortNameOld,
p.PositionOld,
p.posMasterNoOld,
p.posTypeOldId,
p.posTypeNameOld,
p.posLevelOldId,
p.posLevelNameOld,
p.IsNoDebt,
p.IsNoBurden,
p.IsDiscipline,
p.CancelReason,
p.ApproveStep,
p.Group,
Approvers = p.Approvers.Where(x => x.ApproveType.ToUpper() == "APPROVER"),
Commanders = p.Approvers.Where(x => x.ApproveType.ToUpper() == "COMMANDER"),
KeycloakUserId = p.CreatedUserId,
RetirementResignEmployeeCancels = p.RetirementResignEmployeeCancels.FirstOrDefault(),
RetirementResignEmployeeDocs = p.RetirementResignEmployeeDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
})
.FirstOrDefaultAsync();
if (data == null)
return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
var retirementResignEmployeeDocs = new List<dynamic>();
foreach (var doc in data.RetirementResignEmployeeDocs)
var retirementResignEmployeeDocs = new List<dynamic>();
foreach (var doc in data.RetirementResignEmployeeDocs)
{
var _doc = new
{
var _doc = new
{
FileName = doc.FileName,
PathName = await _documentService.ImagesPath(doc.Id),
doc.Id,
};
retirementResignEmployeeDocs.Add(_doc);
}
var _data = new
{
data.Id,
data.profileId,
data.prefix,
data.firstName,
data.lastName,
data.Location,
data.SendDate,
data.ActiveDate,
data.Reason,
data.ReasonResign,
data.Remark,
data.Status,
data.salary,
data.PositionTypeOld,
data.PositionLevelOld,
data.PositionNumberOld,
data.OrganizationPositionOld,
data.ApproveReason,
data.RejectReason,
data.IsActive,
data.CreatedAt,
data.OligarchReject,
data.OligarchApproveReason,
data.OligarchRejectReason,
data.OligarchRejectDate,
data.CommanderReject,
data.CommanderApproveReason,
data.CommanderRejectReason,
data.CommanderRejectDate,
data.OfficerReject,
data.OfficerApproveReason,
data.OfficerRejectReason,
data.OfficerRejectDate,
data.RemarkHorizontal,
data.rootOld,
data.rootOldId,
data.rootShortNameOld,
data.child1Old,
data.child1OldId,
data.child1ShortNameOld,
data.child2Old,
data.child2OldId,
data.child2ShortNameOld,
data.child3Old,
data.child3OldId,
data.child3ShortNameOld,
data.child4Old,
data.child4OldId,
data.child4ShortNameOld,
data.PositionOld,
data.posMasterNoOld,
data.posTypeOldId,
data.posTypeNameOld,
data.posLevelOldId,
data.posLevelNameOld,
data.IsNoDebt,
data.IsNoBurden,
data.IsDiscipline,
data.CancelReason,
data.KeycloakUserId,
data.Approvers,
data.Commanders,
data.ApproveStep,
data.Group,
idCancel = data.RetirementResignEmployeeCancels?.Id ?? Guid.Empty,
statusCancel = data.RetirementResignEmployeeCancels?.Status ?? null,
statusMain = data.Status == "CANCEL" ? "DONECANCEL" : data.Status,
Docs = retirementResignEmployeeDocs,
FileName = doc.FileName,
PathName = await _documentService.ImagesPath(doc.Id),
doc.Id,
};
retirementResignEmployeeDocs.Add(_doc);
}
var _data = new
{
data.Id,
data.profileId,
data.prefix,
data.firstName,
data.lastName,
data.Location,
data.SendDate,
data.ActiveDate,
data.Reason,
data.ReasonResign,
data.Remark,
data.Status,
data.salary,
data.PositionTypeOld,
data.PositionLevelOld,
data.PositionNumberOld,
data.OrganizationPositionOld,
data.ApproveReason,
data.RejectReason,
data.IsActive,
data.CreatedAt,
data.OligarchReject,
data.OligarchApproveReason,
data.OligarchRejectReason,
data.OligarchRejectDate,
data.CommanderReject,
data.CommanderApproveReason,
data.CommanderRejectReason,
data.CommanderRejectDate,
data.OfficerReject,
data.OfficerApproveReason,
data.OfficerRejectReason,
data.OfficerRejectDate,
data.RemarkHorizontal,
data.rootOld,
data.rootOldId,
data.rootShortNameOld,
data.child1Old,
data.child1OldId,
data.child1ShortNameOld,
data.child2Old,
data.child2OldId,
data.child2ShortNameOld,
data.child3Old,
data.child3OldId,
data.child3ShortNameOld,
data.child4Old,
data.child4OldId,
data.child4ShortNameOld,
data.PositionOld,
data.posMasterNoOld,
data.posTypeOldId,
data.posTypeNameOld,
data.posLevelOldId,
data.posLevelNameOld,
data.IsNoDebt,
data.IsNoBurden,
data.IsDiscipline,
data.CancelReason,
data.KeycloakUserId,
data.Approvers,
data.Commanders,
data.ApproveStep,
data.Group,
idCancel = data.RetirementResignEmployeeCancels?.Id ?? Guid.Empty,
statusCancel = data.RetirementResignEmployeeCancels?.Status ?? null,
statusMain = data.Status == "CANCEL" ? "DONECANCEL" : data.Status,
Docs = retirementResignEmployeeDocs,
};
return Success(_data);
return Success(_data);
// }
// else
// {
@ -638,6 +624,376 @@ namespace BMA.EHR.Retirement.Service.Controllers
// }
}
/// <summary>
/// get รายละเอียดลาออก
/// </summary>
/// <param name="id">Id ลาออก</param>
/// <returns></returns>
/// <response code="200"></response>
/// <response code="400">ค่าตัวแปรที่ส่งมาไม่ถูกต้อง</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpGet("user/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> GetDetailByUsers(Guid id)
{
var dataMain = await _context.RetirementResignEmployees.AsQueryable()
.Where(x => x.Id == id)
.Select(p => new
{
p.IsCancel,
})
.FirstOrDefaultAsync();
if (dataMain == null)
return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
if (dataMain.IsCancel != true)
{
var createdUserId = await _context.RetirementResignEmployees.AsQueryable()
.Where(x => x.Id == id)
.Where(x => x.CreatedUserId == UserId)
.FirstOrDefaultAsync();
var data = await _context.RetirementResignEmployees.AsQueryable()
.Where(x => x.Id == id)
.Select(p => new
{
p.Id,
p.prefix,
p.firstName,
p.lastName,
p.profileId,
p.Location,
p.SendDate,
p.ActiveDate,
p.Reason,
p.ReasonResign,
p.Remark,
p.Status,
salary = p.AmountOld,
p.ApproveReason,
p.RejectReason,
p.IsActive,
p.CreatedAt,
p.PositionTypeOld,
p.PositionLevelOld,
p.PositionNumberOld,
p.OrganizationPositionOld,
p.OligarchReject,
p.OligarchApproveReason,
p.OligarchRejectReason,
p.OligarchRejectDate,
p.CommanderReject,
p.CommanderApproveReason,
p.CommanderRejectReason,
p.CommanderRejectDate,
p.OfficerReject,
p.OfficerApproveReason,
p.OfficerRejectReason,
p.OfficerRejectDate,
p.RemarkHorizontal,
p.rootOld,
p.rootOldId,
p.rootShortNameOld,
p.child1Old,
p.child1OldId,
p.child1ShortNameOld,
p.child2Old,
p.child2OldId,
p.child2ShortNameOld,
p.child3Old,
p.child3OldId,
p.child3ShortNameOld,
p.child4Old,
p.child4OldId,
p.child4ShortNameOld,
p.PositionOld,
p.posMasterNoOld,
p.posTypeOldId,
p.posTypeNameOld,
p.posLevelOldId,
p.posLevelNameOld,
p.IsNoDebt,
p.IsNoBurden,
p.IsDiscipline,
p.CancelReason,
p.ApproveStep,
p.Group,
Approvers = p.Approvers.Where(x => x.ApproveType.ToUpper() == "APPROVER"),
Commanders = p.Approvers.Where(x => x.ApproveType.ToUpper() == "COMMANDER"),
CancelApprovers = new List<dynamic>(),
CancelCommanders = new List<dynamic>(),
KeycloakUserId = p.CreatedUserId,
RetirementResignEmployeeCancels = p.RetirementResignEmployeeCancels.FirstOrDefault(),
RetirementResignEmployeeDocs = p.RetirementResignEmployeeDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
})
.FirstOrDefaultAsync();
if (data == null)
return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
var retirementResignEmployeeDocs = new List<dynamic>();
foreach (var doc in data.RetirementResignEmployeeDocs)
{
var _doc = new
{
FileName = doc.FileName,
PathName = await _documentService.ImagesPath(doc.Id),
doc.Id,
};
retirementResignEmployeeDocs.Add(_doc);
}
var _data = new
{
data.Id,
data.profileId,
data.prefix,
data.firstName,
data.lastName,
data.Location,
data.SendDate,
data.ActiveDate,
data.Reason,
data.ReasonResign,
data.Remark,
data.Status,
data.salary,
data.PositionTypeOld,
data.PositionLevelOld,
data.PositionNumberOld,
data.OrganizationPositionOld,
data.ApproveReason,
data.RejectReason,
data.IsActive,
data.CreatedAt,
data.OligarchReject,
data.OligarchApproveReason,
data.OligarchRejectReason,
data.OligarchRejectDate,
data.CommanderReject,
data.CommanderApproveReason,
data.CommanderRejectReason,
data.CommanderRejectDate,
data.OfficerReject,
data.OfficerApproveReason,
data.OfficerRejectReason,
data.OfficerRejectDate,
data.RemarkHorizontal,
data.rootOld,
data.rootOldId,
data.rootShortNameOld,
data.child1Old,
data.child1OldId,
data.child1ShortNameOld,
data.child2Old,
data.child2OldId,
data.child2ShortNameOld,
data.child3Old,
data.child3OldId,
data.child3ShortNameOld,
data.child4Old,
data.child4OldId,
data.child4ShortNameOld,
data.PositionOld,
data.posMasterNoOld,
data.posTypeOldId,
data.posTypeNameOld,
data.posLevelOldId,
data.posLevelNameOld,
data.IsNoDebt,
data.IsNoBurden,
data.IsDiscipline,
data.CancelReason,
data.KeycloakUserId,
data.Approvers,
data.Commanders,
data.ApproveStep,
data.CancelApprovers,
data.CancelCommanders,
data.Group,
idCancel = data.RetirementResignEmployeeCancels?.Id ?? Guid.Empty,
statusCancel = data.RetirementResignEmployeeCancels?.Status ?? null,
statusMain = data.Status == "CANCEL" ? "DONECANCEL" : data.Status,
Docs = retirementResignEmployeeDocs,
};
return Success(_data);
}
else
{
var createdUserId = await _context.RetirementResignEmployeeCancels.AsQueryable()
.Where(x => x.CreatedUserId == UserId)
.Where(x => x.RetirementResignEmployee.Id == id)
.FirstOrDefaultAsync();
{
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_RESIGN_EMP");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
}
var data = await _context.RetirementResignEmployeeCancels.AsQueryable()
.Where(x => x.RetirementResignEmployee.Id == id)
.Select(p => new
{
p.Id,
p.prefix,
p.firstName,
p.lastName,
p.profileId,
p.Location,
p.SendDate,
p.ActiveDate,
p.Reason,
p.Remark,
p.Status,
salary = p.AmountOld,
p.ApproveReason,
p.RejectReason,
p.IsActive,
p.CreatedAt,
p.PositionTypeOld,
p.PositionLevelOld,
p.PositionNumberOld,
p.OrganizationPositionOld,
p.OligarchReject,
p.OligarchApproveReason,
p.OligarchRejectReason,
p.OligarchRejectDate,
p.CommanderReject,
p.CommanderApproveReason,
p.CommanderRejectReason,
p.CommanderRejectDate,
p.OfficerReject,
p.OfficerApproveReason,
p.OfficerRejectReason,
p.OfficerRejectDate,
p.RemarkHorizontal,
p.rootOld,
p.rootOldId,
p.rootShortNameOld,
p.child1Old,
p.child1OldId,
p.child1ShortNameOld,
p.child2Old,
p.child2OldId,
p.child2ShortNameOld,
p.child3Old,
p.child3OldId,
p.child3ShortNameOld,
p.child4Old,
p.child4OldId,
p.child4ShortNameOld,
p.PositionOld,
p.posMasterNoOld,
p.posTypeOldId,
p.posTypeNameOld,
p.posLevelOldId,
p.posLevelNameOld,
p.IsNoDebt,
p.IsNoBurden,
p.IsDiscipline,
p.ApproveStep,
p.Group,
Approvers = p.RetirementResignEmployee.Approvers.Where(x => x.ApproveType.ToUpper() == "APPROVER"),
Commanders = p.RetirementResignEmployee.Approvers.Where(x => x.ApproveType.ToUpper() == "COMMANDER"),
CancelApprovers = p.Approvers.Where(x => x.ApproveType.ToUpper() == "APPROVER"),
CancelCommanders = p.Approvers.Where(x => x.ApproveType.ToUpper() == "COMMANDER"),
KeycloakUserId = p.CreatedUserId,
p.CancelReason,
idMain = p.RetirementResignEmployee.Id,
statusMain = p.RetirementResignEmployee.Status,
RetirementResignEmployeeDocs = p.RetirementResignEmployee.RetirementResignEmployeeDocs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
})
.FirstOrDefaultAsync();
if (data == null)
return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404);
var retirementResignEmployeeDocs = new List<dynamic>();
foreach (var doc in data.RetirementResignEmployeeDocs)
{
var _doc = new
{
FileName = doc.FileName,
PathName = await _documentService.ImagesPath(doc.Id),
doc.Id,
};
retirementResignEmployeeDocs.Add(_doc);
}
var _data = new
{
data.Id,
data.profileId,
data.prefix,
data.firstName,
data.lastName,
data.Location,
data.SendDate,
data.ActiveDate,
data.Reason,
data.Remark,
data.Status,
data.salary,
data.PositionTypeOld,
data.PositionLevelOld,
data.PositionNumberOld,
data.OrganizationPositionOld,
data.ApproveReason,
data.RejectReason,
data.IsActive,
data.CreatedAt,
data.OligarchReject,
data.OligarchApproveReason,
data.OligarchRejectReason,
data.OligarchRejectDate,
data.CommanderReject,
data.CommanderApproveReason,
data.CommanderRejectReason,
data.CommanderRejectDate,
data.OfficerReject,
data.OfficerApproveReason,
data.OfficerRejectReason,
data.OfficerRejectDate,
data.RemarkHorizontal,
data.rootOld,
data.rootOldId,
data.rootShortNameOld,
data.child1Old,
data.child1OldId,
data.child1ShortNameOld,
data.child2Old,
data.child2OldId,
data.child2ShortNameOld,
data.child3Old,
data.child3OldId,
data.child3ShortNameOld,
data.child4Old,
data.child4OldId,
data.child4ShortNameOld,
data.PositionOld,
data.posMasterNoOld,
data.posTypeOldId,
data.posTypeNameOld,
data.posLevelOldId,
data.posLevelNameOld,
data.IsNoDebt,
data.IsNoBurden,
data.IsDiscipline,
data.CancelReason,
data.idMain,
data.statusMain,
data.ApproveStep,
data.Group,
data.KeycloakUserId,
data.Approvers,
data.Commanders,
data.CancelApprovers,
data.CancelCommanders,
statusCancel = data.Status,
Docs = retirementResignEmployeeDocs,
};
return Success(_data);
}
}
/// <summary>
/// get รายละเอียดลาออก
/// </summary>
@ -650,19 +1006,6 @@ namespace BMA.EHR.Retirement.Service.Controllers
[HttpGet("cancel/{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> GetDetailByUserCancel(Guid id)
{
var getWorkflow = await _permission.GetPermissionAPIWorkflowAsync(id.ToString(), "RETIREMENT_CANCEL_EMP");
var createdUserId = await _context.RetirementResignEmployeeCancels.AsQueryable()
.Where(x => x.CreatedUserId == UserId)
.FirstOrDefaultAsync();
if (getWorkflow == false && createdUserId == null)
{
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_RESIGN_EMP");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
}
var data = await _context.RetirementResignEmployeeCancels.AsQueryable()
.Where(x => x.Id == id)
.Select(p => new
@ -961,18 +1304,18 @@ namespace BMA.EHR.Retirement.Service.Controllers
}
}
await _context.SaveChangesAsync();
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _res = await client.PostAsJsonAsync($"{_configuration["API"]}/org/workflow/add-workflow", new
{
refId = retirementResignEmployee.Id,
sysName = "SYS_RESIGN_EMP",
posLevelName = retirementResignEmployee.PositionLevelOld,
posTypeName = retirementResignEmployee.PositionTypeOld,
});
}
// using (var client = new HttpClient())
// {
// client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
// client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
// var _res = await client.PostAsJsonAsync($"{_configuration["API"]}/org/workflow/add-workflow", new
// {
// refId = retirementResignEmployee.Id,
// sysName = "SYS_RESIGN_EMP",
// posLevelName = retirementResignEmployee.PositionLevelOld,
// posTypeName = retirementResignEmployee.PositionTypeOld,
// });
// }
return Success(retirementResignEmployee);
}
@ -1209,18 +1552,18 @@ namespace BMA.EHR.Retirement.Service.Controllers
}
await _context.AddRangeAsync(addList);
await _context.SaveChangesAsync();
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _res = await client.PostAsJsonAsync($"{_configuration["API"]}/org/workflow/add-workflow", new
{
refId = retirementResignEmployeeCancel.Id,
sysName = "RETIREMENT_CANCEL_EMP",
posLevelName = retirementResignEmployeeCancel.PositionLevelOld,
posTypeName = retirementResignEmployeeCancel.PositionTypeOld,
});
}
// using (var client = new HttpClient())
// {
// client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
// client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
// var _res = await client.PostAsJsonAsync($"{_configuration["API"]}/org/workflow/add-workflow", new
// {
// refId = retirementResignEmployeeCancel.Id,
// sysName = "RETIREMENT_CANCEL_EMP",
// posLevelName = retirementResignEmployeeCancel.PositionLevelOld,
// posTypeName = retirementResignEmployeeCancel.PositionTypeOld,
// });
// }
updated.IsCancel = true;
updated.Status = "CANCELING";
}