using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IStation.DAL { /// /// 能效标准业务月记录 /// public class EtaStandardLogicMonthRecord : 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(); } } /// /// 通过 CorpID 获取某年的数据数据 /// public List GetByCorpIDOfYear(long CorpID, int Year) { using (var db = new SqlSugarClient(ConnectionConfig)) { return db.Queryable() .Where(x => x.CorpID == CorpID) .Where(x => x.DataYear == Year) .ToList(); } } /// /// 通过对象获取某年的数据数据 /// public List GetByObjectOfYear(long CorpID, string ObjectType, long ObjectID, int Year) { using (var db = new SqlSugarClient(ConnectionConfig)) { return db.Queryable() .Where(x => x.CorpID == CorpID && x.ObjectType == ObjectType && x.ObjectID == ObjectID) .Where(x => x.DataYear == Year) .ToList(); } } /// /// 通过对象获取某月的数据数据 /// public List GetByObjectOfMonth(long CorpID, string ObjectType, long ObjectID, int Year, int Month) { using (var db = new SqlSugarClient(ConnectionConfig)) { return db.Queryable() .Where(x => x.CorpID == CorpID && x.ObjectType == ObjectType && x.ObjectID == ObjectID) .Where(x => x.DataYear == Year && x.DataMonth == Month) .ToList(); } } /// /// 通过对象获取年区间内的数据 /// public List GetByObjectOfYearRange(long CorpID, string ObjectType, long ObjectID, int StartYear, int EndYear) { if (StartYear > EndYear) 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.DataYear >= StartYear && x.DataYear <= EndYear) .ToList(); } } /// /// 通过对象获取月区间内的数据 /// public List GetByObjectOfMonthRange(long CorpID, string ObjectType, long ObjectID, int StartYear, int StartMonth, int EndYear, int EndMonth) { if (StartYear > EndYear) return default; if (StartYear == EndYear) { if (StartMonth > EndMonth) 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.DataYear > StartYear && x.DataYear < EndYear) || (x.DataYear == StartYear && x.DataYear < EndYear && x.DataMonth >= StartMonth) || (x.DataYear == EndYear && x.DataYear > StartYear && x.DataMonth <= EndMonth) || (x.DataYear == StartYear && x.DataYear == EndYear && x.DataMonth >= StartMonth && x.DataMonth <= EndMonth)) .ToList(); } } } }