This commit is contained in:
parent
ec04665f39
commit
23a6058eba
1 changed files with 129 additions and 18 deletions
|
|
@ -152,7 +152,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var startFiscalYear = new DateTime(data.LeaveStartDate.Year - 1, 10, 1);
|
var startFiscalYear = new DateTime(data.LeaveStartDate.Year - 1, 10, 1);
|
||||||
var endFiscalYear = data.LeaveStartDate.Date.AddDays(-1); // นับจากวันที่ยื่นลา
|
var endFiscalYear = data.LeaveStartDate.Date.AddDays(-1); // นับจากวันที่ยื่นลา
|
||||||
var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear);
|
var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear);
|
||||||
|
var approveResult = await GetApproverData(data.Approvers);
|
||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
template = "leave9",
|
template = "leave9",
|
||||||
|
|
@ -181,6 +181,12 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
LeaveRemain = (data.Type.Limit - sumLeave).ToString().ToThaiNumber(),
|
LeaveRemain = (data.Type.Limit - sumLeave).ToString().ToThaiNumber(),
|
||||||
LeaveAll = (data.LeaveTotal + sumLeave).ToString().ToThaiNumber(),
|
LeaveAll = (data.LeaveTotal + sumLeave).ToString().ToThaiNumber(),
|
||||||
|
|
||||||
|
approve = approveResult,
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -194,7 +200,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
}
|
}
|
||||||
|
|
||||||
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
||||||
|
var approveResult = await GetApproverData(data.Approvers);
|
||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
template = "leave10",
|
template = "leave10",
|
||||||
|
|
@ -217,6 +223,13 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber(), //data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber(), //data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
||||||
leaveAddress = data.LeaveAddress.ToThaiNumber(),
|
leaveAddress = data.LeaveAddress.ToThaiNumber(),
|
||||||
leaveNumber = data.LeaveNumber.ToThaiNumber(),
|
leaveNumber = data.LeaveNumber.ToThaiNumber(),
|
||||||
|
|
||||||
|
approve = approveResult,
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -248,6 +261,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var leaveLimit = leaveData == null ? 0.0 : leaveData.LeaveDays;
|
var leaveLimit = leaveData == null ? 0.0 : leaveData.LeaveDays;
|
||||||
var extendLeave = leaveLimit - 10;
|
var extendLeave = leaveLimit - 10;
|
||||||
|
|
||||||
|
var approveResult = await GetApproverData(data.Approvers);
|
||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
template = "leave11",
|
template = "leave11",
|
||||||
|
|
@ -278,7 +292,15 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
LeaveSummary = sumLeave.ToString().ToThaiNumber(), // วันลาครั้งก่อน
|
LeaveSummary = sumLeave.ToString().ToThaiNumber(), // วันลาครั้งก่อน
|
||||||
|
|
||||||
LeaveAll = (data.LeaveTotal + sumLeave).ToString().ToThaiNumber(), // ลาครั้งนี้ + ครั้งก่อน
|
LeaveAll = (data.LeaveTotal + sumLeave).ToString().ToThaiNumber(), // ลาครั้งนี้ + ครั้งก่อน
|
||||||
LeaveLimit = leaveLimit.ToString().ToThaiNumber() // สิทธิ์การลา
|
LeaveLimit = leaveLimit.ToString().ToThaiNumber(), // สิทธิ์การลา
|
||||||
|
|
||||||
|
approve = approveResult,
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -305,7 +327,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
{
|
{
|
||||||
isHajj = true;
|
isHajj = true;
|
||||||
}
|
}
|
||||||
|
var approveResult = await GetApproverData(data.Approvers);
|
||||||
if (isHajj == true)
|
if (isHajj == true)
|
||||||
{
|
{
|
||||||
return new
|
return new
|
||||||
|
|
@ -330,8 +352,14 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
leaveDateStart = data.LeaveStartDate.Date.ToThaiShortDate().ToThaiNumber(),
|
leaveDateStart = data.LeaveStartDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
leaveDateEnd = data.LeaveEndDate.Date.ToThaiShortDate().ToThaiNumber(),
|
leaveDateEnd = data.LeaveEndDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber()//data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber(),//data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
||||||
|
|
||||||
|
approve = approveResult,
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -365,8 +393,13 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
leaveDateStart = data.LeaveStartDate.Date.ToThaiShortDate().ToThaiNumber(),
|
leaveDateStart = data.LeaveStartDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
leaveDateEnd = data.LeaveEndDate.Date.ToThaiShortDate().ToThaiNumber(),
|
leaveDateEnd = data.LeaveEndDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber()//data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber(),//data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
||||||
|
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -390,7 +423,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
// if (list.Count > 0)
|
// if (list.Count > 0)
|
||||||
// approver = list.First().Name;
|
// approver = list.First().Name;
|
||||||
//}
|
//}
|
||||||
|
var approveResult = await GetApproverData(data.Approvers);
|
||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
template = "leave14",
|
template = "leave14",
|
||||||
|
|
@ -417,6 +450,12 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
leaveDateEnd = data.LeaveEndDate.Date.ToThaiShortDate().ToThaiNumber(),
|
leaveDateEnd = data.LeaveEndDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber(), //data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber(), //data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
||||||
|
|
||||||
|
approve = approveResult,
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -439,7 +478,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
// if (list.Count > 0)
|
// if (list.Count > 0)
|
||||||
// approver = list.First().Name;
|
// approver = list.First().Name;
|
||||||
//}
|
//}
|
||||||
|
var approveResult = await GetApproverData(data.Approvers);
|
||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
template = "leave15",
|
template = "leave15",
|
||||||
|
|
@ -473,6 +512,13 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber(), //data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber(), //data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
||||||
leaveAddress = data.LeaveAddress.ToThaiNumber(),
|
leaveAddress = data.LeaveAddress.ToThaiNumber(),
|
||||||
leaveNumber = data.LeaveNumber.ToThaiNumber(),
|
leaveNumber = data.LeaveNumber.ToThaiNumber(),
|
||||||
|
|
||||||
|
approve = approveResult,
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -501,7 +547,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
// if (list.Count > 0)
|
// if (list.Count > 0)
|
||||||
// approver = list.First().Name;
|
// approver = list.First().Name;
|
||||||
//}
|
//}
|
||||||
|
var approveResult = await GetApproverData(data.Approvers);
|
||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
template = "leave16",
|
template = "leave16",
|
||||||
|
|
@ -562,10 +608,15 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
institute = x.Institute == null ? "" : x.Institute.ToThaiNumber(),
|
institute = x.Institute == null ? "" : x.Institute.ToThaiNumber(),
|
||||||
country = x.Country == null ? "" : x.Country.ToThaiNumber(),
|
country = x.Country == null ? "" : x.Country.ToThaiNumber(),
|
||||||
finishDate = x.FinishDate == null ? "-" : x.FinishDate.Value.ToThaiShortDate().ToThaiNumber()
|
finishDate = x.FinishDate == null ? "-" : x.FinishDate.Value.ToThaiShortDate().ToThaiNumber()
|
||||||
}).ToList()
|
}).ToList(),
|
||||||
|
|
||||||
//positionName = profileLeave.PositionName,
|
//positionName = profileLeave.PositionName,
|
||||||
|
approve = approveResult,
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -589,7 +640,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
// if (list.Count > 0)
|
// if (list.Count > 0)
|
||||||
// approver = list.First().Name;
|
// approver = list.First().Name;
|
||||||
//}
|
//}
|
||||||
|
var approveResult = await GetApproverData(data.Approvers);
|
||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
template = "leave17",
|
template = "leave17",
|
||||||
|
|
@ -623,6 +674,13 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
leaveDateStart = data.LeaveStartDate.Date.ToThaiShortDate().ToThaiNumber(),
|
leaveDateStart = data.LeaveStartDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
leaveDateEnd = data.LeaveEndDate.Date.ToThaiShortDate().ToThaiNumber(),
|
leaveDateEnd = data.LeaveEndDate.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber(), //data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
LeaveTotal = data.LeaveTotal.ToString().ToThaiNumber(), //data.LeaveStartDate.DiffDay(data.LeaveEndDate).ToString().ToThaiNumber(),
|
||||||
|
|
||||||
|
approve = approveResult,
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -651,7 +709,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
// if (list.Count > 0)
|
// if (list.Count > 0)
|
||||||
// approver = list.First().Name;
|
// approver = list.First().Name;
|
||||||
//}
|
//}
|
||||||
|
var approveResult = await GetApproverData(data.Approvers);
|
||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
template = "leave18",
|
template = "leave18",
|
||||||
|
|
@ -668,13 +726,9 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
positionLeaveName = profile!.PositionLeaveName == null ? "-" : profile!.PositionLeaveName.ToThaiNumber(),
|
positionLeaveName = profile!.PositionLeaveName == null ? "-" : profile!.PositionLeaveName.ToThaiNumber(),
|
||||||
organizationName = profile!.Oc!.ToThaiNumber() ?? "",
|
organizationName = 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(),
|
||||||
|
|
||||||
|
|
||||||
profileType = profile.ProfileType,
|
profileType = profile.ProfileType,
|
||||||
|
|
||||||
birthDate = profileLeave.BirthDate.ToThaiShortDate().ToThaiNumber(),
|
birthDate = profileLeave.BirthDate.ToThaiShortDate().ToThaiNumber(),
|
||||||
|
|
@ -715,7 +769,14 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
institute = x.Institute == null ? "" : x.Institute.ToThaiNumber(),
|
institute = x.Institute == null ? "" : x.Institute.ToThaiNumber(),
|
||||||
country = x.Country == null ? "" : x.Country.ToThaiNumber(),
|
country = x.Country == null ? "" : x.Country.ToThaiNumber(),
|
||||||
finishDate = x.FinishDate == null ? "-" : x.FinishDate.Value.ToThaiShortDate().ToThaiNumber()
|
finishDate = x.FinishDate == null ? "-" : x.FinishDate.Value.ToThaiShortDate().ToThaiNumber()
|
||||||
}).ToList()
|
}).ToList(),
|
||||||
|
|
||||||
|
approve = approveResult,
|
||||||
|
leaveStatus = data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "APPROVE"
|
||||||
|
? "🗹 อนุญาต ☐ ไม่อนุญาต"
|
||||||
|
: data.LeaveStatus != null && data.LeaveStatus!.ToUpper() == "REJECT"
|
||||||
|
? "☐ อนุญาต 🗹 ไม่อนุญาต"
|
||||||
|
: "☐ อนุญาต ☐ ไม่อนุญาต"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -2477,5 +2538,55 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
private async Task<object> GetApproverData(List<LeaveRequestApprover> list)
|
||||||
|
{
|
||||||
|
var _default = new
|
||||||
|
{
|
||||||
|
fullName = "......................",
|
||||||
|
positionName = "......................",
|
||||||
|
positionSign = "......................",
|
||||||
|
updatedAt = "...... /...... /......",
|
||||||
|
comment = "......................",
|
||||||
|
approveType = ""
|
||||||
|
};
|
||||||
|
|
||||||
|
var approvers = list
|
||||||
|
.Select(x => new
|
||||||
|
{
|
||||||
|
fullName = $"{(x.Prefix ?? "")}{(x.FirstName ?? "")} {(x.LastName ?? "")}".Trim(),
|
||||||
|
positionName = x.PositionName ?? "......................",
|
||||||
|
positionSign = x.PositionSign ?? "......................",
|
||||||
|
updatedAt = x.LastUpdatedAt.HasValue
|
||||||
|
? x.LastUpdatedAt.Value.Date.ToThaiShortDate().ToThaiNumber()
|
||||||
|
: "...... /...... /......",
|
||||||
|
comment = (x.Comment ?? "")
|
||||||
|
.Replace("\r", "")
|
||||||
|
.Replace("\n", "")
|
||||||
|
.Trim(),
|
||||||
|
approveType = (x.ApproveType ?? "").Trim().ToUpper()
|
||||||
|
})
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
var sender = approvers
|
||||||
|
.FirstOrDefault(x => x.approveType == "SENDER")
|
||||||
|
?? _default;
|
||||||
|
|
||||||
|
var approver = approvers
|
||||||
|
.FirstOrDefault(x => x.approveType == "APPROVER")
|
||||||
|
?? _default;
|
||||||
|
|
||||||
|
var commanders = approvers
|
||||||
|
.Where(x => x.approveType == "COMMANDER")
|
||||||
|
.DefaultIfEmpty(_default)
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
return new
|
||||||
|
{
|
||||||
|
sender = sender,
|
||||||
|
approver = approver,
|
||||||
|
commanders = commanders
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue