From 23f6326b8df32975df95099c9b3d9c958c8c2459 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期三, 12 四月 2023 13:34:35 +0800 Subject: [PATCH] 优化调度 --- Application/IStation.Application.OpenApi/shys/plan/PlanAna_ShysController.cs | 63 ++++++++++++++++++++----------- 1 files changed, 40 insertions(+), 23 deletions(-) diff --git a/Application/IStation.Application.OpenApi/shys/plan/PlanAna_ShysController.cs b/Application/IStation.Application.OpenApi/shys/plan/PlanAna_ShysController.cs index b7d1ddf..472772b 100644 --- a/Application/IStation.Application.OpenApi/shys/plan/PlanAna_ShysController.cs +++ b/Application/IStation.Application.OpenApi/shys/plan/PlanAna_ShysController.cs @@ -58,7 +58,7 @@ [HttpGet] public List<PlanAnaDto> Calculate_debug() { - var path = @"D:\WorkData\IStation\result_1102.json"; + var path = @"D:\WorkData\IStation\result_20221114.json"; if (!System.IO.File.Exists(path)) return null; @@ -70,39 +70,60 @@ return ret; } + + /// <summary> + /// 璁$畻-Web + /// </summary> + [AllowAnonymous] + [NonUnify] + [Route("Calculate@Web")] + [HttpPost] + public List<PlanAnaDto> Calculate_Web([Required] List<PlanAnaData> list) + { + if (list == null || list.Count < 1) + { + LogHelper.Error("涓婃捣鍘熸按鑳借�楄鍒掑垎鏋愯绠楁帴鍙e叆鍙備负绌�"); + return default; + } + + var ret = CalculateCore(list); + return ret; + } + + #region 鍒嗘瀽鏍稿績 + /// <summary> /// 鍒嗘瀽鏍稿績 /// </summary> - /// <param name="planDataList"></param> - /// <returns></returns> - private List<PlanAnaDto> CalculateCore(List<PlanAnaData> planDataList ) + /// <param name="planDataList"></param> + private List<PlanAnaDto> CalculateCore(List<PlanAnaData> planDataList) { if (planDataList == null || planDataList.Count < 1) - { + { LogHelper.Error("涓婃捣鍘熸按鑳借�楄鍒掑垎鏋愯绠椾笁楂樿繑鍥炴帴鍙e嚭鍙備负绌�"); return default; } if (planDataList.Exists(x => x.datas == null || x.datas.Count < 1)) - { + { LogHelper.Error("涓婃捣鍘熸按鑳借�楄鍒掑垎鏋愯绠椾笁楂樿繑鍥炴帴鍙e嚭鍙傛牸寮忛敊璇�"); return default; } var sg_factoryIds = planDataList.SelectMany(x => x.datas).Select(x => x.factory).Distinct().ToList(); var vmList = new List<PlanAnaDto>(); - - + + foreach (var sg_factoryId in sg_factoryIds) { string error_info; - var vmItem = Ana(planDataList, sg_factoryId,out error_info); + var vmItem = Ana(planDataList, sg_factoryId, out error_info); if (vmItem != null) { vmList.Add(vmItem); - } + } else { - vmList.Add(new PlanAnaDto() { factory=sg_factoryId, name="", error = error_info }); + vmList.Add(new PlanAnaDto() { factory = sg_factoryId, name = "", error = error_info }); } } return vmList; @@ -114,7 +135,7 @@ var stationInfo = ShysPlanHelper.GetStationInfo(sg_factoryId); if (stationInfo == null) { - error_info = "鏈壘鍒癷d:{factoryId},瀵瑰簲鐨勬车绔�" ; + error_info = "鏈壘鍒癷d:{factoryId},瀵瑰簲鐨勬车绔�"; return null; } @@ -122,13 +143,13 @@ var station = new Service.Station().GetByID(_corpId, stationId); if (station == null) { - error_info = $"娉电珯id:{stationId}, 鏁版嵁搴撲腑鏈壘鍒版娉电珯" ; + error_info = $"娉电珯id:{stationId}, 鏁版嵁搴撲腑鏈壘鍒版娉电珯"; return null; } var calculator = stationInfo.Calculator; if (calculator == null) { - error_info = $"娉电珯id:{stationId}, 鏈瀯寤鸿绠楀櫒" ; + error_info = $"娉电珯id:{stationId}, 鏈瀯寤鸿绠楀櫒"; return null; } calculator.SetStationID(_corpId, stationInfo.ID);//璁剧疆ID @@ -165,13 +186,13 @@ //} else { - error_info = $"factoryId:{sg_factoryId}, 娉电珯id:{stationId}, 娴嬭瘯tag:{scadaItem.tagname} ,娴嬬偣鍚嶇О{calculator.GetMonitorNameByTag(scadaItem.tagname)},鏃堕棿鐐箋i}, 鏈壘鍒板搴旀暟鎹�" ; + error_info = $"factoryId:{sg_factoryId}, 娉电珯id:{stationId}, 娴嬭瘯tag:{scadaItem.tagname} ,娴嬬偣鍚嶇О{calculator.GetMonitorNameByTag(scadaItem.tagname)},鏃堕棿鐐箋i}, 鏈壘鍒板搴旀暟鎹�"; return null; } } else { - scadaRecord.RecordValue = ff.value; + scadaRecord.RecordValue = calculator.CorrectMonitorValue(scadaItem.tagname, ff.value); } hourSumRecord.Records.Add(scadaRecord); @@ -182,7 +203,7 @@ sumRecordList.Add(sumRecord); } - string ana_error_info = ""; + string ana_error_info = ""; var resultList = calculator.Calc(station, sg_factoryId, sumRecordList, out ana_error_info); if (resultList == null || resultList.Count() < 1) { @@ -216,11 +237,7 @@ } - - - - - - + #endregion + } } \ No newline at end of file -- Gitblit v1.9.3