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 } }