| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 通过 SignalID 获取时间区间内的数据 |
| | | /// </summary> |
| | | public List<Model.MonitorRealRecord> GetBySignalIDOfTimeRange(long CorpID, long MonitorPointID, long SignalID, DateTime StartTime, DateTime EndTime) |
| | | { |
| | | if (StartTime > EndTime) |
| | | return default; |
| | | var dal = new DAL.MonitorRealRecord(); |
| | | var entityList = dal.GetBySignalIDOfTimeRange(CorpID, MonitorPointID, SignalID, StartTime, EndTime); |
| | | var modelList= Entity2Models(entityList); |
| | | return modelList; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 通过 SignalID 获取时间区间内的固定数量的数据 |
| | | /// </summary> |
| | | public List<Model.MonitorRealRecord> GetFixedBySignalIDOfTimeRange(long CorpID, long MonitorPointID, long SignalID, int Fixed, DateTime StartTime, DateTime EndTime) |
| | | { |
| | | if (StartTime > EndTime) |
| | | return default; |
| | | var dal = new DAL.MonitorRealRecord(); |
| | | var entityList = dal.GetFixedBySignalIDOfTimeRange(CorpID, MonitorPointID, SignalID, Fixed, StartTime, EndTime); |
| | | var modelList=Entity2Models(entityList); |
| | | return modelList; |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 通过 SignalID 获取时间区间内的内容数据 |
| | | /// </summary> |
| | | public List<Model.MonitorRealRecordContent> GetContentBySignalIDOfTimeRange(long CorpID, long MonitorPointID, long SignalID, DateTime StartTime, DateTime EndTime) |
| | |
| | | return bol; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 重录一条 |
| | | /// </summary> |
| | | public bool InsertAgain(Model.MonitorRealRecordPure model) |
| | | { |
| | | if (model == null) |
| | | return false; |
| | | var dal = new DAL.MonitorRealRecord(); |
| | | var result= dal.DeleteBySignalIDOfDataTime(model.CorpID,model.MonitorPointID,model.SignalID,model.DataTime); |
| | | if (!result) |
| | | { |
| | | LogHelper.Info($"重录一条监测实时记录中,CorpID:{model.CorpID},MonitorPointID:{model.MonitorPointID},SignalID:{model.SignalID},DataTime:{model.DataTime:yyyy-MM-dd HH:mm:ss},未检索到已存在记录!"); |
| | | } |
| | | var queueHelper = new RabbitMqQueueHelper(); |
| | | var bol = queueHelper.Push(ConfigHelper.StoreQueueName, new Model.MonitorStoreCorpRecord() |
| | | { |
| | | CorpID = model.CorpID, |
| | | Records = new List<Model.MonitorStoreRecord>() { Pure2Store(model) } |
| | | }); ; |
| | | return bol; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 重录多条 |
| | | /// </summary> |
| | | public bool InsertsAgain(List<Model.MonitorRealRecordPure> list) |
| | | { |
| | | if (list == null || list.Count < 1) |
| | | return false; |
| | | var corpIds = list.Select(x => x.CorpID).Distinct().ToList(); |
| | | if (corpIds.Count > 1) |
| | | { |
| | | return default; |
| | | } |
| | | var groupList = list.GroupBy(x => new { x.CorpID, x.MonitorPointID, x.SignalID }).ToList(); |
| | | var dal = new DAL.MonitorRealRecord(); |
| | | foreach (var group in groupList) |
| | | { |
| | | var startTime = group.Min(x=>x.DataTime); |
| | | var endTime = group.Max(x=>x.DataTime); |
| | | var result = dal.DeleteBySignalIDOfTimeRange(group.Key.CorpID, group.Key.MonitorPointID, group.Key.SignalID, startTime, endTime); |
| | | if (!result) |
| | | { |
| | | LogHelper.Info($"重录多条监测实时记录中,CorpID:{group.Key.CorpID},MonitorPointID:{group.Key.MonitorPointID},SignalID:{group.Key.SignalID},StartTime:{startTime:yyyy-MM-dd HH:mm:ss},EndTime:{endTime:yyyy-MM-dd HH:mm:ss},未检索到已存在记录!"); |
| | | } |
| | | } |
| | | var queueHelper = new RabbitMqQueueHelper(); |
| | | var bol = queueHelper.Push(ConfigHelper.StoreQueueName, new Model.MonitorStoreCorpRecord() |
| | | { |
| | | CorpID = corpIds[0], |
| | | Records = Pure2Stores(list) |
| | | }); |
| | | return bol; |
| | | |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region Update |