From 2587fe7fa3296308363250df49cb25aa6c7183c3 Mon Sep 17 00:00:00 2001 From: dell Date: Fri, 11 Aug 2023 16:04:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E6=9B=B4=E6=96=B0=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=96=B7=E7=85=A4=E5=8E=86=E5=8F=B2=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E5=8E=86=E5=8F=B2=E8=B6=8B=E5=8A=BF=E5=AE=9E=E6=97=B6=E8=B6=8B?= =?UTF-8?q?=E5=8A=BF=E7=AD=89=E7=95=8C=E9=9D=A2=E5=AE=9E=E4=BD=93=E6=8E=A7?= =?UTF-8?q?=E5=88=B6=E5=99=A8=E6=9C=8D=E5=8A=A1=E7=B1=BB=E7=AD=89=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ChartsManage/HT_HISTORY_CHARTEntity.cs | 71 + .../ChartsManage/HistoryTechChartsEntity.cs | 41 + .../Entity/ChartsManage/RtTechChartsEntity.cs | 36 + .../ChartsManage/HistoryTechChartsService.cs | 160 ++ .../ChartsManage/RtTechChartsService.cs | 226 +++ .../ReportManage/HistoryReportService.cs | 24 +- .../PenMeiHistoryChartsController.cs | 123 ++ .../PenMeiHistoryTechChartsController.cs | 138 ++ .../PenMeiRtTechChartsController.cs | 141 ++ .../Controllers/PenMeiRtchartsController.cs | 99 ++ .../Views/PenMeiHistoryCharts/Index.cshtml | 968 +++++++++++ .../PenMeiHistoryTechCharts/Index.cshtml | 1074 ++++++++++++ .../Views/PenMeiRtTechCharts/Index.cshtml | 1302 ++++++++++++++ .../Views/PenMeiRtcharts/Index.cshtml | 529 ++++++ .../PenMeiHistoryReportController.cs | 155 ++ .../Controllers/RtReportController.cs | 23 + .../Views/PenMeiHistoryReport/Index.cshtml | 1540 +++++++++++++++++ .../Controllers/HistoryReportController.cs | 14 +- .../Views/HistoryReport/Index.cshtml | 12 +- HT.Cloud.Web/Dockerfile | 16 +- HT.Cloud.Web/HT.Cloud.Web.csproj | 6 + HT.Cloud.Web/WaterCloud.Web.xml | 28 + 22 files changed, 6699 insertions(+), 27 deletions(-) create mode 100644 HT.Cloud.Domain/Entity/ChartsManage/HT_HISTORY_CHARTEntity.cs create mode 100644 HT.Cloud.Domain/Entity/ChartsManage/HistoryTechChartsEntity.cs create mode 100644 HT.Cloud.Domain/Entity/ChartsManage/RtTechChartsEntity.cs create mode 100644 HT.Cloud.Service/ChartsManage/HistoryTechChartsService.cs create mode 100644 HT.Cloud.Service/ChartsManage/RtTechChartsService.cs create mode 100644 HT.Cloud.Web/Areas/PenMeiChartsManage/Controllers/PenMeiHistoryChartsController.cs create mode 100644 HT.Cloud.Web/Areas/PenMeiChartsManage/Controllers/PenMeiHistoryTechChartsController.cs create mode 100644 HT.Cloud.Web/Areas/PenMeiChartsManage/Controllers/PenMeiRtTechChartsController.cs create mode 100644 HT.Cloud.Web/Areas/PenMeiChartsManage/Controllers/PenMeiRtchartsController.cs create mode 100644 HT.Cloud.Web/Areas/PenMeiChartsManage/Views/PenMeiHistoryCharts/Index.cshtml create mode 100644 HT.Cloud.Web/Areas/PenMeiChartsManage/Views/PenMeiHistoryTechCharts/Index.cshtml create mode 100644 HT.Cloud.Web/Areas/PenMeiChartsManage/Views/PenMeiRtTechCharts/Index.cshtml create mode 100644 HT.Cloud.Web/Areas/PenMeiChartsManage/Views/PenMeiRtcharts/Index.cshtml create mode 100644 HT.Cloud.Web/Areas/PenMeiReportManage/Controllers/PenMeiHistoryReportController.cs create mode 100644 HT.Cloud.Web/Areas/PenMeiReportManage/Controllers/RtReportController.cs create mode 100644 HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiHistoryReport/Index.cshtml diff --git a/HT.Cloud.Domain/Entity/ChartsManage/HT_HISTORY_CHARTEntity.cs b/HT.Cloud.Domain/Entity/ChartsManage/HT_HISTORY_CHARTEntity.cs new file mode 100644 index 0000000..537bb45 --- /dev/null +++ b/HT.Cloud.Domain/Entity/ChartsManage/HT_HISTORY_CHARTEntity.cs @@ -0,0 +1,71 @@ +using System; +using System.ComponentModel.DataAnnotations; +using SqlSugar; + +namespace HT.Cloud.Domain.ChartsManage +{ + /// + /// 创 建:cdl + /// 日 期:2023-08-09 15:37 + /// 描 述: 趋势变量表实体类 + /// + [SugarTable("HT_HISTORY_CHART")] + public class HT_HISTORY_CHARTEntity + { + /// + /// + /// + [SugarColumn(ColumnName="ChartID", ColumnDescription = "",ColumnDataType = "int(10)")] + public int ChartID { get; set; } + /// + /// 数据表 + /// + [SugarColumn(ColumnName="Table", ColumnDescription = "数据表",ColumnDataType = "nvarchar(64)")] + public string Table { get; set; } + /// + /// 别名 + /// + [SugarColumn(ColumnName="Alias", ColumnDescription = "别名",ColumnDataType = "nvarchar(16)")] + public string Alias { get; set; } + /// + /// 所属系统 + /// + [SugarColumn(ColumnName="System", ColumnDescription = "所属系统",ColumnDataType = "nvarchar(64)")] + public string System { get; set; } + /// + /// 注释名称 + /// + [SugarColumn(ColumnName="Description", ColumnDescription = "注释名称",ColumnDataType = "nvarchar(128)")] + public string Description { get; set; } + /// + /// 变量名称 + /// + [SugarColumn(ColumnName="TagName", ColumnDescription = "变量名称",ColumnDataType = "nvarchar(128)")] + public string TagName { get; set; } + /// + /// 条件表达式 + /// + [SugarColumn(ColumnName="Condition", ColumnDescription = "条件表达式",ColumnDataType = "nvarchar(1024)")] + public string Condition { get; set; } + /// + /// 变量CHART类型 + /// + [SugarColumn(ColumnName="ChartTagType", ColumnDescription = "变量CHART类型",ColumnDataType = "nvarchar(128)")] + public string ChartTagType { get; set; } + /// + /// 线条颜色 + /// + [SugarColumn(ColumnName="HTRGB", ColumnDescription = "线条颜色",ColumnDataType = "nvarchar(64)", IsNullable = true)] + public string HTRGB { get; set; } + /// + /// 单位 + /// + [SugarColumn(ColumnName="Units", ColumnDescription = "单位",ColumnDataType = "varchar(64)", IsNullable = true)] + public string Units { get; set; } + /// + /// 单位 + /// + [SugarColumn(ColumnName = "UnitType", ColumnDescription = "单位类型", ColumnDataType = "varchar(32)", IsNullable = true)] + public string UnitType { get; set; } + } +} diff --git a/HT.Cloud.Domain/Entity/ChartsManage/HistoryTechChartsEntity.cs b/HT.Cloud.Domain/Entity/ChartsManage/HistoryTechChartsEntity.cs new file mode 100644 index 0000000..8ed7369 --- /dev/null +++ b/HT.Cloud.Domain/Entity/ChartsManage/HistoryTechChartsEntity.cs @@ -0,0 +1,41 @@ +using System; +using System.ComponentModel.DataAnnotations; +using SqlSugar; + +namespace HT.Cloud.Domain.ChartsManage +{ + /// + /// 创 建:cdl + /// 日 期:2023-02-23 11:10 + /// 描 述:历史趋势实体类 + /// + [SugarTable("htb_historytechcharts")] + public class HistoryTechChartsEntity + { + /// + /// ID + /// + [SugarColumn(ColumnName="htno", ColumnDescription = "ID",ColumnDataType = "int(10)",IsPrimaryKey = true)] + public int htno { get; set; } + /// + /// TAGID + /// + [SugarColumn(ColumnName="htagid", ColumnDescription = "TAGID",ColumnDataType = "int(10)", IsNullable = true)] + public int? htagid { get; set; } + /// + /// 开始时间 + /// + [SugarColumn(ColumnName="hbegintime", ColumnDescription = "开始时间",ColumnDataType = "varchar(64)", IsNullable = true)] + public string hbegintime { get; set; } + /// + /// 结束时间 + /// + [SugarColumn(ColumnName="hendtime", ColumnDescription = "结束时间",ColumnDataType = "varchar(64)", IsNullable = true)] + public string hendtime { get; set; } + /// + /// 时间间隔S + /// + [SugarColumn(ColumnName="htimeinterval", ColumnDescription = "时间间隔S",ColumnDataType = "int(10)", IsNullable = true)] + public int? htimeinterval { get; set; } + } +} diff --git a/HT.Cloud.Domain/Entity/ChartsManage/RtTechChartsEntity.cs b/HT.Cloud.Domain/Entity/ChartsManage/RtTechChartsEntity.cs new file mode 100644 index 0000000..1299c35 --- /dev/null +++ b/HT.Cloud.Domain/Entity/ChartsManage/RtTechChartsEntity.cs @@ -0,0 +1,36 @@ +using System; +using System.ComponentModel.DataAnnotations; +using SqlSugar; + +namespace HT.Cloud.Domain.ChartsManage +{ + /// + /// 创 建:cdl + /// 日 期:2023-02-23 11:10 + /// 描 述:历史趋势实体类 + /// + [SugarTable("htb_rttechcharts")] + public class RtTechChartsEntity + { + /// + /// ID + /// + [SugarColumn(ColumnName = "htno", ColumnDescription = "ID", ColumnDataType = "int(10)", IsPrimaryKey = true)] + public int htno { get; set; } + /// + /// 远程数据服务器地址 + /// + [SugarColumn(ColumnName = "remotertdataserver", ColumnDescription = "远程数据服务器地址", ColumnDataType = "varchar(128)", IsNullable = true)] + public string remotertdataserver { get; set; } + /// + /// chart初始化点数 + /// + [SugarColumn(ColumnName = "inittime", ColumnDescription = "chart初始化点数", ColumnDataType = "int(10)", IsNullable = true)] + public int? inittime { get; set; } + /// + /// chart显示的最大点数 + /// + [SugarColumn(ColumnName = "maxpoint", ColumnDescription = "chart显示的最大点数", ColumnDataType = "int(10)", IsNullable = true)] + public int? maxpoint { get; set; } + } +} diff --git a/HT.Cloud.Service/ChartsManage/HistoryTechChartsService.cs b/HT.Cloud.Service/ChartsManage/HistoryTechChartsService.cs new file mode 100644 index 0000000..13f7e58 --- /dev/null +++ b/HT.Cloud.Service/ChartsManage/HistoryTechChartsService.cs @@ -0,0 +1,160 @@ +using System; +using System.Linq; +using System.Threading.Tasks; +using System.Collections.Generic; +using HT.Cloud.Code; +using SqlSugar; +using HT.Cloud.DataBase; +using HT.Cloud.Domain.ChartsManage; +using Serenity.Services; +using iTextSharp.text; +using HT.Cloud.Domain.DevicesManage; +using Microsoft.AspNetCore.Mvc; +using HT.Cloud.Domain.ReportManage; +using Quartz; + +namespace HT.Cloud.Service.ChartsManage +{ + /// + /// 创 建:cdl + /// 日 期:2023-02-23 11:10 + /// 描 述:历史趋势服务类 + /// + public class HistoryTechChartsService : BaseService, IDenpendency + { + public HistoryTechChartsService(ISqlSugarClient context) : base(context) + { + } + + public async Task GetAllTagList(string systemName, string chartTagType) + { + + + var groupName = _context.Queryable().Where(x => x.GroupDescription == systemName).First().GroupName; + var driverId = _context.Queryable().Where(x => x.GroupDescription == systemName).First().DriverID; + var driverName = _context.Queryable().Where(x => x.DriverID == driverId).First().DriverName; + var list = _context.Ado.SqlQuery($"SELECT * FROM HT_{driverName}_{groupName}_CHART WHERE ChartTagType = '{chartTagType}'"); + return list.ToJson(); + } + + public async Task GetDriverGroupList() + { + List subsystems = new List(); + var list_group = _context.Queryable().ToList(); + int i = 0; + foreach (var group in list_group) + { + subsystems.Add(new GroupNameList() { Lable = "a" + i, Value = group.GroupDescription }); + i++; + } + return subsystems.ToJson(); + } + + public async Task GetGroupSubsystemTag(string groupDescription) + { + List subsystems = new List(); + var groupId = _context.Queryable().Where(x => x.GroupDescription == groupDescription).First().GroupID; + var grouped = _context.Queryable().ToList().Where(x=>x.GroupID==groupId); + List list_name_two = grouped.Select(t => t.Subsystem).GroupBy(c => c).Select(c => c.First()).ToList(); + int i = 0; + foreach (var Meta_Tag in list_name_two) + { + subsystems.Add(new SubsysytemNameList() { Lable = "a" + i, Value = Meta_Tag }); + i++; + } + return subsystems.ToJson(); + } + + public async Task GetAllSubsystemTag() + { + List subsystems = new List(); + var grouped = _context.Queryable().ToList(); + List list_name_two = grouped.Select(t => t.Subsystem).GroupBy(c => c).Select(c => c.First()).ToList(); + int i = 0; + foreach (var Meta_Tag in list_name_two) + { + subsystems.Add(new SubsysytemNameList() { Lable = "a" + i, Value = Meta_Tag }); + i++; + } + return subsystems.ToJson(); + } + + public async Task GetSubsystemAllTag(string subsysytemName,string groupDescription) + { + + var subsysname = subsysytemName; + var groupId = _context.Queryable().Where(x => x.GroupDescription == groupDescription).First().GroupID; + var response = _context.Queryable().Where(x => x.Subsystem == subsysname&&x.GroupID == groupId).Select(x => new { x.TagID, x.Description, x.Units }).ToList(); + var reList = new List(); + foreach (var subsystem in response) + { + reList.Add( + new SubAllTagReturn() + { + TagID =(short)subsystem.TagID, + Description = subsystem.Description + $"({subsystem.Units})", + Units = subsystem.Units + } + ); + } + return reList.ToJson(); + } + + public async Task GetChartsTagValue(string table, string tagName, string startdt, string enddt, int timeinterval) + { + SugarParameter[] sqlParameters = + { + new SugarParameter("@HTable",table), + new SugarParameter("@HTagName",tagName), + new SugarParameter("@startdt",startdt), + new SugarParameter("@enddt",enddt), + new SugarParameter("@timeinterval",timeinterval) + }; + var dt = _context.Ado.UseStoredProcedure().GetDataTable("Query_Chart_Tag", sqlParameters); + //* + //var ds = db.SqlQuery("Query_Report_Period", sqlParameters);/// + + var valuelist = DataTableConvertModel.ConvertDataTableToList(dt); + var resultlist = new List(); + foreach (var value in valuelist) + { + resultlist.Add(new ChartData() + { + name = value.HDATETIME, + value = value.VALUE + }); + } + return resultlist.ToJson(); + } + + public class SubsysytemNameList + { + public string Lable { get; set; } + public string Value { get; set; } + } + private class GroupNameList + { + public string Lable { get; set; } + public string Value { get; set; } + } + public class SubAllTagReturn + { + //x.TagID, x.Description, x.Units + public short TagID { get; set; } + public string Description { get; set; } + public string Units { get; set; } + } + + public class ChartData + { + public decimal value { get; set; } + public String name { get; set; } + } + + public class HDATETIMEVALUE + { + public String HDATETIME { get; set; } + public decimal VALUE { get; set; } + } + } +} diff --git a/HT.Cloud.Service/ChartsManage/RtTechChartsService.cs b/HT.Cloud.Service/ChartsManage/RtTechChartsService.cs new file mode 100644 index 0000000..64ff19b --- /dev/null +++ b/HT.Cloud.Service/ChartsManage/RtTechChartsService.cs @@ -0,0 +1,226 @@ +using System; +using System.Linq; +using System.Threading.Tasks; +using System.Collections.Generic; +using HT.Cloud.Code; +using SqlSugar; +using HT.Cloud.DataBase; +using HT.Cloud.Domain.ChartsManage; +using Serenity.Services; +using iTextSharp.text; +using HT.Cloud.Domain.DevicesManage; +using Microsoft.AspNetCore.Mvc; +using HT.Cloud.Domain.ReportManage; +using Quartz; +using Newtonsoft.Json.Linq; +using System.Threading; + +namespace HT.Cloud.Service.ChartsManage +{ + /// + /// 创 建:cdl + /// 日 期:2023-02-23 11:10 + /// 描 述:历史趋势服务类 + /// + public class RtTechChartsService : BaseService, IDenpendency + { + public RtTechChartsService(ISqlSugarClient context) : base(context) + { + } + + public async Task GetAllTagList(string systemName, string chartTagType) + { + + + var groupName = _context.Queryable().Where(x => x.GroupDescription == systemName).First().GroupName; + var driverId = _context.Queryable().Where(x => x.GroupDescription == systemName).First().DriverID; + var driverName = _context.Queryable().Where(x => x.DriverID == driverId).First().DriverName; + var list = _context.Ado.SqlQuery($"SELECT * FROM HT_{driverName}_{groupName}_CHART WHERE ChartTagType = '{chartTagType}'"); + return list.ToJson(); + } + + public async Task GetDriverGroupList() + { + List subsystems = new List(); + var list_group = _context.Queryable().ToList(); + int i = 0; + foreach (var group in list_group) + { + subsystems.Add(new GroupNameList() { Lable = "a" + i, Value = group.GroupDescription }); + i++; + } + return subsystems.ToJson(); + } + + public async Task GetGroupSubsystemTag(string groupDescription) + { + List subsystems = new List(); + var groupId = _context.Queryable().Where(x => x.GroupDescription == groupDescription).First().GroupID; + var grouped = _context.Queryable().ToList().Where(x=>x.GroupID==groupId); + List list_name_two = grouped.Select(t => t.Subsystem).GroupBy(c => c).Select(c => c.First()).ToList(); + int i = 0; + foreach (var Meta_Tag in list_name_two) + { + subsystems.Add(new SubsysytemNameList() { Lable = "a" + i, Value = Meta_Tag }); + i++; + } + return subsystems.ToJson(); + } + + public async Task GetAllSubsystemTag() + { + List subsystems = new List(); + var grouped = _context.Queryable().ToList(); + List list_name_two = grouped.Select(t => t.Subsystem).GroupBy(c => c).Select(c => c.First()).ToList(); + int i = 0; + foreach (var Meta_Tag in list_name_two) + { + subsystems.Add(new SubsysytemNameList() { Lable = "a" + i, Value = Meta_Tag }); + i++; + } + return subsystems.ToJson(); + } + + public async Task GetSubsystemAllTag(string subsysytemName,string groupDescription) + { + + var subsysname = subsysytemName; + var groupId = _context.Queryable().Where(x => x.GroupDescription == groupDescription).First().GroupID; + var response = _context.Queryable().Where(x => x.Subsystem == subsysname&&x.GroupID == groupId).Select(x => new { x.TagID, x.Description, x.Units }).ToList(); + var reList = new List(); + foreach (var subsystem in response) + { + reList.Add( + new SubAllTagReturn() + { + TagID =(short)subsystem.TagID, + Description = subsystem.Description + $"({subsystem.Units})", + Units = subsystem.Units + } + ); + } + return reList.ToJson(); + } + + public async Task GetChartsTagValueInit(string[] charts_TagNames,string systemName) + { + var tagName_list = new List(); + + var result_list = new List>(); + + var groupName = _context.Queryable().Where(x => x.GroupDescription == systemName).First().GroupName; + + foreach (string tagNameTxt in charts_TagNames) + { + tagName_list.Add(tagNameTxt); + result_list.Add(new List()); + } + var remoteRtDataServer = repository.IQueryable().First().remotertdataserver + $"?groupName={groupName}"; + for (int i = 0; i < 3; i++) + { + var responseStr = RemoteHttpRequest.HttpGet(remoteRtDataServer); + + JObject valueJson = JObject.Parse(responseStr); + int forid = 0; + foreach (string tagName in tagName_list) + { + var timestring = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + var srcvalue = valueJson[tagName].ToString(); + decimal value = 0.0M; + if (srcvalue.Equals("False") || srcvalue.Equals("True")) + { + value = srcvalue.Equals("True") ? value = 1.0M : value = 0.0M; + } + else + { + value = decimal.Parse(srcvalue); + } + result_list[forid].Add(new ChartData() + { + name = timestring, + value = value + }); + + forid++; + } + Thread.Sleep(980); + } + return result_list.ToJson(); + } + + public async Task GetChartsTagValue(string[] charts_TagNames, string systemName) + { + var tagName_list = new List(); + + var result_list = new List>(); + + var groupName = _context.Queryable().Where(x => x.GroupDescription == systemName).First().GroupName; + + + foreach (string tagNameTxt in charts_TagNames) + { + tagName_list.Add(tagNameTxt); + result_list.Add(new List()); + } + + var remoteRtDataServer = repository.IQueryable().First().remotertdataserver + $"?groupName={groupName}"; ; + var responseStr = RemoteHttpRequest.HttpGet(remoteRtDataServer); + + JObject valueJson = JObject.Parse(responseStr); + int forid = 0; + foreach (string tagName in tagName_list) + { + var timestring = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + var srcvalue = valueJson[tagName].ToString(); + decimal value = 0.0M; + if (srcvalue.Equals("False") || srcvalue.Equals("True")) + { + value = srcvalue.Equals("True") ? value = 1.0M : value = 0.0M; + } + else + { + value = decimal.Parse(srcvalue); + } + result_list[forid].Add(new ChartData() + { + name = timestring, + value = value + }); + + forid++; + } + + return result_list.ToJson(); + } + + public class SubsysytemNameList + { + public string Lable { get; set; } + public string Value { get; set; } + } + private class GroupNameList + { + public string Lable { get; set; } + public string Value { get; set; } + } + public class SubAllTagReturn + { + //x.TagID, x.Description, x.Units + public short TagID { get; set; } + public string Description { get; set; } + public string Units { get; set; } + } + + public class ChartData + { + public decimal value { get; set; } + public String name { get; set; } + } + + public class HDATETIMEVALUE + { + public String HDATETIME { get; set; } + public decimal VALUE { get; set; } + } + } +} diff --git a/HT.Cloud.Service/ReportManage/HistoryReportService.cs b/HT.Cloud.Service/ReportManage/HistoryReportService.cs index 8d8cb11..92a3ef4 100644 --- a/HT.Cloud.Service/ReportManage/HistoryReportService.cs +++ b/HT.Cloud.Service/ReportManage/HistoryReportService.cs @@ -19,6 +19,8 @@ using System.Security.Cryptography; using System.Threading; using System.Data; using iTextSharp.text; +using Serenity.Data; +using Quartz; namespace HT.Cloud.Service.ReportManage { @@ -129,8 +131,9 @@ namespace HT.Cloud.Service.ReportManage var counts = ((endS - startS) / timeinterval) + 1; return counts; } - public async Task GetReportNewAsync(string page, string limit, string Startdt, string Enddt, string Timeinterval, string GroupName) + public async Task GetReportNewAsync(string page, string limit, string Startdt, string Enddt, string Timeinterval, string systemName) { + var groupName = _context.Queryable().Where(x => x.GroupDescription == systemName).First().GroupName; //SugarParameter[] sqlParameters ={ // new SugarParameter("@startdt",Startdt), // new SugarParameter("@enddt",Enddt), @@ -143,12 +146,12 @@ namespace HT.Cloud.Service.ReportManage SugarParameter[] sqlReportParameters ={ new SugarParameter("@startdt",Startdt), new SugarParameter("@enddt",Enddt), - new SugarParameter("@groupname",GroupName), + new SugarParameter("@groupname",groupName), new SugarParameter("@timeinterval",Timeinterval), new SugarParameter("@hpage",page.ToInt()), new SugarParameter("@hlimit",limit.ToInt()) }; - var Report = _context.Ado.UseStoredProcedure().GetDataTable("Query_Report_YL_PAGE", sqlReportParameters); + var Report = _context.Ado.UseStoredProcedure().GetDataTable("Query_Report_PAGE", sqlReportParameters); var jsonResult = JsonConvert.SerializeObject(Report); @@ -180,16 +183,23 @@ namespace HT.Cloud.Service.ReportManage return Report; } - public async Task GetReportFirstHead() + public async Task GetReportFirstHead(string systemName) { - var list = _context.Queryable().ToList(); + var groupName = _context.Queryable().Where(x=>x.GroupDescription == systemName).First().GroupName; + var driverId = _context.Queryable().Where(x => x.GroupDescription == systemName).First().DriverID; + var driverName = _context.Queryable().Where(x => x.DriverID == driverId).First().DriverName; + var list = _context.Ado.SqlQuery($"SELECT * FROM HT_{driverName}_{groupName}_REPORT"); + //var list = _context.Queryable().ToList(); List list_name_two = list.Select(t => t.HSYS).GroupBy(c => c).Select(c => c.First()).ToList(); return list_name_two.ToJson(); } - public async Task GetReportSecondHead() + public async Task GetReportSecondHead(string systemName) { - var list = _context.Queryable().ToList(); + var groupName = _context.Queryable().Where(x => x.GroupDescription == systemName).First().GroupName; + var driverId = _context.Queryable().Where(x => x.GroupDescription == systemName).First().DriverID; + var driverName = _context.Queryable().Where(x => x.DriverID == driverId).First().DriverName; + var list = _context.Ado.SqlQuery($"SELECT * FROM HT_{driverName}_{groupName}_REPORT"); List list_name_two = list.Select(t => t.HSYS).GroupBy(c => c).Select(c => c.First()).ToList(); var relist = new List(); foreach(var t in list_name_two) diff --git a/HT.Cloud.Web/Areas/PenMeiChartsManage/Controllers/PenMeiHistoryChartsController.cs b/HT.Cloud.Web/Areas/PenMeiChartsManage/Controllers/PenMeiHistoryChartsController.cs new file mode 100644 index 0000000..ada36c2 --- /dev/null +++ b/HT.Cloud.Web/Areas/PenMeiChartsManage/Controllers/PenMeiHistoryChartsController.cs @@ -0,0 +1,123 @@ +using System; +using System.Linq; +using System.Threading.Tasks; +using System.Collections.Generic; +using Microsoft.AspNetCore.Mvc; +using HT.Cloud.Code; +using HT.Cloud.Domain.ChartsManage; +using HT.Cloud.Service; +using Microsoft.AspNetCore.Authorization; +using HT.Cloud.Service.ChartsManage; +using HT.Cloud.Service.ReportManage; +using Serenity.Services; +using HT.Cloud.Domain.DevicesManage; + +namespace HT.Cloud.Web.Areas.ChartsManage.Controllers +{ + /// + /// 创 建:cdl + /// 日 期:2023-02-23 11:10 + /// 描 述:历史趋势控制器类 + /// + [Area("PenMeiChartsManage")] + public class PenMeiHistoryChartsController : BaseController + { + public HistoryChartsService _historyChartsService { get;set;} + + + + [HttpGet] + public async Task GetDriverGroupList() + { + var data = await _historyChartsService.GetDriverGroupList(); + return Content(data); + } + [HttpPost] + public async Task GetGroupSubsystemTag(ChartGroupDescription chartGroupDescription) + { + + var data = await _historyChartsService.GetGroupSubsystemTag(chartGroupDescription.GroupDescription); + return Content(data); + } + [HttpGet] + public async Task GetAllSubsystemTag() + { + + var data = await _historyChartsService.GetAllSubsystemTag(); + return Content(data); + } + + [HttpPost] + public async Task GetSubsystemAllTag(ChartSubsysytemName chartSubsysytemName) + { + var data = await _historyChartsService.GetSubsystemAllTag(chartSubsysytemName.SubsysytemName, chartSubsysytemName.GroupDescription); + return Content(data); + } + + [HttpPost] + public async Task GetChartsTagValue(Charts_Params charts_Params) + { + short TagID = short.Parse(charts_Params.TagID); + var StartTime = Gettime(charts_Params.StartTime); + var EndTime = Gettime(charts_Params.EndTime); + var Interval =int.Parse(charts_Params.Interval); + + var data = await _historyChartsService.GetChartsTagValue(TagID, StartTime, EndTime, Interval); + return Content(data); + } + + public string Gettime(string longtime) + { + long jsTimeStamp = long.Parse(longtime); + System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区 + DateTime dt = startTime.AddMilliseconds(jsTimeStamp); + return (dt.ToString("yyyy/MM/dd HH:mm:ss")); + } + + public class SubAllTagReturn + { + //x.TagID, x.Description, x.Units + public short TagID { get; set; } + public string Description { get; set; } + public string Units { get; set; } + } + + public class SubsysytemNameList + { + public string Lable { get; set; } + public string Value { get; set; } + } + + public class ChartSubsysytemName + { + public string GroupDescription { get; set; } + public string SubsysytemName { get; set; } + + } + public class ChartGroupDescription + { + public string GroupDescription { get; set; } + } + + + public class HDATETIMEVALUE + { + public String HDATETIME { get; set; } + public decimal VALUE { get; set; } + } + public class ChartData + { + public decimal value { get; set; } + public String name { get; set; } + } + + public class Charts_Params + { + public string TagID { get; set; } + public string StartTime { get; set; } + public string EndTime { get; set; } + public string Interval { get; set; } + } + + } +} diff --git a/HT.Cloud.Web/Areas/PenMeiChartsManage/Controllers/PenMeiHistoryTechChartsController.cs b/HT.Cloud.Web/Areas/PenMeiChartsManage/Controllers/PenMeiHistoryTechChartsController.cs new file mode 100644 index 0000000..39044d9 --- /dev/null +++ b/HT.Cloud.Web/Areas/PenMeiChartsManage/Controllers/PenMeiHistoryTechChartsController.cs @@ -0,0 +1,138 @@ +using System; +using System.Linq; +using System.Threading.Tasks; +using System.Collections.Generic; +using Microsoft.AspNetCore.Mvc; +using HT.Cloud.Code; +using HT.Cloud.Domain.ChartsManage; +using HT.Cloud.Service; +using Microsoft.AspNetCore.Authorization; +using HT.Cloud.Service.ChartsManage; +using HT.Cloud.Service.ReportManage; +using Serenity.Services; +using HT.Cloud.Domain.DevicesManage; + +namespace HT.Cloud.Web.Areas.ChartsManage.Controllers +{ + /// + /// 创 建:cdl + /// 日 期:2023-02-23 11:10 + /// 描 述:历史趋势控制器类 + /// + [Area("PenMeiChartsManage")] + public class PenMeiHistoryTechChartsController : BaseController + { + public HistoryTechChartsService _historyTechChartsService { get;set;} + + [HttpPost] + public async Task GetAllTagList(ChartTagType chartTagType) + { + var systemName = "喷煤系统"; + + var data = await _historyTechChartsService.GetAllTagList(systemName, chartTagType.ChartTagTypeName); + return Content(data); + } + + [HttpGet] + public async Task GetDriverGroupList() + { + var data = await _historyTechChartsService.GetDriverGroupList(); + return Content(data); + } + [HttpPost] + public async Task GetGroupSubsystemTag(ChartGroupDescription chartGroupDescription) + { + + var data = await _historyTechChartsService.GetGroupSubsystemTag(chartGroupDescription.GroupDescription); + return Content(data); + } + [HttpGet] + public async Task GetAllSubsystemTag() + { + + var data = await _historyTechChartsService.GetAllSubsystemTag(); + return Content(data); + } + + [HttpPost] + public async Task GetSubsystemAllTag(ChartSubsysytemName chartSubsysytemName) + { + var data = await _historyTechChartsService.GetSubsystemAllTag(chartSubsysytemName.SubsysytemName, chartSubsysytemName.GroupDescription); + return Content(data); + } + + [HttpPost] + public async Task GetChartsTagValue(Charts_Params charts_Params) + { + var Table = charts_Params.Table; + var TagName = charts_Params.TagName; + var StartTime = Gettime(charts_Params.StartTime); + var EndTime = Gettime(charts_Params.EndTime); + var Interval =int.Parse(charts_Params.Interval); + + var data = await _historyTechChartsService.GetChartsTagValue(Table,TagName, StartTime, EndTime, Interval); + return Content(data); + } + + public string Gettime(string longtime) + { + long jsTimeStamp = long.Parse(longtime); + System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区 + DateTime dt = startTime.AddMilliseconds(jsTimeStamp); + return (dt.ToString("yyyy/MM/dd HH:mm:ss")); + } + + public class ChartTagType + { + public string ChartTagTypeName { get;set; } + } + + + public class SubAllTagReturn + { + //x.TagID, x.Description, x.Units + public short TagID { get; set; } + public string Description { get; set; } + public string Units { get; set; } + } + + public class SubsysytemNameList + { + public string Lable { get; set; } + public string Value { get; set; } + } + + public class ChartSubsysytemName + { + public string GroupDescription { get; set; } + public string SubsysytemName { get; set; } + + } + public class ChartGroupDescription + { + public string GroupDescription { get; set; } + } + + + public class HDATETIMEVALUE + { + public String HDATETIME { get; set; } + public decimal VALUE { get; set; } + } + public class ChartData + { + public decimal value { get; set; } + public String name { get; set; } + } + + public class Charts_Params + { + public string Table { get; set; } + public string TagName { get; set; } + public string StartTime { get; set; } + public string EndTime { get; set; } + public string Interval { get; set; } + } + + } +} diff --git a/HT.Cloud.Web/Areas/PenMeiChartsManage/Controllers/PenMeiRtTechChartsController.cs b/HT.Cloud.Web/Areas/PenMeiChartsManage/Controllers/PenMeiRtTechChartsController.cs new file mode 100644 index 0000000..8cc4c34 --- /dev/null +++ b/HT.Cloud.Web/Areas/PenMeiChartsManage/Controllers/PenMeiRtTechChartsController.cs @@ -0,0 +1,141 @@ +using System; +using System.Linq; +using System.Threading.Tasks; +using System.Collections.Generic; +using Microsoft.AspNetCore.Mvc; +using HT.Cloud.Code; +using HT.Cloud.Domain.ChartsManage; +using HT.Cloud.Service; +using Microsoft.AspNetCore.Authorization; +using HT.Cloud.Service.ChartsManage; +using HT.Cloud.Service.ReportManage; +using Serenity.Services; +using HT.Cloud.Domain.DevicesManage; + +namespace HT.Cloud.Web.Areas.ChartsManage.Controllers +{ + /// + /// 创 建:cdl + /// 日 期:2023-02-23 11:10 + /// 描 述:历史趋势控制器类 + /// + [Area("PenMeiChartsManage")] + public class PenMeiRtTechChartsController : BaseController + { + public RtTechChartsService _rtTechChartsService { get;set;} + + [HttpPost] + public async Task GetAllTagList(ChartTagType chartTagType) + { + var systemName = "喷煤系统"; + + var data = await _rtTechChartsService.GetAllTagList(systemName, chartTagType.ChartTagTypeName); + return Content(data); + } + + [HttpGet] + public async Task GetDriverGroupList() + { + var data = await _rtTechChartsService.GetDriverGroupList(); + return Content(data); + } + [HttpPost] + public async Task GetGroupSubsystemTag(ChartGroupDescription chartGroupDescription) + { + + var data = await _rtTechChartsService.GetGroupSubsystemTag(chartGroupDescription.GroupDescription); + return Content(data); + } + [HttpGet] + public async Task GetAllSubsystemTag() + { + + var data = await _rtTechChartsService.GetAllSubsystemTag(); + return Content(data); + } + + [HttpPost] + public async Task GetSubsystemAllTag(ChartSubsysytemName chartSubsysytemName) + { + var data = await _rtTechChartsService.GetSubsystemAllTag(chartSubsysytemName.SubsysytemName, chartSubsysytemName.GroupDescription); + return Content(data); + } + + [HttpPost] + public async Task GetChartsTagValueInit(string[] charts_TagNames) + { + var systemName = "喷煤系统"; + var data = await _rtTechChartsService.GetChartsTagValueInit(charts_TagNames, systemName); + return Content(data); + } + + [HttpPost] + public async Task GetChartsTagValue(string[] charts_TagNames) + { + var systemName = "喷煤系统"; + var data = await _rtTechChartsService.GetChartsTagValue(charts_TagNames, systemName); + return Content(data); + } + + public string Gettime(string longtime) + { + long jsTimeStamp = long.Parse(longtime); + System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区 + DateTime dt = startTime.AddMilliseconds(jsTimeStamp); + return (dt.ToString("yyyy/MM/dd HH:mm:ss")); + } + + public class ChartTagType + { + public string ChartTagTypeName { get;set; } + } + + + public class SubAllTagReturn + { + //x.TagID, x.Description, x.Units + public short TagID { get; set; } + public string Description { get; set; } + public string Units { get; set; } + } + + public class SubsysytemNameList + { + public string Lable { get; set; } + public string Value { get; set; } + } + + public class ChartSubsysytemName + { + public string GroupDescription { get; set; } + public string SubsysytemName { get; set; } + + } + public class ChartGroupDescription + { + public string GroupDescription { get; set; } + } + + + public class HDATETIMEVALUE + { + public String HDATETIME { get; set; } + public decimal VALUE { get; set; } + } + public class ChartData + { + public decimal value { get; set; } + public String name { get; set; } + } + + public class Charts_Params + { + public string Table { get; set; } + public string TagName { get; set; } + public string StartTime { get; set; } + public string EndTime { get; set; } + public string Interval { get; set; } + } + + } +} diff --git a/HT.Cloud.Web/Areas/PenMeiChartsManage/Controllers/PenMeiRtchartsController.cs b/HT.Cloud.Web/Areas/PenMeiChartsManage/Controllers/PenMeiRtchartsController.cs new file mode 100644 index 0000000..8cf9286 --- /dev/null +++ b/HT.Cloud.Web/Areas/PenMeiChartsManage/Controllers/PenMeiRtchartsController.cs @@ -0,0 +1,99 @@ +using System; +using System.Linq; +using System.Threading.Tasks; +using System.Collections.Generic; +using Microsoft.AspNetCore.Mvc; +using HT.Cloud.Code; +using HT.Cloud.Domain.ChartsManage; +using HT.Cloud.Service; +using Microsoft.AspNetCore.Authorization; +using HT.Cloud.Service.ChartsManage; + +namespace HT.Cloud.Web.Areas.ChartsManage.Controllers +{ + /// + /// 创 建:cdl + /// 日 期:2023-03-01 15:05 + /// 描 述:实时趋势控制器类 + /// + [Area("PenMeiChartsManage")] + public class PenMeiRtchartsController : BaseController + { + public RtchartsService _rtchartsService { get;set;} + + [HttpGet] + public async Task GetDriverGroupList() + { + var data = await _rtchartsService.GetDriverGroupList(); + return Content(data); + } + + [HttpGet] + public async Task GetAllSubsystemTag() + { + var data = await _rtchartsService.GetAllSubsystemTag(); + return Content(data); + } + + [HttpPost] + public async Task GetSubsystemAllTag(ChartSubsysytemName chartSubsysytemName) + { + var data = await _rtchartsService.GetSubsystemAllTag(chartSubsysytemName.SubsysytemName); + return Content(data); + } + + [HttpPost] + public async Task GetChartsTagValueInit(string[] charts_TagIDs) + { + var data = await _rtchartsService.GetChartsTagValueInit(charts_TagIDs); + return Content(data); + } + + [HttpPost] + public async Task GetChartsTagValue(string[] charts_TagIDs) + { + var data = await _rtchartsService.GetChartsTagValue(charts_TagIDs); + return Content(data); + } + + + + public class SubAllTagReturn + { + //x.TagID, x.Description, x.Units + public short TagID { get; set; } + public string Description { get; set; } + public string Units { get; set; } + } + + public class SubsysytemNameList + { + public string Lable { get; set; } + public string Value { get; set; } + } + + public class ChartSubsysytemName + { + public string SubsysytemName { get; set; } + } + + public class HDATETIMEVALUE + { + public String HDATETIME { get; set; } + public decimal VALUE { get; set; } + } + public class ChartData + { + public decimal value { get; set; } + public String name { get; set; } + } + + public class Charts_Params + { + public string TagID { get; set; } + public string StartTime { get; set; } + public string EndTime { get; set; } + public string Interval { get; set; } + } + } +} diff --git a/HT.Cloud.Web/Areas/PenMeiChartsManage/Views/PenMeiHistoryCharts/Index.cshtml b/HT.Cloud.Web/Areas/PenMeiChartsManage/Views/PenMeiHistoryCharts/Index.cshtml new file mode 100644 index 0000000..99a18e9 --- /dev/null +++ b/HT.Cloud.Web/Areas/PenMeiChartsManage/Views/PenMeiHistoryCharts/Index.cshtml @@ -0,0 +1,968 @@ +@{ + ViewBag.Title = "Index"; + Layout = "~/Views/Shared/_Index.cshtml"; +} + + + + + + +
+
+
+
+ @*
    *@ +
    +
    +
    +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    + @*
    +
    +
    +
    +
    *@ + +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + + + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    + + diff --git a/HT.Cloud.Web/Areas/PenMeiChartsManage/Views/PenMeiHistoryTechCharts/Index.cshtml b/HT.Cloud.Web/Areas/PenMeiChartsManage/Views/PenMeiHistoryTechCharts/Index.cshtml new file mode 100644 index 0000000..eefdbf5 --- /dev/null +++ b/HT.Cloud.Web/Areas/PenMeiChartsManage/Views/PenMeiHistoryTechCharts/Index.cshtml @@ -0,0 +1,1074 @@ +@{ + ViewBag.Title = "Index"; + Layout = "~/Views/Shared/_Index.cshtml"; +} + + + + + + +
    +
    +
    +
    + @*
      *@ +
      + @*
      *@ + + +
      +
      +
      +
      + @*
      *@ + +
      +
      +
      +
      + @*
      +
      +
      +
      +
      *@ + +
      +
      +
      +
      + +
      + +
      +
      +
      +
      +
      + +
      + +
      +
      +
      +
      +
      + +
      + + + +
      +
      +
      +
      +
      + +
      + +
      +
      +
      +
      +
      +
      + +
      + +
      +
      + +
      + +
      +
      +
      +
      +
      +
      +
      +
      +
      + + diff --git a/HT.Cloud.Web/Areas/PenMeiChartsManage/Views/PenMeiRtTechCharts/Index.cshtml b/HT.Cloud.Web/Areas/PenMeiChartsManage/Views/PenMeiRtTechCharts/Index.cshtml new file mode 100644 index 0000000..b0b04b9 --- /dev/null +++ b/HT.Cloud.Web/Areas/PenMeiChartsManage/Views/PenMeiRtTechCharts/Index.cshtml @@ -0,0 +1,1302 @@ +@{ + ViewBag.Title = "Index"; + Layout = "~/Views/Shared/_Index.cshtml"; +} + + + + + + +
      +
      +
      +
      + @*
        *@ +
        + @*
        *@ + + +
        +
        +
        +
        + @*
        *@ + +
        +
        +
        +
        + +
        +
        + +
        +
        +
        + +
        + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        +
        +
        +
        +
        +
        +
        +
        +
        + + diff --git a/HT.Cloud.Web/Areas/PenMeiChartsManage/Views/PenMeiRtcharts/Index.cshtml b/HT.Cloud.Web/Areas/PenMeiChartsManage/Views/PenMeiRtcharts/Index.cshtml new file mode 100644 index 0000000..c6d72d7 --- /dev/null +++ b/HT.Cloud.Web/Areas/PenMeiChartsManage/Views/PenMeiRtcharts/Index.cshtml @@ -0,0 +1,529 @@ +@{ + ViewBag.Title = "Index"; + Layout = "~/Views/Shared/_Index.cshtml"; +} + + + + + + +
        +
        +
        +
        + @*
          *@ +
          +
          +
          +
          +
          +
          +
          +
          + +
          + +
          +
          +
          +
          + @*
          +
          +
          +
          +
          *@ + +
          +
          + +
          +
          +
          + +
          + +
          +
          +
          +
          +
          + +
          + +
          +
          +
          + +
          +
          +
          +
          +
          +
          +
          +
          +
          + + diff --git a/HT.Cloud.Web/Areas/PenMeiReportManage/Controllers/PenMeiHistoryReportController.cs b/HT.Cloud.Web/Areas/PenMeiReportManage/Controllers/PenMeiHistoryReportController.cs new file mode 100644 index 0000000..42a16af --- /dev/null +++ b/HT.Cloud.Web/Areas/PenMeiReportManage/Controllers/PenMeiHistoryReportController.cs @@ -0,0 +1,155 @@ +using Microsoft.AspNetCore.Mvc; +using System; +using System.Threading.Tasks; +using HT.Cloud.Service.ChartsManage; +using HT.Cloud.Service.ReportManage; +using Newtonsoft.Json; +using System.Diagnostics.Metrics; +using System.Text; +using static System.Net.Mime.MediaTypeNames; +using Microsoft.AspNetCore.Mvc.Rendering; +using Microsoft.AspNetCore.Http; +using Microsoft.CodeAnalysis; +using HT.Cloud.Code; + +namespace HT.Cloud.Web.Areas.PenMeiReportManage.Controllers +{ + [Area("PenMeiReportManage")] + public class PenMeiHistoryReportController : BaseController + { + public HistoryReportService _historyReportService { get; set; } + + [HttpGet] + public async Task GetDriverGroupList() + { + //var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss"); + //var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss"); + + var data = await _historyReportService.GetDriverGroupList(); + return Content(data); + } + + [HttpPost] + public async Task GetReport(Reportparam reportparam) + { + //var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss"); + //var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss"); + var StartTime = Gettime( reportparam.StartTime.ToString()); + var EndTime = Gettime( reportparam.EndTime.ToString()); + var Interval = int.Parse(reportparam.Interval); + var data = await _historyReportService.GetReportFileName(StartTime, EndTime, Interval); + return Content(data); + } + [HttpPost] + public async Task GetReportNew(Reportparam reportparam) + { + var t1 = DateTime.Now; + //var ob = JsonConvert.SerializeObject(reportparam); + var t2 = DateTime.Now; + Console.WriteLine($"第1次序列化,花费时间:{(t2 - t1).TotalMilliseconds}"); + //var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss"); + //var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss"); + var StartTime = Gettime(reportparam.StartTime.ToString()); + var EndTime = Gettime(reportparam.EndTime.ToString()); + var Interval = int.Parse(reportparam.Interval); + var t5 = DateTime.Now; + var data = await _historyReportService.GetReportNew(StartTime, EndTime, Interval); + var t6 = DateTime.Now; + Console.WriteLine($"调用service,花费时间:{(t6 - t5).TotalMilliseconds}"); + var t3 = DateTime.Now; + var con = JsonConvert.SerializeObject(data); + var t4 = DateTime.Now; + Console.WriteLine($"第2次序列化,花费时间:{(t4 - t3).TotalMilliseconds}"); + return Content(con, "text/html; charset=utf-8"); + //return Content(con); + } + [HttpPost] + public async Task GetReportNewInitPara(Reportparam reportparam) + { + ////sql获取count + //var StartTime = Gettime(reportparam.StartTime.ToString()); + //var EndTime = Gettime(reportparam.EndTime.ToString()); + //var Interval = int.Parse(reportparam.Interval); + //var data = await _historyReportService.GetReportNewInitPara(StartTime, EndTime, Interval); + //var con = JsonConvert.SerializeObject(data); + //return Content(con); + + //代码理论count + var StartTime = long.Parse(reportparam.StartTime.ToString()); + var EndTime = long.Parse(reportparam.EndTime.ToString()); + var Interval = int.Parse(reportparam.Interval); + var data = await _historyReportService.GetReportNewInitParaInCode(StartTime, EndTime, Interval); + var con = JsonConvert.SerializeObject(data); + return Content(con); + } + [IgnoreAntiforgeryToken] + public async Task GetReportNewPage(string page, string limit,string StartTime,string EndTime, string Interval) + { + var systemName = "喷煤系统"; + //string page = Request.Query["page"].ToString(); + //string limit = Request.Query["limit"].ToString(); + //var page = Gettime(asyncparam.page.ToString()); + //var limit = Gettime(asyncparam.limit.ToString()); + var startTime = Gettime(StartTime); + var endTime = Gettime(EndTime); + var data = await _historyReportService.GetReportNewAsync(page, limit, startTime, endTime, Interval, systemName); + //var con = JsonConvert.SerializeObject(data); + return Content(data); + } + [HttpGet] + public async Task GetReportFirstHead() + { + //var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss"); + //var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss"); + var systemName = "喷煤系统"; + var data = await _historyReportService.GetReportFirstHead(systemName); + return Content(data); + } + [HttpGet] + public async Task GetReportSecondHead() + { + //var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss"); + //var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss"); + var systemName = "喷煤系统"; + var data = await _historyReportService.GetReportSecondHead(systemName); + return Content(data); + } + [HttpPost] + public async Task GetReportDownLoad(DownLoadparam downLoadparam) + { + //var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss"); + //var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss"); + DateTime start = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + DateTime StartTime = start.AddMilliseconds(downLoadparam.StartTime).ToLocalTime(); + DateTime EndTime = start.AddMilliseconds(downLoadparam.EndTime).ToLocalTime(); + int Interval = int.Parse(downLoadparam.Interval.ToString()); + var data = await _historyReportService.GetReportDownLoad(StartTime, EndTime, Interval); + return Content(data); + } + public string Gettime(string longtime) + { + long jsTimeStamp =long.Parse( longtime); + System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区 + DateTime dt = startTime.AddMilliseconds(jsTimeStamp); + return (dt.ToString("yyyy/MM/dd HH:mm:ss")); + } + + public class Reportparam + { + public string StartTime { get; set; } + public string EndTime { get; set; } + public string Interval { get; set; } + } + public class DownLoadparam + { + public long StartTime { get; set; } + public long EndTime { get; set; } + public string Interval { get; set; } + } + public class Asyncparam + { + public string page { get; set; } + public string limit { get; set; } + } + } +} diff --git a/HT.Cloud.Web/Areas/PenMeiReportManage/Controllers/RtReportController.cs b/HT.Cloud.Web/Areas/PenMeiReportManage/Controllers/RtReportController.cs new file mode 100644 index 0000000..6a82d76 --- /dev/null +++ b/HT.Cloud.Web/Areas/PenMeiReportManage/Controllers/RtReportController.cs @@ -0,0 +1,23 @@ +using Microsoft.AspNetCore.Mvc; +using System; +using System.Threading.Tasks; +using HT.Cloud.Service.ChartsManage; +using HT.Cloud.Service.ReportManage; + +namespace HT.Cloud.Web.Areas.PenMeiReportManage.Controllers +{ + [Area("PenMeiReportManage")] + public class RtReportController : BaseController + { + public RtReportService _rtReportService { get; set; } + + [HttpGet] + public async Task GetRtData() + { + var data = await _rtReportService.GetRtSubsysTagValue(); + return Content(data); + } + + + } +} diff --git a/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiHistoryReport/Index.cshtml b/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiHistoryReport/Index.cshtml new file mode 100644 index 0000000..15d2738 --- /dev/null +++ b/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiHistoryReport/Index.cshtml @@ -0,0 +1,1540 @@ +@{ + ViewBag.Title = "Index"; + Layout = "~/Views/Shared/_Index.cshtml"; +} + + + + + + + + + 表单设计器代码 + + + + + + + + + + + +
          +
          +
          + @*
          +
          + +
          + +
          +
          +
          *@ +
          +
          + +
          + +
          +
          +
          +
          +
          + +
          + +
          +
          +
          +
          +
          + +
          + + + +
          +
          +
          +
          +
          + +
          + +
          +
          +
          +
          +
          +
          + +
          + +
          +
          +
          +
          + +
          + +
          +
          +
          +
          + +
          + @*
          *@ + @*
          +
          +
          *@ +
          +
          + @*
          *@ +
          + @**@ + +@* + *@ + + + + + + \ No newline at end of file diff --git a/HT.Cloud.Web/Areas/ReportManage/Controllers/HistoryReportController.cs b/HT.Cloud.Web/Areas/ReportManage/Controllers/HistoryReportController.cs index 5b0ea63..abd8cd8 100644 --- a/HT.Cloud.Web/Areas/ReportManage/Controllers/HistoryReportController.cs +++ b/HT.Cloud.Web/Areas/ReportManage/Controllers/HistoryReportController.cs @@ -11,6 +11,7 @@ using Microsoft.AspNetCore.Mvc.Rendering; using Microsoft.AspNetCore.Http; using Microsoft.CodeAnalysis; using HT.Cloud.Code; +using Quartz; namespace HT.Cloud.Web.Areas.ReportManage.Controllers { @@ -83,15 +84,16 @@ namespace HT.Cloud.Web.Areas.ReportManage.Controllers return Content(con); } [IgnoreAntiforgeryToken] - public async Task GetReportNewPage(string page, string limit,string StartTime,string EndTime, string Interval, string GroupName) + public async Task GetReportNewPage(string page, string limit,string StartTime,string EndTime, string Interval) { //string page = Request.Query["page"].ToString(); //string limit = Request.Query["limit"].ToString(); //var page = Gettime(asyncparam.page.ToString()); //var limit = Gettime(asyncparam.limit.ToString()); + var systemName = "制粉系统"; var startTime = Gettime(StartTime); var endTime = Gettime(EndTime); - var data = await _historyReportService.GetReportNewAsync(page, limit, startTime, endTime, Interval, GroupName); + var data = await _historyReportService.GetReportNewAsync(page, limit, startTime, endTime, Interval, systemName); //var con = JsonConvert.SerializeObject(data); return Content(data); } @@ -100,8 +102,8 @@ namespace HT.Cloud.Web.Areas.ReportManage.Controllers { //var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss"); //var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss"); - - var data = await _historyReportService.GetReportFirstHead(); + var systemName = "制粉系统"; + var data = await _historyReportService.GetReportFirstHead(systemName); return Content(data); } [HttpGet] @@ -109,8 +111,8 @@ namespace HT.Cloud.Web.Areas.ReportManage.Controllers { //var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss"); //var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss"); - - var data = await _historyReportService.GetReportSecondHead(); + var systemName = "制粉系统"; + var data = await _historyReportService.GetReportSecondHead(systemName); return Content(data); } [HttpPost] diff --git a/HT.Cloud.Web/Areas/ReportManage/Views/HistoryReport/Index.cshtml b/HT.Cloud.Web/Areas/ReportManage/Views/HistoryReport/Index.cshtml index 586ab83..76a41e2 100644 --- a/HT.Cloud.Web/Areas/ReportManage/Views/HistoryReport/Index.cshtml +++ b/HT.Cloud.Web/Areas/ReportManage/Views/HistoryReport/Index.cshtml @@ -46,7 +46,7 @@
          -
          + @*
          -
          -
          +
          *@ +
          -
          +