using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IStation.DAL { /// /// 能效依赖(多)日记录 /// public class EtaAccordMultiDayRecord : CorpDAL { /// /// /// public override ConnectionConfig ConnectionConfig { get { return ConfigHelper.RecordConnectionConfig; } } /// /// 通过对象获取 /// public List GetByObject(long CorpID, string ObjectType, long ObjectID) { using (var db = new SqlSugarClient(ConnectionConfig)) { return db.Queryable() .Where(x => x.CorpID == CorpID && x.ObjectType == ObjectType && x.ObjectID == ObjectID) .ToList(); } } /// /// 通过对象获取某日的数据 /// public List GetByObjectOfDay(long CorpID, string ObjectType, long ObjectID, DateTime Day) { using (var db = new SqlSugarClient(ConnectionConfig)) { return db.Queryable() .Where(x => x.CorpID == CorpID && x.ObjectType == ObjectType && x.ObjectID == ObjectID) .Where(x => x.DataDay == Day.Date) .ToList(); } } /// /// 通过对象获取日期区间内的数据 /// public List GetByObjectOfDayRange(long CorpID, string ObjectType, long ObjectID, DateTime StartDay, DateTime EndDay) { if (StartDay.Date > EndDay.Date) return default; using (var db = new SqlSugarClient(ConnectionConfig)) { return db.Queryable() .Where(x => x.CorpID == CorpID && x.ObjectType == ObjectType && x.ObjectID == ObjectID) .Where(x => x.DataDay >= StartDay.Date && x.DataDay <= EndDay.Date) .ToList(); } } /// /// 通过对象获取日期区间内的最大流量的记录数据 /// public Entity.EtaAccordMultiDayRecord GetMaxQtByObjectOfDayRange(long CorpID, string ObjectType, long ObjectID, DateTime StartDay, DateTime EndDay) { if (StartDay.Date > EndDay.Date) return default; using (var db = new SqlSugarClient(ConnectionConfig)) { return db.Queryable() .Where(x => x.CorpID == CorpID && x.ObjectType == ObjectType && x.ObjectID == ObjectID) .Where(x => x.DataDay >= StartDay.Date && x.DataDay <= EndDay.Date) .OrderBy(x => x.Qt, OrderByType.Desc).First(); } } } }