From 5725cdbb95dce5f0457bc9f6bf0bb6daf3aa9ea0 Mon Sep 17 00:00:00 2001 From: Bright Date: Wed, 3 Jul 2024 15:39:19 +0700 Subject: [PATCH] fix report --- Controllers/ExamReportController.cs | 69 ++++++++++++++++++--------- Report/Recruit/rptCandidateList.trdp | Bin 1411 -> 1727 bytes Report/Recruit/rptPassExamList.trdp | Bin 1553 -> 1862 bytes 3 files changed, 47 insertions(+), 22 deletions(-) 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 9a1a2438f2470bb1dada323d8f042f83ccd55a9b..0f2192dd357033a64dcc883e141388c5563dc462 100644 GIT binary patch delta 1380 zcmV-q1)KVV3%?B*P)h>@6aWAK2ml~_<5)L8asC1Y004^`kr*+5S<7$ZL>Rv#@jr}w z=>gS_oit5Qva3xXv|?LUNf*x3c$!!{_C)r0HwAIv28cTkaaj--BrXVq```FaVP1~M zk7Sd+q)NTb_sz`r{C(ey$GxXZAA{E@j64$b4clxO00mRxdcmx3#PnjnV?2HG{(HSK zT9A-}FFcpd`-anhFq>U_>Kou?;L*=6P7sXZ5cQ2AW1T{ujlu;TLf3O4MbEv68h|MZ zqP{Vwbn&5OMbkO*VPsN-QRuxgr^L5Hp@V6*oQBi19Md+KY5;o26#0=DGU5fCp(6xc z6i(2TGPA)E@@8||HyUQQ-SvXZf<<|u5+|hSA_e0NE$M)NEOieZ?qDwbuq_zR(FG^@ z@Qf_9iO(U9nc6h@Jx%^jli$+h`!xA4z4|sy{z{Wy)8s0>`Yui0rpdo)@@Ja-lO{i= z$xnQ6^@HHBWxr(BQ)!Q8voLc)FEIk#*k{70H^4U0Vdv;jBB?SELQ`9UA7{OkpZlt0hX{pkDR4Kw_`L9+jY^j z%>$>UMYBKh5OyQ;<0bUD-KFrfocoSX>n`Hc;i%1H)8wRz3?E9I@lh6)y?p@ozz2XA z!)ffFqmU7Mz*;efBxas)9@yV21?}*@V`lT1S>=6y0}}Gul*+k>rzAi;wv-Y-qhu81 zcr4>1i8bPe1d~vT8(=tnmCIA46sQO#QBi9|iX16)%H&Idf{^0GPzkGXb{kOitU{Nw zDs3*C`3Ou^;3#o182lKc%ucNjhaj3Ze4A;_lYWRx7Y= zHad2(Lv;^o+r8GDzS5f0vHNwY%$!D@VM6)MDozu$WxpyTyO5_+6;25D+#KbKlwnZB z#zL&fzRi-X2)}u8Y9cFTs?Sxscs{oQY;0qH2Jh=3-??Mt+bz>>cGg4x!0a~K8{t2S zG3FR77l3`ReF1P?4-Ec_dc^-V@!zxR&V!x=c+D{(CswdEyDf1vRlO;#4$-Js{pvQ{1#wo_F)Lm6%WpB@_oUhElFktt<($#}){UjvuqGFFoihMZ?91+F z@k#i0?N?s6zRBIvMd7A>@||5$zpL+ZN4UcddF%ageRo{n8#i~x;oQS+Es(`@1#4bp>{erc@4AX?Dzf~o1?+=j!F`h^Nt*mouDRC3uDR>q zOdhLl=c;qItva##*6J<0OjLHM9cy0?3XcT(%jt*^TK95#P<%HnEZgPX^nPEm+K(?; z591}PfG7E=udNcuoFK~I{v($31qwg)0=I8GYcacE;6_u%>l-78Bb0pt3tSX`KZ&Q} zuZ4iukfqWKViHF}T(&ne>I8-}PrIXMjF+pIE=Qa@;|$1>R1f}QoCQyj*2-U9w)8%8 zO|nD;Cv${owncEpv0l%WFu#B<|0$#FbF?%$#Wa;u)SDp8;!eV1*XbbfEB6$g1t4qIPyPo`O9KQH0000803dvm8U*4FAbjIk mH$QRy0tEm7iyD&(1ug<0e3Lo_90E!OlUM~M1}p{u0000*;iwq^ delta 1084 zcmV-C1jGBk4TB39P)h>@6aWAK2mk^D<5;BDiH61l008z9kr*+5SWA!GL=e6s@gG{g z>;bJ`Gdnw=nM9d^(MDvKXuSc6TgR@QX{GJ9>^5w;aRbDihqwg91&Ip+;r%!LQ|Omx zY|re5<<tTUWWes`{(1tIIvPeUVc15fmk1+0+SK-$9VYEFsx)>QwxEf9%}8_4;d* zQ^;At(FY{qtEm%z`tBf%QwKfB2!HSV7;sq?Fm>iqb%IklDsn!@2}v-Ad!*zJ`jD|y zIXG~TbeWY?XT^E`mgkl63Q}CU94HjzksGtrE3`KmgBSYYzzf~LkwG9dxyvCf^-v1; z@e+;zCs0HXbGZR@1Z275%1t;VSrbd%pJ%OUBW;UXaRwKEe8w)ew%XYC-NTVq+=Fu^ zs^J;STOZ!Xw32Q`{e!4~5%u??{zBBhi_6bM{j;dQ6ZNII{9M#eME#qne-ibtqW((M zU#r38ms%sIecMFOO+2lbb(j%)`ANMYzC!533BFz{d`X$R|=8jB=T^8Ka4uQB>d{uN#1;BWNS%S?F$t=7B%ng{EXm zIBcOgT@av2>ArJ;Qx$g)o?-Z`@frRb_>2{6H`ol6XpvDv!!tE%P}$o@Xb-)C)LA&G z(uYt;VGnt0<(yS=CrXF*_j;fmK5NVZg_+l1H)Dl=I-AD1+TjVyKw-Bu{V-e~99b*}gH9Qe1?3xEiJn|lT*lAk@I0Le5u+s8%>?`D6{A8hbi-h9 z4Hrg#Zr~qY!-dUFg!WOF7oUo{7WI!kYP|WPQ^QIx8#g9irx)_JnxW>)+rTlQ{SHaq zyPF0nX-~OHb96&G`aACPMMde3`~0cbxw8MfNoU1Zh;@JWa@xfJ)zRHedifu`7-i=g z2E3eCQornUs!RLFY{3}c{xR#6oxDHoCZ*?pPj$*}@Q?M%qyKy5|2`YHh-Y36TC+4a zBjDQC*>MSrVC14VnD$O)6WRQ&<@6aWAK2mk^DlU4=d4gv$?Sftj8hQh($wg3PC6951J0000000000000gIlavM}2Ji#`0001% Cy9fFJ diff --git a/Report/Recruit/rptPassExamList.trdp b/Report/Recruit/rptPassExamList.trdp index 16aef50555a2130aaffcf2e567117d86ce528906..3f4bc818c3b02a8c61c4a23bd1451b9e3d31c915 100644 GIT binary patch delta 1520 zcmV48{%^P)h>@6aWAK2mrEt<5=)fJ|>9;000jqkr*+5TFsB#G!(xh@jqC( z>;Y{u$$X=kR-J)mS9F(ZvxReZ;+>6}#G}M%cR@(Bszl+8gj#U{#03cniV&Iq#(xU7 z<7ARJ$$k!K(MWUf^Ru7d$L~GI_KfbIc`kSggU~_#Skcv%0-!%bw&TyoN`z0g2g?0> z@4hoSgbNg4@R?(O$BiemGW6Fs*LOYOjkW;yM-!X`dLm|#jDOoj zoprcqz#zQxPMeX!H>{ZejOTJGY%qu?-&M@*aBMCIYkk*g!O^#t&-FF z|B27E^1KNOSfVD2GYb!p51DT}5bP(h4O{lWJbd`2b?eapgidF#4-PXy*qt7eVWo z`oA`RRdsb(ov5NMfW?HAtJMVA=Vgyhq3edF&QuA;1Bd9@o^Qi5x_|;`FeA@j(UfT} zEVgH*yp)tgQlZKA#SE_C$~j0a?GB4oYS_)$zOp=5p1u&}DapYvONnN*subgk-z?{H zg07i;g*cV+&_u3duW&BN#0`RIOhrldZ6>9EB>d*-nG-1`YMv+8@fEKDY;8P?cipFZUcX%r|E@Z0^%~*76S*$K zpp*dJ%O?O^>yE)+P#gTO7ys=wrA$Z^XYDdFBiSGXDGj^9^8=0U7Uq zS{X3Xs?GzW1mYFPgoGh|u*=qzMrI#47mnncLFZCKv%Haxjaszs`ouc(574}lQ^cpFXOs@v%&QS z*BMK~_53zIJ1#n(6>jHbP`@Pc@BGp6HUHHV=-%B1^7YSX8z@(Oc-MSkiy5_VR)wdj zw3j_(?I47!9`8#}_l03sdb+>N`>Cqm+6!uL^MZOeUQi2&;+*^_j!hF{_6L-Z27Lj8 zj~(A0D-SwUFUz;X8SNV@JC+-N!u0BmP&$5uqL7PA=cY>STfyAP z-3+81kFyt6gV*-M6v_!H0LUrR9V^ znR$Xv9gr5rd;b7XO9KQH000080J41JSd*#*;105U<5=)fJ|>9;000jqlb8iA1hRbN WSd+>H8UoP;lja2_2D1hL0000~Jm>TP delta 1208 zcmV;p1V{VE4v`EPP)h>@6aWAK2mqrII9Hq56Bkqj001-_kr*+5SzB-0HWYpzu>U~l zB@aWWi!DVS>=w0GBf*-ih|=wul^9#7BpMPmq3_z%Cdj{~P|4 zkrZW1itWzbmd;H8J@6b-hlk(!czEmIy@(_5F;26PBm>Qah6ZrrlORkc11+cL`>uBP z&f9PGPw|YT6nqqa26Q^mECbqptbs>KNIy6~#wg2EJkUm5b%J7EN@sM0f-pc7KL|6b z0p3lL4YVnxvv+kp^QSmQ8KgMEY4`;CB-T^e1MgS246CDC(A0Rx0Q8S2jx$;0!b3E{ zhZqGo^{`L5)8G(?lPMLxcfzFVf7WiMj7b}HgHmyZFX)heTvVfTq0@21@G8>=Ja8YSutnxuUYYv6rZvA zXRP>K)_y4p#jmWmWb-dr@hxvwjf0k+)x4Jud-Q39fpGg?6i#^HMmV83=(4`A? z5Osy(24Kw|bWN*?tZleUWDRK9-378Hw5@Ip*}*u(QINs=7bq6qw?OJz*N#&6zd*?q zG+qKES*_p^#gcTQRKc>h55OLH2Z*_GlE;s6%7s0Dpf8jolJlVm9oXM%p>}ZXpqTQjg3YSURx9TWCC2aBm=L8H@1O7l-y@uSQ$ z-?8F<51Do@Mb1(AMoL!0yqj6Cbr)6kaNl~oiN=TWrc5ctwFps@dcrobDT zc>c+*WL5afb8hp8gMa5uQuE0~Gz8G(5-F7+pYG|cOBIr#qrqwS}bDGz1?O%cUAqvFn zk@C-~g~@7$sU4!eha-+VNt-kG=?qsDKnR@kJdPqJLzJ~xxvKRcjUyHLR`0Fuls}8% zDY*imua|FNcm4uUO9KQH000080HYB&SCiib;0~h^I9Hq56Bkqj001-_lg$P$1fvl+ WSCjt+8UmaIlN$#m27Uzq0000`0Y>Wp