using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using IStation.RedisCache;
|
|
namespace IStation.Service
|
{
|
/// <summary>
|
/// 监测记录
|
/// </summary>
|
public partial class MonitorRecord
|
{
|
|
#region 最近一条记录
|
|
/// <summary>
|
/// 获取最近一条记录
|
/// </summary>
|
public Model.MonitorBasicRecord GetLastRecord(long CorpID, long MonitorPointID, long SignalID)
|
{
|
var redisHelper = new MonitorRecordCacheHelper();
|
var record = redisHelper.GetLastRecord(CorpID, MonitorPointID, SignalID);
|
return record;
|
}
|
|
/// <summary>
|
/// 获取最近一条记录
|
/// </summary>
|
public List<Model.MonitorBasicRecord> GetLastRecord(long CorpID, long MonitorPointID, IEnumerable<long> SignalIds)
|
{
|
if (SignalIds == null || SignalIds.Count() < 1)
|
return default;
|
var redisHelper = new MonitorRecordCacheHelper();
|
var record = redisHelper.GetLastRecord(CorpID, MonitorPointID, SignalIds);
|
return record;
|
}
|
|
/// <summary>
|
/// 获取最近一条记录
|
/// </summary>
|
public List<Model.MonitorBasicRecord> GetLastRecord(long CorpID, Dictionary<long, long> dict)
|
{
|
if (dict == null || dict.Count < 1)
|
return default;
|
var redisHelper = new MonitorRecordCacheHelper();
|
var records = redisHelper.GetLastRecord(CorpID, dict);
|
return records;
|
}
|
|
/// <summary>
|
/// 获取最近一条记录
|
/// </summary>
|
public List<Model.MonitorBasicRecord> GetLastRecord(long CorpID, long MonitorPointID)
|
{
|
var redisHelper = new MonitorRecordCacheHelper();
|
var records = redisHelper.GetLastRecord(CorpID, MonitorPointID);
|
return records;
|
}
|
|
/// <summary>
|
/// 获取最近一条记录
|
/// </summary>
|
public List<Model.MonitorBasicRecord> GetLastRecord(long CorpID, IEnumerable<long> MonitorPointIds)
|
{
|
if (MonitorPointIds == null || MonitorPointIds.Count() < 1)
|
return default;
|
var redisHelper = new MonitorRecordCacheHelper();
|
var records = redisHelper.GetLastRecord(CorpID, MonitorPointIds);
|
return records;
|
}
|
|
/// <summary>
|
/// 获取最近一条正常记录
|
/// </summary>
|
public Model.MonitorBasicRecord GetLastNormalRecord(long CorpID, long MonitorPointID, long SignalID)
|
{
|
var redisHelper = new MonitorRecordCacheHelper();
|
var record = redisHelper.GetLastNormalRecord(CorpID, MonitorPointID, SignalID);
|
return record;
|
}
|
|
|
/// <summary>
|
/// 获取最近一条正常记录
|
/// </summary>
|
public List<Model.MonitorBasicRecord> GetLastNormalRecord(long CorpID, Dictionary<long, long> dict)
|
{
|
if (dict == null || dict.Count < 1)
|
return default;
|
var redisHelper = new MonitorRecordCacheHelper();
|
var records = redisHelper.GetLastNormalRecord(CorpID, dict);
|
return records;
|
}
|
|
/// <summary>
|
/// 获取最近一条正常记录
|
/// </summary>
|
public List<Model.MonitorBasicRecord> GetLastNormalRecord(long CorpID, long MonitorPointID)
|
{
|
var redisHelper = new MonitorRecordCacheHelper();
|
var records = redisHelper.GetLastNormalRecord(CorpID, MonitorPointID);
|
return records;
|
}
|
|
/// <summary>
|
/// 获取最近一条正常记录
|
/// </summary>
|
public List<Model.MonitorBasicRecord> GetLastNormalRecord(long CorpID, IEnumerable<long> MonitorPointIds)
|
{
|
if (MonitorPointIds == null || MonitorPointIds.Count() < 1)
|
return default;
|
var redisHelper = new MonitorRecordCacheHelper();
|
var records = redisHelper.GetLastNormalRecord(CorpID, MonitorPointIds);
|
return records;
|
}
|
|
#endregion
|
|
#region 插入最近一条记录
|
|
/// <summary>
|
/// 插入最近一条记录
|
/// </summary>
|
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;
|
}
|
|
/// <summary>
|
/// 插入最近多条记录(暂时只支持同一种计划类型)
|
/// </summary>
|
public bool InsertsLastRecord(Model.Monitor.eCronType cronType, List<Model.MonitorBasicRecord> 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
|
|
|
|
}
|
}
|