From 7bdd0b5af35ca51624423dfab4f958d40d5e9a06 Mon Sep 17 00:00:00 2001 From: ningshuxia <ningshuxia0927@outlook.com> Date: 星期一, 14 十一月 2022 16:24:23 +0800 Subject: [PATCH] 修改 RepairEtaDayRecordList --- Application/IStation.Application.Eta/eta_analy_largescreenkpi/EtaAnalyLargeScreenKpi_Controller.cs | 79 ++++++++++++++++++++++++++++----------- 1 files changed, 56 insertions(+), 23 deletions(-) diff --git a/Application/IStation.Application.Eta/eta_analy_largescreenkpi/EtaAnalyLargeScreenKpi_Controller.cs b/Application/IStation.Application.Eta/eta_analy_largescreenkpi/EtaAnalyLargeScreenKpi_Controller.cs index c68568f..d31e801 100644 --- a/Application/IStation.Application.Eta/eta_analy_largescreenkpi/EtaAnalyLargeScreenKpi_Controller.cs +++ b/Application/IStation.Application.Eta/eta_analy_largescreenkpi/EtaAnalyLargeScreenKpi_Controller.cs @@ -517,37 +517,70 @@ /// </summary> [Route("RepairEtaDayRecordList")] [HttpGet] - public bool RepairEtaDayRecordList([FromQuery] long CorpID, long LogicAreaID, DateTime StartTime, DateTime EndTime) + public bool RepairEtaDayRecordList([FromQuery] long CorpID, DateTime StartTime, DateTime EndTime) { - var corpId = CorpID; - var logicAreaId = LogicAreaID; + //鑾峰彇涓氬姟鍖哄煙 + var logic_catalog_list = new Service.LogicCatalog().GetByCorpID(CorpID); + if (logic_catalog_list == null || logic_catalog_list.Count < 1) + return false; - var service_eta = new Service.EtaLogicRealRecord(); - var service_eta_sum = new Service.EtaSumLogicRecord(); - - var spanDays = (EndTime - StartTime).TotalDays; - var result = false; - for (int i = 0; i <= spanDays; i++) + //閬嶅巻涓氬姟绫诲埆 + foreach (var logicCataog in logic_catalog_list) { - var currentTime = StartTime.AddDays(i); - var realRecordList = service_eta.GetByObjectOfDay(corpId, ObjectType.LogicArea, logicAreaId, currentTime); - var cureentDayRecord = service_eta_sum.GetDayByObjectOfDay(corpId, ObjectType.LogicArea, logicAreaId, currentTime); - var record = EtaSumLogicDayHelper.Sum(corpId, ObjectType.LogicArea, logicAreaId, currentTime, realRecordList); - if (cureentDayRecord == null) - { - result = service_eta_sum.Insert(record) > 0; - } - else - { - result = service_eta_sum.Update(record); - } - } + //鑾峰彇涓氬姟娓呭崟 + var logicTreeList = new Service.LogicTree().GetByCatalogID(CorpID, logicCataog.ID); + //閬嶅巻涓氬姟娓呭崟 + if (logicTreeList == null || logicTreeList.Count < 1) + continue; - return result; + foreach (var logicTree in logicTreeList) + { + RepairCore(CorpID, logicTree.LogicType, logicTree.LogicID, StartTime, EndTime); + if (logicTree.LogicType == IStation.ObjectType.Station) + { + var station = new Service.Station().GetByID(CorpID, logicTree.LogicID); + if (station == null) + continue; + //鑾峰彇绠¤矾 + var pipeLineList = new Service.PipeLine().GetEnginePumpListByBelongTypeAndBelongID(CorpID, IStation.ObjectType.Station, station.ID); + if (pipeLineList == null || pipeLineList.Count < 1) + continue; + foreach (var pipeLine in pipeLineList) + { + RepairCore(CorpID, ObjectType.PipeLine, pipeLine.ID, StartTime, EndTime); + } + } + } + + } + return true; } + private void RepairCore(long corpId, string objectType, long objectId, DateTime startTime, DateTime endTime) + { + var service_eta = new Service.EtaLogicRealRecord(); + var service_eta_sum = new Service.EtaSumLogicRecord(); + var spanDays = (endTime - startTime).TotalDays; + for (int i = 0; i <= spanDays; i++) + { + var currentTime = startTime.AddDays(i); + var realRecordList = service_eta.GetByObjectOfDay(corpId, objectType, objectId, currentTime); + if (realRecordList == null || realRecordList.Count < 1) + continue; + var cureentDayRecord = service_eta_sum.GetDayByObjectOfDay(corpId, objectType, objectId, currentTime); + var record = EtaSumLogicDayHelper.Sum(corpId, objectType, objectId, currentTime, realRecordList); + if (cureentDayRecord == null) + { + service_eta_sum.Insert(record); + } + else + { + service_eta_sum.Update(record); + } + } + } -- Gitblit v1.9.3