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