using System;
|
using System.Collections.Generic;
|
using System.IO;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace IStation.BLL
|
{
|
/// <summary>
|
/// 监测数据集
|
/// </summary>
|
public class MonitorDataSet
|
{
|
private readonly DAL.MonitorDataSet _dal = new DAL.MonitorDataSet();
|
|
#region Query
|
|
#region MonitorDataSet
|
|
/// <summary>
|
/// 查询监测数据集
|
/// </summary>
|
public List<Model.MonitorDataSet> GetMonitorDataSet()
|
{
|
return _dal.GetMonitorDataSet();
|
}
|
|
/// <summary>
|
/// 查询监测数据集
|
/// </summary>
|
public List<Model.MonitorDataSet> GetMonitorDataSet(long monitorPointId)
|
{
|
if (monitorPointId < 1)
|
return default;
|
return _dal.GetMonitorDataSet(monitorPointId);
|
}
|
|
/// <summary>
|
/// 查询监测数据集
|
/// </summary>
|
public Model.MonitorDataSet GetMonitorDataSet(long monitorPointId, int year, int month)
|
{
|
if (monitorPointId < 1)
|
return default;
|
return _dal.GetMonitorDataSet(monitorPointId, year, month);
|
}
|
|
#endregion
|
|
#region SignalRecordPacket
|
|
/// <summary>
|
/// 查询信号记录包
|
/// </summary>
|
public List<Model.SignalRecordPacket> GetSignalRecordPacket(List<long> signalIds, int year, int month)
|
{
|
if (signalIds == null || !signalIds.Any())
|
return default;
|
return _dal.GetSignalRecordPacket(signalIds, year, month);
|
}
|
|
/// <summary>
|
/// 查询信号记录包
|
/// </summary>
|
public Model.SignalRecordPacket GetSignalRecordPacket(long monitorPointId, long signalId)
|
{
|
if (monitorPointId < 1)
|
return default;
|
if (signalId < 1)
|
return default;
|
|
return _dal.GetSignalRecordPacket(monitorPointId, signalId);
|
}
|
|
/// <summary>
|
/// 查询信号记录包
|
/// </summary>
|
public Model.SignalRecordPacket GetSignalRecordPacket(long monitorPointId, long signalId, int year, int month)
|
{
|
if (monitorPointId < 1)
|
return default;
|
if (signalId < 1)
|
return default;
|
|
return _dal.GetSignalRecordPacket(monitorPointId, signalId, year, month);
|
}
|
|
#endregion
|
|
#region SignalRecord
|
|
/// <summary>
|
/// 查询信号记录
|
/// </summary>
|
public List<Model.SignalRecord> GetSignalRecord(long monitorPointId, long signalId, int year, int month)
|
{
|
if (monitorPointId < 1)
|
return default;
|
if (signalId < 1)
|
return default;
|
|
return _dal.GetSignalRecord(monitorPointId, signalId, year, month);
|
}
|
|
#endregion
|
|
#endregion
|
|
#region Save
|
|
/// <summary>
|
/// 保存
|
/// </summary>
|
public bool Save(IEnumerable<Model.MonitorDataSet> list)
|
{
|
if (list == null || list.Count() < 1)
|
return default;
|
return _dal.Save(list);
|
}
|
|
/// <summary>
|
/// 保存
|
/// </summary>
|
public bool Save(Model.MonitorDataSet rhs)
|
{
|
if (rhs == null)
|
return default;
|
if (rhs.PacketList == null || rhs.PacketList.Count < 1)
|
return default;
|
return _dal.Save(rhs);
|
}
|
|
/// <summary>
|
/// 保存
|
/// </summary>
|
public bool Save(long monitorPointId, long signalId, List<Model.SignalRecord> signalRecords, int year, int month)
|
{
|
if (monitorPointId < 1)
|
return default;
|
if (signalId < 1)
|
return default;
|
if (signalRecords == null || signalRecords.Count < 1)
|
return default;
|
|
return _dal.Save(monitorPointId, signalId, signalRecords, year, month);
|
}
|
#endregion
|
|
/// <summary>
|
/// 删除(临时)
|
/// </summary>
|
public bool SetAbnormal(long monitorPointId, long signalId, IEnumerable<DateTime> dataTimeList, double err)
|
{
|
if (dataTimeList == null || dataTimeList.Count() < 1)
|
return false;
|
var dataSet = _dal.GetMonitorDataSet(monitorPointId);
|
if (dataSet == null || dataSet.Count < 1)
|
return false;
|
foreach (var data in dataSet)
|
{
|
var packet = data.PacketList?.Find(x => x.SignalID == signalId);
|
if (packet != null && packet.RecordList != null)
|
for (int i = 0; i < packet.RecordList.Count; i++)
|
{
|
var record = packet.RecordList[i];
|
if (dataTimeList.Contains(record.Time))
|
{
|
packet.RecordList[i] = new Model.SignalRecord(record.Time, err);
|
}
|
}
|
}
|
return _dal.Save(dataSet);
|
}
|
|
}
|
}
|