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; namespace HT.Cloud.Web.Areas.ChartsManage.Controllers { /// /// 创 建:cdl /// 日 期:2023-02-23 11:10 /// 描 述:历史趋势控制器类 /// [Area("ChartsManage")] public class HistoryChartsController : BaseController { public HistoryChartsService _historyChartsService { get;set;} [HttpGet] public async Task GetDriverGroupList() { var data = await _historyChartsService.GetDriverGroupList(); return Content(data); } [HttpPost] public async Task GetGroupSubsystemTag(ChartGroupDescription chartGroupDescription) { var data = await _historyChartsService.GetGroupSubsystemTag(chartGroupDescription.GroupDescription); return Content(data); } [HttpGet] public async Task GetAllSubsystemTag() { var data = await _historyChartsService.GetAllSubsystemTag(); return Content(data); } [HttpPost] public async Task GetSubsystemAllTag(ChartSubsysytemName chartSubsysytemName) { var data = await _historyChartsService.GetSubsystemAllTag(chartSubsysytemName.SubsysytemName, chartSubsysytemName.GroupDescription); return Content(data); } [HttpPost] public async Task GetChartsTagValue(Charts_Params charts_Params) { short TagID = short.Parse(charts_Params.TagID); var StartTime = Gettime(charts_Params.StartTime); var EndTime = Gettime(charts_Params.EndTime); var Interval =int.Parse(charts_Params.Interval); var data = await _historyChartsService.GetChartsTagValue(TagID, StartTime, EndTime, Interval); 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 GroupDescription { get; set; } public string SubsysytemName { get; set; } } public class ChartGroupDescription { public string GroupDescription { 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 Charts_Params { public string TagID { get; set; } public string StartTime { get; set; } public string EndTime { get; set; } public string Interval { get; set; } } } }