diff --git a/Controllers/ExamReportController.cs b/Controllers/ExamReportController.cs index 62a2176..a83624e 100644 --- a/Controllers/ExamReportController.cs +++ b/Controllers/ExamReportController.cs @@ -10,6 +10,7 @@ using BMA.EHR.Report.Service.Responses; using BMA.EHR.Organization.Service.Extensions; // using BMA.EHR.Core; using System.Text; +using static System.Runtime.InteropServices.JavaScript.JSType; namespace BMA.EHR.Report.Service.Controllers { @@ -284,13 +285,15 @@ namespace BMA.EHR.Report.Service.Controllers .OrderBy(x => x.ExamId) .Select(p => new { - ExamId = p.ExamId == null ? null : (p.ExamId), + ExamId = p.ExamId == null ? string.Empty : (p.ExamId).ToThaiNumber(), FullName = $"{p.Prefix}{p.FirstName} {p.LastName}", PositionName = p.PositionName, ExamName = ($"{p.PeriodExam.Name} ครั้งที่ {p.PeriodExam.Round}/{p.PeriodExam.Year.Value.ToThaiYear()}"), }).ToListAsync(); + if (data.Count == 0) return Error("ไม่พบข้อมูลในระบบ"); + var rptFile = Path.Combine(_hostingEnvironment.ContentRootPath, "Report", "Recruit", $"rptCandidateList.trdp"); ReportPackager reportPackager = new ReportPackager(); Telerik.Reporting.Report report = null; @@ -299,7 +302,10 @@ namespace BMA.EHR.Report.Service.Controllers report = (Telerik.Reporting.Report)reportPackager.UnpackageDocument(sourceStream); } - report.DataSource = data; + //report.DataSource = data; + report.ReportParameters["ExamName"].Value = data[0].ExamName.ToThaiNumber(); + var tbl = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"]; + tbl.DataSource = data; System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); InstanceReportSource instanceReportSource = new InstanceReportSource() @@ -402,8 +408,8 @@ namespace BMA.EHR.Report.Service.Controllers (p, sr) => new { Id = p.PeriodExam.Id, - ExamId = p.ExamId, - CitizenId = p.CitizenId == null ? "-" : (p.CitizenId), + ExamId = p.ExamId != null ? p.ExamId.ToThaiNumber() : string.Empty, + CitizenId = p.CitizenId == null ? "-" : (p.CitizenId).ToThaiNumber(), p.Prefix, FullName = $"{p.Prefix}{p.FirstName} {p.LastName}", DateOfBirth = (p.DateOfBirth.ToThaiShortDate()), @@ -413,15 +419,15 @@ namespace BMA.EHR.Report.Service.Controllers 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 ? 99999 : Convert.ToInt32(sr.Number), + ExamName = $"{p.PeriodExam.Name} ครั้งที่ {p.PeriodExam.Round.ToString().ToThaiNumber()}/{p.PeriodExam.Year.Value.ToThaiYear().ToString().ToThaiNumber()}", + Number = sr == null ? "๐" : sr.Number, 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()), + SumScore = sr == null ? "๐" : ((sr.SumA + sr.SumB + sr.SumC).ToString()).ToThaiNumber(), }) .OrderBy(x => x.Number) .Where(x => x.Id == id) @@ -430,7 +436,14 @@ namespace BMA.EHR.Report.Service.Controllers if (data.Count == 0) return Error("ไม่พบข้อมูลในระบบ"); - + var data_ = data.Select(x => new + { + x.ExamName, + Number = x.Number.ToString().ToThaiNumber(), + x.ExamId, + x.FullName, + x.SumScore + }).ToList(); var rptFile = Path.Combine(_hostingEnvironment.ContentRootPath, "Report", "Recruit", $"rptPassExamList.trdp"); ReportPackager reportPackager = new ReportPackager(); Telerik.Reporting.Report report = null; @@ -439,7 +452,10 @@ namespace BMA.EHR.Report.Service.Controllers report = (Telerik.Reporting.Report)reportPackager.UnpackageDocument(sourceStream); } - report.DataSource = data; + //report.DataSource = data; + report.ReportParameters["ExamName"].Value = data_[0].ExamName.ToThaiNumber(); + var tbl = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"]; + tbl.DataSource = data_; System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); InstanceReportSource instanceReportSource = new InstanceReportSource() diff --git a/Controllers/RecruitReportController.cs b/Controllers/RecruitReportController.cs index 612758d..a0e2cbb 100644 --- a/Controllers/RecruitReportController.cs +++ b/Controllers/RecruitReportController.cs @@ -229,14 +229,14 @@ namespace BMA.EHR.Report.Service.Controllers .OrderBy(x => x.ExamId) .Select(p => new { - ExamId = p.ExamId, + ExamId = p.ExamId != null ? p.ExamId.ToThaiNumber() : string.Empty, FullName = $"{p.Prefix}{p.FirstName} {p.LastName}", PositionName = p.PositionName, ExamName = - $"{p.RecruitImport.Name} ครั้งที่ {p.RecruitImport.Order}/{p.RecruitImport.Year.ToThaiYear()}", + $"{p.RecruitImport.Name} ครั้งที่ {p.RecruitImport.Order.ToString().ToThaiNumber()}/{p.RecruitImport.Year.ToThaiYear().ToString().ToThaiNumber()}", }).ToListAsync(); - if (data.Count == 0) return Success(); + if (data.Count == 0) return Error("ไม่พบข้อมูลในระบบ"); var rptFile = Path.Combine(_hostingEnvironment.ContentRootPath, "Report", "Recruit", $"rptCandidateList.trdp"); ReportPackager reportPackager = new ReportPackager(); @@ -246,7 +246,10 @@ namespace BMA.EHR.Report.Service.Controllers report = (Telerik.Reporting.Report)reportPackager.UnpackageDocument(sourceStream); } - report.DataSource = data; + //report.DataSource = data; + report.ReportParameters["ExamName"].Value = data[0].ExamName.ToThaiNumber(); + var tbl = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"]; + tbl.DataSource = data; System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); InstanceReportSource instanceReportSource = new InstanceReportSource() @@ -254,7 +257,7 @@ namespace BMA.EHR.Report.Service.Controllers ReportDocument = report }; - + ReportProcessor reportProcessor = new ReportProcessor(_configuration); RenderingResult result = reportProcessor.RenderReport("PDF", instanceReportSource, deviceInfo); @@ -294,7 +297,7 @@ namespace BMA.EHR.Report.Service.Controllers (p, sr) => new { Id = p.RecruitImport.Id, - ExamId = p.ExamId, + ExamId = p.ExamId != null ? p.ExamId.ToThaiNumber() : string.Empty, CitizenId = p.CitizenId, p.Prefix, FullName = $"{p.Prefix}{p.FirstName} {p.LastName}", @@ -307,10 +310,10 @@ namespace BMA.EHR.Report.Service.Controllers University = p.Educations.First().University, PositionName = p.PositionName, - ExamName = $"{p.RecruitImport.Name} ครั้งที่ {p.RecruitImport.Order}/{p.RecruitImport.Year.ToThaiYear()}", + ExamName = $"{p.RecruitImport.Name} ครั้งที่ {p.RecruitImport.Order.ToString().ToThaiNumber()}/{p.RecruitImport.Year.ToThaiYear().ToString().ToThaiNumber()}", - Number = sr == null ? 99999 : Convert.ToInt32(sr.Number), + Number = sr == null ? "๐" : sr.Number, ExamCount = _recruitService.GetExamCount(p.CitizenId), ScoreExpire = p.RecruitImport.AnnouncementDate == null ? "" : p.RecruitImport.AnnouncementDate.Value.AddYears(2).ToThaiShortDate(), @@ -321,7 +324,7 @@ namespace BMA.EHR.Report.Service.Controllers 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, + SumScore = sr == null ? "๐" : (sr.SumA + sr.SumB + sr.SumC).ToString().ToThaiNumber(), @@ -331,7 +334,16 @@ namespace BMA.EHR.Report.Service.Controllers .Where(x => x.ExamResult == "ผ่าน") .ToListAsync(); - if (data.Count == 0) return Success(); + if (data.Count == 0) return Error("ไม่พบข้อมูลในระบบ"); + + var data_ = data.Select(x => new + { + x.ExamName, + Number = x.Number.ToString().ToThaiNumber(), + x.ExamId, + x.FullName, + x.SumScore + }).ToList(); var rptFile = Path.Combine(_hostingEnvironment.ContentRootPath, "Report", "Recruit", $"rptPassExamList.trdp"); ReportPackager reportPackager = new ReportPackager(); @@ -341,7 +353,10 @@ namespace BMA.EHR.Report.Service.Controllers report = (Telerik.Reporting.Report)reportPackager.UnpackageDocument(sourceStream); } - report.DataSource = data; + //report.DataSource = data; + report.ReportParameters["ExamName"].Value = data_[0].ExamName.ToThaiNumber(); + var tbl = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"]; + tbl.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 0f2192d..f035029 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 3f4bc81..9584e3f 100644 Binary files a/Report/Recruit/rptPassExamList.trdp and b/Report/Recruit/rptPassExamList.trdp differ