From 41a59b8098446c595ce42d78a279123a4bfa6795 Mon Sep 17 00:00:00 2001 From: ningshuxia <ningshuxia0927@outlook.com> Date: 星期五, 12 八月 2022 14:38:20 +0800 Subject: [PATCH] 增加 泵曲线映射批量操作接口 --- Service/IStation.Service4Run/monitor_record/real/MonitorRealRecord.cs | 84 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 84 insertions(+), 0 deletions(-) diff --git a/Service/IStation.Service4Run/monitor_record/real/MonitorRealRecord.cs b/Service/IStation.Service4Run/monitor_record/real/MonitorRealRecord.cs index f6ea3b7..c7f6734 100644 --- a/Service/IStation.Service4Run/monitor_record/real/MonitorRealRecord.cs +++ b/Service/IStation.Service4Run/monitor_record/real/MonitorRealRecord.cs @@ -322,6 +322,34 @@ } /// <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) @@ -498,6 +526,62 @@ 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($"閲嶅綍涓�鏉$洃娴嬪疄鏃惰褰曚腑锛孋orpID:{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 -- Gitblit v1.9.3