喷煤趋势报警,趋势轴样式修改完成

This commit is contained in:
dell
2023-08-22 17:24:56 +08:00
parent 2587fe7fa3
commit a83653655b
13 changed files with 2120 additions and 97 deletions

View File

@ -0,0 +1,86 @@
using System;
using System.ComponentModel.DataAnnotations;
using SqlSugar;
namespace HT.Cloud.Domain.ReportManage
{
/// <summary>
/// 创 建cdl
/// 日 期2023-08-16 15:58
/// 描 述:报警信息变量表实体类
/// </summary>
[SugarTable("HT_HISTORY_ALARM")]
public class HistoryAlarmEntity
{
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName="TagID", ColumnDescription = "",ColumnDataType = "smallint(5)",IsIdentity = true)]
public int TagID { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName="TagName", ColumnDescription = "",ColumnDataType = "nvarchar(512)")]
public string TagName { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName="DataType", ColumnDescription = "",ColumnDataType = "tinyint(3)")]
public bool DataType { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName="DataSize", ColumnDescription = "",ColumnDataType = "smallint(5)")]
public int DataSize { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName="Address", ColumnDescription = "",ColumnDataType = "nvarchar(64)")]
public string Address { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName="GroupID", ColumnDescription = "",ColumnDataType = "smallint(5)")]
public int GroupID { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName="IsActive", ColumnDescription = "",ColumnDataType = "bit(1)")]
public bool IsActive { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName="Description", ColumnDescription = "",ColumnDataType = "nvarchar(128)")]
public string Description { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName="Subsystem", ColumnDescription = "",ColumnDataType = "nvarchar(64)", IsNullable = true)]
public string Subsystem { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName="Units", ColumnDescription = "",ColumnDataType = "nvarchar(20)", IsNullable = true)]
public string Units { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName="WriteAddress", ColumnDescription = "",ColumnDataType = "nvarchar(64)", IsNullable = true)]
public string WriteAddress { get; set; }
/// <summary>
/// 报警类型
/// </summary>
[SugarColumn(ColumnName="Alarmtype", ColumnDescription = "报警类型",ColumnDataType = "nvarchar(8)", IsNullable = true)]
public string Alarmtype { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName="SysType", ColumnDescription = "",ColumnDataType = "nvarchar(8)", IsNullable = true)]
public string SysType { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName="SysAddress", ColumnDescription = "",ColumnDataType = "nvarchar(64)", IsNullable = true)]
public string SysAddress { get; set; }
}
}

View File

