using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using IStation.RedisCache; namespace IStation.Service { /// /// 监测记录 /// public partial class MonitorRecord { #region 最近一条记录 /// /// 获取最近一条记录 /// public Model.MonitorBasicRecord GetLastRecord(long CorpID, long MonitorPointID, long SignalID) { var redisHelper = new MonitorRecordCacheHelper(); var record = redisHelper.GetLastRecord(CorpID, MonitorPointID, SignalID); return record; } /// /// 获取最近一条记录 /// public List GetLastRecord(long CorpID, long MonitorPointID, IEnumerable SignalIds) { if (SignalIds == null || SignalIds.Count() < 1) return default; var redisHelper = new MonitorRecordCacheHelper(); var record = redisHelper.GetLastRecord(CorpID, MonitorPointID, SignalIds); return record; } /// /// 获取最近一条记录 /// public List GetLastRecord(long CorpID, Dictionary dict) { if (dict == null || dict.Count < 1) return default; var redisHelper = new MonitorRecordCacheHelper(); var records = redisHelper.GetLastRecord(CorpID, dict); return records; } /// /// 获取最近一条记录 /// public List GetLastRecord(long CorpID, long MonitorPointID) { var redisHelper = new MonitorRecordCacheHelper(); var records = redisHelper.GetLastRecord(CorpID, MonitorPointID); return records; } /// /// 获取最近一条记录 /// public List GetLastRecord(long CorpID, IEnumerable MonitorPointIds) { if (MonitorPointIds == null || MonitorPointIds.Count() < 1) return default; var redisHelper = new MonitorRecordCacheHelper(); var records = redisHelper.GetLastRecord(CorpID, MonitorPointIds); return records; } /// /// 获取最近一条正常记录 /// public Model.MonitorBasicRecord GetLastNormalRecord(long CorpID, long MonitorPointID, long SignalID) { var redisHelper = new MonitorRecordCacheHelper(); var record = redisHelper.GetLastNormalRecord(CorpID, MonitorPointID, SignalID); return record; } /// /// 获取最近一条正常记录 /// public List GetLastNormalRecord(long CorpID, Dictionary dict) { if (dict == null || dict.Count < 1) return default; var redisHelper = new MonitorRecordCacheHelper(); var records = redisHelper.GetLastNormalRecord(CorpID, dict); return records; } /// /// 获取最近一条正常记录 /// public List GetLastNormalRecord(long CorpID, long MonitorPointID) { var redisHelper = new MonitorRecordCacheHelper(); var records = redisHelper.GetLastNormalRecord(CorpID, MonitorPointID); return records; } /// /// 获取最近一条正常记录 /// public List GetLastNormalRecord(long CorpID, IEnumerable MonitorPointIds) { if (MonitorPointIds == null || MonitorPointIds.Count() < 1) return default; var redisHelper = new MonitorRecordCacheHelper(); var records = redisHelper.GetLastNormalRecord(CorpID, MonitorPointIds); return records; } #endregion #region 插入最近一条记录 /// /// 插入最近一条记录 /// public bool InsertLastRecord(Model.MonitorBasicRecord model) { if (model == null) return default; //实时记录 if (model is Model.MonitorRealRecordPure) { return new MonitorRealRecord().InsertLastRecord(model as Model.MonitorRealRecordPure); } //时记录 else if (model is Model.MonitorHourRecordPure) { return new MonitorHourRecord().InsertLastRecord(model as Model.MonitorHourRecordPure); } //日记录 else if (model is Model.MonitorDayRecordPure) { return new MonitorDayRecord().InsertLastRecord(model as Model.MonitorDayRecordPure); } //周记录 else if (model is Model.MonitorWeekRecordPure) { return new MonitorWeekRecord().InsertLastRecord(model as Model.MonitorWeekRecordPure); } //月记录 else if (model is Model.MonitorMonthRecordPure) { return new MonitorMonthRecord().InsertLastRecord(model as Model.MonitorMonthRecordPure); } //年记录 else if (model is Model.MonitorYearRecordPure) { return new MonitorYearRecord().InsertLastRecord(model as Model.MonitorYearRecordPure); } return default; } /// /// 插入最近多条记录(暂时只支持同一种计划类型) /// public bool InsertsLastRecord(Model.Monitor.eCronType cronType, List list) { if (list == null || list.Count() < 1) return default; var bol = false; switch (cronType) { case Model.Monitor.eCronType.Real: { bol = new MonitorRealRecord().InsertsLastRecord(list.Select(x=>x as Model.MonitorRealRecordPure).ToList()); } break; case Model.Monitor.eCronType.EachHour: { bol = new MonitorHourRecord().InsertsLastRecord(list.Select(x => x as Model.MonitorHourRecordPure).ToList()); } break; case Model.Monitor.eCronType.EachDay: { bol = new MonitorDayRecord().InsertsLastRecord(list.Select(x => x as Model.MonitorDayRecordPure).ToList()); } break; case Model.Monitor.eCronType.EachWeek: { bol = new MonitorWeekRecord().InsertsLastRecord(list.Select(x => x as Model.MonitorWeekRecordPure).ToList()); } break; case Model.Monitor.eCronType.EachMonth: { bol = new MonitorMonthRecord().InsertsLastRecord(list.Select(x => x as Model.MonitorMonthRecordPure).ToList()); } break; case Model.Monitor.eCronType.EachYear: { bol = new MonitorYearRecord().InsertsLastRecord(list.Select(x => x as Model.MonitorYearRecordPure).ToList()); } break; default:break; } return bol; } #endregion } }