2023-03-03 16:07:50 +08:00
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using HT.Cloud.Service.ChartsManage;
|
|
|
|
|
using HT.Cloud.Service.ReportManage;
|
2023-04-27 15:02:45 +08:00
|
|
|
|
using Newtonsoft.Json;
|
|
|
|
|
using System.Diagnostics.Metrics;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using static System.Net.Mime.MediaTypeNames;
|
|
|
|
|
using Microsoft.AspNetCore.Mvc.Rendering;
|
2023-03-03 16:07:50 +08:00
|
|
|
|
|
|
|
|
|
namespace HT.Cloud.Web.Areas.ReportManage.Controllers
|
|
|
|
|
{
|
|
|
|
|
[Area("ReportManage")]
|
|
|
|
|
public class HistoryReportController : BaseController
|
|
|
|
|
{
|
|
|
|
|
public HistoryReportService _historyReportService { get; set; }
|
|
|
|
|
|
|
|
|
|
[HttpPost]
|
|
|
|
|
public async Task<ActionResult> GetReport(Reportparam reportparam)
|
|
|
|
|
{
|
|
|
|
|
//var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
//var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
var StartTime = Gettime( reportparam.StartTime.ToString());
|
|
|
|
|
var EndTime = Gettime( reportparam.EndTime.ToString());
|
|
|
|
|
var Interval = int.Parse(reportparam.Interval);
|
|
|
|
|
var data = await _historyReportService.GetReportFileName(StartTime, EndTime, Interval);
|
|
|
|
|
return Content(data);
|
|
|
|
|
}
|
2023-04-27 15:02:45 +08:00
|
|
|
|
[HttpPost]
|
|
|
|
|
public async Task<ActionResult> GetReportNew(Reportparam reportparam)
|
|
|
|
|
{
|
|
|
|
|
var t1 = DateTime.Now;
|
|
|
|
|
//var ob = JsonConvert.SerializeObject(reportparam);
|
|
|
|
|
var t2 = DateTime.Now;
|
|
|
|
|
Console.WriteLine($"第1次序列化,花费时间:{(t2 - t1).TotalMilliseconds}");
|
|
|
|
|
//var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
//var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
var StartTime = Gettime(reportparam.StartTime.ToString());
|
|
|
|
|
var EndTime = Gettime(reportparam.EndTime.ToString());
|
|
|
|
|
var Interval = int.Parse(reportparam.Interval);
|
|
|
|
|
var t5 = DateTime.Now;
|
|
|
|
|
var data = await _historyReportService.GetReportNew(StartTime, EndTime, Interval);
|
|
|
|
|
var t6 = DateTime.Now;
|
|
|
|
|
Console.WriteLine($"调用service,花费时间:{(t6 - t5).TotalMilliseconds}");
|
|
|
|
|
var t3 = DateTime.Now;
|
|
|
|
|
var con = JsonConvert.SerializeObject(data);
|
|
|
|
|
var t4 = DateTime.Now;
|
|
|
|
|
Console.WriteLine($"第2次序列化,花费时间:{(t4 - t3).TotalMilliseconds}");
|
|
|
|
|
return Content(con, "text/html; charset=utf-8");
|
|
|
|
|
//return Content(con);
|
|
|
|
|
}
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<ActionResult> GetReportFirstHead()
|
|
|
|
|
{
|
|
|
|
|
//var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
//var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
|
|
|
|
var data = await _historyReportService.GetReportFirstHead();
|
|
|
|
|
return Content(data);
|
|
|
|
|
}
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<ActionResult> GetReportSecondHead()
|
|
|
|
|
{
|
|
|
|
|
//var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
//var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
|
|
|
|
var data = await _historyReportService.GetReportSecondHead();
|
|
|
|
|
return Content(data);
|
|
|
|
|
}
|
2023-03-03 16:07:50 +08:00
|
|
|
|
|
|
|
|
|
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 Reportparam
|
|
|
|
|
{
|
|
|
|
|
public string StartTime { get; set; }
|
|
|
|
|
public string EndTime { get; set; }
|
|
|
|
|
public string Interval { get; set; }
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|