@ -52,19 +52,20 @@ namespace HT.Cloud.Service.ChartsManage
return subsystems.ToJson();
}
public async Task<string> GetAllSubsystemTag()
public async Task<string> GetAllSubsystemTag(string groupDescription)
{
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();
}
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> GetSubsystemAllTag(string subsysytemName,string groupDescription)
{

View File

@ -0,0 +1,215 @@
using HT.Cloud.Code;
using HT.Cloud.Domain.DevicesManage;
using HT.Cloud.Domain.ReportManage;
using Quartz;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Reflection.PortableExecutable;
using System.Text;
using System.Threading.Tasks;
namespace HT.Cloud.Service.ReportManage
{
public class HistoryAlarmService : BaseService<HistoryAlarmEntity>, IDenpendency
{
public HistoryAlarmService(ISqlSugarClient context) : base(context)
{
}
public async Task<string> GetDriverGroupList()
{
//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}_ALARM");
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> GetAllSubsystemTag(string systemName)
{
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<HistoryAlarmEntity>($"SELECT * FROM HT_{driverName}_{groupName}_ALARM");
List<SubsysytemNameList> subsystems = new List<SubsysytemNameList>();
//var grouped = repository.IQueryable().ToList();
List<string> list_name_two = list.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 systemName)
{
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<HistoryAlarmEntity>($"SELECT * FROM HT_{driverName}_{groupName}_ALARM");
var subsysname = subsysytemName;
var response = list.Where(x => x.Subsystem == subsysname).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,
Units = subsystem.Units
}
);
}
return reList.ToJson();
}
public async Task<string> GetAlarmRecord(short tagid, string startdt, string enddt, string systemName)
{
SugarParameter[] sqlParameters =
{
new SugarParameter("@Henddt",enddt),
new SugarParameter("@Hstartdt",startdt),
new SugarParameter("@Htagid",tagid)
};
var dt = _context.Ado.UseStoredProcedure().GetDataTable("Query_Tag_Alarm", sqlParameters);
var valuelist = DataTableConvertModel<AlarmValue>.ConvertDataTableToList(dt);
return valuelist.ToJson();
// var testdata = new List<AlarmValue>
// {
// new AlarmValue() {
// Description= "测试标题",
// StartTime = "08点37分",
// EndTime = "08点38分"
// },
// new AlarmValue() {
// Description= "测试标题",
// StartTime = "08点37分",
// EndTime = "08点38分"
// },
// new AlarmValue() {
// Description= "测试标题",
// StartTime = "08点37分",
// EndTime = "08点38分"
// },
// new AlarmValue() {
// Description= "测试标题",
// StartTime = "08点37分",
// EndTime = "08点38分"
// }
//};
// return testdata.ToJson();
//var resultlist = new List<ChartData>();
//foreach (var value in valuelist)
//{
// resultlist.Add(new ChartData()
// {
// name = value.HDATETIME,
// value = value.VALUE
// });
//}
//return resultlist.ToJson();
}
public async Task<string> GetAlarmRecordQuick(string HATYPE, string startdt, string enddt, string systemName)
{
SugarParameter[] sqlParameters =
{
new SugarParameter("@HATYPE",HATYPE),
new SugarParameter("@Hstartdt",startdt),
new SugarParameter("@Henddt",enddt)
};
var dt = _context.Ado.UseStoredProcedure().GetDataTable("Query_Tag_Alarm_Count", sqlParameters);
var valuelist = DataTableConvertModel<AlarmValueCount>.ConvertDataTableToList(dt);
return valuelist.ToJson();
}
//GetAlarmRecordQuickDesc
public async Task<string> GetAlarmRecordQuickDesc(string hhour, string systemName)
{
int Hhour = int.Parse(hhour);
SugarParameter[] sqlParameters =
{
new SugarParameter("@Hhour",Hhour)
};
var dt = _context.Ado.UseStoredProcedure().GetDataTable("Query_Tag_Alarm_History", sqlParameters);
var valuelist = DataTableConvertModel<AlarmValueCountDesc>.ConvertDataTableToList(dt);
return valuelist.ToJson();
}
public async Task<string> GetAlarmSubSystem(string alarmName, string systemName)
{
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<HistoryAlarmEntity>($"SELECT * FROM HT_{driverName}_{groupName}_ALARM");
var subSystem = list.Where(x => x.Description == alarmName).First().Subsystem;
return subSystem.ToJson();
}
private class AlarmValueCount
{
public string Alarmtype { get; set; }
public string Description { get; set; }
public int hcount { get; set; }
public int hztime { get; set; }
}
private class AlarmValueCountDesc
{
public string Tagname { get; set; }
public string Description { get; set; }
public string Alarmtype { get; set; }
public string Typename { get; set; }
public string Startdt { get; set; }
public string Enddt { get; set; }
public int Hztime { get; set; }
}
private class AlarmValue
{
public string Description { get; set; }
public string startdt { get; set; }
public string enddt { get; set; }
public int Hztime { get; set; }
}
private 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; }
}
private class SubAllTagReturn
{
//x.TagID, x.Description, x.Units
public short TagID { get; set; }
public string Description { get; set; }
public string Units { get; set; }
}
}
}

View File

