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();
}
}
}
}