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 MonitorDayRecord : CorpDAL<Entity.MonitorDayRecord>
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public override ConnectionConfig ConnectionConfig
|
{
|
get { return ConfigHelper.MonitorRecordConnectionConfig; }
|
}
|
|
#region 通过 MonitorPointID 获取
|
|
/// <summary>
|
/// 通过 MonitorPointID 获取
|
/// </summary>
|
public List<Entity.MonitorDayRecord> GetByMonitorPointID(long CorpID, long MonitorPointID)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.MonitorDayRecord>()
|
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID)
|
.OrderBy(x => x.DataTime, OrderByType.Asc).ToList();
|
}
|
}
|
|
/// <summary>
|
/// 通过 MonitorPointID 获取某天的数据
|
/// </summary>
|
public List<Entity.MonitorDayRecord> GetByMonitorPointIDOfDay(long CorpID, long MonitorPointID, DateTime Day)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.MonitorDayRecord>()
|
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID)
|
.Where(x=>x.DataDay==Day.Date)
|
.OrderBy(x => x.DataTime, OrderByType.Asc).ToList();
|
}
|
}
|
|
/// <summary>
|
/// 通过 MonitorPointID 获取日期区间的数据
|
/// </summary>
|
public List<Entity.MonitorDayRecord> GetByMonitorPointIDOfDayRange(long CorpID, long MonitorPointID, DateTime StartDay, DateTime EndDay)
|
{
|
if (StartDay.Date > EndDay.Date)
|
return default;
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.MonitorDayRecord>()
|
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID)
|
.Where(x => x.DataDay >= StartDay.Date && x.DataDay <= EndDay.Date)
|
.OrderBy(x => x.DataTime, OrderByType.Asc).ToList();
|
}
|
}
|
|
|
#endregion
|
|
#region 通过 SignalID 获取
|
|
/// <summary>
|
/// 通过 SignalID 获取
|
/// </summary>
|
public List<Entity.MonitorDayRecord> GetBySignalID(long CorpID, long MonitorPointID,long SignalID)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.MonitorDayRecord>()
|
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID&&x.SignalID==SignalID)
|
.OrderBy(x => x.DataTime, OrderByType.Asc).ToList();
|
}
|
}
|
|
/// <summary>
|
/// 通过 SignalID 获取某天的数据
|
/// </summary>
|
public Entity.MonitorDayRecord GetBySignalIDOfDay(long CorpID, long MonitorPointID,long SignalID, DateTime Day)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.MonitorDayRecord>()
|
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID&&x.SignalID==SignalID)
|
.Where(x=>x.DataDay==Day.Date)
|
.First();
|
}
|
}
|
|
/// <summary>
|
/// 通过 SignalID 获取日期区间的数据
|
/// </summary>
|
public List<Entity.MonitorDayRecord> GetBySignalIDOfDayRange(long CorpID, long MonitorPointID, long SignalID, DateTime StartDay, DateTime EndDay)
|
{
|
if (StartDay.Date > EndDay.Date)
|
return default;
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.MonitorDayRecord>()
|
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID && x.SignalID == SignalID)
|
.Where(x => x.DataDay >= StartDay.Date && x.DataDay <= EndDay.Date)
|
.OrderBy(x => x.DataTime, OrderByType.Asc).ToList();
|
}
|
}
|
|
#endregion
|
|
#region Delete
|
|
/// <summary>
|
/// 通过 SignalID 删除某日的数据
|
/// </summary>
|
public bool DeleteBySignalIDOfDay(long CorpID, long MonitorPointID, long SignalID, DateTime Day)
|
{
|
using (SqlSugarClient db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Deleteable<Entity.MonitorDayRecord>()
|
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID && x.SignalID == SignalID)
|
.Where(x => x.DataDay == Day.Date)
|
.ExecuteCommand() > 0;
|
}
|
}
|
|
/// <summary>
|
/// 通过 SignalID 删除日期区间的数据
|
/// </summary>
|
public bool DeleteBySignalIDOfDayRange(long CorpID, long MonitorPointID, long SignalID, DateTime StartDay, DateTime EndDay)
|
{
|
if (StartDay.Date > EndDay.Date)
|
return false;
|
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Deleteable<Entity.MonitorDayRecord>()
|
.Where(x => x.CorpID == CorpID && x.MonitorPointID == MonitorPointID && x.SignalID == SignalID)
|
.Where(x => x.DataDay >= StartDay.Date && x.DataDay <= EndDay.Date)
|
.ExecuteCommand() > 0;
|
}
|
}
|
|
|
#endregion
|
|
|
}
|
}
|