@ -33,24 +33,27 @@ namespace HT.Cloud.Web.Areas.ChartsManage.Controllers
return Content(data);
}
[HttpPost]
public async Task<ActionResult> GetGroupSubsystemTag(ChartGroupDescription chartGroupDescription)
public async Task<ActionResult> GetGroupSubsystemTag(string systemName)
{
var data = await _historyChartsService.GetGroupSubsystemTag(chartGroupDescription.GroupDescription);
var data = await _historyChartsService.GetGroupSubsystemTag(systemName);
return Content(data);
}
[HttpGet]
public async Task<ActionResult> GetAllSubsystemTag()
{
var data = await _historyChartsService.GetAllSubsystemTag();
string systemName = "制粉系统";
var data = await _historyChartsService.GetAllSubsystemTag(systemName);
return Content(data);
}
[HttpPost]
public async Task<ActionResult> GetSubsystemAllTag(ChartSubsysytemName chartSubsysytemName)
{
var data = await _historyChartsService.GetSubsystemAllTag(chartSubsysytemName.SubsysytemName, chartSubsysytemName.GroupDescription);
public async Task<ActionResult> GetSubsystemAllTag(string SubsysytemName)
{
string systemName = "制粉系统";
var data = await _historyChartsService.GetSubsystemAllTag(SubsysytemName, systemName);
return Content(data);
}

View File

@ -312,9 +312,9 @@
} else { }
});
GetDriverGroupList();
//GetDriverGroupList();
//GetAllSubsystemTag();
GetAllSubsystemTag();
var starttime = new Date(new Date().setHours(0, 0, 0, 0));
var starttimeString = starttime.getFullYear() + "-" + parseInt(starttime.getMonth() + 1) + "-" + starttime.getDate() + " " + (starttime.getHours()) + ":" + starttime.getMinutes() + ":" + starttime.getSeconds();
@ -388,55 +388,55 @@
var StaticSelectTagList = new Array();
//获取所有变量组
async function GetDriverGroupList() {
debugger;
$.ajax({
url: "/ChartsManage/HistoryCharts/GetDriverGroupList",
type: "Get",
success: function (redata) {
debugger;
var listsubsysname = JSON.parse(redata);
$('#groupselect').combobox({
data: listsubsysname,
valueField: 'Lable',
textField: 'Value',
value :'请选择系统',
checkOnSelect: true,
selectOnCheck: true
});
$('#subsystemselect').combobox({
//async function GetDriverGroupList() {
// debugger;
// $.ajax({
// url: "/ChartsManage/HistoryCharts/GetDriverGroupList",
// type: "Get",
// success: function (redata) {
// debugger;
// var listsubsysname = JSON.parse(redata);
// $('#groupselect').combobox({
// data: listsubsysname,
// valueField: 'Lable',
// textField: 'Value',
// value :'请选择系统',
// checkOnSelect: true,
// selectOnCheck: true
// });
// $('#subsystemselect').combobox({
value: '请先选择系统',
});
}
});
}
var StaticGroupDescription = "";
updateGroupSelect = async function (data) {
StaticGroupDescription = data.Value;
var para = { "GroupDescription": data.Value }
//var subsystemAllTag = await Call(api.DataHistoryCharts.GetSubsystemAllTag, para);
debugger;
$.ajax({
url: "/ChartsManage/HistoryCharts/GetGroupSubsystemTag",
type: "Post",
//dataType: "json",
data: para,
success: function (redata) {
var listsubsysname = JSON.parse(redata);
$('#subsystemselect').combobox({
data: listsubsysname,
valueField: 'Lable',
textField: 'Value',
value: '请选择子系统',
checkOnSelect: true,
selectOnCheck: true
});
}
});
// value: '请先选择系统',
// });
// }
// });
//}
//var StaticGroupDescription = "";
//updateGroupSelect = async function (data) {
// StaticGroupDescription = data.Value;
// var para = { "GroupDescription": data.Value }
// //var subsystemAllTag = await Call(api.DataHistoryCharts.GetSubsystemAllTag, para);
// debugger;
// $.ajax({
// url: "/ChartsManage/HistoryCharts/GetGroupSubsystemTag",
// type: "Post",
// //dataType: "json",
// data: para,
// success: function (redata) {
// var listsubsysname = JSON.parse(redata);
// $('#subsystemselect').combobox({
// data: listsubsysname,
// valueField: 'Lable',
// textField: 'Value',
// value: '请选择子系统',
// checkOnSelect: true,
// selectOnCheck: true
// });
// }
// });
}
//}
//获取所有子系统列表ok 废弃
async function GetAllSubsystemTag() {
debugger;
@ -463,7 +463,7 @@
//获取选中子系统tag
updateSelect = async function (data) {
//var groupDescription = ('#groupselect').combobox().getValue();
var para = { "GroupDescription": StaticGroupDescription, "SubsysytemName": data.Value }
var para = { /*"GroupDescription": StaticGroupDescription,*/ "SubsysytemName": data.Value }
//var subsystemAllTag = await Call(api.DataHistoryCharts.GetSubsystemAllTag, para);
debugger;
myajax = $.ajax({
@ -825,8 +825,8 @@
@*<ul id="dataTree" class="dtree" data-id="0"></ul>*@
<div id="aleft" style="float:left;width:100%;height:100%">
<div class="easyui-panel" title="选择设备信息" style="width:100%;height:100%">
<div class="easyui-combobox" id="groupselect" name="group" data-options="onSelect:function(rec){updateGroupSelect(rec)}" style="width:100%;height:40px">
</div>
@*<div class="easyui-combobox" id="groupselect" name="group" data-options="onSelect:function(rec){updateGroupSelect(rec)}" style="width:100%;height:40px">
</div>*@
<div class="easyui-combobox" id="subsystemselect" name="state" data-options="onSelect:function(rec){updateSelect(rec)}" style="width:100%;height:40px">
</div>
<div class="easyui-datalist" id="subsystemTagList" title="变量列表" style="position: relative;width:100%;height:auto;overflow:auto;" data-options="

View File

@ -42,15 +42,16 @@ namespace HT.Cloud.Web.Areas.ChartsManage.Controllers
[HttpGet]
public async Task<ActionResult> GetAllSubsystemTag()
{
var data = await _historyChartsService.GetAllSubsystemTag();
string systemName = "喷煤系统";
var data = await _historyChartsService.GetAllSubsystemTag(systemName);
return Content(data);
}
[HttpPost]
public async Task<ActionResult> GetSubsystemAllTag(ChartSubsysytemName chartSubsysytemName)
public async Task<ActionResult> GetSubsystemAllTag(string SubsysytemName)
{
var data = await _historyChartsService.GetSubsystemAllTag(chartSubsysytemName.SubsysytemName, chartSubsysytemName.GroupDescription);
string systemName = "喷煤系统";
var data = await _historyChartsService.GetSubsystemAllTag(SubsysytemName, systemName);
return Content(data);
}

View File

@ -625,10 +625,10 @@
// min: 0,
// 让表格的刻度向靠里侧显示
axisTick: {
inside: true
inside: false
},
axisLabel: {
inside: true,
inside: false,
align: 'left',
verticalAlign: 'bottom',
},

View File

@ -532,7 +532,12 @@
return chardatalist;
}
//true
//false
//第一条Y轴是否显示轴线
const oneAxisLineShow = true;
//其他Y轴是否显示轴线
const otherAxisLineShow = false;
showchart = async function () {
//(document.getElementById('echarts-records'), 'walden');
@ -562,9 +567,21 @@
var xDataArr = new Array();
var yDataArr = new Array();
var maxArr = new Array();
var minArr = new Array();
var intervalArr = new Array();
for (var listindex = 0; listindex < chardatalist.length; listindex++) {
let ydata = chardatalist[listindex].map(x => { return x.value });
let xdata = chardatalist[listindex].map(x => { return x.name });
debugger;
let maxSrc = Math.max.apply(null, ydata);
let newMax = Math.ceil(maxSrc / 5) * 5;
maxArr.push(newMax);
let minSrc = Math.min.apply(null, ydata);
let newMin = Math.floor(minSrc / 5) * 5
minArr.push(newMin);
let interval = (newMax - newMin) / 5
intervalArr.push(interval);
xDataArr.push(xdata);
yDataArr.push(ydata);
}
@ -591,32 +608,37 @@
let yAxisdata = {
name: JSON.parse(JSON.stringify(unitnames[ci])),
nameLocation: 'center',
nameGap:5,
nameRotate:270,
max: maxArr[ci],
min: minArr[ci],
interval: intervalArr[ci],
//splitNumber:21,
type: 'value',
//position:'left',
//坐标轴两边留白策略设置max、min后失效
boundaryGap: ['5%', '2%'],
// max: 700,
// min: 0,
// 让表格的刻度向靠里侧显示
axisTick: {
show: true,
inside: true
inside: false,
length: 9,
},
minorTick:{
show:true,
length: 7,
length: 5,
},
minorSplitLine: {
show: true,
},
axisLabel: {
inside: true,
align: 'left',
inside: false,
align: 'right',
verticalAlign: 'bottom',
},
// 设置刻度线的颜色等样式
axisLine: {
show: true,
show: oneAxisLineShow,
onZero: true,
onZeroAxisIndex:0,
lineStyle: {
@ -641,8 +663,12 @@
let yAxisdata = {
name: JSON.parse(JSON.stringify(unitnames[ci])),
nameLocation: 'center',
// max: 800,
// min: 0,
nameGap: 5,
nameRotate: 270,
max: maxArr[ci],
min: minArr[ci],
interval: intervalArr[ci],
//splitNumber: 21,
type: 'value',
position: 'left',
//坐标轴两边留白策略设置max、min后失效
@ -650,22 +676,23 @@
//alignTicks:true,
axisTick: {
show:true,
inside: true
},
minorTick: {
show: true,
length: 7,
inside: false,
length: 9,
},
//minorTick: {
// show: true,
// length: 5,
//},
minorSplitLine:{
show:true,
},
axisLabel: {
inside: true,
align: 'left',
inside: false,
align: 'right',
verticalAlign: 'bottom',
},
axisLine: {
show: true,
show: otherAxisLineShow,
onZero: false,
lineStyle: {
//color: color[ci],
@ -674,7 +701,7 @@
}
},
splitLine: {
show: false //想要不显示网格线改为false
show: true //想要不显示网格线改为false
},
// 设置坐标轴偏移位置
offset: (ci) * 40
@ -919,6 +946,7 @@
<body style="height:100%">
<script type="text/javascript" src="~/lib/echarts-5.3.0/dist/echarts.js"></script>
<div class="layui-fluid" style="padding:0 0px;height:100%">
<div class="layui-row layui-col-space5" style="height:100%">
<div class="layui-col-md2 layui-col-xs3" style="height:100%;padding-right:12px;">

View File

@ -969,7 +969,30 @@
yAxis.push(yAxisdata);
}
}
/*
*一
1、复用制粉趋势界面源码建立喷煤趋势界面。
2、改进趋势图的曲线颜色设定按照单位分类相同单位变量绑定同一色系。
3、曲线对应Y轴数量合并根据单词选择变量中单位类型数量生成对应单位的轴。
4、修改补充冀南钢铁喷煤制粉技术方案。
*二
1、增加顶部趋势图列显示对应变量和曲线颜色点击可显示和隐藏曲线。
2、增加趋势鼠标滚轮放大功能在趋势上滚动滚轮对应缩短和增加时间跨度。
3、增加拖拽功能在缩小时间跨度后左键拖拽左右平移时间轴。
4、喷煤趋势后台控制器和数据服务重新构建按照多系统方式可查配置变量模板和多系统部署时不同数据。
5、协助水分仪上位机微波趋势显示修改加大Y轴水分值量程增加X轴时间跨度。
*三
1、根据曲工的喷煤趋势模板表自动生成历史趋势界面变量选择项拆分速率相关变量和重要参数变量。
2、调用曲工查询过程构建选择变量列表依次查询数据绑定至对应曲线和对应坐标轴。
3、构建趋势chart的容器、X轴、Y轴、变量曲线实例、图例、颜色数组、鼠标提示框组合生成趋势。
*四
1、套用实时趋势的界面、前端JS、后端控制器、服务等实现代码复用至喷煤实时趋势并制作该界面。
2、接入采集服务的实时数据库设置实时趋势初始化时记录三秒钟实时数据来进行实时趋势初始化。
*五
1、生成喷煤趋势变量随机数通过采集服务Api写入300cpu中用来模拟实时趋势。
2、添加趋势刷新方法按周期刷新趋势数据。
3、构建实时趋势设置曲线数据从采集服务中的实时数据中每秒增加数据最大数据量50个。
*/
//for (var ci = 0; ci < StaticSelectTagList.length; ci++) {
// if (ci == 0) {

View File

@ -0,0 +1,154 @@
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;
namespace HT.Cloud.Web.Areas.ReportManage.Controllers
{
/// <summary>
/// 创 建cdl
/// 日 期2023-02-23 11:10
/// 描 述:历史趋势控制器类
/// </summary>
[Area("PenMeiReportManage")]
public class PenMeiHistoryAlarmController : BaseController
{
public HistoryAlarmService _historyAlarmService { get;set;}
[HttpGet]
public async Task<ActionResult> GetDriverGroupList()
{
var data = await _historyAlarmService.GetDriverGroupList();
return Content(data);
}
[HttpGet]
public async Task<ActionResult> GetAllSubsystemTag()
{
string systemName = "喷煤系统";
var data = await _historyAlarmService.GetAllSubsystemTag(systemName);
return Content(data);
}
[HttpPost]
public async Task<ActionResult> GetSubsystemAllTag(ChartSubsysytemName chartSubsysytemName)
{
string systemName = "喷煤系统";
var data = await _historyAlarmService.GetSubsystemAllTag(chartSubsysytemName.SubsysytemName, systemName);
return Content(data);
}
[HttpPost]
public async Task<ActionResult> GetAlarmRecord(Alarm_Params charts_Params)
{
string systemName = "喷煤系统";
short TagID = short.Parse(charts_Params.TagID);
var StartTime = Gettime(charts_Params.StartTime);
var EndTime = Gettime(charts_Params.EndTime);
var data = await _historyAlarmService.GetAlarmRecord(TagID, StartTime, EndTime, systemName);
return Content(data);
}
[HttpPost]
public async Task<ActionResult> GetAlarmRecordQuick(Alarm_Quick_Params alarm_Quick_Params)
{
string systemName = "喷煤系统";
var Alarmtype = alarm_Quick_Params.Alarmtype;
var StartTime = Gettime(alarm_Quick_Params.StartTime);
var EndTime = Gettime(alarm_Quick_Params.EndTime);
var data = await _historyAlarmService.GetAlarmRecordQuick(Alarmtype, StartTime, EndTime, systemName);
return Content(data);
}
[HttpPost]
public async Task<ActionResult> GetAlarmRecordQuickDesc(Alarm_Quick_Desc_Params alarm_Quick_Desc_Params)
{
string systemName = "喷煤系统";
var hhour = alarm_Quick_Desc_Params.Hhour;
var data = await _historyAlarmService.GetAlarmRecordQuickDesc(hhour, systemName);
return Content(data);
}
[HttpPost]
public async Task<ActionResult> GetAlarmSubSystem(SubSystem_Params subSystem_Params)
{
string systemName = "喷煤系统";
var AlarmName = subSystem_Params.AlarmName;
var data = await _historyAlarmService.GetAlarmSubSystem(AlarmName,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 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 SubSystem_Params
{
public string AlarmName { get; set; }
}
public class Alarm_Params
{
public string TagID { get; set; }
public string StartTime { get; set; }
public string EndTime { get; set; }
}
public class Alarm_Quick_Params
{
public string Alarmtype { get; set; }
public string StartTime { get; set; }
public string EndTime { get; set; }
}
public class Alarm_Quick_Desc_Params
{
public string Hhour { get; set; }
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -123,6 +123,13 @@
描 述:订单管理控制器类
</summary>
</member>
<member name="T:HT.Cloud.Web.Areas.ReportManage.Controllers.PenMeiHistoryAlarmController">
<summary>
创 建cdl
日 期2023-02-23 11:10
描 述:历史趋势控制器类
</summary>
</member>
<member name="T:HT.Cloud.Web.Areas.ReportManage.Controllers.MetaTagAlarmController">
<summary>
创 建cdl

View File

@ -25,7 +25,7 @@
"SqlMode": "TenantSql", //数据库模式多租户或者多库 "MoreSql"
"ProjectPrefix": "watercloud", //项目中的前缀
"ReviseSystem": false, //是否重置密码
"LoginErrorCount": 4, //登录错误次数
"LoginErrorCount": 18, //登录错误次数
"IsCluster": false, //集群参数 开启时需要去quartz下载响应数据库
"NeedClear": false, //是否删除定时调度任务
"SqlConfig": [