大更新,添加喷煤历史报表历史趋势实时趋势等界面实体控制器服务类等等
This commit is contained in:
160
HT.Cloud.Service/ChartsManage/HistoryTechChartsService.cs
Normal file
160
HT.Cloud.Service/ChartsManage/HistoryTechChartsService.cs
Normal file
@ -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
|
||||
{
|
||||
/// <summary>
|
||||
/// 创 建:cdl
|
||||
/// 日 期:2023-02-23 11:10
|
||||
/// 描 述:历史趋势服务类
|
||||
/// </summary>
|
||||
public class HistoryTechChartsService : BaseService<HistoryTechChartsEntity>, IDenpendency
|
||||
{
|
||||
public HistoryTechChartsService(ISqlSugarClient context) : base(context)
|
||||
{
|
||||
}
|
||||
|
||||
public async Task<string> GetAllTagList(string systemName, string chartTagType)
|
||||
{
|
||||
|
||||
|
||||
var groupName = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||
var driverId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().DriverID;
|
||||
var driverName = _context.Queryable<MetaDriverEntity>().Where(x => x.DriverID == driverId).First().DriverName;
|
||||
var list = _context.Ado.SqlQuery<HT_HISTORY_CHARTEntity>($"SELECT * FROM HT_{driverName}_{groupName}_CHART WHERE ChartTagType = '{chartTagType}'");
|
||||
return list.ToJson();
|
||||
}
|
||||
|
||||
public async Task<string> GetDriverGroupList()
|
||||
{
|
||||
List<GroupNameList> subsystems = new List<GroupNameList>();
|
||||
var list_group = _context.Queryable<MetaGroupEntity>().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<string> GetGroupSubsystemTag(string groupDescription)
|
||||
{
|
||||
List<SubsysytemNameList> subsystems = new List<SubsysytemNameList>();
|
||||
var groupId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == groupDescription).First().GroupID;
|
||||
var grouped = _context.Queryable<MetaTagEntity>().ToList().Where(x=>x.GroupID==groupId);
|
||||
List<string> 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<string> GetAllSubsystemTag()
|
||||
{
|
||||
List<SubsysytemNameList> subsystems = new List<SubsysytemNameList>();
|
||||
var grouped = _context.Queryable<MetaTagEntity>().ToList();
|
||||
List<string> 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<string> GetSubsystemAllTag(string subsysytemName,string groupDescription)
|
||||
{
|
||||
|
||||
var subsysname = subsysytemName;
|
||||
var groupId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == groupDescription).First().GroupID;
|
||||
var response = _context.Queryable<MetaTagEntity>().Where(x => x.Subsystem == subsysname&&x.GroupID == groupId).Select(x => new { x.TagID, x.Description, x.Units }).ToList();
|
||||
var reList = new List<SubAllTagReturn>();
|
||||
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<string> 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<HDATETIMEVALUE>.ConvertDataTableToList(dt);
|
||||
var resultlist = new List<ChartData>();
|
||||
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; }
|
||||
}
|
||||
}
|
||||
}
|
226
HT.Cloud.Service/ChartsManage/RtTechChartsService.cs
Normal file
226
HT.Cloud.Service/ChartsManage/RtTechChartsService.cs
Normal file
@ -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
|
||||
{
|
||||
/// <summary>
|
||||
/// 创 建:cdl
|
||||
/// 日 期:2023-02-23 11:10
|
||||
/// 描 述:历史趋势服务类
|
||||
/// </summary>
|
||||
public class RtTechChartsService : BaseService<RtTechChartsEntity>, IDenpendency
|
||||
{
|
||||
public RtTechChartsService(ISqlSugarClient context) : base(context)
|
||||
{
|
||||
}
|
||||
|
||||
public async Task<string> GetAllTagList(string systemName, string chartTagType)
|
||||
{
|
||||
|
||||
|
||||
var groupName = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||
var driverId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().DriverID;
|
||||
var driverName = _context.Queryable<MetaDriverEntity>().Where(x => x.DriverID == driverId).First().DriverName;
|
||||
var list = _context.Ado.SqlQuery<HT_HISTORY_CHARTEntity>($"SELECT * FROM HT_{driverName}_{groupName}_CHART WHERE ChartTagType = '{chartTagType}'");
|
||||
return list.ToJson();
|
||||
}
|
||||
|
||||
public async Task<string> GetDriverGroupList()
|
||||
{
|
||||
List<GroupNameList> subsystems = new List<GroupNameList>();
|
||||
var list_group = _context.Queryable<MetaGroupEntity>().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<string> GetGroupSubsystemTag(string groupDescription)
|
||||
{
|
||||
List<SubsysytemNameList> subsystems = new List<SubsysytemNameList>();
|
||||
var groupId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == groupDescription).First().GroupID;
|
||||
var grouped = _context.Queryable<MetaTagEntity>().ToList().Where(x=>x.GroupID==groupId);
|
||||
List<string> 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<string> GetAllSubsystemTag()
|
||||
{
|
||||
List<SubsysytemNameList> subsystems = new List<SubsysytemNameList>();
|
||||
var grouped = _context.Queryable<MetaTagEntity>().ToList();
|
||||
List<string> 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<string> GetSubsystemAllTag(string subsysytemName,string groupDescription)
|
||||
{
|
||||
|
||||
var subsysname = subsysytemName;
|
||||
var groupId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == groupDescription).First().GroupID;
|
||||
var response = _context.Queryable<MetaTagEntity>().Where(x => x.Subsystem == subsysname&&x.GroupID == groupId).Select(x => new { x.TagID, x.Description, x.Units }).ToList();
|
||||
var reList = new List<SubAllTagReturn>();
|
||||
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<string> GetChartsTagValueInit(string[] charts_TagNames,string systemName)
|
||||
{
|
||||
var tagName_list = new List<string>();
|
||||
|
||||
var result_list = new List<List<ChartData>>();
|
||||
|
||||
var groupName = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||
|
||||
foreach (string tagNameTxt in charts_TagNames)
|
||||
{
|
||||
tagName_list.Add(tagNameTxt);
|
||||
result_list.Add(new List<ChartData>());
|
||||
}
|
||||
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<string> GetChartsTagValue(string[] charts_TagNames, string systemName)
|
||||
{
|
||||
var tagName_list = new List<string>();
|
||||
|
||||
var result_list = new List<List<ChartData>>();
|
||||
|
||||
var groupName = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||
|
||||
|
||||
foreach (string tagNameTxt in charts_TagNames)
|
||||
{
|
||||
tagName_list.Add(tagNameTxt);
|
||||
result_list.Add(new List<ChartData>());
|
||||
}
|
||||
|
||||
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; }
|
||||
}
|
||||
}
|
||||
}
|
@ -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<string> GetReportNewAsync(string page, string limit, string Startdt, string Enddt, string Timeinterval, string GroupName)
|
||||
public async Task<string> GetReportNewAsync(string page, string limit, string Startdt, string Enddt, string Timeinterval, string systemName)
|
||||
{
|
||||
var groupName = _context.Queryable<MetaGroupEntity>().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<string> GetReportFirstHead()
|
||||
public async Task<string> GetReportFirstHead(string systemName)
|
||||
{
|
||||
var list = _context.Queryable<Ht_History_ReportEntity>().ToList();
|
||||
var groupName = _context.Queryable<MetaGroupEntity>().Where(x=>x.GroupDescription == systemName).First().GroupName;
|
||||
var driverId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().DriverID;
|
||||
var driverName = _context.Queryable<MetaDriverEntity>().Where(x => x.DriverID == driverId).First().DriverName;
|
||||
var list = _context.Ado.SqlQuery<Ht_History_ReportEntity>($"SELECT * FROM HT_{driverName}_{groupName}_REPORT");
|
||||
//var list = _context.Queryable<Ht_History_ReportEntity>().ToList();
|
||||
List<string> list_name_two = list.Select(t => t.HSYS).GroupBy(c => c).Select(c => c.First()).ToList();
|
||||
return list_name_two.ToJson();
|
||||
}
|
||||
|
||||
public async Task<string> GetReportSecondHead()
|
||||
public async Task<string> GetReportSecondHead(string systemName)
|
||||
{
|
||||
var list = _context.Queryable<Ht_History_ReportEntity>().ToList();
|
||||
var groupName = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||
var driverId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().DriverID;
|
||||
var driverName = _context.Queryable<MetaDriverEntity>().Where(x => x.DriverID == driverId).First().DriverName;
|
||||
var list = _context.Ado.SqlQuery<Ht_History_ReportEntity>($"SELECT * FROM HT_{driverName}_{groupName}_REPORT");
|
||||
List<string> list_name_two = list.Select(t => t.HSYS).GroupBy(c => c).Select(c => c.First()).ToList();
|
||||
var relist = new List<SecondHead>();
|
||||
foreach(var t in list_name_two)
|
||||
|
Reference in New Issue
Block a user