123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708 |
- using FBoxClientDriver.Contract;
- using Microsoft.AspNetCore.Cors;
- using Microsoft.AspNetCore.SignalR;
- using Microsoft.Extensions.Logging;
- using NLog;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- using Serilog;
- using InitQ.Cache;
- using Microsoft.Extensions.DependencyInjection;
- namespace Ropin.Environmentally.WebScada.Hubs
- {
- [EnableCors("cors")]
- public class MyHub : Hub
- {
- private readonly ILogger<MyHub> _logger;
- DeviceValueModel device = new DeviceValueModel();
- private readonly IServiceProvider _provider;
- private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof(MyHub));
- public MyHub(ILogger<MyHub> logger, IServiceProvider provider)
- {
- _logger = logger;
- _provider = provider;
- }
- public Task SendMessage(string devId)
- {
- log.Info($"SendMessage接口到的数据【{devId}】");
- using (var scope = _provider.GetRequiredService<IServiceScopeFactory>().CreateScope())
- {
-
- string clientId = Context.ConnectionId;
- log.Info($"Context.ConnectionId【{clientId}】");
- var _redisService = scope.ServiceProvider.GetService<ICacheService>();
- var devValues = _redisService.Get("fanyibox_devStore_" + devId);
- log.Info($"webSocket_devStore_{devId}数据:【{devValues}】");
- _redisService.SetAsync($"webSocket_devStore_{devId}", "1");
- return Clients.All.SendAsync("webSocket_devStore_" + devId, devValues);
-
-
-
-
-
-
- }
- }
- [EnableCors("cors")]
-
-
-
- public Task UpdateDataServer(DataStatus data)
- {
- Log.Logger = new LoggerConfiguration()
- .MinimumLevel.Information()
- .WriteTo.Console()
- .WriteTo.File("log/log.txt",
- rollingInterval: RollingInterval.Day,
- rollOnFileSizeLimit: true)
- .CreateLogger();
-
- using (var dmon = new demo())
- {
- dmon._fbox.DataMonitorValueChanged += _fbox_DataMonitorValueChanged;
- dmon.Start().Wait();
-
-
-
- string ln = "aa";
- do
- {
- ln = Console.ReadLine();
- } while (ln != "quit");
- Log.CloseAndFlush();
- }
-
- return Clients.All.SendAsync("UpdateData", data);
- }
-
-
-
-
- private void _fbox_DataMonitorValueChanged(object sender, IList<DataMonitorValueChangedArgs> e)
- {
- foreach (var dmon in e)
- {
- var deviceValue = $"dmv:{dmon.Uid},Value:{dmon.Value},Status:{dmon.Status},BoxNo:{dmon.BoxNo},Name:{dmon.Name},BoxId:{dmon.BoxId},GroupName:{dmon.GroupName},Timestamp:{dmon.Timestamp}";
-
-
- Log.Information(deviceValue);
- System.DateTime currentTime = new System.DateTime();
- currentTime = System.DateTime.Now;
- Console.WriteLine(currentTime);
-
- if (dmon.BoxNo.Equals("300220010352"))
- {
- switch (dmon.Uid)
- {
- case 224872264061309166:
- device.Value = dmon.Value?.ToString().Split('.')[0];
- device.Name = "自动油雾过滤器电子差压计D0实值";
- break;
- case 224872320671830341:
- device.Value10 = dmon.Value?.ToString().Split('.')[0];
- device.Name10 = dmon.Name;
- break;
- case 224872358809588078:
- device.Value11 = dmon.Value?.ToString().Split('.')[0];
- device.Name11 = dmon.Name;
- break;
- case 224872398136431165:
- device.Value12 = dmon.Value?.ToString().Split('.')[0];
- device.Name12 = dmon.Name;
- break;
-
- case 224870861103322707:
- device.Value13 = dmon.Value?.ToString().Split('.')[0];
- device.Name13 = "运行时间";
- break;
- case 224870964895569613:
- device.Value14 = dmon.Value?.ToString().Split('.')[0];
- device.Name14 = "运行时间";
- break;
- case 224871047406966583:
- device.Value15 = dmon.Value?.ToString().Split('.')[0];
- device.Name15 = "运行时间";
- break;
- case 224870797169546552:
- device.Value16 = dmon.Value?.ToString().Split('.')[0];
- device.Name16 = dmon.Name;
- break;
- case 224870694618813617:
- device.Value17 = dmon.Value?.ToString().Split('.')[0];
- device.Name17 = "主加热器";
- break;
- case 224870729933804772:
- device.Value18 = dmon.Value?.ToString().Split('.')[0];
- device.Name18 = "辅助加热器";
- break;
- case 224870650814550567:
- device.Value19 = dmon.Value?.ToString();
- device.Name19 = dmon.Name;
- break;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- default:
- break;
- }
- }
- if (dmon.BoxNo.Equals("300220010352"))
- {
- switch (dmon.Uid)
- {
- #region 喷漆房2
- case 224872612786230640:
- device.ValueB = dmon.Value?.ToString().Split('.')[0];
- device.NameB = "自动油雾过滤器电子差压计D0实值";
- break;
- case 224872713744176788:
- device.ValueB10 = dmon.Value?.ToString().Split('.')[0];
- device.NameB10 = dmon.Name;
- break;
- case 224872753250326203:
- device.ValueB11 = dmon.Value?.ToString().Split('.')[0];
- device.NameB11 = "前处理过滤箱电子差压计D3实际值";
- break;
- case 224872793931929321:
- device.ValueB12 = dmon.Value?.ToString().Split('.')[0];
- device.NameB12 = dmon.Name;
- break;
- case 224258613904301846:
- device.ValueB13 = dmon.Value?.ToString().Split('.')[0];
- device.NameB13 = "运行时间";
- break;
- case 224258495862952967:
- device.ValueB14 = dmon.Value?.ToString().Split('.')[0];
- device.NameB14 = "运行时间";
- break;
- case 224258680408133884:
- device.ValueB15 = dmon.Value?.ToString().Split('.')[0];
- device.NameB15 = "运行时间";
- break;
- case 224257908353160069:
- device.ValueB16 = dmon.Value?.ToString().Split('.')[0];
- device.NameB16 = dmon.Name;
- break;
- case 224257839222641425:
- device.ValueB17 = dmon.Value?.ToString().Split('.')[0];
- device.NameB17 = "主加热器";
- break;
- case 224257877813384018:
- device.ValueB18 = dmon.Value?.ToString().Split('.')[0];
- device.NameB18 = "辅助加热器";
- break;
- case 224257666812632474:
- device.ValueB19 = dmon.Value?.ToString();
- device.NameB19 = dmon.Name;
- break;
- #endregion
- default:
- break;
- }
- }
- if (dmon.BoxNo.Equals("300220010352"))
- {
- switch (dmon.Uid)
- {
- #region 喷漆房3
- case 224872971032222163:
- device.ValueC = dmon.Value?.ToString().Split('.')[0];
- device.NameC = "自动油雾过滤器电子差压计D0实值";
- break;
- case 224873045402475044:
- device.ValueC10 = dmon.Value?.ToString().Split('.')[0];
- device.NameC10 = "自动油雾过滤器电子差压计D1实值";
- break;
- case 224873198976916185:
- device.ValueC11 = dmon.Value?.ToString().Split('.')[0];
- device.NameC11 = dmon.Name;
- break;
- case 224873254060711069:
- device.ValueC12 = dmon.Value?.ToString().Split('.')[0];
- device.NameC12 = dmon.Name;
- break;
- case 224274954993426315:
- device.ValueC13 = dmon.Value?.ToString().Split('.')[0];
- device.NameC13 = "运行时间";
- break;
- case 224274989968678850:
- device.ValueC14 = dmon.Value?.ToString().Split('.')[0];
- device.NameC14 = "运行时间";
- break;
- case 224274745723870963:
- device.ValueC15 = dmon.Value?.ToString().Split('.')[0];
- device.NameC15 = "运行时间";
- break;
- case 224258807236547733:
- device.ValueC16 = dmon.Value?.ToString().Split('.')[0];
- device.NameC16 = dmon.Name;
- break;
- case 224258724932768342:
- device.ValueC17 = dmon.Value?.ToString().Split('.')[0];
- device.NameC17 = "主加热器";
- break;
- case 224258769723740974:
- device.ValueC18 = dmon.Value?.ToString().Split('.')[0];
- device.NameC18 = "辅助加热器";
- break;
- case 224257779157061674:
- device.ValueC19 = dmon.Value?.ToString();
- device.NameC19 = dmon.Name;
- break;
- #endregion
- default:
- break;
- }
- }
- if (dmon.BoxNo.Equals("300220010352"))
- {
- switch (dmon.Uid)
- {
- #region 喷漆房4
- case 224873538997605040:
- device.ValueD = dmon.Value?.ToString().Split('.')[0];
- device.NameD = "自动油雾过滤器电子差压计D0实值";
- break;
- case 224873575130485457:
- device.ValueD10 = dmon.Value?.ToString().Split('.')[0];
- device.NameD10 = dmon.Name;
- break;
- case 224873679711261516:
- device.ValueD11 = dmon.Value?.ToString().Split('.')[0];
- device.NameD11 = dmon.Name;
- break;
- case 224873715894473966:
- device.ValueD12 = dmon.Value?.ToString().Split('.')[0];
- device.NameD12 = dmon.Name;
- break;
- case 224275677238940201:
- device.ValueD13 = dmon.Value?.ToString().Split('.')[0];
- device.NameD13 = "运行时间";
- break;
- case 224275487304077613:
- device.ValueD14 = dmon.Value?.ToString().Split('.')[0];
- device.NameD14 = "运行时间";
- break;
- case 224275633134785002:
- device.ValueD15 = dmon.Value?.ToString().Split('.')[0];
- device.NameD15 = "运行时间";
- break;
- case 224275157925384276:
- device.ValueD16 = dmon.Value?.ToString().Split('.')[0];
- device.NameD16 = dmon.Name;
- break;
- case 224274232172240099:
- device.ValueD17 = dmon.Value?.ToString().Split('.')[0];
- device.NameD17 = "主加热器";
- break;
- case 224274264027979000:
- device.ValueD18 = dmon.Value?.ToString().Split('.')[0];
- device.NameD18 = "辅助加热器";
- break;
- case 224257795187691889:
- device.ValueD19 = dmon.Value?.ToString();
- device.NameD19 = dmon.Name;
- break;
- #endregion
- default:
- break;
- }
- }
- if (dmon.BoxNo.Equals("300221100748"))
- {
- switch (dmon.Uid)
- {
- #region 大厂
- case 254066938408343960:
- device.ValueE = dmon.Value?.ToString().Split('.')[0];
- device.NameE = dmon.Name;
- break;
- case 254066938411489690:
- device.ValueE10 = dmon.Value?.ToString().Split('.')[0];
- device.NameE10 = dmon.Name;
- break;
- case 254066938413586843:
- device.ValueE11 = dmon.Value?.ToString().Split('.')[0];
- device.NameE11 = dmon.Name;
- break;
- case 254066938414635420:
- device.ValueE12 = dmon.Value?.ToString().Split('.')[0];
- device.NameE12 = dmon.Name;
- break;
- case 254066938416732573:
- device.ValueE13 = dmon.Value?.ToString().Split('.')[0];
- device.NameE13 = dmon.Name;
- break;
- case 254066938417781150:
- device.ValueE14 = dmon.Value?.ToString().Split('.')[0];
- device.NameE14 = dmon.Name;
- break;
- case 254066938418829727:
- device.ValueE15 = dmon.Value?.ToString().Split('.')[0];
- device.NameE15 = dmon.Name;
- break;
- case 254066938420926880:
- device.ValueE16 = dmon.Value?.ToString().Split('.')[0];
- device.NameE16 = dmon.Name;
- break;
- case 254066938421975457:
- device.ValueE17 = dmon.Value?.ToString().Split('.')[0];
- device.NameE17 = dmon.Name;
- break;
- case 254066938424072610:
- device.ValueE18 = dmon.Value?.ToString().Split('.')[0];
- device.NameE18 = dmon.Name;
- break;
- case 254066938426169763:
- device.ValueE19 = dmon.Value?.ToString();
- device.NameE19 = dmon.Name;
- break;
- #endregion
- default:
- break;
- }
- }
- else if(dmon.BoxNo.Equals("300220010335"))
- {
- switch (dmon.Uid)
- {
- case 225981570888392599:
- device.Value20 = dmon.Value?.ToString().Split('.')[0];
- device.Name20 = dmon.Name;
- break;
- case 225887304201690740:
- device.Value21 = dmon.Value?.ToString().Split('.')[0];
- device.Name21 = dmon.Name;
- break;
- case 225887469583093963:
- device.Value22 = dmon.Value?.ToString().Split('.')[0];
- device.Name22 = dmon.Name;
- break;
- case 225981611964260302:
- device.Value23 = dmon.Value?.ToString().Split('.')[0];
- device.Name23 = dmon.Name;
- break;
- case 225887536297694857:
- device.Value24 = dmon.Value?.ToString().Split('.')[0];
- device.Name24 = dmon.Name;
- break;
- case 225981652471795782:
- device.Value25 = dmon.Value?.ToString().Split('.')[0];
- device.Name25 = dmon.Name;
- break;
- case 225975315764502499:
- device.Value26 = dmon.Value?.ToString().Split('.')[0];
- device.Name26 = dmon.Name;
- break;
- case 225975390380118077:
- device.Value27 = dmon.Value?.ToString().Split('.')[0];
- device.Name27 = dmon.Name;
- break;
- case 225975436688380055:
- device.Value28 = dmon.Value?.ToString().Split('.')[0];
- device.Name28 = dmon.Name;
- break;
- case 225982560290101472:
- device.Value29 = dmon.Value?.ToString().Split('.')[0];
- device.Name29 = dmon.Name;
- break;
- default:
- break;
- }
- }
-
-
-
-
- }
- Clients.All.SendAsync("UpdateDeviceData", device);
-
- }
- }
- public class DeviceValueModel
- {
- public string Name { get; set; }
- public string Value { get; set; }
- public string Name10 { get; set; }
- public string Value10 { get; set; }
- public string Name11 { get; set; }
- public string Value11 { get; set; }
- public string Name12 { get; set; }
- public string Value12 { get; set; }
- public string Name13 { get; set; }
- public string Value13 { get; set; }
- public string Name14 { get; set; }
- public string Value14 { get; set; }
- public string Name15 { get; set; }
- public string Value15 { get; set; }
- public string Name16 { get; set; }
- public string Value16 { get; set; }
- public string Name17 { get; set; }
- public string Value17 { get; set; }
- public string Name18 { get; set; }
- public string Value18 { get; set; }
- public string Name19 { get; set; }
- public string Value19 { get; set; }
- #region 2
- public string NameB { get; set; }
- public string ValueB { get; set; }
- public string NameB10 { get; set; }
- public string ValueB10 { get; set; }
- public string NameB11 { get; set; }
- public string ValueB11 { get; set; }
- public string NameB12 { get; set; }
- public string ValueB12 { get; set; }
- public string NameB13 { get; set; }
- public string ValueB13 { get; set; }
- public string NameB14 { get; set; }
- public string ValueB14 { get; set; }
- public string NameB15 { get; set; }
- public string ValueB15 { get; set; }
- public string NameB16 { get; set; }
- public string ValueB16 { get; set; }
- public string NameB17 { get; set; }
- public string ValueB17 { get; set; }
- public string NameB18 { get; set; }
- public string ValueB18 { get; set; }
- public string NameB19 { get; set; }
- public string ValueB19 { get; set; }
- #endregion
- #region 2
- public string NameC { get; set; }
- public string ValueC { get; set; }
- public string NameC10 { get; set; }
- public string ValueC10 { get; set; }
- public string NameC11 { get; set; }
- public string ValueC11 { get; set; }
- public string NameC12 { get; set; }
- public string ValueC12 { get; set; }
- public string NameC13 { get; set; }
- public string ValueC13 { get; set; }
- public string NameC14 { get; set; }
- public string ValueC14 { get; set; }
- public string NameC15 { get; set; }
- public string ValueC15 { get; set; }
- public string NameC16 { get; set; }
- public string ValueC16 { get; set; }
- public string NameC17 { get; set; }
- public string ValueC17 { get; set; }
- public string NameC18 { get; set; }
- public string ValueC18 { get; set; }
- public string NameC19 { get; set; }
- public string ValueC19 { get; set; }
- #endregion
- #region 3
- public string NameD { get; set; }
- public string ValueD { get; set; }
- public string NameD10 { get; set; }
- public string ValueD10 { get; set; }
- public string NameD11 { get; set; }
- public string ValueD11 { get; set; }
- public string NameD12 { get; set; }
- public string ValueD12 { get; set; }
- public string NameD13 { get; set; }
- public string ValueD13 { get; set; }
- public string NameD14 { get; set; }
- public string ValueD14 { get; set; }
- public string NameD15 { get; set; }
- public string ValueD15 { get; set; }
- public string NameD16 { get; set; }
- public string ValueD16 { get; set; }
- public string NameD17 { get; set; }
- public string ValueD17 { get; set; }
- public string NameD18 { get; set; }
- public string ValueD18 { get; set; }
- public string NameD19 { get; set; }
- public string ValueD19 { get; set; }
- #endregion
- public bool Alarm { get; set; }
- #region PaintRoom5
- public string NameE { get; set; }
- public string ValueE { get; set; }
- public string NameE10 { get; set; }
- public string ValueE10 { get; set; }
- public string NameE11 { get; set; }
- public string ValueE11 { get; set; }
- public string NameE12 { get; set; }
- public string ValueE12 { get; set; }
- public string NameE13 { get; set; }
- public string ValueE13 { get; set; }
- public string NameE14 { get; set; }
- public string ValueE14 { get; set; }
- public string NameE15 { get; set; }
- public string ValueE15 { get; set; }
- public string NameE16 { get; set; }
- public string ValueE16 { get; set; }
- public string NameE17 { get; set; }
- public string ValueE17 { get; set; }
- public string NameE18 { get; set; }
- public string ValueE18 { get; set; }
- public string NameE19 { get; set; }
- public string ValueE19 { get; set; }
- #endregion
-
- public string Name20 { get; set; }
- public string Value20 { get; set; }
- public string Name21 { get; set; }
- public string Value21 { get; set; }
- public string Name22 { get; set; }
- public string Value22 { get; set; }
- public string Name23 { get; set; }
- public string Value23 { get; set; }
- public string Name24 { get; set; }
- public string Value24 { get; set; }
- public string Name25 { get; set; }
- public string Value25 { get; set; }
- public string Name26 { get; set; }
- public string Value26 { get; set; }
- public string Name27 { get; set; }
- public string Value27 { get; set; }
- public string Name28 { get; set; }
- public string Value28 { get; set; }
- public string Name29 { get; set; }
- public string Value29 { get; set; }
- }
- public class DataStatus
- {
- public string Status1 { get; set; }
- public string Status2 { get; set; }
- }
- public class MsgInfo
- {
- public string Title { get; set; }
- public string MsgContent { get; set; }
- }
- }
|