大版本更新推送
This commit is contained in:
80
HT.Cloud.Service/ReportManage/ApplicationStateService.cs
Normal file
80
HT.Cloud.Service/ReportManage/ApplicationStateService.cs
Normal file
@ -0,0 +1,80 @@
|
||||
using MiniExcelLibs;
|
||||
using Serenity.Services;
|
||||
using SqlSugar;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.SqlClient;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using HT.Cloud.Domain.ReportManage;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System.Data;
|
||||
using HT.Cloud.Code;
|
||||
using HT.Cloud.Domain.ChartsManage;
|
||||
using HT.Cloud.Domain.DevicesManage;
|
||||
using Quartz;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using HT.Cloud.Domain.Entity.ReportManage;
|
||||
using System.Diagnostics;
|
||||
using System.Threading;
|
||||
|
||||
namespace HT.Cloud.Service.ReportManage
|
||||
{
|
||||
public class ApplicationStateService : BaseService<RTApplicationStateEntity>, IDenpendency
|
||||
{
|
||||
/// <summary>
|
||||
/// 绑定数据仓库的数据库ID
|
||||
/// </summary>
|
||||
private string dataDBNumber = GlobalContext.SystemConfig.DataDBNumber;
|
||||
|
||||
public ApplicationStateService(ISqlSugarClient context) : base(context)
|
||||
{
|
||||
}
|
||||
|
||||
public async Task<string> GetApplicationList(string systemName)
|
||||
{
|
||||
var groupName = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||
var driverId = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().DriverID;
|
||||
var driverName = _context.AsTenant().QueryableWithAttr<MetaDriverEntity>().Where(x => x.DriverID == driverId).First().DriverName;
|
||||
var list = _context.AsTenant().GetConnection(dataDBNumber).Ado.SqlQuery<RTMainPageEntity>($"SELECT * FROM HT_{driverName}_{groupName}_STATE");
|
||||
|
||||
return list.ToJson();
|
||||
}
|
||||
|
||||
public async Task<string> GetRtApplicationState(string systemName)
|
||||
{
|
||||
var groupName = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||
var driverId = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().DriverID;
|
||||
var driverName = _context.AsTenant().QueryableWithAttr<MetaDriverEntity>().Where(x => x.DriverID == driverId).First().DriverName;
|
||||
var list = _context.AsTenant().GetConnection(dataDBNumber).Ado.SqlQuery<RTMainPageEntity>($"SELECT * FROM HT_{driverName}_{groupName}_STATE");
|
||||
|
||||
var interval = 1000;
|
||||
|
||||
foreach ( var item in list )
|
||||
{
|
||||
var process = Process.GetProcessesByName("HT.Cloud.Web")[0];
|
||||
var startTime = DateTime.UtcNow;
|
||||
var startCpuUsage = process.TotalProcessorTime;
|
||||
// Perform some work
|
||||
Thread.Sleep(interval);
|
||||
var endTime = DateTime.UtcNow;
|
||||
var endCpuUsage = process.TotalProcessorTime;
|
||||
var cpuUsage = (endCpuUsage - startCpuUsage) / (endTime - startTime) / Environment.ProcessorCount * 100;
|
||||
var memory = process.WorkingSet64 / (1024 * 1024);
|
||||
Console.WriteLine($"CPU usage: {cpuUsage}% Memory: {memory}MB");
|
||||
}
|
||||
return list.ToJson();
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class RealTimeDataFormat
|
||||
{
|
||||
public string Description { get; set; }
|
||||
public string Value { get; set; }
|
||||
public string RtTime { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
@ -177,6 +177,49 @@ namespace HT.Cloud.Service.ReportManage
|
||||
var subSystem = list.Where(x => x.Description == alarmName).First().Subsystem;
|
||||
return subSystem.ToJson();
|
||||
}
|
||||
|
||||
public async Task<string> GetAlarm_ACC(string startdt, string enddt, string systemName)
|
||||
{
|
||||
var groupName = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||
SugarParameter[] sqlParameters =
|
||||
{
|
||||
new SugarParameter("@HGROUPNAME",groupName),
|
||||
new SugarParameter("@Hstartdt",startdt),
|
||||
new SugarParameter("@Henddt",enddt)
|
||||
};
|
||||
var dt = _context.AsTenant().GetConnection(dataDBNumber).Ado.UseStoredProcedure().GetDataTable("HT_BI_Alarm_ACC", sqlParameters);
|
||||
var valuelist = DataTableConvertModel<AlarmACC>.ConvertDataTableToList(dt);
|
||||
return valuelist.ToJson();
|
||||
}
|
||||
|
||||
public async Task<string> GetAlarm_Histogram(string startdt, string enddt, string systemName)
|
||||
{
|
||||
var groupName = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||
SugarParameter[] sqlParameters =
|
||||
{
|
||||
new SugarParameter("@HGROUPNAME",groupName),
|
||||
new SugarParameter("@Hstartdt",startdt),
|
||||
new SugarParameter("@Henddt",enddt)
|
||||
};
|
||||
var dt = _context.AsTenant().GetConnection(dataDBNumber).Ado.UseStoredProcedure().GetDataTable("HT_BI_Alarm_Histogram", sqlParameters);
|
||||
var valuelist = DataTableConvertModel<AlarmHistogram>.ConvertDataTableToList(dt);
|
||||
return valuelist.ToJson();
|
||||
}
|
||||
|
||||
public async Task<string> GetAlarm_Pie(string startdt, string enddt, string systemName)
|
||||
{
|
||||
var groupName = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||
SugarParameter[] sqlParameters =
|
||||
{
|
||||
new SugarParameter("@HGROUPNAME",groupName),
|
||||
new SugarParameter("@Hstartdt",startdt),
|
||||
new SugarParameter("@Henddt",enddt)
|
||||
};
|
||||
var dt = _context.AsTenant().GetConnection(dataDBNumber).Ado.UseStoredProcedure().GetDataTable("HT_BI_Alarm_Pie", sqlParameters);
|
||||
var valuelist = DataTableConvertModel<AlarmPie>.ConvertDataTableToList(dt);
|
||||
return valuelist.ToJson();
|
||||
}
|
||||
|
||||
private class AlarmValueCount
|
||||
{
|
||||
public string Alarmtype { get; set; }
|
||||
@ -218,5 +261,27 @@ namespace HT.Cloud.Service.ReportManage
|
||||
public string Description { get; set; }
|
||||
public string Units { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
private class AlarmACC
|
||||
{
|
||||
public string TAGNAME { get; set; }
|
||||
public string Description { get; set; }
|
||||
public int hcount { get; set; }
|
||||
public int hztime { get; set; }
|
||||
}
|
||||
private class AlarmHistogram
|
||||
{
|
||||
public string HDATE { get; set; }
|
||||
public string TAGNAME { get; set; }
|
||||
public string Description { get; set; }
|
||||
public int hcount { get; set; }
|
||||
public int hztime { get; set; }
|
||||
}
|
||||
private class AlarmPie
|
||||
{
|
||||
public string TAGNAME { get; set; }
|
||||
public string Description { get; set; }
|
||||
public double Hpercent { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user