2023-12-20 15:51:03 +08:00
|
|
|
|
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;
|
|
|
|
|
using SqlSugar;
|
|
|
|
|
|
|
|
|
|
namespace HT.Cloud.Web.Areas.ReportManage.Controllers
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 创 建:cdl
|
|
|
|
|
/// 日 期:2023-02-23 11:10
|
|
|
|
|
/// 描 述:历史趋势控制器类
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Area("PenMeiReportManage")]
|
2024-10-12 11:15:47 +08:00
|
|
|
|
[HandlerLogin(needLogin: false)]
|
|
|
|
|
[HandlerAuthorize(needAuth: false)]
|
2023-12-20 15:51:03 +08:00
|
|
|
|
public class PenMeiHistoryAlarmNewNewController : BaseController
|
|
|
|
|
{
|
|
|
|
|
public HistoryAlarmService _historyAlarmService { get;set;}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 绑定数据仓库的数据库ID
|
|
|
|
|
/// </summary>
|
2024-07-10 16:08:09 +08:00
|
|
|
|
private string systemDescription = GlobalContext.SystemConfig.SystemDescription;
|
2023-12-20 15:51:03 +08:00
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<ActionResult> GetDriverGroupList()
|
|
|
|
|
{
|
|
|
|
|
var data = await _historyAlarmService.GetDriverGroupList();
|
|
|
|
|
return Content(data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<ActionResult> GetAllSubsystemTag()
|
|
|
|
|
{
|
2024-07-10 16:08:09 +08:00
|
|
|
|
var data = await _historyAlarmService.GetAllSubsystemTag(systemDescription);
|
2023-12-20 15:51:03 +08:00
|
|
|
|
return Content(data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpPost]
|
|
|
|
|
public async Task<ActionResult> GetSubsystemAllTag(ChartSubsysytemName chartSubsysytemName)
|
|
|
|
|
{
|
2024-07-10 16:08:09 +08:00
|
|
|
|
var data = await _historyAlarmService.GetSubsystemAllTag(chartSubsysytemName.SubsysytemName, systemDescription);
|
2023-12-20 15:51:03 +08:00
|
|
|
|
return Content(data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpPost]
|
|
|
|
|
public async Task<ActionResult> GetAlarmRecord(Alarm_Params charts_Params)
|
|
|
|
|
{
|
|
|
|
|
short TagID = short.Parse(charts_Params.TagID);
|
|
|
|
|
var StartTime = Gettime(charts_Params.StartTime);
|
|
|
|
|
var EndTime = Gettime(charts_Params.EndTime);
|
|
|
|
|
|
2024-07-10 16:08:09 +08:00
|
|
|
|
var data = await _historyAlarmService.GetAlarmRecord(TagID, StartTime, EndTime, systemDescription);
|
2023-12-20 15:51:03 +08:00
|
|
|
|
return Content(data);
|
|
|
|
|
}
|
|
|
|
|
[HttpPost]
|
|
|
|
|
public async Task<ActionResult> GetAlarmRecordQuick(Alarm_Quick_Params alarm_Quick_Params)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
var Alarmtype = alarm_Quick_Params.Alarmtype;
|
|
|
|
|
var StartTime = Gettime(alarm_Quick_Params.StartTime);
|
|
|
|
|
var EndTime = Gettime(alarm_Quick_Params.EndTime);
|
|
|
|
|
|
2024-07-10 16:08:09 +08:00
|
|
|
|
var data = await _historyAlarmService.GetAlarmRecordQuick(Alarmtype, StartTime, EndTime, systemDescription);
|
2023-12-20 15:51:03 +08:00
|
|
|
|
return Content(data);
|
|
|
|
|
}
|
|
|
|
|
[HttpPost]
|
|
|
|
|
public async Task<ActionResult> GetAlarmRecordQuickDesc(Alarm_Quick_Desc_Params alarm_Quick_Desc_Params)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
var hhour = alarm_Quick_Desc_Params.Hhour;
|
|
|
|
|
|
2024-07-10 16:08:09 +08:00
|
|
|
|
var data = await _historyAlarmService.GetAlarmRecordQuickDesc(hhour, systemDescription);
|
2023-12-20 15:51:03 +08:00
|
|
|
|
return Content(data);
|
|
|
|
|
}
|
|
|
|
|
[HttpPost]
|
|
|
|
|
public async Task<ActionResult> GetAlarmHistory(Alarm_History_Params alarm_History_Params)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
var StartTime = Gettime(alarm_History_Params.StartTime);
|
|
|
|
|
var EndTime = Gettime(alarm_History_Params.EndTime);
|
|
|
|
|
|
2024-07-10 16:08:09 +08:00
|
|
|
|
var data = await _historyAlarmService.GetAlarmHistory(StartTime, EndTime, systemDescription);
|
2023-12-20 15:51:03 +08:00
|
|
|
|
return Content(data);
|
|
|
|
|
}
|
|
|
|
|
[HttpPost]
|
|
|
|
|
public async Task<ActionResult> GetAlarmSubSystem(SubSystem_Params subSystem_Params)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
var AlarmName = subSystem_Params.AlarmName;
|
2024-07-10 16:08:09 +08:00
|
|
|
|
var data = await _historyAlarmService.GetAlarmSubSystem(AlarmName,systemDescription);
|
2023-12-20 15:51:03 +08:00
|
|
|
|
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 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"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[HttpPost]
|
|
|
|
|
public async Task<ActionResult> GetAlarmACC(Alarm_ACC_Params alarm_ACC_Params)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
var StartTime = Gettime(alarm_ACC_Params.StartTime);
|
|
|
|
|
var EndTime = Gettime(alarm_ACC_Params.EndTime);
|
|
|
|
|
|
2024-07-10 16:08:09 +08:00
|
|
|
|
var data = await _historyAlarmService.GetAlarm_ACC(StartTime, EndTime, systemDescription);
|
2023-12-20 15:51:03 +08:00
|
|
|
|
return Content(data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpPost]
|
|
|
|
|
public async Task<ActionResult> GetAlarmHistogram(Alarm_Histogram_Params alarm_Histogram_Params)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
var StartTime = Gettime_(alarm_Histogram_Params.StartTime);
|
|
|
|
|
var EndTime = Gettime_(alarm_Histogram_Params.EndTime);
|
|
|
|
|
|
2024-07-10 16:08:09 +08:00
|
|
|
|
var data = await _historyAlarmService.GetAlarm_Histogram(StartTime, EndTime, systemDescription);
|
2023-12-20 15:51:03 +08:00
|
|
|
|
return Content(data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpPost]
|
|
|
|
|
public async Task<ActionResult> GetAlarmPie(Alarm_Pie_Params alarm_Pie_Params)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
var StartTime = Gettime(alarm_Pie_Params.StartTime);
|
|
|
|
|
var EndTime = Gettime(alarm_Pie_Params.EndTime);
|
|
|
|
|
|
2024-07-10 16:08:09 +08:00
|
|
|
|
var data = await _historyAlarmService.GetAlarm_Pie(StartTime, EndTime, systemDescription);
|
2023-12-20 15:51:03 +08:00
|
|
|
|
return Content(data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpPost]
|
|
|
|
|
public async Task<ActionResult> GetAlarmRecordForTagName(Alarm_ParamsForTagName charts_Params)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
string Description = charts_Params.Description;
|
|
|
|
|
var StartTime = Gettime(charts_Params.StartTime);
|
|
|
|
|
var EndTime = Gettime(charts_Params.EndTime);
|
|
|
|
|
|
2024-07-10 16:08:09 +08:00
|
|
|
|
var data = await _historyAlarmService.GetAlarmRecordForTagName(Description, StartTime, EndTime, systemDescription);
|
2023-12-20 15:51:03 +08:00
|
|
|
|
return Content(data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task<ActionResult> GetAlarm_CS(Alarm_CS alarm_CS)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
var StartTime = Gettime_(alarm_CS.StartTime);
|
|
|
|
|
var EndTime = Gettime_(alarm_CS.EndTime);
|
|
|
|
|
|
2024-07-10 16:08:09 +08:00
|
|
|
|
var data = await _historyAlarmService.GetAlarm_CS(StartTime, EndTime, systemDescription);
|
2023-12-20 15:51:03 +08:00
|
|
|
|
return Content(data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task<ActionResult> GetAlarm_Ztime(Alarm_Ztime alarm_Ztime)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
var StartTime = Gettime_(alarm_Ztime.StartTime);
|
|
|
|
|
var EndTime = Gettime_(alarm_Ztime.EndTime);
|
|
|
|
|
|
2024-07-10 16:08:09 +08:00
|
|
|
|
var data = await _historyAlarmService.GetAlarm_Ztime(StartTime, EndTime, systemDescription);
|
2023-12-20 15:51:03 +08:00
|
|
|
|
return Content(data);
|
|
|
|
|
}
|
|
|
|
|
/*
|
|
|
|
|
* 一
|
|
|
|
|
* 1、重绘管理系统所有趋势曲线,曲线的数据点上不在绘制图形圆点。
|
|
|
|
|
* 2、实时趋势开放拖动和JS代码添加可向前加载数据集的动态方法。
|
|
|
|
|
* 二
|
|
|
|
|
* 1、后台服务在获取实时趋势初始化数据时进行向前的数据获取,为初始数据集添加一段历史数据。
|
|
|
|
|
* 2、参加公司组织的拍摄技术培训。
|
|
|
|
|
* 三
|
|
|
|
|
* 1、使用异步和函数回调来执行历史数据查询,在实时数据获取后进行时间戳对其,避免出现重复时间和漏掉时间。
|
|
|
|
|
* 2、报警分析柱图优化,单日柱状图从堆叠图修改为平铺柱状图。
|
|
|
|
|
* 四
|
|
|
|
|
* 1、柱状图添加工具条,可支持堆叠图、平铺图、折线图切换显示,并支持下载功能。
|
|
|
|
|
* 2、添加图表联动功能,增加柱状图和饼图的点击事件,在柱状区域或饼状区域内点击可跳转至该报警信息的详细查询。
|
|
|
|
|
* 五
|
|
|
|
|
* 1、
|
|
|
|
|
* 2、整理管理系统以前相关的设计、宣传素材,编写管理系统演示用ppt。
|
|
|
|
|
*/
|
|
|
|
|
//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_ParamsForTagName
|
|
|
|
|
{
|
|
|
|
|
public string Description { 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; }
|
|
|
|
|
}
|
|
|
|
|
public class Alarm_History_Params
|
|
|
|
|
{
|
|
|
|
|
public string StartTime { get; set; }
|
|
|
|
|
public string EndTime { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public class Alarm_ACC_Params
|
|
|
|
|
{
|
|
|
|
|
public string StartTime { get; set; }
|
|
|
|
|
public string EndTime { get; set; }
|
|
|
|
|
}
|
|
|
|
|
public class Alarm_Histogram_Params
|
|
|
|
|
{
|
|
|
|
|
public string StartTime { get; set; }
|
|
|
|
|
public string EndTime { get; set; }
|
|
|
|
|
}
|
|
|
|
|
public class Alarm_Pie_Params
|
|
|
|
|
{
|
|
|
|
|
public string StartTime { get; set; }
|
|
|
|
|
public string EndTime { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class Alarm_CS
|
|
|
|
|
{
|
|
|
|
|
public string StartTime { get; set; }
|
|
|
|
|
public string EndTime { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class Alarm_Ztime
|
|
|
|
|
{
|
|
|
|
|
public string StartTime { get; set; }
|
|
|
|
|
public string EndTime { get; set; }
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|