แก้ report สรรหา

This commit is contained in:
Kittapath 2023-09-24 04:10:31 +07:00
parent 654ea28942
commit 723c95dfbc
15 changed files with 175 additions and 57 deletions

View file

@ -9,6 +9,7 @@ using Telerik.Reporting;
using BMA.EHR.Report.Service.Responses;
using BMA.EHR.Extensions;
using BMA.EHR.Core;
using System.Text;
namespace BMA.EHR.Report.Service.Controllers
{
@ -61,6 +62,27 @@ namespace BMA.EHR.Report.Service.Controllers
throw;
}
}
private string ToThaiNumber(string? value)
{
if (value == null)
return "";
string arabicNumbers = "0123456789";
string thaiNumbers = "๐๑๒๓๔๕๖๗๘๙";
StringBuilder result = new StringBuilder();
foreach (char digit in value)
{
int index = arabicNumbers.IndexOf(digit);
if (index >= 0)
{
result.Append(thaiNumbers[index]);
}
else
{
result.Append(digit);
}
}
return result.ToString();
}
#endregion
@ -96,12 +118,12 @@ namespace BMA.EHR.Report.Service.Controllers
(p, sr) => new
{
ExamID = p.ExamId,
p.CitizenId,
Order = p.PeriodExam.Round,
Year = p.PeriodExam.Year.Value.ToThaiYear(),
CitizenId = p.CitizenId == null ? "-" : (p.CitizenId),
Order = (p.PeriodExam.Round.ToString()),
Year = (p.PeriodExam.Year.Value.ToThaiYear().ToString()),
FullName = $"{p.Prefix}{p.FirstName} {p.LastName}",
ExamResult = sr == null ? "" : sr.ExamStatus,
EndDate = p.PeriodExam.RegisterEndDate.ToThaiFullDate3(),
EndDate = (p.PeriodExam.RegisterEndDate.ToThaiFullDate3()),
AuthName = "นายณัฐพงศ์ ดิษยบุตร",
AuthPosition = "หัวหน้าสำนักงาน ก.ก."
})
@ -170,27 +192,27 @@ namespace BMA.EHR.Report.Service.Controllers
(p, sr) => new
{
ExamId = p.ExamId,
CitizenId = p.CitizenId,
CitizenId = p.CitizenId == null ? "-" : (p.CitizenId),
p.Prefix,
FullName = $"{p.Prefix}{p.FirstName} {p.LastName}",
DateOfBirth = p.DateOfBirth.ToThaiShortDate(),
DateOfBirth = (p.DateOfBirth.ToThaiShortDate()),
Gender = p.Gendor,
Degree = p.Educations.First().Degree,
Major = p.Educations.First().Major,
ExamResult = sr == null ? "" : sr.ExamStatus,
University = p.Educations.First().University,
PositionName = p.PositionName,
ExamName = $"{p.PeriodExam.Name} ครั้งที่ {p.PeriodExam.Round}/{p.PeriodExam.Year.Value.ToThaiYear()}",
Number = sr == null ? "" : sr.Number,
ExamName = ($"{p.PeriodExam.Name} ครั้งที่ {p.PeriodExam.Round}/{p.PeriodExam.Year.Value.ToThaiYear()}"),
Number = sr == null ? "" : (sr.Number),
// ExamCount = 10,
// ExamCount = GetExamCountTes(p.CitizenId),
ScoreExpire = p.PeriodExam.AnnouncementDate == null ? "" : p.PeriodExam.AnnouncementDate.AddYears(2).ToThaiShortDate(),
FullA = sr == null ? 0 : sr.FullA,
SumA = sr == null ? 0 : sr.SumA,
FullB = sr == null ? 0 : sr.FullB,
SumB = sr == null ? 0 : sr.SumB,
FullC = sr == null ? 0 : sr.FullC,
SumC = sr == null ? 0 : sr.SumC,
ScoreExpire = p.PeriodExam.AnnouncementDate == null ? "" : (p.PeriodExam.AnnouncementDate.AddYears(2).ToThaiShortDate()),
FullA = sr == null ? "" : (sr.FullA.ToString()),
SumA = sr == null ? "" : (sr.SumA.ToString()),
FullB = sr == null ? "" : (sr.FullB.ToString()),
SumB = sr == null ? "" : (sr.SumB.ToString()),
FullC = sr == null ? "" : (sr.FullC.ToString()),
SumC = sr == null ? "" : (sr.SumC.ToString()),
})
.FirstOrDefaultAsync();
var rptFile = Path.Combine(_hostingEnvironment.ContentRootPath, "Report", "Recruit", $"rptExamResult.trdp");
@ -262,11 +284,11 @@ namespace BMA.EHR.Report.Service.Controllers
.OrderBy(x => x.ExamId)
.Select(p => new
{
ExamId = p.ExamId,
ExamId = p.ExamId == null ? null : (p.ExamId),
FullName = $"{p.Prefix}{p.FirstName} {p.LastName}",
PositionName = p.PositionName,
ExamName =
$"{p.PeriodExam.Name} ครั้งที่ {p.PeriodExam.Round}/{p.PeriodExam.Year.Value.ToThaiYear()}",
($"{p.PeriodExam.Name} ครั้งที่ {p.PeriodExam.Round}/{p.PeriodExam.Year.Value.ToThaiYear()}"),
}).ToListAsync();
var rptFile = Path.Combine(_hostingEnvironment.ContentRootPath, "Report", "Recruit", $"rptCandidateList.trdp");
@ -314,11 +336,11 @@ namespace BMA.EHR.Report.Service.Controllers
.OrderBy(x => x.SeatNumber)
.Select(p => new
{
ExamId = p.SeatNumber,
ExamId = p.SeatNumber == null ? null : (p.SeatNumber),
FullName = $"{p.FirstName} {p.LastName}",
PositionName = "",
ExamName =
$"{p.PeriodExam.Name} ครั้งที่ {p.PeriodExam.Round}/{p.PeriodExam.Year.Value.ToThaiYear()}",
($"{p.PeriodExam.Name} ครั้งที่ {p.PeriodExam.Round}/{p.PeriodExam.Year.Value.ToThaiYear()}"),
}).ToListAsync();
if (data.Count == 0)
@ -379,10 +401,10 @@ namespace BMA.EHR.Report.Service.Controllers
{
Id = p.PeriodExam.Id,
ExamId = p.ExamId,
CitizenId = p.CitizenId,
CitizenId = p.CitizenId == null ? "-" : (p.CitizenId),
p.Prefix,
FullName = $"{p.Prefix}{p.FirstName} {p.LastName}",
DateOfBirth = p.DateOfBirth.ToThaiShortDate(),
DateOfBirth = (p.DateOfBirth.ToThaiShortDate()),
Gender = p.Gendor,
Degree = p.Educations.First().Degree,
Major = p.Educations.First().Major,
@ -391,13 +413,13 @@ namespace BMA.EHR.Report.Service.Controllers
PositionName = p.PositionName,
ExamName = $"{p.PeriodExam.Name} ครั้งที่ {p.PeriodExam.Round}/{p.PeriodExam.Year.Value.ToThaiYear()}",
Number = sr == null ? 99999 : Convert.ToInt32(sr.Number),
FullA = sr == null ? 0 : sr.FullA,
SumA = sr == null ? 0 : sr.SumA,
FullB = sr == null ? 0 : sr.FullB,
SumB = sr == null ? 0 : sr.SumB,
FullC = sr == null ? 0 : sr.FullC,
SumC = sr == null ? 0 : sr.SumC,
SumScore = sr == null ? 0 : sr.SumA + sr.SumB + sr.SumC,
FullA = sr == null ? "" : (sr.FullA.ToString()),
SumA = sr == null ? "" : (sr.SumA.ToString()),
FullB = sr == null ? "" : (sr.FullB.ToString()),
SumB = sr == null ? "" : (sr.SumB.ToString()),
FullC = sr == null ? "" : (sr.FullC.ToString()),
SumC = sr == null ? "" : (sr.SumC.ToString()),
SumScore = sr == null ? "" : ((sr.SumA + sr.SumB + sr.SumC).ToString()),
})
.OrderBy(x => x.Number)
.Where(x => x.Id == id)
@ -454,19 +476,19 @@ namespace BMA.EHR.Report.Service.Controllers
.Where(x => x.Status != "register")
.Select(p => new
{
ExamId = p.SeatNumber,
CitizenId = p.CitizenId,
ExamId = p.SeatNumber == null ? "-" : (p.SeatNumber),
CitizenId = p.CitizenId == null ? "-" : (p.CitizenId),
FullName = $"{p.FirstName} {p.LastName}",
DateOfBirth = p.DateOfBirth.Value.ToThaiShortDate(),
DateOfBirth = p.DateOfBirth == null ? "-" : (p.DateOfBirth.Value.ToThaiShortDate()),
ExamName = $"{p.PeriodExam.Name} ครั้งที่ {p.PeriodExam.Round}/{p.PeriodExam.Year.Value.ToThaiYear()}",
Number = p.Number == null ? 99999 : Convert.ToInt32(p.Number),
FullA = 0,
SumA = 0,
FullB = p.PointTotalB,
SumB = p.PointB,
FullC = p.PointTotalC,
SumC = p.PointC,
SumScore = Convert.ToInt32(p.PointB ?? "0") + Convert.ToInt32(p.PointC ?? "0"),
FullA = (""),
SumA = (""),
FullB = p.PointTotalB == null ? "-" : (p.PointTotalB.ToString()),
SumB = p.PointB == null ? "-" : (p.PointB.ToString()),
FullC = p.PointTotalC == null ? "-" : (p.PointTotalC.ToString()),
SumC = p.PointC == null ? "-" : (p.PointC.ToString()),
SumScore = ((Convert.ToInt32(p.PointB ?? "0") + Convert.ToInt32(p.PointC ?? "0")).ToString()),
ExamResult = p.Pass
})
.OrderBy(x => x.Number)