报表速度提升

This commit is contained in:
dell
2023-04-27 15:02:45 +08:00
parent 13b0556370
commit 0da8710708
9 changed files with 455 additions and 20 deletions

View File

@ -9,6 +9,12 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using HT.Cloud.Domain.ReportManage;
using System.Reflection.PortableExecutable;
using Newtonsoft.Json;
using HT.Cloud.Code;
using HT.Cloud.Domain.DevicesManage;
using System.Text.RegularExpressions;
using Org.BouncyCastle.Asn1.X509;
namespace HT.Cloud.Service.ReportManage
{
@ -76,5 +82,57 @@ namespace HT.Cloud.Service.ReportManage
//result.data = fileurl;
return fileurl;
}
public async Task<object> GetReportNew(string startdt, string enddt, int timeinterval)
{
SugarParameter[] sqlParameters ={
new SugarParameter("@startdt",startdt),
new SugarParameter("@enddt",enddt),
new SugarParameter("@timeinterval",timeinterval)
};
var Report = _context.Ado.UseStoredProcedure().GetDataTable("Query_Report_YL", sqlParameters);
Report.TableName = "Report";
//return JsonConvert.SerializeObject(Report);
return Report;
}
public async Task<string> GetReportFirstHead()
{
var list = _context.Queryable<Ht_History_ReportEntity>().ToList();
List<string> list_name_two = list.Select(t => t.HSYS).GroupBy(c => c).Select(c => c.First()).ToList();
return list_name_two.ToJson();
}
public async Task<string> GetReportSecondHead()
{
var list = _context.Queryable<Ht_History_ReportEntity>().ToList();
List<string> list_name_two = list.Select(t => t.HSYS).GroupBy(c => c).Select(c => c.First()).ToList();
var relist = new List<SecondHead>();
foreach(var t in list_name_two)
{
var secondHead = new SecondHead();
secondHead.HSYS = t;
var listHead = list.Where(x=> x.HSYS == t).ToList();
var listHeadString = new List<string>();
var listTitleString = new List<string>();
foreach(var h in listHead)
{
listHeadString.Add(h.HPRO.ToString());
listTitleString.Add(h.HVAR.ToString());
}
secondHead.Head = listHeadString;
secondHead.Title = listTitleString;
relist.Add(secondHead);
}
return relist.ToJson();
//return Report.ToJson();
}
public class SecondHead
{
public string HSYS { get; set;}
public List<string> Head { get; set;}
public List<string> Title { get; set; }
}
}
}