diff --git a/Controllers/ExamReportController.cs b/Controllers/ExamReportController.cs index a5ed7e7..1ec9eb7 100644 --- a/Controllers/ExamReportController.cs +++ b/Controllers/ExamReportController.cs @@ -336,11 +336,11 @@ namespace BMA.EHR.Report.Service.Controllers .OrderBy(x => x.SeatNumber) .Select(p => new { - ExamId = p.SeatNumber == null ? null : (p.SeatNumber), + ExamId = p.SeatNumber == null ? null : (p.SeatNumber.ToThaiNumber()), FullName = $"{p.PrefixName}{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()}").ToThaiNumber(), }).ToListAsync(); if (data.Count == 0) @@ -355,6 +355,8 @@ namespace BMA.EHR.Report.Service.Controllers } report.DataSource = data; + var table = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"]; + table.DataSource = data; System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); InstanceReportSource instanceReportSource = new InstanceReportSource() @@ -469,32 +471,53 @@ namespace BMA.EHR.Report.Service.Controllers try { var periodExam = await _context.PeriodExams.AsQueryable().Where(x => x.Id == id).FirstOrDefaultAsync(); - var data = await _context.Candidates.AsQueryable() + var candidates = await _context.Candidates.AsQueryable() .Include(x => x.PeriodExam) .ThenInclude(x => x.ScoreImport) .Where(x => x.PeriodExam == periodExam) .Where(x => x.Status != "register") - .Select(p => new - { - ExamId = p.SeatNumber == null ? "-" : (p.SeatNumber), - CitizenId = p.CitizenId == null ? "-" : (p.CitizenId), - FullName = $"{p.FirstName} {p.LastName}", - 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 = ("๐"), - 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) - .Where(x => x.ExamResult == "ได้") + //.Select((p, idx) => new + //{ + // ExamId = p.SeatNumber == null ? "-" : (p.SeatNumber.ToThaiNumber()), + // CitizenId = p.CitizenId == null ? "-" : (p.CitizenId.ToThaiNumber()), + // FullName = $"{p.FirstName} {p.LastName}", + // DateOfBirth = p.DateOfBirth == null ? "-" : (p.DateOfBirth.Value.ToThaiShortDate()), + // ExamName = ($"{p.PeriodExam.Name} ครั้งที่ {p.PeriodExam.Round}/{p.PeriodExam.Year.Value.ToThaiYear()}").ToThaiNumber(), + // Number = p.Number == null ? 99999 : Convert.ToInt32(p.Number), + // 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()).ToThaiNumber(), + // ExamResult = p.Pass + //}) + //.OrderBy(x => x.Number) + //.Where(x => x.ExamResult == "ได้") .ToListAsync(); + var data = candidates.Select((p, idx) => new + { + ExamId = p.SeatNumber == null ? "-" : (p.SeatNumber.ToThaiNumber()), + CitizenId = p.CitizenId == null ? "-" : (p.CitizenId.ToThaiNumber()), + FullName = $"{p.FirstName} {p.LastName}", + DateOfBirth = p.DateOfBirth == null ? "-" : (p.DateOfBirth.Value.ToThaiShortDate()), + ExamName = ($"{p.PeriodExam.Name} ครั้งที่ {p.PeriodExam.Round}/{p.PeriodExam.Year.Value.ToThaiYear()}").ToThaiNumber(), + Number = p.Number == null ? (idx + 1).ToString().ToThaiNumber() : p.Number.ToThaiNumber(), + 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()).ToThaiNumber(), + ExamResult = p.Pass + }) + .OrderBy(x => x.Number) + .Where(x => x.ExamResult == "ได้") + .ToList(); + if (data.Count == 0) return Error("ไม่พบข้อมูลในระบบ"); @@ -507,6 +530,8 @@ namespace BMA.EHR.Report.Service.Controllers } report.DataSource = data; + var table = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"]; + table.DataSource = data; System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); InstanceReportSource instanceReportSource = new InstanceReportSource() diff --git a/Report/Recruit/rptCandidateList.trdp b/Report/Recruit/rptCandidateList.trdp index 9a1a243..0f2192d 100644 Binary files a/Report/Recruit/rptCandidateList.trdp and b/Report/Recruit/rptCandidateList.trdp differ diff --git a/Report/Recruit/rptPassExamList.trdp b/Report/Recruit/rptPassExamList.trdp index 16aef50..3f4bc81 100644 Binary files a/Report/Recruit/rptPassExamList.trdp and b/Report/Recruit/rptPassExamList.trdp differ