using SqlSugar;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace IStation.DAL
|
{
|
/// <summary>
|
/// 能效汇总(多)月记录
|
/// </summary>
|
public class EtaSumMultiMonthRecord : CorpDAL<Entity.EtaSumMultiMonthRecord>
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public override ConnectionConfig ConnectionConfig
|
{
|
get { return ConfigHelper.RecordConnectionConfig; }
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="list"></param>
|
/// <returns></returns>
|
public override bool Inserts(List<Entity.EtaSumMultiMonthRecord> list)
|
{
|
if (list == null || list.Count < 1)
|
return default;
|
var corpIds = list.Select(x => x.CorpID).Distinct().ToList();
|
if (corpIds.Count() != 1 || corpIds[0] < 1)
|
return default;
|
using (SqlSugarClient db = new SqlSugarClient(ConnectionConfig))
|
{
|
try
|
{
|
db.BeginTran();
|
foreach (var item in list)
|
{
|
var id = db.Insertable(item).ExecuteReturnSnowflakeId();
|
if (id < 1)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
}
|
db.CommitTran();
|
return true;
|
}
|
catch
|
{
|
db.RollbackTran();
|
return false;
|
}
|
|
}
|
}
|
|
/// <summary>
|
/// 通过对象获取
|
/// </summary>
|
public List<Entity.EtaSumMultiMonthRecord> GetByObject(long CorpID, string ObjectType, long ObjectID)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.EtaSumMultiMonthRecord>()
|
.Where(x => x.CorpID == CorpID && x.ObjectType == ObjectType && x.ObjectID == ObjectID)
|
.ToList();
|
}
|
}
|
|
/// <summary>
|
/// 通过 CorpID 获取某年的数据数据
|
/// </summary>
|
public List<Entity.EtaSumMultiMonthRecord> GetByCorpIDOfYear(long CorpID, int Year)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.EtaSumMultiMonthRecord>()
|
.Where(x => x.CorpID == CorpID)
|
.Where(x => x.DataYear == Year)
|
.ToList();
|
}
|
}
|
|
/// <summary>
|
/// 通过对象获取某年的数据数据
|
/// </summary>
|
public List<Entity.EtaSumMultiMonthRecord> GetByObjectOfYear(long CorpID, string ObjectType, long ObjectID, int Year)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.EtaSumMultiMonthRecord>()
|
.Where(x => x.CorpID == CorpID && x.ObjectType == ObjectType && x.ObjectID == ObjectID)
|
.Where(x=>x.DataYear==Year)
|
.ToList();
|
}
|
}
|
|
/// <summary>
|
/// 通过对象获取某月的数据数据
|
/// </summary>
|
public List<Entity.EtaSumMultiMonthRecord> GetByObjectOfMonth(long CorpID, string ObjectType, long ObjectID, int Year, int Month)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.EtaSumMultiMonthRecord>()
|
.Where(x => x.CorpID == CorpID && x.ObjectType == ObjectType && x.ObjectID == ObjectID)
|
.Where(x => x.DataYear == Year&&x.DataMonth==Month)
|
.ToList();
|
}
|
}
|
|
/// <summary>
|
/// 通过对象获取年区间内的数据
|
/// </summary>
|
public List<Entity.EtaSumMultiMonthRecord> 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<Entity.EtaSumMultiMonthRecord>()
|
.Where(x => x.CorpID == CorpID && x.ObjectType == ObjectType && x.ObjectID == ObjectID)
|
.Where(x => x.DataYear>=StartYear&&x.DataYear<=EndYear)
|
.ToList();
|
}
|
}
|
|
/// <summary>
|
/// 通过对象获取月区间内的数据
|
/// </summary>
|
public List<Entity.EtaSumMultiMonthRecord> 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<Entity.EtaSumMultiMonthRecord>()
|
.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();
|
}
|
}
|
|
|
}
|
}
|