104 lines
3.2 KiB
C#
104 lines
3.2 KiB
C#
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
|
|
{
|
|
/// <summary>
|
|
/// 今日数据
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpPost, ErrorFilter]
|
|
public WebResult GetTodayData()
|
|
{
|
|
var MaxTime = DateTime.Now; //当前时间
|
|
var MinTime = Convert.ToDateTime(DateTime.Now.ToString("D").ToString());//当天0点
|
|
|
|
var data = Db.Queryable<DataOverview>().Where(f => f.Date == DateTime.Now.Date)
|
|
.SplitTable(MinTime, MaxTime).First();
|
|
|
|
if (data == null) data = new DataOverview();
|
|
|
|
return PutData(data);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 昨日数据
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpPost, ErrorFilter]
|
|
public WebResult GetYesterdayData()
|
|
{
|
|
var data = Db.Queryable<DataOverview>().Where(f => f.Date == DateTime.Now.AddDays(-1)).First();
|
|
|
|
if (data == null)
|
|
data = new DataOverview();
|
|
|
|
|
|
return PutData(data);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取昨日/今日数据对比
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpPost, ErrorFilter]
|
|
public WebResult GetViewData()
|
|
{
|
|
var yestoday = Db.Queryable<DataOverview>().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<DataOverview>().Where(f => f.Date == DateTime.Now.Date)
|
|
.SplitTable(MinTime, MaxTime).First();
|
|
|
|
if (today == null) today = new DataOverview();
|
|
|
|
return PutData(new {today = today, yestoday = yestoday });
|
|
}
|
|
|
|
/// <summary>
|
|
/// 指定范围时间数据
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[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<DataOverview>();
|
|
|
|
exp.And(f => f.Date > MinTime && f.Date < MaxTime);
|
|
|
|
var PageIndex = GetInt("PageIndex");
|
|
var PageSzie = GetInt("PageSize");
|
|
var tNumber = 0;
|
|
|
|
var DataList = Db.Queryable<DataOverview>().Where(exp.ToExpression())
|
|
.SplitTable(MinTime,MaxTime)
|
|
.ToPageList(PageIndex, PageSzie, ref tNumber);
|
|
|
|
if (DataList == null)
|
|
return PutData(new PageResult<DataOverview>(new List<DataOverview>(), tNumber, PageSzie, PageIndex));
|
|
|
|
return PutData(new PageResult<DataOverview>(DataList, tNumber, PageSzie, PageIndex));
|
|
}
|
|
}
|
|
}
|