From 9235bdd262d6051f18e70e29b1c815b86523ed09 Mon Sep 17 00:00:00 2001 From: xiaoguo Date: Tue, 31 Oct 2023 22:53:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=B8=B8=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.vs/PVDEMCS/DesignTimeBuild/.dtbcache.v2 | Bin 159744 -> 159744 bytes PVDEMCS/.vs/PVDEMCS/v17/.suo | Bin 168960 -> 155648 bytes PVDEMCS/PVDEMCS/Common/Constant/Constant.cs | 2 +- .../Controllers/EquipmentRecordController.cs | 88 ++++++++++++++++-- .../Services/IEquipmentRecordService.cs | 4 +- PVDEMCS/PVDEMCS/Services/IEquipmentService.cs | 4 +- .../Services/Impl/EquipmentRecordService.cs | 4 +- ...ordTotal.cs => EquipmentRecordDayTotal.cs} | 5 +- .../EquipmentRecordFurnaceMonthTotal.cs | 23 +++++ .../Models/EquipmentRecordStateMonthTotal.cs | 28 ++++++ .../IEquipmentRecordRepository.cs | 6 +- .../Impl/EquipmentRecordRepository.cs | 39 ++++++-- 12 files changed, 172 insertions(+), 31 deletions(-) rename PVDEMCS/PVDEMCS/Services/Models/{EquipmentRecordTotal.cs => EquipmentRecordDayTotal.cs} (87%) create mode 100644 PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordFurnaceMonthTotal.cs create mode 100644 PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordStateMonthTotal.cs diff --git a/PVDEMCS/.vs/PVDEMCS/DesignTimeBuild/.dtbcache.v2 b/PVDEMCS/.vs/PVDEMCS/DesignTimeBuild/.dtbcache.v2 index 8c588b9a35147da3d035c5e222ac17272bd9d53b..337b8f78338bda29ebd3d5d401533ce8752888a8 100644 GIT binary patch delta 16159 zcmb80dz??j|HpS`P$WcrMTwG1o0er!inQb&5>kX+*IYI>A^B*NBx!Bhl_UuX32g`o z2?+@)-E_aFdH1Q5(C_u0Iq%Qz&VRr2c$_oO_c_mb&-t7^pO159#*{D0PWhs&`f9f7 z(yDoC+Ms4>jhZ%Tn3mGKamIiqX#*NI%t*@|kTEDNwMnA^1DmA|8ZfxYz-Ac(nm5gC zJfLAp!-0cRQ!~>t2B$R4OiP*lM0KMZHD2@5)KV&~pkaA^L2|~}tTCg9H)wtDuo0QP zhGh@E_3mL=H;x)GV#35hW5y<(+kRx$h+!GSvfc5Al1o35Tw1M9F0EHoQ}qkfh5CXj z-3Mii9+R0qU_y`4*#ky2$QYZH><*mc4|E?S6A04c(AUn9$Q;FDd|ng14v989t2CIU*0i{97-s@QT7{?n?Zo;}5>jj9HqI?7E7OZcUPKqUM1uVn5 z4eNHS+}K-KcVK-R>rSk@uyW$vSl_|A2P-%7F4nzR_hFTj;SW>>4edwCdEdjzbq`>b zlX@S_^$(VgB_;7?IfQ`E@G#a7upYtsA=Zzu9>w}GR<7^~)=#m1hV^r-l~DH>O0Lh1 z{l9Zufl7RtzCbCLo-Zd~W-h-($;O+#0t% zQ1pn~+fdvVw>?qxjN4u)dc|#T6usm2b`-bAZ66eU;`R=lNgI1-Tie(6vv=A49tPNf z9x`kuLwh^O4)!p_4)rk14v%@d+m7%s(vI>l+GcsU$BywZ)@FOS*N*dWpB?XEf}QB$ zemlv-19q~9n4RL`L7U^@Av@K>!**KRm^-yc>~z2DQ9HxKV|J#8$L%Z+PuN@!vu&P- zC+!>$PuYAA1$M57r|mos&)E4Mp0x`+JZBerc-}5*Yh!$6Ua*V(t|fMr} z9#+_u9$vPqJiKC8dst)FdU(|qdU(yQ^RV7-@bJ3b=wXxH?BNZ&1rS5?Z`!SX*EYM| z!&`QThqvuc54-Gc5AWDL9^SQkJ?yjlJ-lZRczE9)^l-=?_V9r{;^9O4k%y!9V}@9J z`-%P3@A}Ms?%|mI!o!#LD-U1WZ#;Z!zw_|D{ei!+Kjx{^t(6^qbKLgB7wjiHJZ^t> z-!c#uzePDTGJdf`6UNYZ9N%8-@D)Zx%CB|=l!A+|(pArmb{)5)c-M{C6^nNLX0sBB zvRqSci+p1u!`d+kV~jK07REO>yO8Yf3BjMjH?D}=>?p+_HalTtyE@rTBV~M~{AtH0 zl<`h+TeLDUGXAm?VHCXIRG%L^5$*fio`~Cjd@5JzM3nYqB>ZbnmK07#!l_6&ZBLaH zPDR3*Nchj5DJh(Z#|suD>$7h60x3mFs)WL^TS%)&G74N$LhPkdB9&HDilu@x$+}wf z2cokSl?iGh_BGFznq?K89Y~11R8FLG6qO4k#9k^d(z%MtJ86_Zf-UdxRt2#tDyk5q zLhPkVBAutGQXnDrQe}~B~Ra_Ns1OJ7G(?Vu)NU-J^Fd8wjH0tvB~ z>WXxkqPi}9mure{h|3k#3u+?vHLsAGS1P(9kPv&RzDQRosvk&*y_77{)ryjxRP2Vp z4sSIO>l#H3f>emTlp<0?MJa)V*h`H>N>$W|rGjoLMK?qfMU8`+h<(j8so7LfS|B0z zQZtd7D{AJ_Z!MPoIz`t8H4*!oEu`l4idqB`VlUkwQcFcQxb)XFEIRue6}1X#BK9>~ zOU;`UwGJf2UP>3KjiPjyegV?UFT~A?+6FZd`v2Ib+B}j$XOI=0krl@NmA@)*tk#1Ggouz{38x>vB+Z6Q(Y9jVE zdrHk-ih2eTVlVX;>2^iEUHVF?Md|NQ)F-Hk*w?&MYW7uhXCNW=Qa_RIQq<3-j}=Ql zKvDmoCSqT6pw!GzG%%15dnr?-L5eb6`r}A1H^dM{gM*rgea)d#bC{x`frQvg!$rDV z(eOY*?4=PRjZ`$kNyTmm?C{nou|_Kz6{JG!r7V%|QIr)(h`lsMq_K*|uv9>ei~eHw zD#{LOBK9@MNzMBdjSD2iUK%gb1V!Ur`un)AR+eBWRYTu zCcE_S6-)o1qA5X5#J*;Z)O<)$P9P!n(o~TiRy5V6zag#YhImBLw4f$pUvs+Dd{oi& zKtk-L86rKVXht9*_R>s|9#=HeNyTmm?C{nsv7S&gD@cXdOSvM=R+Jk^h`p32(vynv zSSq-&Y0+nXO3|F4CSqSRUuqU8$`2&OUYaY?(~9N=(%eY0lcVRmXOx}npI>8mWSz_z z{1)Y;$eFL~q{K7sB&WD7l$=O;R@t0{lH(M&g)%i#7AQM4p-gp(+d`Sf3fiaVl%1Av zra8xL;mnBAEL3(zLYd(dw?*ye<%2I$U|d%|>KBgPLNAE4Sb>X4+&*@=#ZHe}TcYgr zL~GOe7-F~3Qc3ip0vAh!Jc!+5XGVFJDLXTfXC@y*>=t?{$`hmI3PH(4h}~jmMTu4@ zJ1dcB79T_G7FsDM^s)k%%!AlVt3-N5(W(+sEY3T;wOXt-idL7f;vBoh=0&HpR@uD7 zDdq7o#9qmblvkC_O(?leaa&xfLTM`YnnFf!HmyO|oxS;F70+*h_DTv_sKbEEO!guIQ(Kr=qumnuvYPT~c$m zqFsT6*h}w-v`5i9E`7xoMZZ&f6}=nOMC@zslbZV#?F%HtZm|oZtMHz(3ldjh0Utx` z7CIn#-dA9M6$%!&&{gD#;gF((L4L%(@?oj`fuh5KgxD>1esmH?l%1bAiTQjCv0Lav z$@7r{`;)+rg&d6Fs8}B>IvTWw*xR3o^r@mx0tvB~J`?G4MV|!{Vzc|4ACO|j|84nQtUty2OVNoS)t`}MmqzFPx3WtU=e^XOx7*@U{v&x# zD*89b^N-7e>u;AwiB2iIJdtR*OXRjlbXpRfQS@Js=(L>B$|z5gwks2PR=PZHi>6jZ ziqdwKQ|jO_FtJ6nI&!qOtKk&f(kjteM@HMViPURdHMd2z!l+s)Z3`1hp;O!z%DPA? zt?jymvd$@P3uQy3l+kuWLfL@ZgpaX_a%1G2rR~Oqv(X=NM%-?Wl(V(noKQA9#cgp( z%j(D}r|BGB@(wPmeI69$Cif;=(q6{m)p8U=|`q_tFOt+A#i zfs`sznn+DGH4CIPk(!Hit)}ZD$$ftQbj`(TA=dSpZU|Df5UHg|tu);jNG(NbEz(Vz z(gUe=B*mzWSZy`k99V56RXdT|Yw8e4?L_J*QYTFv0|~KPsIy32G~J?c{fqxjcaAK( zBl_!g)pkeXueZbf_1qR0teYh2uIbjGwQkZ{50P%u)H9HJu*BD&dWqFr)9r!POH%a_ z=?+bI22vl9`ij&~(_MkoSET+T4bT)D7+C$q$`C74)1W}gh$Oo+x=w?&-I=&fJKc41 zTYR`7l4q!G)mLxKpH7hmPq$#8WTuaB8?R(maXaD zz#1#oII-^2G(M2Vi8Mi^iJI;YqzNKT66pa=lZ#9E{4`0dm{?OZJy_g=6cZ^&q=z(3 z4Wt~A9u{eurbhzlVUeao^1nZiYMK#P)5UsBQq9!#cpyC{(kzjl(3BfUvqYLLQl6$K zBPsFwGh3`VVm+lPKS(u4qymxVYI-`53PhSG(leUo2hzMqiqW%TEztB_U_C3T7K-$| zriFoo*e$e3q!%J_w{kA{`OwLrotQ zN$&4YN5ncR*2kJYDYE#_M@L2aRHV-|eI7`kigZk*FEo7_NXJC_O3Q2d*P6ZwtgpoS zR#JVZ>H9$XR-_+9`cczQf%Jn&Ka2E>reB>Tzd!hVKZ|u-tlu=*Ak}e^NTlC2#RG{% z`a`5YHT@Mxe>e&4(+RQu*7Q$cosd)~Mfz9MsX#g@(rJ;-X!U0Tdysg6i>MY_yTy+Eof(&ZvuVd%<0x?H6C=4N!0@C(RQhLQuT zzF1dFss@Ix38bqR@pF zi@$)h6RV?GoeXsjQgsxmi%7Q^>KaI0MCv9|cSE-ZQa7~kzkWT$y3J6}!0I8XdWqEA z(CvZLOQb#`-C^j?KUy)+{4BZu2eZ}f8)&N5T1F3%`**(#(S%$HD5)T}E_){VF zA1+h!3^FvhWS$shN^3*J8fs`rNsD8jYM4mF4c#3`!{n6qMyE8w*u9BU+RF(L`#d9~ zJTV$&XmpThq_mbLt=(g2Odw^6G*+Z+L-z*KSdqqwbf2N|#U%IpGfu1tVofx3e=!T^ zOcO+!B+>(hCI`|akzyiEG4x;{C4TdB62CtW8JZecIZ-ORKf0O^8@oSoHTUynMC=xO zAX26odmy14aEjaF^dFHEnr`UPqNd#akAprD%@FG`Lo{?A{CDB|@2Ihd6MvY)?hoU(IP|f>9A^3i+dTTzw2NaypP4v)Zftux z#ygG~`a*Vm3C~S-ZqL)2?NAh$%RB-F<|~gvfjP=qC@?R142m(BXBbrfE0!lKqH1mfW{1s0ci|rfMyKM0M{~H z3uwX60&oKZCMsfHBA^wZHA8DaIzu|3Ekj#CJB91dvj;Ib5YPe8iJ=pq3quz`SB9>D z?hM@lJs5fbdNT9`^k(P{=)=$la3{l^fPM^^D2I7*fc}7i3V^R!a%!IMC5YLKZatq>>sJMz@6<{^PY8ZJiFc~EmMK0!+xcjdV!a5e# z0X8sffSC^^KaS}gh%u)FQ#b&aw_)ev0Oo4ULoqLoxfj@t2^W}O0l*{+%&7oiA_eA6 z05Dksb0YwlAc6T108E0woCg3VI>hV(q*;I;INospM-DO^1RQ2KjP~Zkm>qeJ zfXM>@%oxA~0RUzNU=jcTBmWrZ2Vig?WBC9c&|iqk7_?u6Vi6C)V>iayF|-cAczO)u z=O7+LUkqh&97E!We}VEF1ID-McZS~qe==a0+Af8XV-FdDoX1qOWAqQDq$AqtG+u0w&b+Smq^7?9nF0%NY5QEcWRR3yS!DTYY_7!I{t za9|6Mb|S8X163HR;J{WK*vf;Ch%o|5H5h6DE@HR{P@ADP;8F$*2x7PofH6M|>GAg; z1ACOryD)fXwtsh!OQ*=mF@(fPo+C!_WuNm!U79KSO^&1_Q=n>`tWF z$-^v&hv2|)hT(vb3?l(q3|WA&3}XS~7{&o6#F!?4CNWF`xIHmI4)4K;0zJ%tQ3IOJ zfPn#ei~*hhG>ZWp{4|>ZefTtoVGf{x0e$f_k6|9*S%zl;3mMRDjvjNq{^%R0CAbC|X;paYn;F`$o^ zb}*nHmv%9rua@>O#Lyv2`QZE0o|N*i~(Jl^c4eo zE9qMX^hnYV4Cr-4pCSMqi*%d;orgpW=pdv&82;c3eS!%ceRPrmoq2Sc0UdUfWB^Hc zzAy~vccU^4=v$+*3}pf38PG*W6&Wf5Dl=3DRAs0NsLoIwP?Mo1pcX?dy#J$P2~-EW z>N3;?T+VPgpgsdSg6L|7s{tttDS%XlR6rU-8lX8tb3h9Q^sk_21<(@EngQJ;)P@0F zA=Himy&W;?$b>Ep>cW6-3+l$u4bX!Dy${rj0X+=VhXK6^)RzGr1=ODbodI?a?u9-0 z*OcQ-92mkd1Tc&N@8)(djJ^0ua6A$RvH&q`@txpZcvq%z4C4S381TwVlNj(?OECt# zE>I2w-cId)bUcCs@ElHu81Sr3 zM;P!tZ4aY`!}t!k=j5+V2m0F3H-@+08v4%A_lABj^dqWZ*H4CiHuQ_3Ukx3P8UEj} znRMLPLD;bWn;~n64E+utyW)oaF!ZPM|3VA-HnS5R(&>b8#oxa8#}_Ak@vkpVMGx+s z>9oOY<-S4$lPfF#h-)HT8)-z-O^*gWEKKs4SdGB@3oaa2pbN1eHj+~ZrPVTH z)QK+7H^-||=T1rLOjl4B)Ll?_Mcoy3H`LuwcSqeFbq~}%l5{1iE0fd{RnH{#Le(ot zS9MAz=&B@LjqvIu^+we@N!OsdCP{rz^+{4+RDF|lEvjpibRDYelGG1Xza(9cGr62@ zxSaaajdT+Y@NhE?^e~793tT}%XsCx_G~B~2G{QsTRvPJP6pi+98)bR8oyK?=OXED; zLE}B#NfSIwq)8s`qHGU$(>)$0)4d)Nl;hz(n&RPpn(E=46G9lM#jnyG%}@(^m}BDB%@>FM;e_nM*BTZNK#g8{6twPBg+|X zjT~cQ<7XO^G7@8);?__;@9e@~h*Ac-EuYI8!niocuQV=YjPrY(kfaH*0ZJJYoZ;5U zF)22Fqe=Mw$JcC+#EEF6o4zhdEU`s-xjuUI(l z1U!@eN5@Y#j>pD{IK@A7;$-237r2b^1{(v0Q&{&xTQd=Fj0{`Z=w(?;>=rJoEz243 z$r55Ol~?H$!{q}Bv6oI&=`_QqIw}6Rv0FBHtAbkpGF%}@h1g3KRXW{p#Xv&rrAjKD zVYre=h4q`-n%BpFa}~ptgO-SW%c|P4n&GN}gxE{fRjOgQx=Wu|D*e9=*9=-B_AP5^ z%i4x(1rlN}ovG4UhR<~A|0$LJY{PYemWX}Jy4tdy;kto@*h}ZARNwG9E`8QTB{#%> z3^xc`BK9pCYRhvCHw+}iUOG>u^9`RDNQk}ENTvT8Zsep=Hv~3#tFc-a7;YS-LhPj` zDqU!}NgyHiQd5;KGTc<8!m-UtZiqC)&4QMQeaq(BvW4O1frQvg=_<7}obJ*eDV4sp z;Z{LQ#J*)4ZQ0gvn?OSBrFJS^Y`C3E-z%-;?Asf@Bxs4)x9p%TFE!jDkPv$*L#4|M zXSnp6kzSt=nT9(CEfM>cowViUhC2lkVlQ=8=?cT00|~L0x~SCEa2F?)x*@Q^Tiw*^ zZn#^J3bB`ZsC1>_9)X0|OFdQUWw@tEg|9U)xujPczA9*m*thJhEw3@$JCG22sgFv1 z4fk>Bo3$uOf1TlLgO-SW%YNGOdc*w!39*-MP^rJ+8(jLQOQpZb@Qp!B#J=SKZF#fd z0fB_rO9NFJWO$%UUn#xhh8SXaaL^L5Z#h(34l_J7kPv%mxJtJe9v(=Dy);6lTMdtJ zQmGpP8@x4Atx<+Y2B{ExX|zhW86F)-h`p4h((Q(`L@KP(vg8vRYj{l160vVNPFvn# zcw8VM_R@Hj?le5!rOzpqexl(CK}*EGtUP6CYD$^vUlpdt zN17fx^9@Z;In!Mlx5kgYr}fV-GGJU?-&EETyM>=oX@LQ|?_^tB4R51y{)L97rSeac zHi&)GMcVXP!;6Cah}}Xn;yjBD%}C{$A^Q-!g`d+rOAOeZXMMj5CyEVjp_y@_rG{oA zQQ;gg*{5wB6}Wdl~r?UdNVT9wurUK>b=-9iQN zDXlkDkUFIT*@xIIyuox%xYt$QXb_xyG{oL|MUS@0@GF6Y*ex_WKH95>W~YueTlOLL z%A8o)Y-mnONz8GMTjL^a(PM2j;FC`Xv0L~xm9`o1$r55Oy{^)B!>G_`V&C*l&A;35n}LMbOM6t>Yj{r}A$AMRi%;P#L-YJ~!A$|g z;@7w?#hU1C13vjrM(h^er_z1{K3PKSr2{IxWB5QIA$Ch;nj4?fK|^zKPK8@9#*^<| zZTgIwXAR+eB2P%DN_=7+~?4^%X`q=PCkh+(Ca$$qF4y*Nv;ln{H z#9sPTr6Yzv6{#?-gFN2m$A9K$hUTYk$@$U-v0JDpRz5dWlv0YE;@0?ZzR>Jn8t}>2 z9kE;ZE0w-BU?&y6-T_xN&i}39Z-Tan-9igu=Q~3SQs=Nh_91o)f3N9(F#KbX=X*Ve zpH%wU@Gr6CA3*pkeo~9nV#B`%sYs=yO1~LC8c0b!??v%>|88he>bw`Z^LA?-^^b%m zI%fFKAkiP1Xi1#tFGEXGiI%uTZjD5LYo6nV{}<%>Tk|Z7^PDiWEY5=m;4+uUt#L({ z$Id^7mZy%j+$nAiWksx%v9uzktZ<53Ls=Co#?q>kvdSrL4P~`cnxGrV((076+Bt3w zXHA?Yva|+Dp}EY~&^xBArM0PMYh5$9Mzi&CvvQW!rPErtWKZ$6%+puqvqaFUu86tazVulC&w#bh@QYsiSR@orvASl{C*8mMaH& zD(S(hKuSmlD_6B#EwHM@7Hy7?R^8I()X_G(qq#Mj*U+QYwEXWNPYpdnyeESUx*t`9JC`mFlWg&+<8eR9B_?DmAeDpFpawQp1E==UP55uo|j$zDkWO z|2L4%SE;c|7g%l*NR4BOw#FCpLQ7lS#gxAvm|Ej%Hq}HIS#B02YN|&|Q>nS-7J-ze zQo2elEw>7!bT1{6+*++RmfHqaYfaTorHd_J5=iY-YOhiU%a;aHdzCU&y3BG%izi0u ze~B{G%2cb9<;#OqnJRTw=?cqT0;#h~T~+F4xoaSG#qr(3-PP)0`O3iR9;c#h@u%0* z(zeuBVVnE#+!`NVFU@n6<*S1{z4VlNt8|S`aG${HtyW*PuC;t!AoW$LpGwzTz9EqM zsnlPk8!g{-vXtQdY7J29X3GOlws?R_gH#%9c}O4)iY3|}U#Fp#wx_Psc6XiJ8rNx9 zoF~DrlI6PsX`)KmR$m$JwtP=uWvew=Q{8Jh5lE9&%2DY)%Tod= zN2U8!nrit0FU9vi{=WOwnx@u+mZt})rm6IhN;51!97qqTG*hKVEawK&OfTX2^Qc;R zmS+XlqnavTrN=B61X8|AkE=A>a$z7nuF@Qpp0GSOeE!T)>q)idS$--=^`uJkReIX; z{6IqN7A{ih8OsX-sVMdQS*X?`%g+YZLQS<;rROX!38cj;Emdim<>v!wsY=ULO1xls zMPMygYo%JNEWa2?D^*&p(o2@t1k&nQqMh**;bluZQ%{7QxIlRRONE8kYNBd`i+w9)b_fwV!TO)9-=d2=9bQfZ5maR2jG%dZ927PYo%s@E-V52S4>?NDi_V3-}1kxduK2+%=%O3~QhbkRb=@ZMJij;c(;Bz>v))BQnv;29G>WE5T zsPv`fuL9`{mA+Q#8_VAY($^x%@%cNozPJ2CV11{lepKlv%RdLwk1GA55?SUz`bDK* zRZ8N4{##)Es@74pez*KbARSfdm`Z$1VRakP?5ZbwaIwESHH+{#kZH zB@@M8WE*i5NG5W(X_CvTR4(H3fmBwdQ@n)d|EUq57FegKRY6nzE8>cQR6(WFRjL&6 z8G&@VN|jZr5^>cM$=!ckS*>bnRgbtvi6ws+S5v8`O8<_yRv^_>skTaIMtoKv)mEua zr0<_+M_f0s>ZnyuQ=JoW{XnXxQUjI#6LG^pYM|1&DxDYc`A#bN{_(kLHB#%p5jPG} zHB#vUm6}9+VIW&uMBkkGMr(rD>{km0CvJDv;7uYOPY6h}#BI zYn9rmbaBL&Bm%3QTJ6>95b>pf)Lx|wl`f08V<2Uyl&Mmuh%XPMOdQ`W+*z$FBJL7c zomJ|pQn!e^2U1s+dZ=_|#61J4hf2L-DZy7oe05;;QmeP7x+da2fz(^2zA9ZC@pXaJ zSEYU`T_5ocr6l+K?Wb0MwQh{~rc#!C{ramkK&6`_9vDaiVu^OeHX?MnUN*d>=5 zv0HesAJ28jmi(T3^KhDSUskP!P+x2QBC;#&jh7Coii@hOdrXm{$A61yb> zHuyxNG|}jYZwnHQ(xYXmbbG{O0x3(Su_}#=_>MpttJ3(?^XJZpCj{1bwI*t+NfF-_ zNE21cR_X4D?+K)Al_slnZ^ZtaSL*pQS*;wk?u&RzkSZsZXm5Nq?~iD2>T2$F7t^hA zQHx_`YDC2;rPwKMjZgl8gdS^J#196?dO%NTx=Ig4JR^{%tMsr+Gb4T^kRDbkSEWZI z&J(HR?@w~BTC>#3kNB}5)hv|?RC+w(*@0A`QlUz7B7P!}3Pp0?zqx8X8S%Wpnyaav zQfYp~PY2RdDix{pOvDQUsYs=TDlNiY@N8f$RBN$X&qcf>kQS@7RHbDRKOaa-Ra&mn z3lXmfq{MQyR;sls;uiyJrAn(+dMV;HfwWqsmsMID@wz~IIhJUjzc~}UKB9f8yK|qr zJKY+0=LSu*G2&N(L>u&In^bx=;?04yNu@0+ZH@S~(h@#@-lEnvwO)^Sdua>OHkEd$ zv@_y20%?azyHt8J;@yF?OQk)KeE;*_h~EmVJ!%zes<$KF7f8h_?N{kQ#P0;sew7ZY z^lrrO#gcyi_+V_&f%vI$D53+Y&*gyoT-+Mh;{6Ddl=%a!^ZCQ*iX>M2QIzD5Bf5eQ z%Z9@df1(>ch3957caeF^G#u6NB#lIc3CW4ks4?w03l-)Tk3lsCQ-x7|jtRl2Fco+L zD$MttglZC|@1nxQ-D9XQJ@+qEn1p*A6=vF=Ky@OC`LbPPC39i{7Eo58ETFtVdBCXx zryBhJt{_wan<@%a1XL2J1gI=f8BkTADxkVRbwEvlnt)mYwE$-dVB#m{c>?MH>I&2a zoFi}!pn*UGKtq9sCYiuwOVD}P)JUKaps_$>Kofx`fTjXX0nG%O0h$Xm2c!$616m2R z0<;lm1866JiHDeH2)G2$L7)R5Lm&f?=qS_?)JdQdptC?{Ko@~7fNlca06heH0D21a z1Y9L>6`;33Z$KY`K7eZlt_AcH=m)q#02ALZ&kb-RU_e4>0BE4VK)_&u!GNIxLjl7D zh66?ji~x)j7zr3HFdC30kOdecFa|JAU>sn)z<9s}feC;~0+RsQCIQ0CD@?QkV0INI zQvoo83KOOPIe;kwQvg#1rUIr3Oan|8z$7NjSpv)e%oLaj$Q8&1f@&)n%1p)*KTwpn11t8&Os^mezY?NG7xiWtQ!fFU> z1l9o73amx00vH8&FiVU%9hkxaz`PBbjUAY)F$dKgnR$WDm|}q$6#z`5z^n-Xrb=L9 z1OT%mFc|{yMgsJv5T-d`Rs%q$Hq1ksc`{J}aWQu66W9khAaDT2To`kcm^pwL(*-a) z0Dvh0m;nI5us=rm0T|iGKt2GY_ZX}P$cX)XG{z8p5voLy47p=F#?~>E4#0Ri2G0R9 zg1!LCf+PmS5r2;zKM7!Pn@NBGNdXK}(;}#gFa|9##+qpf;w3Vaj2L6av?c*et`6h-+X+ErD8qvjolp)D@@;NYod?cpx_vz>puGFMwe^ZY+SI zJKBnTTV-GlaZ~I_6G#K33#0>D3$zBb6KDr$FVG&4A%Jl$&J@T5bQZw)6o#YZ{>Pvc zhM%yhI}WuChuS8?NQg0B#JvSDB*c9M`U3h1^aJ!4=nohmFaR(}0HZLp9a*-^APeGQ z*fBz21YnfFC_t7#mc{))R%k3XjTaaXm?$t2kS&052%ao38IU7@@dS((05D|0(*!Uq zzz+$a>z`)|pnD%3`vCOdbG`t2>G^Si#{qK$<^U2;3Oxy$FEAfaBv1rcD1gpyUMzqP zZeA*YPHbK-fPQLTDS*CcUM+zBX4;9reJ8%H5~JIgHwd6>m^TTa`Yx$BQ^ zT;3s@&{d0$SO9usd5-{kT)9}F7_eVpKj5IiLBJt_Lx2wj(8-A|OaS^Z`G^4eD)|cm z^hfg70_bx@ZzBNRiu@xWfpwC9kxl3y(upAbNg9GeJ$ zUN>~O0noF?rwE(^s33q2GCp14bUj~5YG!SS2 zI9K3YKqG-hfC~gJ05lb73P=-31EdS216m8T2DB4E=L)wMKnDtE2xQ0y#&xN!Mz30_rQGx(7(X_1ki#UU)fM057#XSpe^?oFjmD zQ`(DkcpoiBRgBk5+57 zz*`m<3E)kN7Yg8Ii5Cmtg@~65;H8I`3*fzmR|??Wg;xvU{e)i@z&i--!wK%g_aY%1 z@Gild1n|Cqw*dfN3Gj;_fS>)mLjXVRd6xiwzVjXd{6gnq0sIQ*{Q~%6CFC+dc;;-@k_YK-$+qV&a7xDKI{}Azyk^Cpu!Ki5n zR^tB@@y`+e5-~x?CXV>mh?7qL4M&(wgS+D=Iv=<27?33jE;KGV=D9?> zkiun*c8n--rHyTj!Nw3qljt~3qKV-dm(0Y;oHHj;$P+d4{_3U$af$kpappYlIbYve z|61-}fBm=mYPQ>IjI!0yJ-drUA_;Q4t*s4jB0z>Cg>>{XmwoxGVNJeNOGbd0_9cBB zrj~k~kjc-%8(2cvO-o5B9HcFz%z6SQtfnPa^Ll-Up-;2$2QPo*7Zhx{R9t8o&*aVV zD;dKfh&{3haY6EtzDP6@h{Pb}NKZt8^g?IBL`ERvk%@>JS%=I- zqL6GP6LCf4NG|dmB13YJ7m!zZrIAPx;)F~^ERTavX#vLHLjH*Gho|QcZB4#shZYD< z*`GgL3(CI3$`&o)LiuIU1{LP<2Klq*cRRdiA-oKachw1=o{#x`kzdmZDV9NZ%i5xJ4&;_<=ex6)QiMQegS6I>8&@ z7uSIY=!B!#1}o~X%j87LpB#tEBQrL@XP=X#)_@#C9u?i8X%_RfGQZ1%2q@(n1EZxM5;$os0Aw7hO{Qlh9>RDfbLQP9Jh$h&fFgOp8@eLQx$A4_vuIxk~*LDaVk`X2xA zZ<|{t2w%20VVzirqK|;71r(f(7BEv(a!-%1W&Aa~f12V}qwDgFeqm?c-JO>ecQ`a< zZSlarjOp>YgC~kpRBnZVRJ}{8z1j@pXv>usrQ9TVBbEuLg?}&a!OgAM+@7c$C(oit zPeH>Rm!F2Y)8wu1t#A^ySO4gdu6LXo3Q}%Yxe4v)_W$gos^}DJ8|>~SS`u9bb+lwa zAoU%B%IN8%_whUj+L;Yf)bKWLq%9To*Jj#71*n)x0%_1_D3QPmz~ZeyZ7stoH_}#@ zdG}Ruor-8bSLs!uO@L~t_wjAAqQtEL9B8pysyODZCgz5K-Y4K3P=&jK=6lF{@$TCq z+yL|K!XB|qvLkhJccCfn{^Bv1N;U3Z(QFTel*M6X)i1nL~z zx@MrN&1u)&MQ<4O36gWx&Gle4@sQ`W89wa`>2WCM(ZZK&jB zR1<|`jyeam;mu&nyKcbQ(t!T<5JGC>i$K}*=859Gy76waE)>r!aj zTam|BtFc7;|X3Lu(7_ulL!m1MwUlYd07YQ5%ZhM@yOmAKRpG zBk>>uBHY*9JkX>hhx&K6BhbDqtne;I-bN&d6XJ(ZrI2s3%mF-7C3q?<&sU8JK?sl2 zV?vX7CNHr)CZl#+5-2}Cw{D#6gxuE`dbE*4srG~l1sc7kK?B;!^Q?!FWfhC`n#mY*P7-tP z&N9J7R7s1S%U~^Saek5Xx??wC5iNFE&U6woR6lg$QD7H!5UG#c_(#z7Cc2lUte=D! z^~R$D=yK)SU=>w0_mPQKq2$U=(rICH3jLS_(dOn9X$5Ai?UZRF+KhwOnf46`x7c;- zO_d^icXdEh1XX?d$(2{h1&7{5S<^9`%UArtNWs=z6;otF)@9E zv>TPrEq?h>QQ5{VX@^YKpD%rW%|Ufa!0po}$_6DyR z?E=fW4@Uiyq%uCR-Uyn0?v*)OkHbi{IijK)lYE^fVFDMrAMgBO_?a`s@H`Jhax>e| zUW6C>1jCKUE6Asv(m%uS=ZJvtj(=qqqkykz=5Q|=*BgG#peu(D6SrUidTMyO-ly`M z^?_P20=xPS2)a$ur(zcR?Q&+eA>gL>JvJ7UTP3fi%4=Ro9s`>K(k}+9tIix)to8e8 zN8L2#vBq(WR+yAoe|)5_h9o`PnEA%6+pW-^DuS`J_*5CB(-!>gLyP}hX2)H2?qlIa z+rCbaa?jbBN7}6<5joT1b7kN}Th6t~`Ab+D!Y^Gi(VmZ!0pD|!h@}QCJYNnrwB>vm zNNDl5Wp><&;hPa&`nKahbW@4eKb|<;F$j_qnDvP(E%hHRgVh-39kPfcqUp57zYM%- z@t4cBCzF-u7VLF%iOtx1X43b8Nlu@xcYS63vF{t#m0tMU3D=cdOD^+=uU~j_5$H}6 zZNwa9Z^>I{SI7PHN@i}v53BDp{uhsfKe^6bINSxxbB{|xg^Hn8YFvi6 z4Z$i}e>Qt*h_y{c__AEwv={_^Ym*J!<2q2s^C2?e?xnI*$Ggsh#5@o5hF|i1 z$DT|Zh#EQ#)?_Re{0A8ewRRO+^h-yr*JOH9&&G{#dtc`Bpv_KX@<7s0KmCU)c(xo( zezJR4@6#Ih4hdopOo#!+ntTayvjiP_yJL>oIGcYxFz$);LIzlhxsyP1uv=T38Z&|r zZqr9{Gruoi1v*DUHQzW=$5Yw=S3>~ZXv;TcomNFMm{;zjE`YTii~n6*Gp5CV&jQc} z;3nOSPA%UeJ8$ou_kL2*A?m@K{u6n57Ei9T+hH$ypx>AL&=*H(SHoswdUrl4qBmMc zi91`o#~+=(^`;FuAO;m-Dgv9OUN~QK5sM9F*9fH0xNn15u@$6>OYh3Ef)J}<(eL|G zEj(myjQ(ONpJDDASvo8+&y8tZl>{0dXG9W_1G;&K*=%QUWe&DbD+nkV7lY~5bI(fY zvR2 z%xYU8n9c7FQkG;3j_eCp@MmId^X{gesPSKE#n>JDJ>JTlU2p?2>*o%=D?M0T^RfC#c0ee5O$TzeW(5qkF2u8d0)s{k8t{no{c31#dCKA$ z3FU8h`+n-jH$9Kd{XRBlXXxsGn7r=`KR6kLVBXX6Fc@YqhCnO~{VsN_{EXXQ{3m&C ze)+o7@`QklE&E^U6S-yc#Im5!B^yq2&9Urrhj9^K!Ly9Lc!qHjZ9`id6T-3O3R*rP zhLLa>#z-V28|(%_7_e(zki-5O0Uk_<0D+ATL+#^pz(z#Er^Fjrk0{84TDHau68H>- z_sPLO28!``BOlM=b4-VI1$fWG<2wGvP(Wj*^klbJz!+8^h0pFp6u4IoM#-ANpwaF$ zQngybgjVQ5d+&;vdHl;8+8@@PxFT}8)H~tb$!9JGUh!NyIPX@|lo0O`x7Kg%Jg%8m z_%8vD>lVIxp2a&=VlFOz%eX)LIwol>i*M_(d(NvVAH6rIe0~it(VowQ!Qe(Kcg;Ky z4X;b=WAI;!I6S@y;1bxRSm;hyMJf%4svr@_C$5adgP)aH^a;BdkK-1`fS+GMPJUkD zjH0}P899X$XUxjaotQJbct-xLoY#s9aN^@`yBff; zyIK6S;)2&QvvOwTy;d~6D6c3p*WAiMhDShi9$w~17m2QBiG@X(MP22wQ-{ET3ErSF ztt`e@7Q3i{(aiB>==qR}aIi}w4(3L(GfT|9{mB5cnI;i>nk042txtnUcpB3!mW$$_ zM!VoiS03^tcSv};btNJEb7QsuVMUcvMY9!auG_IooS%r|=F~YX}ZZ7whh@}7A z-(PWW`Xkot)}a%YjF&?Q~D=d!~z@Y{WmpYMw^x zjXe!L2ZAqj?6M4ZSu`CDFr@1W=QgpIdzYDr&n&s4CnN5f0C}gZU_Ng9P6_ZUWu=y~ zcLpb?fkf&S8Vk zx6`4YVP!g`09(5Z(%9*#=zX9n$`$-CdmlctdmtX0#|{jNIj|8OF`JA(;ckYz&`0Yb zP&Nqv~ z8$E~&VM9XUli%035VqBzcW30T#s3rkVp}v2s*Q7Irz)U|Efiono^10^DR#2VEwI?{ zQU8n-i59c}u7hz*xQR1}tIX4|YES!Vas)fyizp2lL!r0$nJdG6ufhkpGKNuJq}G;A zeFtB0)HlJw;MNQgHqSho-@|cz=FwR8vVWaNV}3dLH}q3Hsz==f($B1CX5a80*Mob9 zPr-3{$ZN>Ifs-P&I4SJMbWnFV6RC=bi13)_)ZwAQ5h3cZ(C|T_3wjObFA;VyCO&Fn zYF=?cR!-#(2xmKAA#R5CzrcQYat}jRJ*o{4V2*BwBIdpmdh77iOHo*^ucFB9*{{tJ5Xo+F8E!ktu zl({6z5S30EW!s_&**2F*DznLMrp2#oOr58~6a~BRGdLS+T41XkJKBP7+No@E9xNRh zC4GV>S(GO!s@^?~5T=VJ3O0WbksD5?lMB|Y;5y8#v?tEI`)rvO6yU@5$jAgfCO3A; zmMHo@_**CZa049%4ZBzeS?tsfJVr@50#d`N83a$cboRtNGfbFC9K3)1%PIVv)KHd7 zz9oj;5#%LnK061p$tY`9D>F;_*Y}6<{;x*X?ZJlmqh l1DQ?vM9K{{q_nb3*_C delta 14283 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 diff --git a/PVDEMCS/PVDEMCS/Common/Constant/Constant.cs b/PVDEMCS/PVDEMCS/Common/Constant/Constant.cs index 8dd4aee..5a23d58 100644 --- a/PVDEMCS/PVDEMCS/Common/Constant/Constant.cs +++ b/PVDEMCS/PVDEMCS/Common/Constant/Constant.cs @@ -36,7 +36,7 @@ /// /// Cemecon /// - public const String Cemecon = "Cemecon"; + public const String CemeCon = "CemeCon"; } /// diff --git a/PVDEMCS/PVDEMCS/Controllers/EquipmentRecordController.cs b/PVDEMCS/PVDEMCS/Controllers/EquipmentRecordController.cs index 7e70782..15cc11b 100644 --- a/PVDEMCS/PVDEMCS/Controllers/EquipmentRecordController.cs +++ b/PVDEMCS/PVDEMCS/Controllers/EquipmentRecordController.cs @@ -1,4 +1,5 @@ -using Masuit.Tools.Models; +using Masuit.Tools; +using Masuit.Tools.Models; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using PVDEMCS.Common; @@ -17,13 +18,12 @@ namespace PVDEMCS.Controllers public class EquipmentRecordController : Controller { private IEquipmentRecordService _equipmentRecordService; + private IEquipmentService _equipmentService; - private IDeviceService _deviceService; - - public EquipmentRecordController(IEquipmentRecordService equipmentRecordService, IDeviceService deviceService) + public EquipmentRecordController(IEquipmentRecordService equipmentRecordService, IEquipmentService equipmentService) { this._equipmentRecordService = equipmentRecordService; - this._deviceService = deviceService; + this._equipmentService = equipmentService; } #region 设备状态记录 @@ -105,7 +105,7 @@ namespace PVDEMCS.Controllers /// 当前页 /// 页大小 [HttpGet] - public Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size = 20) + public Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size = 20) { var result = _equipmentRecordService.GetEquipmentRecordDayTotalPageList(equipmentName, equipmentCode, equipmentType, begTime, endTime, page, size); return result; @@ -120,7 +120,7 @@ namespace PVDEMCS.Controllers /// 开始时间 /// 结束时间 [HttpGet] - public Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime) + public Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime) { var result = _equipmentRecordService.GetEquipmentRecordDayTotalList(equipmentName, equipmentCode, equipmentType, begTime, endTime); return result; @@ -133,11 +133,81 @@ namespace PVDEMCS.Controllers [HttpGet] public Result> GetEquipmentStateView() { - var points = _deviceService.GetDevicePointList(activated: true); + var equipments = _equipmentService.GetEquipmentList(); + var ret = new List(); + //获取所有设备状态汇总 + var allTotal = equipments.Content.GroupBy(f => f.State).Select(f => new + { + State = f.Key, + count = f.Count() + }).ToList(); + var equipmentStateView = new EquipmentStateView(); + equipmentStateView.EquipmentType = "All"; + var alarm = allTotal.Where(f => f.State == EquipmentState.Alarm).FirstOrDefault(); + if (!alarm.IsNullOrEmpty()) + { + equipmentStateView.Alarm = alarm.count; + } + var run = allTotal.Where(f => f.State == EquipmentState.Run).FirstOrDefault(); + if (!run.IsNullOrEmpty()) + { + equipmentStateView.Run = run.count; + } + var stop = allTotal.Where(f => f.State == EquipmentState.Stop).FirstOrDefault(); + if (!stop.IsNullOrEmpty()) + { + equipmentStateView.Stop = stop.count; + } + ret.Add(equipmentStateView); + //根据设备类型获取状态汇总 + var equimentTypeTotal = equipments.Content.GroupBy(f => new { f.EquipmentType, f.State }).Select(f => new + { + equipmentType = f.Key.EquipmentType, + State = f.Key, + count = f.Count() + }).ToList(); + var equimentTypes = new string[] { EquipmentType.Balzers, EquipmentType.CemeCon, EquipmentType.Ionbond }; + foreach (var type in equimentTypes) + { + equipmentStateView = new EquipmentStateView(); + equipmentStateView.EquipmentType = type; + if (equimentTypeTotal.Count > 0) + { + alarm = allTotal.Where(f => f.State == EquipmentState.Alarm).FirstOrDefault(); + if (!alarm.IsNullOrEmpty()) + { + equipmentStateView.Alarm = alarm.count; + } + run = allTotal.Where(f => f.State == EquipmentState.Run).FirstOrDefault(); + if (!run.IsNullOrEmpty()) + { + equipmentStateView.Run = run.count; + } + stop = allTotal.Where(f => f.State == EquipmentState.Stop).FirstOrDefault(); + if (!stop.IsNullOrEmpty()) + { + equipmentStateView.Stop = stop.count; + } + } + ret.Add(equipmentStateView); + } - return null; + return new Result>(ret); } + /// + /// 获取报警设备列表 + /// + /// + [HttpGet] + public Result> GetEquipmentAlarmList() + { + var equipments = _equipmentService.GetEquipmentList(); + var alarmList = equipments.Content.Where(f => f.State == EquipmentState.Alarm).ToList(); + return new Result>(alarmList); + } + + #endregion } } diff --git a/PVDEMCS/PVDEMCS/Services/IEquipmentRecordService.cs b/PVDEMCS/PVDEMCS/Services/IEquipmentRecordService.cs index e4acf61..dba9901 100644 --- a/PVDEMCS/PVDEMCS/Services/IEquipmentRecordService.cs +++ b/PVDEMCS/PVDEMCS/Services/IEquipmentRecordService.cs @@ -68,7 +68,7 @@ namespace PVDEMCS.Services /// 结束时间 /// 当前页 /// 页大小 - Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size); + Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size); /// /// 获取设备状态记录统计列表 @@ -78,7 +78,7 @@ namespace PVDEMCS.Services /// 设备类型 /// 开始时间 /// 结束时间 - Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime); + Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime); #endregion } diff --git a/PVDEMCS/PVDEMCS/Services/IEquipmentService.cs b/PVDEMCS/PVDEMCS/Services/IEquipmentService.cs index 0669a8e..7d2fa9c 100644 --- a/PVDEMCS/PVDEMCS/Services/IEquipmentService.cs +++ b/PVDEMCS/PVDEMCS/Services/IEquipmentService.cs @@ -21,7 +21,7 @@ namespace PVDEMCS.Services /// 当前页 /// 页大小 /// - Result> GetEquipmentPageList(string equipmentName, string equipmentCode, string equipmentType, bool? activated, int page, int size); + Result> GetEquipmentPageList(string equipmentName = "", string equipmentCode = "", string equipmentType = "", bool? activated = true, int page = 1, int size = 20); /// /// 获取设备列表 @@ -29,7 +29,7 @@ namespace PVDEMCS.Services /// 设备名称 /// 设备编号 /// 是否启用 - Result> GetEquipmentList(string equipmentName, string equipmentCode, string equipmentType, bool? activated); + Result> GetEquipmentList(string equipmentName = "", string equipmentCode = "", string equipmentType = "", bool? activated = true); /// /// 获取设备明显 diff --git a/PVDEMCS/PVDEMCS/Services/Impl/EquipmentRecordService.cs b/PVDEMCS/PVDEMCS/Services/Impl/EquipmentRecordService.cs index b311344..4b4830d 100644 --- a/PVDEMCS/PVDEMCS/Services/Impl/EquipmentRecordService.cs +++ b/PVDEMCS/PVDEMCS/Services/Impl/EquipmentRecordService.cs @@ -94,7 +94,7 @@ namespace PVDEMCS.Services.Impl /// 结束时间 /// 当前页 /// 页大小 - public Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size) + public Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size) { var result = this._equipmentRecordRepository.GetEquipmentRecordDayTotalPageList(equipmentName, equipmentCode, equipmentType, begTime, endTime, page, size); return result; @@ -108,7 +108,7 @@ namespace PVDEMCS.Services.Impl /// 设备类型 /// 开始时间 /// 结束时间 - public Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime) + public Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime) { var result = this._equipmentRecordRepository.GetEquipmentRecordDayTotalList(equipmentName, equipmentCode, equipmentType, begTime, endTime); return result; diff --git a/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordTotal.cs b/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordDayTotal.cs similarity index 87% rename from PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordTotal.cs rename to PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordDayTotal.cs index 96bf632..5fd740f 100644 --- a/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordTotal.cs +++ b/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordDayTotal.cs @@ -1,5 +1,4 @@ -// This file has been auto generated by EF Core Power Tools. -#nullable disable + using System; using System.Collections.Generic; @@ -9,7 +8,7 @@ namespace PVDEMCS.Services.Models; /// 设备状态记录日统计 /// /// -public partial class EquipmentRecordTotal +public partial class EquipmentRecordDayTotal { public string Id { get; set; } diff --git a/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordFurnaceMonthTotal.cs b/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordFurnaceMonthTotal.cs new file mode 100644 index 0000000..5c064c1 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordFurnaceMonthTotal.cs @@ -0,0 +1,23 @@ +namespace PVDEMCS.Services.Models +{ + /// + /// 设备记录开炉次数月统计 + /// + public class EquipmentRecordFurnaceMonthTotal + { + /// + /// 设备类型:Ionbond,Balzers,Cemecon + /// + public string EquipmentType { get; set; } + + /// + /// 开炉次数 + /// + public int FurnaceNum { get; set; } + + /// + /// 日期 + /// + public DateTime? TotalMonth { get; set; } + } +} diff --git a/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordStateMonthTotal.cs b/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordStateMonthTotal.cs new file mode 100644 index 0000000..9eaea42 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordStateMonthTotal.cs @@ -0,0 +1,28 @@ +namespace PVDEMCS.Services.Models +{ + /// + /// 设备状态记录月统计 + /// + public class EquipmentRecordStateMonthTotal + { + /// + /// 总运行时长 + /// + public decimal TotalRunningTime { get; set; } + + /// + /// 总报警时长 + /// + public decimal TotalAlarmTime { get; set; } + + /// + /// 总待机时长 + /// + public decimal TotalStopTime { get; set; } + + /// + /// 日期 + /// + public DateTime? TotalMonth { get; set; } + } +} diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/IEquipmentRecordRepository.cs b/PVDEMCS/PVDEMCS/Services/Repositories/IEquipmentRecordRepository.cs index 95b873e..8fdc435 100644 --- a/PVDEMCS/PVDEMCS/Services/Repositories/IEquipmentRecordRepository.cs +++ b/PVDEMCS/PVDEMCS/Services/Repositories/IEquipmentRecordRepository.cs @@ -71,7 +71,7 @@ namespace PVDEMCS.Services.Repositories /// 结束时间 /// 当前页 /// 页大小 - Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size); + Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size); /// /// 获取设备状态记录统计列表 @@ -81,7 +81,9 @@ namespace PVDEMCS.Services.Repositories /// 设备类型 /// 开始时间 /// 结束时间 - Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime); + Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime); + + #endregion } diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/Impl/EquipmentRecordRepository.cs b/PVDEMCS/PVDEMCS/Services/Repositories/Impl/EquipmentRecordRepository.cs index 138d3d0..40b781a 100644 --- a/PVDEMCS/PVDEMCS/Services/Repositories/Impl/EquipmentRecordRepository.cs +++ b/PVDEMCS/PVDEMCS/Services/Repositories/Impl/EquipmentRecordRepository.cs @@ -176,7 +176,7 @@ namespace PVDEMCS.Services.Repositories.Impl var furnaceNum = "FurnaceNum"; //获取配置的设备的阈值 var balzersConfig = _configRepository.GetSysConfigDetailNameOrKey("", EquipmentType.Balzers).Content; - var cemeconConfig = _configRepository.GetSysConfigDetailNameOrKey("", EquipmentType.Cemecon).Content; + var cemeconConfig = _configRepository.GetSysConfigDetailNameOrKey("", EquipmentType.CemeCon).Content; var ionbondConfig = _configRepository.GetSysConfigDetailNameOrKey("", EquipmentType.Ionbond).Content; var balzers = 200; var cemecon = 300; @@ -235,7 +235,7 @@ namespace PVDEMCS.Services.Repositories.Impl furnaceVal.Value++; } break; - case EquipmentType.Cemecon: + case EquipmentType.CemeCon: if (minutes >= cemecon) { furnaceVal.Value++; @@ -327,7 +327,7 @@ namespace PVDEMCS.Services.Repositories.Impl /// 结束时间 /// 当前页 /// 页大小 - public Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size) + public Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size) { using (var context = new EFContext()) { @@ -335,7 +335,7 @@ namespace PVDEMCS.Services.Repositories.Impl var pageList = query.OrderByDescending(f => f.EquipmentCode).ToPagedList(page, size); - return new Result>(pageList); + return new Result>(pageList); } } @@ -347,7 +347,7 @@ namespace PVDEMCS.Services.Repositories.Impl /// 设备类型 /// 开始时间 /// 结束时间 - public Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime) + public Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime) { using (var context = new EFContext()) { @@ -355,15 +355,36 @@ namespace PVDEMCS.Services.Repositories.Impl var pageList = query.OrderByDescending(f => f.EquipmentCode).ToList(); - return new Result>(pageList); + return new Result>(pageList); } } - private IQueryable QueryEquipmentRecordTotal(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, EFContext context) + /// + /// 获取设备状态记录月统计 + /// + /// + public Result> GetEquipmentRecordStateMonthTotal() + { + using (var context = new EFContext()) + { } + + return null; + } + + /// + /// 获取设备记录开炉次数月统计 + /// + /// + public Result> GetEquipmentRecordFurnaceMonthTotal() + { + return null; + } + + private IQueryable QueryEquipmentRecordTotal(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, EFContext context) { var query = from recordTotal in context.EquipmentRecordTotals join equipment in context.EquipmentInfos.Where(f => !f.IsDelete) on recordTotal.EquipmentId equals equipment.Id - select new EquipmentRecordTotal + select new EquipmentRecordDayTotal { Id = recordTotal.Id, EquipmentName = equipment.EquipmentName, @@ -393,8 +414,6 @@ namespace PVDEMCS.Services.Repositories.Impl return query; } - - #endregion } }