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-07-27 15:19:54 +08:00
|
|
|
|
using Microsoft.AspNetCore.Http;
|
|
|
|
|
using Microsoft.CodeAnalysis;
|
|
|
|
|
using HT.Cloud.Code;
|
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; }
|
|
|
|
|
|
2023-07-27 15:19:54 +08:00
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<ActionResult> GetDriverGroupList()
|
|
|
|
|
{
|
|
|
|
|
//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.GetDriverGroupList();
|
|
|
|
|
return Content(data);
|
|
|
|
|
}
|
|
|
|
|
|
2023-03-03 16:07:50 +08:00
|
|
|
|
[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);
|
|
|
|
|
}
|
2023-07-27 15:19:54 +08:00
|
|
|
|
[HttpPost]
|
|
|
|
|
public async Task<ActionResult> GetReportNewInitPara(Reportparam reportparam)
|
|
|
|
|
{
|
|
|
|
|
////sql获取count
|
|
|
|
|
//var StartTime = Gettime(reportparam.StartTime.ToString());
|
|
|
|
|
//var EndTime = Gettime(reportparam.EndTime.ToString());
|
|
|
|
|
//var Interval = int.Parse(reportparam.Interval);
|
|
|
|
|
//var data = await _historyReportService.GetReportNewInitPara(StartTime, EndTime, Interval);
|
|
|
|
|
//var con = JsonConvert.SerializeObject(data);
|
|
|
|
|
//return Content(con);
|
|
|
|
|
|
|
|
|
|
//代码理论count
|
|
|
|
|
var StartTime = long.Parse(reportparam.StartTime.ToString());
|
|
|
|
|
var EndTime = long.Parse(reportparam.EndTime.ToString());
|
|
|
|
|
var Interval = int.Parse(reportparam.Interval);
|
|
|
|
|
var data = await _historyReportService.GetReportNewInitParaInCode(StartTime, EndTime, Interval);
|
|
|
|
|
var con = JsonConvert.SerializeObject(data);
|
|
|
|
|
return Content(con);
|
|
|
|
|
}
|
|
|
|
|
[IgnoreAntiforgeryToken]
|
|
|
|
|
public async Task<ActionResult> GetReportNewPage(string page, string limit,string StartTime,string EndTime, string Interval, string GroupName)
|
|
|
|
|
{
|
|
|
|
|
//string page = Request.Query["page"].ToString();
|
|
|
|
|
//string limit = Request.Query["limit"].ToString();
|
|
|
|
|
//var page = Gettime(asyncparam.page.ToString());
|
|
|
|
|
//var limit = Gettime(asyncparam.limit.ToString());
|
|
|
|
|
var startTime = Gettime(StartTime);
|
|
|
|
|
var endTime = Gettime(EndTime);
|
|
|
|
|
var data = await _historyReportService.GetReportNewAsync(page, limit, startTime, endTime, Interval, GroupName);
|
|
|
|
|
//var con = JsonConvert.SerializeObject(data);
|
|
|
|
|
return Content(data);
|
|
|
|
|
}
|
2023-04-27 15:02:45 +08:00
|
|
|
|
[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-07-27 15:19:54 +08:00
|
|
|
|
[HttpPost]
|
|
|
|
|
public async Task<ActionResult> GetReportDownLoad(DownLoadparam downLoadparam)
|
|
|
|
|
{
|
|
|
|
|
//var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
//var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
DateTime start = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
|
|
|
|
|
DateTime StartTime = start.AddMilliseconds(downLoadparam.StartTime).ToLocalTime();
|
|
|
|
|
DateTime EndTime = start.AddMilliseconds(downLoadparam.EndTime).ToLocalTime();
|
|
|
|
|
int Interval = int.Parse(downLoadparam.Interval.ToString());
|
|
|
|
|
var data = await _historyReportService.GetReportDownLoad(StartTime, EndTime, Interval);
|
|
|
|
|
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; }
|
|
|
|
|
}
|
2023-07-27 15:19:54 +08:00
|
|
|
|
public class DownLoadparam
|
|
|
|
|
{
|
|
|
|
|
public long StartTime { get; set; }
|
|
|
|
|
public long EndTime { get; set; }
|
|
|
|
|
public string Interval { get; set; }
|
|
|
|
|
}
|
|
|
|
|
public class Asyncparam
|
|
|
|
|
{
|
|
|
|
|
public string page { get; set; }
|
|
|
|
|
public string limit { get; set; }
|
|
|
|
|
}
|
2023-03-03 16:07:50 +08:00
|
|
|
|
}
|
|
|
|
|
}
|