Migrate & Fix Report ขอลาออก #1661, #1665
Some checks failed
release-dev / release-dev (push) Failing after 11s

This commit is contained in:
Bright 2025-07-25 18:08:48 +07:00
parent b548d8fea6
commit b40d4e2765
7 changed files with 21430 additions and 0 deletions

View file

@ -505,6 +505,7 @@ namespace BMA.EHR.Application.Repositories.Reports
p.CommanderRejectReason,
p.CommanderRejectDate,
p.RemarkHorizontal,
Type = "OFFICER"
})
.FirstOrDefaultAsync();
if (data == null)
@ -542,10 +543,130 @@ namespace BMA.EHR.Application.Repositories.Reports
p.CommanderRejectReason,
p.CommanderRejectDate,
p.RemarkHorizontal,
Type = "EMPLOYEE",
})
.FirstOrDefaultAsync();
if (data == null)
return null;
var approverPositionExecutiveName = "...............";
var approverStatus = "☐ อนุญาต";
var approverRejectStatus = "☐ ยับยั้งการลาออกไว้จนถึงวันที่...................";
var approver = "...................";
var approverPosition = "...................";
var diffDate = "☐ ไม่น้อยกว่า ๓๐ วัน ☐ น้อยกว่า ๓๐ วัน";
if (data.SendDate.HasValue && data.ActiveDate.HasValue)
{
var time = data.ActiveDate.Value - data.SendDate.Value;
var day = time.TotalDays;
if (day < 30)
{
diffDate = "☐ ไม่น้อยกว่า ๓๐ วัน ☑ น้อยกว่า ๓๐ วัน";
}
else
{
diffDate = "☑ ไม่น้อยกว่า ๓๐ วัน ☐ น้อยกว่า ๓๐ วัน";
}
}
var commanderDateUpdate = "วันที่...................";
var commanderStatus = "☐ อนุญาต ตั้งแต่วันที่...................";
var commanderCommentApprove = "...................";
var commanderRejectStatus = "☐ ยับยั้งการลาออกไว้จนถึงวันที่...................";
var commanderCommentReject = "...................";
var commander = "...................";
var commanderPosition = "...................";
if (data.Type == "OFFICER")
{
var Approver = _dbContext.Set<RetirementResignApprover>()
.Where(x => x.RetirementResign.Id == data.Id && x.ApproveType == "APPROVER")
.ToList();
var Commander = _dbContext.Set<RetirementResignApprover>()
.Where(x => x.RetirementResign.Id == data.Id && x.ApproveType == "COMMANDER")
.OrderByDescending(x => x.Seq)
.ToList();
if (Approver.Count > 0)
{
approverPositionExecutiveName = Approver[0].PositionExecutiveName;
approverStatus = Approver[0].ApproveStatus == "APPROVE" ? "☑ อนุญาต" : approverStatus;
approverRejectStatus = Approver[0].ApproveStatus == "REJECT"
? $"☑ ยับยั้งการลาออกไว้จนถึง{(Approver[0].RejectDate != null ? DateTime.Parse(Approver[0].RejectDate.ToString()).ToThaiFullDate().ToString().ToThaiNumber() : "...................")}"
: approverRejectStatus;
approver = $"{Approver[0].Prefix}{Approver[0].FirstName} {Approver[0].LastName}";
approverPosition = Approver[0].PositionName;
}
if (Commander.Count > 0)
{
commanderDateUpdate = Commander.Count > 1
? Commander[1].LastUpdatedAt != null
? DateTime.Parse(Commander[1].LastUpdatedAt.ToString()).ToThaiFullDate().ToString().ToThaiNumber()
: commanderDateUpdate
: Commander[0].LastUpdatedAt != null
? DateTime.Parse(Commander[0].LastUpdatedAt.ToString()).ToThaiFullDate().ToString().ToThaiNumber()
: commanderDateUpdate;
commanderStatus = Commander[0].ApproveStatus == "APPROVE"
? $"☑ อนุญาต ตั้งแต่{(Commander[0].LastUpdatedAt != null ? DateTime.Parse(Commander[0].LastUpdatedAt.ToString()).ToThaiFullDate().ToString().ToThaiNumber() : "...................")}"
: commanderStatus;
commanderCommentApprove = Commander[0].ApproveStatus == "APPROVE"
? !string.IsNullOrWhiteSpace(Commander[0].Comment) ? Commander[0].Comment : commanderCommentApprove
: commanderCommentApprove;
commanderRejectStatus = Commander[0].ApproveStatus == "REJECT"
? $"☑ ยับยั้งการลาออกไว้จนถึง{(Commander[0].RejectDate != null ? DateTime.Parse(Commander[0].RejectDate.ToString()).ToThaiFullDate().ToString().ToThaiNumber() : "...................")}"
: approverRejectStatus;
commanderCommentReject = Commander[0].ApproveStatus == "REJECT"
? !string.IsNullOrWhiteSpace(Commander[0].Comment) ? Commander[0].Comment : commanderCommentReject
: commanderCommentReject;
commander = $"{Commander[0].Prefix}{Commander[0].FirstName} {Commander[0].LastName}";
commanderPosition = Commander[0].PositionName;
}
}
else
{
var EmpApproves = _dbContext.Set<RetirementResignEmployeeApprover>()
.Where(x => x.RetirementResignEmployee.Id == data.Id && x.ApproveType == "APPROVER")
.ToList();
var EmpCommander = _dbContext.Set<RetirementResignEmployeeApprover>()
.Where(x => x.RetirementResignEmployee.Id == data.Id && x.ApproveType == "COMMANDER")
.OrderByDescending(x => x.Seq)
.ToList();
if (EmpApproves.Count > 0)
{
approverPositionExecutiveName = EmpApproves[0].PositionExecutiveName;
approverStatus = EmpApproves[0].ApproveStatus == "APPROVE" ? "☑ อนุญาต" : approverStatus;
approverRejectStatus = EmpApproves[0].ApproveStatus == "REJECT"
? $"☑ ยับยั้งการลาออกไว้จนถึง{(EmpApproves[0].RejectDate != null ? DateTime.Parse(EmpApproves[0].RejectDate.ToString()).ToThaiFullDate().ToString().ToThaiNumber() : "...................")}"
: approverRejectStatus;
approver = $"{EmpApproves[0].Prefix}{EmpApproves[0].FirstName} {EmpApproves[0].LastName}";
approverPosition = EmpApproves[0].PositionName;
}
if (EmpCommander.Count > 0)
{
commanderDateUpdate = EmpCommander.Count > 1
? EmpCommander[1].LastUpdatedAt != null
? DateTime.Parse(EmpCommander[1].LastUpdatedAt.ToString()).ToThaiFullDate().ToString().ToThaiNumber()
: commanderDateUpdate
: EmpCommander[0].LastUpdatedAt != null
? DateTime.Parse(EmpCommander[0].LastUpdatedAt.ToString()).ToThaiFullDate().ToString().ToThaiNumber()
: commanderDateUpdate;
commanderStatus = EmpCommander[0].ApproveStatus == "APPROVE"
? $"☑ อนุญาต ตั้งแต่{(EmpCommander[0].LastUpdatedAt != null ? DateTime.Parse(EmpCommander[0].LastUpdatedAt.ToString()).ToThaiFullDate().ToString().ToThaiNumber() : "...................")}"
: commanderStatus;
commanderCommentApprove = EmpCommander[0].ApproveStatus == "APPROVE"
? !string.IsNullOrWhiteSpace(EmpCommander[0].Comment) ? EmpCommander[0].Comment : commanderCommentApprove
: commanderCommentApprove;
commanderRejectStatus = EmpCommander[0].ApproveStatus == "REJECT"
? $"☑ ยับยั้งการลาออกไว้จนถึง{(EmpCommander[0].RejectDate != null ? DateTime.Parse(EmpCommander[0].RejectDate.ToString()).ToThaiFullDate().ToString().ToThaiNumber() : "...................")}"
: approverRejectStatus;
commanderCommentReject = EmpCommander[0].ApproveStatus == "REJECT"
? !string.IsNullOrWhiteSpace(EmpCommander[0].Comment) ? EmpCommander[0].Comment : commanderCommentReject
: commanderCommentReject;
commander = $"{EmpCommander[0].Prefix}{EmpCommander[0].FirstName} {EmpCommander[0].LastName}";
commanderPosition = EmpCommander[0].PositionName;
}
}
var _data = new
{
data.Id,
@ -580,6 +701,19 @@ namespace BMA.EHR.Application.Repositories.Reports
data.CommanderRejectReason,
CommanderRejectDate = string.IsNullOrEmpty(data.CommanderRejectDate.ToString()) ? string.Empty : DateTime.Parse(data.CommanderRejectDate.ToString()).ToThaiFullDate().ToString().ToThaiNumber(),
data.RemarkHorizontal,
dear = approverPositionExecutiveName,
approverStatus,
approverRejectStatus,
approver,
approverPosition,
diffDate,
commanderDateUpdate,
commanderStatus,
commanderCommentApprove,
commanderRejectStatus,
commanderCommentReject,
commander,
commanderPosition
};
return _data;