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