From 64e6de8e99e3b77699584dd88391449efebc4e32 Mon Sep 17 00:00:00 2001 From: Bright Date: Sun, 11 Aug 2024 13:39:12 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=20report=20?= =?UTF-8?q?=E0=B8=A3=E0=B8=B0=E0=B8=9A=E0=B8=9A=E0=B8=AA=E0=B8=A3=E0=B8=A3?= =?UTF-8?q?=E0=B8=AB=E0=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Controllers/ExamReportController.cs | 34 +++++++++++++++++------ Controllers/RecruitReportController.cs | 37 +++++++++++++++++-------- Report/Recruit/rptCandidateList.trdp | Bin 1727 -> 1767 bytes Report/Recruit/rptPassExamList.trdp | Bin 1862 -> 1890 bytes 4 files changed, 51 insertions(+), 20 deletions(-) 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 0f2192dd357033a64dcc883e141388c5563dc462..f0350295fddd56aa7b5c1789d3678071b3f9928e 100644 GIT binary patch delta 1443 zcmV;U1zh^S4d)FQP)h>@6aWAK2mpA330WcCL!>GN0000Rkr*<6OK;mo5WW}ae^{_U zeJD(dv@BbVl)zHr+Gy+=meZbTaV-&9as_hP$PIGHtu1=*1HGh0F9mujT9p1b{3+e1 zxO^${6ENTlu`{zfJFjoJT=t&K0|dT?QS9TeZ`fwb05BY5&krYkBOzz&+s2c}AAZm~ zhBF)y@Rje8Y2R>vTINRA9tQ?^5&GndvjgbHNd)`Gkg^WlfR3UW8M>bDxdcARVc^Clfe1$aOLL3^E8=_5oh_&3Y*>zI8+2;`diw+hF&|Rm$eqAF z=z1_3!7-s`gFWa^rlfDQ%x`d@bOZI=F(rN3tBMRxIBmcGlBqPs&Hy0MES`@r`+1dEI5 z@?9JfxxvYQ9vHcidzysc5WX_N$p40N?aqwmYJibPXG94!fK@cW;uh$Uvt;Nl8O^Ou zT{LZT(`jqbe0@Z13?OweHlNMifZ1+x*_%?N+Rj~vs(l-w+GYiuhiQY6GDvJFN{)?W zfck6e0IY#e0K>&$5}d+_5^KO(Fo!syo-iI*Un>QFZR@UMX0w=C<#hubF_?iAG9 zt8sRfqUc$LhG$heo{~I;#Pv~48{BT^ZP3#vEpLJDDUE*)S;y|`n6=HWhFH_iJK%WH z^$AmdQSMm-?46h6IfMwsC8jcg$-pswwI6zLPSqQLrZNe_oTkFj%w;buB@?7mu1Ky_ zyt|mYHPR{qJ7#O!E;g&~W^L!!`_!%vktcf8zW3(ikLFJw(Z|lC65yOxor&Cx>tRn* zv|{Hf*LWdgB|MHW^1Zy?B`E?TiKURN=)OsRa8{IGAEuhh3Sf0vwV&s*C1pn!szSdS z2Ao^QfZaCjjqPR-Y?|FxXDJYN6NFd|HbcSQTpbE**Lwy8Nj)Ipib&{Lb?=CtDD|3G zhY&0Z*zC6X>#FKaX(p?5XQi2T%WR3m=_*R?+L_d=S_gU*&NWU^ZUuo=m6f$UtMbl& zr3OYJJsXyeBXsF!5l&_mdw5#7sBn(R*;U;2IG=vMRUOfUb-}ZmR?70=;*y8;mdiY> z=o4Ay&C-^6GI>DVrBUasiaI{~#_*;N6O~nRMdOV^;o?BQSlz{# z)LpD@7Ozzc(=KzZdbhV*orl}4`*FKfs3&pfug&6>If8`!8i;AqXE6HQ552yBvD2n@ zxuF-2DX(wrx+sR~W0==P@#A>Re`@gZ8q!qyVS3AFJR=(pvbd>lWTC*9414a5ROGs3n|poalJ2g!#zz*gqR-pQEM8DW<8M zqTUE18h0EOVS7GzCI#-*yPo4rQ@Br{*yy|kUQXW^ct^8m;*LjE5> zEiCaRGSyE4wX5p(h4qU0_h($wg3PC6951J000000000000456lLjURR0aS5006)Q!5{zt delta 1382 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