using Common.Models.SubTables; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web.Http; namespace Server.Controllers.DataOverviewController { public class DataViewController : DefaultController { /// /// 今日数据 /// /// [HttpPost, ErrorFilter] public WebResult GetTodayData() { var MaxTime = DateTime.Now; //当前时间 var MinTime = Convert.ToDateTime(DateTime.Now.ToString("D").ToString());//当天0点 var data = Db.Queryable().Where(f => f.Date == DateTime.Now.Date) .SplitTable(MinTime, MaxTime).First(); if (data == null) data = new DataOverview(); return PutData(data); } /// /// 昨日数据 /// /// [HttpPost, ErrorFilter] public WebResult GetYesterdayData() { var data = Db.Queryable().Where(f => f.Date == DateTime.Now.AddDays(-1)).First(); if (data == null) data = new DataOverview(); return PutData(data); } /// /// 获取昨日/今日数据对比 /// /// [HttpPost, ErrorFilter] public WebResult GetViewData() { var yestoday = Db.Queryable().Where(f => f.Date == DateTime.Now.AddDays(-1)).First(); if (yestoday == null) { yestoday = new DataOverview(); } var MaxTime = DateTime.Now; var MinTime = Convert.ToDateTime(DateTime.Now.ToString("D").ToString()); var today = Db.Queryable().Where(f => f.Date == DateTime.Now.Date) .SplitTable(MinTime, MaxTime).First(); if (today == null) today = new DataOverview(); return PutData(new {today = today, yestoday = yestoday }); } /// /// 指定范围时间数据 /// /// [HttpPost, ErrorFilter] public WebResult GetDataOverview() { var MinTime = GetTime("MinTime"); var MaxTime = GetTime("MaxTime"); if (MinTime == DateTime.MinValue) MinTime = DateTime.Now.AddMonths(-2); if (MaxTime == DateTime.MinValue) MaxTime = DateTime.Now; var exp = Expressionable.Create(); exp.And(f => f.Date > MinTime && f.Date < MaxTime); var PageIndex = GetInt("PageIndex"); var PageSzie = GetInt("PageSize"); var tNumber = 0; var DataList = Db.Queryable().Where(exp.ToExpression()) .SplitTable(MinTime,MaxTime) .ToPageList(PageIndex, PageSzie, ref tNumber); if (DataList == null) return PutData(new PageResult(new List(), tNumber, PageSzie, PageIndex)); return PutData(new PageResult(DataList, tNumber, PageSzie, PageIndex)); } } }