Files
HTCloud/HT.Cloud.Web/Areas/PenMeiReportManage/Controllers/PenMeiHistoryAlarmNewNewController.cs
2023-12-20 15:51:03 +08:00

308 lines
9.5 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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")]
public class PenMeiHistoryAlarmNewNewController : BaseController
{
public HistoryAlarmService _historyAlarmService { get;set;}
/// <summary>
/// 绑定数据仓库的数据库ID
/// </summary>
private string groupDescription = GlobalContext.SystemConfig.GroupDescription;
[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> GetAlarmHistory(Alarm_History_Params alarm_History_Params)
{
string systemName = "喷煤系统";
var StartTime = Gettime(alarm_History_Params.StartTime);
var EndTime = Gettime(alarm_History_Params.EndTime);
var data = await _historyAlarmService.GetAlarmHistory(StartTime, EndTime, 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 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)
{
string systemName = "喷煤系统";
var StartTime = Gettime(alarm_ACC_Params.StartTime);
var EndTime = Gettime(alarm_ACC_Params.EndTime);
var data = await _historyAlarmService.GetAlarm_ACC(StartTime, EndTime, systemName);
return Content(data);
}
[HttpPost]
public async Task<ActionResult> GetAlarmHistogram(Alarm_Histogram_Params alarm_Histogram_Params)
{
string systemName = "喷煤系统";
var StartTime = Gettime_(alarm_Histogram_Params.StartTime);
var EndTime = Gettime_(alarm_Histogram_Params.EndTime);
var data = await _historyAlarmService.GetAlarm_Histogram(StartTime, EndTime, systemName);
return Content(data);
}
[HttpPost]
public async Task<ActionResult> GetAlarmPie(Alarm_Pie_Params alarm_Pie_Params)
{
string systemName = "喷煤系统";
var StartTime = Gettime(alarm_Pie_Params.StartTime);
var EndTime = Gettime(alarm_Pie_Params.EndTime);
var data = await _historyAlarmService.GetAlarm_Pie(StartTime, EndTime, systemName);
return Content(data);
}
[HttpPost]
public async Task<ActionResult> GetAlarmRecordForTagName(Alarm_ParamsForTagName charts_Params)
{
string systemName = "喷煤系统";
string Description = charts_Params.Description;
var StartTime = Gettime(charts_Params.StartTime);
var EndTime = Gettime(charts_Params.EndTime);
var data = await _historyAlarmService.GetAlarmRecordForTagName(Description, StartTime, EndTime, systemName);
return Content(data);
}
public async Task<ActionResult> GetAlarm_CS(Alarm_CS alarm_CS)
{
string systemName = "喷煤系统";
var StartTime = Gettime_(alarm_CS.StartTime);
var EndTime = Gettime_(alarm_CS.EndTime);
var data = await _historyAlarmService.GetAlarm_CS(StartTime, EndTime, systemName);
return Content(data);
}
public async Task<ActionResult> GetAlarm_Ztime(Alarm_Ztime alarm_Ztime)
{
string systemName = "喷煤系统";
var StartTime = Gettime_(alarm_Ztime.StartTime);
var EndTime = Gettime_(alarm_Ztime.EndTime);
var data = await _historyAlarmService.GetAlarm_Ztime(StartTime, EndTime, systemName);
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; }
}
}
}