From c9c48f96bc58060f5f13dcacdcd269e77424085e Mon Sep 17 00:00:00 2001 From: gcw_MV9p2JJN Date: Fri, 24 Oct 2025 10:47:08 +0800 Subject: [PATCH] 1 --- .../wwwroot/ImportTemplate/workorder.xlsx | Bin 10731 -> 10768 bytes .../product/ProPlanAchievementrateService.cs | 6 +++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/DOAN.Admin.WebApi/wwwroot/ImportTemplate/workorder.xlsx b/DOAN.Admin.WebApi/wwwroot/ImportTemplate/workorder.xlsx index 1f824e2cfe3a16401f8c40844cf05b609d19659f..284ba969c6e410868b91f271fbad408e9678a602 100644 GIT binary patch delta 2448 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 GzsbJ?K9BeS delta 2380 zcmV-S3A6T)RO?f)lmP`*lMC-slbHc5f2*4dZHFK1$-!Wii7yh8yDiwHC5d+X?@hZ8 zHxwUl&bdF%xg?uxbrpSqb*eTwq62~=Frt>qtaJ2IPUAZiInRycRc#1-t>!+Ac8wb@KKL4NLdXznfACy# z&v6Hgn-dWokW!qG&8Mw;fD{-i&|tj7bU^Ws*MrsW&xKw&b86*xP3Uxpd(M_(FP_|6 zr%uMUZ3k`I#|Zf;ew{rp`l_)q-K_+mB9np%3*6VXxR+WP<-F~t44*086)W!iEF65L zKtAk><$Uo@hsh`%rGySM{M!-GNPUw%A7m7=v3--HvP>VJ$|))mlHA0E#&leg5hDpB zManzCffNP0#*0*XHO<^L$Y0Z>Z=1e04Q8nYw=m;nwX z(W3oU1ONbo3;+Na0F&S;8h@QvTW_N{7=2%9|AXa+eH#cQX)c>&)Fw@@D^=6kooAOg z2`XULI88ghevfS+;4)IQJODWyAAeWdnSFgv6Y|Do5sPe21FuI3&mysjv)!Ej{eAsq zOi7_wwqc3L_?&+5f_`26{@d&*s|OMi!*8!rt%yOvE9ZIUy10D@=RF~$rGkvf3c7AqEdU`oTays z>GZ}c2{$jR?5k;MPBKdYs zFN5i0p8_|Ge`0j}I#Q?WT#LXnLU@)! zLGZsU8kItLRzm06faTBF0O!l0pG%|6)3BA704u2(8R$;=RaMm~wiQy=MwQdxlvGql zBNgLwa}iWo4KDiQQ)YkZ!@x9+tyR-HddXPKq&N~Rr+@GS3q9_(9&P&=K=(s9@(|Te z?NFd)^{6SlK?7)=ODhC6h7~~H7QLDOh8B%V##P18anVDTF0gWeYZq9%z>N#sy1<}EshjAl6Ydgn&dD(UvD zJ?pnUyDBNjY)u)oDa#I(VVh$1BGi3zqKh`=x96U}sPF*~doTlG_6JeY(%u3SIIe&%NX5Q}Ib^%Jc+;P3f7bFsg43iJg z4mEl@zL?F?#lz{9*@GQ?8BS66C|?I(hf~xcaKHY5tvhEs{uh(GI4ekkBMZ(uUOyNN z$EQu35^0YH9ba$|(j$hGUO1{Rw5UA;8L>&f*V-iaI4yImeHcZ_RtQ!7fN9#AXRZ!8 zPF_Sgm(TG}oD|TlLdG~3o8$1D=0YmTVx@htVr!#9SQ78DAFDxuCumKOre9XtMDKS`(T*y!ojienM1cHD5G{4 zLoW}QVu*wOho8M#rg9R=UvXb*8@p)tg3ggIshcI(-N;JBZhIdQlb z59_PY1n(O){Z-h^>M#J^(6M6YB+Dhv4jqPY*ajP|CcHP&V0Tz^Eh8Px;{y*x*#PVm zU07K(@kU^FY3~H9WjWfPL1!8-0xX&3;`1Faf2^U4Y-2LZf|V2`);!nI6<@H^zG(&eB5bvCqcXW+L@eAyTRvr);5M1??$a&fsBTNOCGCM z$TM6`?vo{OdbsokqB+(=@0LHTXal1Sw%VOCt`yq``zyd;J~5?iz5iu+rFT1p1C4|0 z0}W3v&KKtg+Rmnn+neA} AproPlanAchievementrates = Context.Queryable() .LeftJoin((w, r) => w.Workorder == r.FkWorkorder) .Where((w, r) => w.WorkorderDate == parm.GenarateDate && w.AorBgroup == "A") - .GroupBy((w, r) => new { w.Project, w.AorBgroup, w.Groupleader }) + .GroupBy((w, r) => new { w.Project, w.AorBgroup}) .Select((w, r) => new ProPlanAchievementrate() { Project = w.Project, AgroupProductNum = SqlFunc.AggregateSum(r.FinishedNum), + AgroupMonitor=SqlFunc.AggregateMax(w.Groupleader), AgroupPlanNum = SqlFunc.AggregateSum(w.DeliveryNum), AgroupCompletionRate = SqlFunc.Round((decimal)(SqlFunc.AggregateSum(r.FinishedNum) / SqlFunc.AggregateSum(w.DeliveryNum)), 2) * 100, //BgroupProductNum = SqlFunc.AggregateSum(r.FinishedNum), @@ -86,6 +87,7 @@ namespace DOAN.Service.MES.product //AgroupCompletionRate = SqlFunc.Round((decimal)(SqlFunc.AggregateSum(r.FinishedNum) / SqlFunc.AggregateSum(w.DeliveryNum)), 2) * 100, BgroupProductNum = SqlFunc.AggregateSum(r.FinishedNum), BgroupPlanNum = SqlFunc.AggregateSum(w.DeliveryNum), + BgroupMonitor = SqlFunc.AggregateMax(w.Groupleader), BgroupCompletionRate = SqlFunc.Round((decimal)(SqlFunc.AggregateSum(r.FinishedNum) / SqlFunc.AggregateSum(w.DeliveryNum)), 2) * 100, SummaryActualNum = SqlFunc.AggregateSum(r.FinishedNum), SummaryPlanNum = SqlFunc.AggregateSum(w.DeliveryNum), @@ -108,11 +110,13 @@ namespace DOAN.Service.MES.product AgroupProductNum = a.AgroupProductNum, AgroupPlanNum = a.AgroupPlanNum, AgroupCompletionRate = a.AgroupCompletionRate, + AgroupMonitor=a.AgroupMonitor, // B 组数据 BgroupProductNum = b.BgroupProductNum, BgroupPlanNum = b.BgroupPlanNum, BgroupCompletionRate = b.BgroupCompletionRate, + BgroupMonitor=b.BgroupMonitor, // 汇总数据 SummaryActualNum = (a.SummaryActualNum ?? 0) + (b.SummaryActualNum ?? 0),