From 62959ab75aeeb43dbcc3b40303e641fbe7a446e7 Mon Sep 17 00:00:00 2001 From: dell Date: Fri, 12 Jan 2024 08:54:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E7=89=88IO=E7=9B=91=E6=8E=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SystemSecurity/RealTimeIOGroupEntity.cs | 46 + .../SystemSecurity/RealTimeIOInfoEntity.cs | 36 + ...meIOState.cs => RealTimeIOStateService.cs} | 26 +- .../Controllers/PenMeiJMReportController.cs | 20 +- .../Index - 32bit16bitt8bit初版完成.cshtml | 1053 ++++++++++++++ .../PenMeiJMReport/Index - 32bit完成.cshtml | 538 +++++++ .../Views/PenMeiJMReport/Index - 副本.cshtml | 854 +++++++++++ .../Index - 样式完成待改函数.cshtml | 1265 +++++++++++++++++ .../Views/PenMeiJMReport/Index.cshtml | 1180 +++++++++++++-- HT.Cloud.Web/wwwroot/images/S71500.png | Bin 0 -> 9510 bytes 10 files changed, 4910 insertions(+), 108 deletions(-) create mode 100644 HT.Cloud.Domain/Entity/SystemSecurity/RealTimeIOGroupEntity.cs create mode 100644 HT.Cloud.Domain/Entity/SystemSecurity/RealTimeIOInfoEntity.cs rename HT.Cloud.Service/SystemSecurity/{RealTimeIOState.cs => RealTimeIOStateService.cs} (70%) create mode 100644 HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index - 32bit16bitt8bit初版完成.cshtml create mode 100644 HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index - 32bit完成.cshtml create mode 100644 HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index - 副本.cshtml create mode 100644 HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index - 样式完成待改函数.cshtml create mode 100644 HT.Cloud.Web/wwwroot/images/S71500.png diff --git a/HT.Cloud.Domain/Entity/SystemSecurity/RealTimeIOGroupEntity.cs b/HT.Cloud.Domain/Entity/SystemSecurity/RealTimeIOGroupEntity.cs new file mode 100644 index 0000000..a543360 --- /dev/null +++ b/HT.Cloud.Domain/Entity/SystemSecurity/RealTimeIOGroupEntity.cs @@ -0,0 +1,46 @@ +using System; +using System.ComponentModel.DataAnnotations; +using SqlSugar; + +namespace HT.Cloud.Domain.SystemSecurity +{ + /// + /// 创 建:cdl + /// 日 期:2024-01-04 10:56 + /// 描 述:IO模块实体类 + /// + [SugarTable("HT_REALTIME_IOGROUP")] + public class RealTimeIOGroupEntity + { + /// + /// + /// + [SugarColumn(ColumnName="ID", ColumnDescription = "",ColumnDataType = "int(10)",IsPrimaryKey = true)] + public int ID { get; set; } + /// + /// ioid + /// + [SugarColumn(ColumnName="IOID", ColumnDescription = "ioid",ColumnDataType = "int(10)", IsNullable = true)] + public int? IOID { get; set; } + /// + /// IO序号 + /// + [SugarColumn(ColumnName="IOIndex", ColumnDescription = "IO序号",ColumnDataType = "int(10)", IsNullable = true)] + public int? IOIndex { get; set; } + /// + /// IOSLOT + /// + [SugarColumn(ColumnName="IOSlot", ColumnDescription = "IOSLOT",ColumnDataType = "int(10)", IsNullable = true)] + public int? IOSlot { get; set; } + /// + /// IO型号 + /// + [SugarColumn(ColumnName="IOModel", ColumnDescription = "IO型号",ColumnDataType = "varchar(255)", IsNullable = true)] + public string IOModel { get; set; } + /// + /// IO位数 + /// + [SugarColumn(ColumnName="IOBit", ColumnDescription = "IO位数",ColumnDataType = "varchar(255)", IsNullable = true)] + public string IOBit { get; set; } + } +} diff --git a/HT.Cloud.Domain/Entity/SystemSecurity/RealTimeIOInfoEntity.cs b/HT.Cloud.Domain/Entity/SystemSecurity/RealTimeIOInfoEntity.cs new file mode 100644 index 0000000..822ab68 --- /dev/null +++ b/HT.Cloud.Domain/Entity/SystemSecurity/RealTimeIOInfoEntity.cs @@ -0,0 +1,36 @@ +using System; +using System.ComponentModel.DataAnnotations; +using SqlSugar; + +namespace HT.Cloud.Domain.SystemSecurity +{ + /// + /// 创 建:cdl + /// 日 期:2024-01-04 10:53 + /// 描 述:IO信息实体类 + /// + [SugarTable("HT_REALTIME_IOINFO")] + public class RealTimeIOInfoEntity + { + /// + /// + /// + [SugarColumn(ColumnName="ID", ColumnDescription = "",ColumnDataType = "int(10)")] + public int ID { get; set; } + /// + /// ioid + /// + [SugarColumn(ColumnName="IOID", ColumnDescription = "ioid",ColumnDataType = "int(10)", IsNullable = true)] + public int? IOID { get; set; } + /// + /// IO符号名称 + /// + [SugarColumn(ColumnName="IONAME", ColumnDescription = "IO符号名称",ColumnDataType = "varchar(128)", IsNullable = true)] + public string IONAME { get; set; } + /// + /// IO功能名称 + /// + [SugarColumn(ColumnName="IODESCRIPTION", ColumnDescription = "IO功能名称",ColumnDataType = "varchar(128)", IsNullable = true)] + public string IODESCRIPTION { get; set; } + } +} diff --git a/HT.Cloud.Service/SystemSecurity/RealTimeIOState.cs b/HT.Cloud.Service/SystemSecurity/RealTimeIOStateService.cs similarity index 70% rename from HT.Cloud.Service/SystemSecurity/RealTimeIOState.cs rename to HT.Cloud.Service/SystemSecurity/RealTimeIOStateService.cs index dd4af3a..67e7603 100644 --- a/HT.Cloud.Service/SystemSecurity/RealTimeIOState.cs +++ b/HT.Cloud.Service/SystemSecurity/RealTimeIOStateService.cs @@ -17,21 +17,41 @@ using HT.Cloud.Domain.DevicesManage; using Quartz; using Microsoft.Extensions.Logging; using Newtonsoft.Json; +using HT.Cloud.Domain.SystemSecurity; namespace HT.Cloud.Service.SystemSecurity { - public class RealTimeIOState : BaseService, IDenpendency + public class RealTimeIOStateService : BaseService, IDenpendency { /// /// 绑定数据仓库的数据库ID /// private string dataDBNumber = GlobalContext.SystemConfig.DataDBNumber; - public RealTimeIOState(ISqlSugarClient context) : base(context) + public RealTimeIOStateService(ISqlSugarClient context) : base(context) { } - public async Task GetRtData() + public async Task> GetIOGroup(string systemName) + { + var groupName = _context.AsTenant().QueryableWithAttr().Where(x => x.GroupDescription == systemName).First().GroupName; + var driverId = _context.AsTenant().QueryableWithAttr().Where(x => x.GroupDescription == systemName).First().DriverID; + var driverName = _context.AsTenant().QueryableWithAttr().Where(x => x.DriverID == driverId).First().DriverName; + var list = _context.AsTenant().GetConnection(dataDBNumber).Ado.SqlQuery($"SELECT * FROM HT_{driverName}_{groupName}_IOGROUP"); + return list; + + } + + public async Task> GetIOInfo(string systemName) + { + var groupName = _context.AsTenant().QueryableWithAttr().Where(x => x.GroupDescription == systemName).First().GroupName; + var driverId = _context.AsTenant().QueryableWithAttr().Where(x => x.GroupDescription == systemName).First().DriverID; + var driverName = _context.AsTenant().QueryableWithAttr().Where(x => x.DriverID == driverId).First().DriverName; + var list = _context.AsTenant().GetConnection(dataDBNumber).Ado.SqlQuery($"SELECT * FROM HT_{driverName}_{groupName}_IOINFO"); + return list; + } + + public async Task GetRtData() { //var groupName = _context.AsTenant().QueryableWithAttr().Where(x => x.GroupDescription == systemName).First().GroupName; //var driverId = _context.AsTenant().QueryableWithAttr().Where(x => x.GroupDescription == systemName).First().DriverID; diff --git a/HT.Cloud.Web/Areas/PenMeiReportManage/Controllers/PenMeiJMReportController.cs b/HT.Cloud.Web/Areas/PenMeiReportManage/Controllers/PenMeiJMReportController.cs index 6fe2132..d9291d5 100644 --- a/HT.Cloud.Web/Areas/PenMeiReportManage/Controllers/PenMeiJMReportController.cs +++ b/HT.Cloud.Web/Areas/PenMeiReportManage/Controllers/PenMeiJMReportController.cs @@ -10,6 +10,7 @@ using System.Linq; using System.Threading.Tasks; using HT.Cloud.Code; using HT.Cloud.Service.SystemSecurity; +using Quartz; namespace HT.Cloud.Web.Areas.SystemSecurity.Controllers { @@ -19,7 +20,8 @@ namespace HT.Cloud.Web.Areas.SystemSecurity.Controllers public class PenMeiJMReportController : BaseController { public ServerStateService _serverStateService { get; set; } - public RealTimeIOState _realTimeIOState { get; set; } + + public RealTimeIOStateService _realTimeIOState { get; set; } [HttpGet] @@ -63,10 +65,26 @@ namespace HT.Cloud.Web.Areas.SystemSecurity.Controllers var data = (await _serverStateService.GetList(2)).OrderBy(a => a.F_Date).ToList(); return Content(data.ToJson()); } + [HttpGet] + public async Task GetRealIOGroup() + { + var listgroup = _realTimeIOState.GetIOGroup("喷煤系统"); + + return Content(listgroup.ToJson()); + } + [HttpGet] + public async Task GetRealIOInfo() + { + + var listinfo = _realTimeIOState.GetIOInfo("喷煤系统"); + return Content(listinfo.ToJson()); + } [HttpGet] public async Task GetRealIOState() { + var listgroup = _realTimeIOState.GetIOGroup("喷煤系统"); + var listinfo = _realTimeIOState.GetIOInfo("喷煤系统"); var data = _realTimeIOState.GetRtData(); return Content(data.Result); } diff --git a/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index - 32bit16bitt8bit初版完成.cshtml b/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index - 32bit16bitt8bit初版完成.cshtml new file mode 100644 index 0000000..e3783b8 --- /dev/null +++ b/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index - 32bit16bitt8bit初版完成.cshtml @@ -0,0 +1,1053 @@ +@{ + ViewBag.Title = "Index"; + Layout = "~/Views/Shared/_Index.cshtml"; +} +@inject Microsoft.AspNetCore.Hosting.IWebHostEnvironment env + + + + + + +
+
+
+ +
+
+
+ + diff --git a/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index - 32bit完成.cshtml b/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index - 32bit完成.cshtml new file mode 100644 index 0000000..d1d8a73 --- /dev/null +++ b/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index - 32bit完成.cshtml @@ -0,0 +1,538 @@ +@{ + ViewBag.Title = "Index"; + Layout = "~/Views/Shared/_Index.cshtml"; +} +@inject Microsoft.AspNetCore.Hosting.IWebHostEnvironment env + + + + + + +
+
+
+ +
+
+
+ + diff --git a/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index - 副本.cshtml b/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index - 副本.cshtml new file mode 100644 index 0000000..d1a1b4f --- /dev/null +++ b/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index - 副本.cshtml @@ -0,0 +1,854 @@ +@{ + ViewBag.Title = "Index"; + Layout = "~/Views/Shared/_Index.cshtml"; +} +@inject Microsoft.AspNetCore.Hosting.IWebHostEnvironment env + + + + + + +
+
+
+ +
+
+
+ + diff --git a/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index - 样式完成待改函数.cshtml b/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index - 样式完成待改函数.cshtml new file mode 100644 index 0000000..f6773bd --- /dev/null +++ b/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index - 样式完成待改函数.cshtml @@ -0,0 +1,1265 @@ +@{ + ViewBag.Title = "Index"; + Layout = "~/Views/Shared/_Index.cshtml"; +} +@inject Microsoft.AspNetCore.Hosting.IWebHostEnvironment env + + + + + + +
+
+
+ +
+
+
+ + diff --git a/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index.cshtml b/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index.cshtml index 8e55f42..5a9624e 100644 --- a/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index.cshtml +++ b/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiJMReport/Index.cshtml @@ -7,6 +7,7 @@
-
+
diff --git a/HT.Cloud.Web/wwwroot/images/S71500.png b/HT.Cloud.Web/wwwroot/images/S71500.png new file mode 100644 index 0000000000000000000000000000000000000000..92dd73d2ef466d08be4987208106eba8ffd0f515 GIT binary patch literal 9510 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 Fe*oQJ2