using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SqlSugar;
namespace IStation.DAL
{
///
/// 月监测记录
///
public partial class MonitorMonthRecord : CorpDAL
{
///
///
///
public override ConnectionConfig ConnectionConfig
{
get { return ConfigHelper.MonitorRecordConnectionConfig; }
}
#region 通过 MonitorPointID 获取
///
/// 通过 MonitorPointID 获取
///
public List GetByMonitorPointID(long CorpID, long MonitorPointID)
{
using (var db = new SqlSugarClient(ConnectionConfig))
{
return db.Queryable()
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID)
.OrderBy(x => x.DataTime, OrderByType.Asc).ToList();
}
}
///
/// 通过 MonitorPointID 获取某年的数据
///
public List GetByMonitorPointIDOfYear(long CorpID, long MonitorPointID, int Year)
{
using (var db = new SqlSugarClient(ConnectionConfig))
{
return db.Queryable()
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID && x.DataYear == Year)
.OrderBy(x => x.DataTime, OrderByType.Asc).ToList();
}
}
///
/// 通过 MonitorPointID 获取某月的数据
///
public List GetByMonitorPointIDOfMonth(long CorpID, long MonitorPointID, int Year, int Month)
{
using (var db = new SqlSugarClient(ConnectionConfig))
{
return db.Queryable()
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID && x.DataYear == Year && x.DataMonth == Month)
.OrderBy(x => x.DataTime, OrderByType.Asc).ToList();
}
}
///
/// 通过 MonitorPointID 获取年区间的数据
///
public List GetByMonitorPointIDOfYearRange(long CorpID, long MonitorPointID, int StartYear, int EndYear)
{
if (StartYear > EndYear)
return default;
using (var db = new SqlSugarClient(ConnectionConfig))
{
return db.Queryable()
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID && x.DataYear >= StartYear && x.DataYear <= EndYear)
.OrderBy(x => x.DataTime, OrderByType.Asc).ToList();
}
}
///
/// 通过 MonitorPointID 获取月区间的数据
///
public List GetByMonitorPointIDOfMonthRange(long CorpID, long MonitorPointID, int StartYear, int StartMonth, int EndYear, int EndMonth)
{
if (StartYear > EndYear)
return default;
using (var db = new SqlSugarClient(ConnectionConfig))
{
return db.Queryable()
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID)
.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))
.OrderBy(x => x.DataTime, OrderByType.Asc).ToList();
}
}
#endregion
#region 通过 SignalID 获取
///
/// 通过 SignalID 获取
///
public List GetBySignalID(long CorpID, long MonitorPointID,long SignalID)
{
using (var db = new SqlSugarClient(ConnectionConfig))
{
return db.Queryable()
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID&&x.SignalID==SignalID)
.OrderBy(x => x.DataTime, OrderByType.Asc).ToList();
}
}
///
/// 通过 SignalID 获取某年的数据
///
public List GetBySignalIDOfYear(long CorpID, long MonitorPointID,long SignalID, int Year)
{
using (var db = new SqlSugarClient(ConnectionConfig))
{
return db.Queryable()
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID && x.SignalID==SignalID)
.Where(x=>x.DataYear==Year)
.OrderBy(x => x.DataTime, OrderByType.Asc).ToList();
}
}
///
/// 通过 SignalID 获取某月的数据
///
public Entity.MonitorMonthRecord GetBySignalIDOfMonth(long CorpID, long MonitorPointID,long SignalID, int Year, int Month)
{
using (var db = new SqlSugarClient(ConnectionConfig))
{
return db.Queryable()
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID && x.SignalID == SignalID)
.Where(x => x.DataYear == Year && x.DataMonth == Month)
.First();
}
}
///
/// 通过 SignalID 获取年区间的数据
///
public List GetBySignalIDOfYearRange(long CorpID, long MonitorPointID,long SignalID, int StartYear, int EndYear)
{
if (StartYear > EndYear)
return default;
using (var db = new SqlSugarClient(ConnectionConfig))
{
return db.Queryable()
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID &&x.SignalID==SignalID)
.Where(x=> x.DataYear >= StartYear && x.DataYear <= EndYear)
.OrderBy(x => x.DataTime, OrderByType.Asc).ToList();
}
}
///
/// 通过 SignalID 获取月区间的数据
///
public List GetBySignalIDOfMonthRange(long CorpID, long MonitorPointID, long SignalID, int StartYear, int StartMonth, int EndYear, int EndMonth)
{
if (StartYear > EndYear)
return default;
using (var db = new SqlSugarClient(ConnectionConfig))
{
return db.Queryable()
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID && x.SignalID == SignalID)
.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))
.OrderBy(x => x.DataTime, OrderByType.Asc).ToList();
}
}
#endregion
#region Delete
///
/// 通过 SignalID 删除某月的数据
///
public bool DeleteBySignalIDOfMonth(long CorpID,long MonitorPointID,long SignalID,int Year,int Month)
{
using (SqlSugarClient db = new SqlSugarClient(ConnectionConfig))
{
return db.Deleteable()
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID && x.SignalID == SignalID)
.Where(x =>x.DataYear==Year&&x.DataMonth==Month)
.ExecuteCommand() > 0;
}
}
///
/// 通过 SignalID 删除月区间的数据
///
public bool DeleteBySignalIDOfMonthRange(long CorpID, long MonitorPointID, long SignalID, int StartYear, int StartMonth, int EndYear, int EndMonth)
{
if (StartYear > EndYear)
return false;
using (var db = new SqlSugarClient(ConnectionConfig))
{
return db.Deleteable()
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID && x.SignalID == SignalID)
.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))
.ExecuteCommand() > 0;
}
}
#endregion
}
}