From 8c7ed8e5c5c2fc563c4d41e6c341181bd8a725bb Mon Sep 17 00:00:00 2001 From: xiaoguo Date: Wed, 1 Nov 2023 16:21:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E7=BB=9F=E8=AE=A1=E5=8A=9F=E8=83=BD=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0?= 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 186368 -> 162304 bytes PVDEMCS/PVDEMCS/Devices/Impl/DeviceRun.cs | 21 +++--- .../Services/IEquipmentRecordService.cs | 9 ++- .../Services/Impl/EquipmentRecordService.cs | 14 +++- .../IEquipmentRecordRepository.cs | 9 ++- .../Impl/EquipmentRecordRepository.cs | 71 +++++++++++++++++- 7 files changed, 105 insertions(+), 19 deletions(-) diff --git a/PVDEMCS/.vs/PVDEMCS/DesignTimeBuild/.dtbcache.v2 b/PVDEMCS/.vs/PVDEMCS/DesignTimeBuild/.dtbcache.v2 index 8d504d86b5858cb57c6016310f6f9b303128b107..85620a4344588e7195fb55984cb231c68f29da07 100644 GIT binary patch delta 499 zcmZ|LJ4?e*7zW^+Q&NnBxCm+sPHk~(lcs3~r9VIf{Q*MKCX=h+W;(bkowB)!dWs_0 z67ThXzuz{s-hP0qlkcZ?H1P1A@0>5^oW!duUR_}yCDxxa9NRK9UC-t%TebDH>6nh{ zrV2^bHC@9s(;BAIj%p>7*@B)*Vcpgo)yU*6E2HJ@(qt#g7R9(=Rl$`gOZdeo?+Qee z&os$%vLp$AD#j!JNQ}3)1*o|sNz2F;XvSFhLs%bMMY#kOV3=M*hL8)$b)Yq>H;|i9 zgAUYm#1?GB4(vi1_Fy08;Q$Wd2#(7FL302Pt zZe&!OJ87=z+%#;>QByfHYiVYR3z1G`^|Y=PCOW8=_s4y@;ImkQCX4w5iwE@t8*64I zr8tsg-R+DJ5-5Z$LJR70(M_^WcM0tr%mc;iWn=_7gIodmP4=tEHCTr@`Vw*jHen04 z!G|5#g=yG>eK>$aI08BM7*60+A@1)cXK2ph0vd;@ppIgrOQalp1#+7NAU~-5}MVaRX`Y@|TQ2YSA=XOQ_ diff --git a/PVDEMCS/.vs/PVDEMCS/v17/.suo b/PVDEMCS/.vs/PVDEMCS/v17/.suo index 1263ec6d12720755e224a70266172b1beb2c48c2..71be1b81c0bca093911d2633c448fe9fd4c2c768 100644 GIT binary patch delta 7186 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 UQOc;DY@c|Td5OCU?tV`H4Z-EfWB>pF delta 12742 zcmeI23tZI2+Q;|#v)mE6tVnWk1w<54Km=4S3ob|oUJw-xO#~E5MPc!RDT^G^cdY5aV5F8`VN z&ph+Y^ZaK-`<=aZr{k*7o|3F3xX5HfkhBFinwpwKsTCLlg7g=2J5%NCbyd;~`-c2i zgI7D9p-NUFmC-SFMJlsdgi0Scu~MtjG9sBwmybMx6S$7P%wY!dqHhtbkrr|1mO8@` z`+=@t8E^+nz-;gYhyndU4k!m+KmkO5TEqiDm`qkCdjJW4&=<@Co*)FIfIeUohyq4n z9$Y`9-9S3%1||bBr#YY#7zuiS5g-E$0+~Pu#sf7Flkt`flgZ+d843cy8!ZpS!vLfU zKpFV&mhy)Y?*$$}2yGNd0vp*NYp*iVDiXP5kP0S(ED#DfcoYl|xmJQ9|=VOGprb;F2y?dk@ejRxbuKoAGSU}F)Bfw!wMc>k|b85^`$g6=@P z=ng7lDi_ag)tKIB(@8vNRT=$t`|)z`Y6+?gUI5R7wLolXBVsn&d39Jl5(irf#RD@( zQT8YB4tUq{IqR{lJ4_Y3&^hnM1@T;jM_S6JB7Txx%=Id$LW+Uaz!y}531BT~ZqwBC z0@CZii(pbq`3A%@!8{NSdV-fh4cH8(gRNj2cm=5Nw%`N;bQl>{_mi-MN-hruEvS4^V$ZRed#dgq8Fyqr>b9eh;ydkXQ8q z-X9Uuh6m~c!_Uy2Rvv$#f@!T?4|cz~s^-1D za~5o#&6k8((b-{JpJ$^#RM-{3ODurlW5$@c^ze``)iT*tE1ApyGaruEi=`GJCnsW2 zV#t_`!J+uKFf1oxT3%juc1T22Sae84cJ`o<=z)WBLk2~xI7#!TIW@kr(p9x(^98SQ zyvJ^uEf=z9^4t@NQPkXJG~z*EFc<=2KrDy@@jwL{KO(*negf*Y0D%c8|!^Nc6>JH|HK-Z-#!CY`bDf`V-&tV z(A~>JWU^J_6|u0VHf;ale0^Z%8PctibdeG#TPa>2Kly;QE?TO+)R&as$9?gb?L!;w z*!HmngRVO7o;=~1$`3z!o3vYs6b3D;jqaU|WN&i7|mnD$)h z8T+45wxtfgEj80sIq`Ebd*bU6yMf5KGkBAS5e!2*MatN6H$zi00N9x+?C{n_Lin*UgNiRMHTir)&FVVaK z@mcUmOa4>DpRvk;UBkX=Dft@lH{e@v0bB%^fUvb!fav9W#Mt7!bboN+m)@mlej$dO znEKQS<&G~La+X*<)^FI#bB@<{uM6M2V{+ty#`kA2pR1EUEqni>u$C<4f8VH@5}*(G zZWGDpqbswuwrRp1e@(`&1`oFrukp5ccAGC;aesEK?uewzka%JexmC_~;NA*aCq!70EU2j|6S)asB6t{Nfk|L8cmzxV)6Flj zVFBB`D`%(Z-j=GyWzu_W!npM&H=w^ZPELHu*A%J`J#oUS_QFb1_Nb{E@a1!B)ae;+ zG3)m~J+g9H@h10_l~-40cIWGZ-`^@kPm5W3K)mh)c~#abxj4zP)mZ`Zd?fUHvlP_q zVops8uob>WE6LW3mIm-uTVM@#4v;+9#8FF>t{FG-wl6Lp-}Lf#b;k-THjaFIQf|@I zFTU{DT2MH8(z!|cYop|(+b;b^+*R)mxhu@ph|MyFskX)G@!E z%bA}=_R3IPJJMxErr*F1Uj9R2&d|LPqt=x4d4H_uQD<+H9Xj@x@T!+?8kdvBxMVeQ zlEl|64;)N>@^~@Smh*{0GniJ=ot-)_=|Qitzlq^(oW}5m6dYd)YkCgjc zbi*|RXs144KR)&k;+y&CNg^X#5FVlr{OAnT^`V3KhK@sh%P(5%$taMs#sd%Cy?+Dx zuaMAZ*!eEZ`B-ht2DHUGnk3H#@0?Ws!KI>#0||*2=Y6{D^DVaeB}mU)bR_5CsU2^N z^wGRC{f{4U?Y9VNrZ^s;eD!I&4wwGI1-xt=d%s`CmHtIzjk0g|UVulpPEsT)b5JUke>1y17d?GJh?S(_erm_ zN6tCUJ*laETsJRjY|1cw#P_LWawcMP@#Ujwu(j!peB&w_sK54unwaqiRn=8FQ#U5F zcN!y^u~EVLNe-;x|K-f@sxPa@5HhaLAQ?Mw)r(x%U$6Qz<5h2@e180->X?CHpVOM%`Z?Y>U8N;cx(L~weaAN?gC4Njac&7vcj^C;ZT zsBx2*hTEPoG8g{WEXrZp>#EvoD(YBOEjKsJYiY|e)4R{i)$T8%X`>R zxaiZ@;3CmZs&=LWyf%_1^1nD!PlKvJw5umligw+(u_u-D@}3lL(9R$&)%B%vvgmeS z4!Jm`zbdqyp(*XWY@d9NA&)1-!oeq(4_SX z=usSj^KsR4O~F%RDT1bOtwizM7)uGP=(-yp7)@>v@967Erm^(47@#Z<)6c^1G~8bo zng*UHn~$OQL%!HxT#1EYp`kXsAy`W1nTeFo_eEo(7o*9~E>sLcc47}#4IWf&BL_xJ^$tac0$2&N-!kMrnjgr6#}gu3U$#YVI$saol#XkgQZJU zk*eldA~xr``>$1?>fz{6m4;nVZXkuNP~nP&=EA9H;g0?x4c=J0!=|)aaP{6oWfa}y!jel zK8Av6Cs$3N$^1kq+4F{4>eOzbaQp{lf zNNoRAi>QBxTNuXDVxRW9x9IuXa&qOPCeVnsk$0dOz1KF0p6$IQH+#V?^Poew2+7H^ z?dHneBvmJ3)!NzY^eIc|S!Sqwlh%=|hiUP|kBjjYEUrC|+XoYoFqR^O{Ozq!#>)&8 z>ug@=h{&jjMc(|vV)EuA_u~4)xEv~7rxr%GJqz-H<*M91Ap^wx1W}zy8eT#liVA1U z$SZ<&+`ORd?DFnhxr;n#he-q-s%yBCPI)92e>v~Gh^`nWX3!+!D4pXqvoJSr#%-@L z$y?|nyIX}|dZl#*W3MXCb3OR7!BC>ZX&MTT*kdxOhr}**5Z?*w9?bs@# z19un>N&K1}w=$}E$2r}H9hbu^$5J3|HO<;Hr*P)X!dY2Zv0_d3EKO^oc`t7;3E`(J z@geEhlN&N9*!RwBVb+%BE?;extNq>TyN;(pbWcrA7lSyONgdeO{Fm8-E}ltdeNQ(T zuq0t6dG<1jV>e#+v~JG!SVsO9*>;}Vm?|&ej}%if^OqEo`d-SSvr|&?&}O?0m8LX4 zdM`y|P!3KO#RK^NEGA!3+R38yu9fY~l}%&!SlVi#0*vCiP#pZ#_sDSm45RC>yk%|F z*$Xm+e`%JpkV3Xu3Z8DaJsf71g{S*%&pO!9`R0br(rFbA65`x1{##D{Pw|c9!))t( zBslAqwGSkF#0?4RmZ3 zPjOG~SWI3{Z3XRB;hC_tWW{<&?vna-i!YDhQXKA99iYkovSvP@Rq?`&sYr`E-`~x= zrrCjev>dyHjEr6IBmUUnH)iH7tpDw%MEw1SxXAoDrljkgOv(M&JqGNaVUl7I#%B&D zvxf|K-9!7i>r#B9qEfP<`$F7;^te+^^Pl`|+bo*H&xW{KaVcB;l_uq)^th%a>OyBsWuH*Fp-pxx{4d#oxm<2Nz=m68(Vs zK&xR<8gO8GToPk%4bw!*aAOu(5s%NrofyvQrbEsoexZnp__sw=chk(rqrT`{eV@*E ze8*C9=`6lRn@^46Q*1cPHUvyCmlS8+BBh%uhmIPjPD&d(CabOVryDf)o^d~VZ~myO z79uuD6E&UJgrs62saPB+78?8|i%bs=Mb8sg080K=IxbajKhd;2 zfb^H~DaDlJA^tk8Ik*_jDfJtz%5>Kg8xGvT^fOL)qP|bJTb9=Rku2txDjaPv)ZW9% zqBxv=v#VDpi-Mo3XJ@WwTA7o&dZ*5wyn?)<*_#l=ge zJHu1o)7%GY`l9||NnVqP7wf9<_dYk)O)&&UNoQ=BbSlM=qL$vU5-t7ss3DTKAuds> yx95Jz(iFp#TuJ9{kn*J)jy!#^wf^Zd^6|( diff --git a/PVDEMCS/PVDEMCS/Devices/Impl/DeviceRun.cs b/PVDEMCS/PVDEMCS/Devices/Impl/DeviceRun.cs index 72024c1..0acb78c 100644 --- a/PVDEMCS/PVDEMCS/Devices/Impl/DeviceRun.cs +++ b/PVDEMCS/PVDEMCS/Devices/Impl/DeviceRun.cs @@ -88,20 +88,23 @@ namespace PVDEMCS.Devices.Impl } } + // private void TaskRun() { + //监控设备连接 Task.Run(() => { while (true) { foreach (var item in monitors) { - var task = item.StopAsync(); + var task = item.StartAsync(); } Thread.Sleep(5000); } }); + //添加设备记录 Task.Run(() => { while (true) @@ -112,16 +115,22 @@ namespace PVDEMCS.Devices.Impl } }); - + //设备记录日统计 Task.Run(() => { while (true) { - RunEquipmentRecordTotal(); + equipmentRecordService.RunEquipmentRecordDayTotal(DateTime.Now); Thread.Sleep(1000 * 60); } }); + + //设备记录统计 + Task.Run(() => + { + equipmentRecordService.RunEquipmentRecordTotal(); + }); } //记录设备数据 @@ -169,12 +178,6 @@ namespace PVDEMCS.Devices.Impl } } - //记录设备数据统计 - private void RunEquipmentRecordTotal() - { - equipmentRecordService.RunEquipmentRecordTotal(DateTime.Now); - } - private void DeviceMonitor_PointChnage(object sender, DevicePoint e) { } diff --git a/PVDEMCS/PVDEMCS/Services/IEquipmentRecordService.cs b/PVDEMCS/PVDEMCS/Services/IEquipmentRecordService.cs index 4f05728..4c92be6 100644 --- a/PVDEMCS/PVDEMCS/Services/IEquipmentRecordService.cs +++ b/PVDEMCS/PVDEMCS/Services/IEquipmentRecordService.cs @@ -43,7 +43,6 @@ namespace PVDEMCS.Services /// /// 设备Id /// 设备状态,运行:Run,待机:Stop,报警:Alarm - /// 设备Id /// Result AddUpdateEquipmentRecord(string equipmentId, string state, DateTime dateTime); @@ -52,7 +51,13 @@ namespace PVDEMCS.Services /// /// /// - Result RunEquipmentRecordTotal(DateTime date); + Result RunEquipmentRecordDayTotal(DateTime date); + + /// + /// 进行设备状态记录统计 + /// + /// + Result RunEquipmentRecordTotal(); #endregion diff --git a/PVDEMCS/PVDEMCS/Services/Impl/EquipmentRecordService.cs b/PVDEMCS/PVDEMCS/Services/Impl/EquipmentRecordService.cs index fca796d..db58e0f 100644 --- a/PVDEMCS/PVDEMCS/Services/Impl/EquipmentRecordService.cs +++ b/PVDEMCS/PVDEMCS/Services/Impl/EquipmentRecordService.cs @@ -73,9 +73,19 @@ namespace PVDEMCS.Services.Impl /// /// /// - public Result RunEquipmentRecordTotal(DateTime date) + public Result RunEquipmentRecordDayTotal(DateTime date) { - var result = this._equipmentRecordRepository.RunEquipmentRecordTotal(date); + var result = this._equipmentRecordRepository.RunEquipmentRecordDayTotal(date); + return result; + } + + /// + /// 进行设备状态记录统计 + /// + /// + public Result RunEquipmentRecordTotal() + { + var result = this._equipmentRecordRepository.RunEquipmentRecordTotal(); return result; } diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/IEquipmentRecordRepository.cs b/PVDEMCS/PVDEMCS/Services/Repositories/IEquipmentRecordRepository.cs index b89e8f7..902cef6 100644 --- a/PVDEMCS/PVDEMCS/Services/Repositories/IEquipmentRecordRepository.cs +++ b/PVDEMCS/PVDEMCS/Services/Repositories/IEquipmentRecordRepository.cs @@ -47,7 +47,6 @@ namespace PVDEMCS.Services.Repositories /// /// 设备Id /// 设备状态,运行:Run,待机:Stop,报警:Alarm - /// 设备Id /// Result AddUpdateEquipmentRecord(string equipmentId, string state, DateTime dateTime); @@ -56,7 +55,13 @@ namespace PVDEMCS.Services.Repositories /// /// /// - Result RunEquipmentRecordTotal(DateTime date); + Result RunEquipmentRecordDayTotal(DateTime date); + + /// + /// 进行设备状态记录统计 + /// + /// + Result RunEquipmentRecordTotal(); #endregion diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/Impl/EquipmentRecordRepository.cs b/PVDEMCS/PVDEMCS/Services/Repositories/Impl/EquipmentRecordRepository.cs index 73ad16f..385dcbd 100644 --- a/PVDEMCS/PVDEMCS/Services/Repositories/Impl/EquipmentRecordRepository.cs +++ b/PVDEMCS/PVDEMCS/Services/Repositories/Impl/EquipmentRecordRepository.cs @@ -151,7 +151,7 @@ namespace PVDEMCS.Services.Repositories.Impl /// /// /// - public Result RunEquipmentRecordTotal(DateTime date) + public Result RunEquipmentRecordDayTotal(DateTime date) { var begDate = DateTime.Parse(date.ToString("yyyy-MM-dd")); var endDate = begDate.AddDays(1).AddSeconds(-1); @@ -308,6 +308,69 @@ namespace PVDEMCS.Services.Repositories.Impl } } + /// + /// 进行设备状态记录统计 + /// + /// + public Result RunEquipmentRecordTotal() + { + using (var context = new EFContext()) + { + var query = context.EquipmentRecordDayTotals.AsQueryable(); + //获取最后更新时间 + var list = context.EquipmentRecordTotals.ToList(); + var maxDate = list.Max(f => f.UpdateAt); + //如果有记录 + if (!maxDate.HasValue) + { + query = query.Where(f => f.UpdateAt > maxDate); + } + var values = query.GroupBy(f => f.EquipmentId).Select(f => new EquipmentRecordTotalEntity + { + EquipmentId = f.Key, + FurnaceNum = f.Sum(f=>f.FurnaceNum), + TotalRunningTime = f.Sum(f => f.TotalRunningTime), + TotalAlarmTime = f.Sum(f => f.TotalAlarmTime), + TotalStopTime = f.Sum(f => f.TotalStopTime), + }).ToList(); + if (values.Count > 0) + { + if (list.IsNullOrEmpty()) + { + foreach (var item in values) + { + item.Create(); + } + context.EquipmentRecordTotals.AddRange(values); + } + else + { + foreach (var item in list) + { + var value = values.Where(f => f.EquipmentId == item.EquipmentId).FirstOrDefault(); + if (value.IsNullOrEmpty()) + { + value.Create(); + context.EquipmentRecordTotals.Add(value); + } + else + { + item.FurnaceNum += value.FurnaceNum; + item.TotalAlarmTime += value.TotalAlarmTime; + item.TotalRunningTime += value.TotalRunningTime; + item.TotalStopTime += value.TotalStopTime; + item.Update(); + } + } + } + context.SaveChanges(); + } + + return new Result(); + + } + } + class TotalRecord { public string EquipmentId { get; set; } @@ -403,7 +466,7 @@ namespace PVDEMCS.Services.Repositories.Impl /// 设备类型 /// 当前页 /// 页大小 - public Result> GetEquipmentRecordTotalPageList(string equipmentName, string equipmentCode, string equipmentType, int page, int size) + public Result> GetEquipmentRecordTotalPageList(string equipmentName, string equipmentCode, string equipmentType, int page, int size) { using (var context = new EFContext()) { @@ -526,9 +589,9 @@ namespace PVDEMCS.Services.Repositories.Impl } } - - + + #endregion } }