From 16236a00f212a96e79e17298713faff756cee9c0 Mon Sep 17 00:00:00 2001 From: tangxu <76880903@qq.com> Date: 星期三, 09 十一月 2022 12:40:20 +0800 Subject: [PATCH] 增加 大桥泵站 --- Application/IStation.Application.OpenApi/shys/plan/PlanAna_ShysController.cs | 2 Application/IStation.Application.OpenApi/shys/plan/shys/ShysHelper.cs | 19 ++++----- Calculation/IStation.Calculation.Dispatch/custom/shys/station/松浦大桥/OptAna.cs | 62 +++++++++++++++++++++++-------- Calculation/IStation.Calculation.Dispatch/custom/shys/station/金海泵站/OptAna.cs | 9 ++-- Application/IStation.Application.OpenApi/shys/plan/shys/shys大桥泵站.cs | 22 +++++----- Model/IStation.Model.Eta/eta_real/basic/EtaBasicRealRecord.cs | 2 6 files changed, 72 insertions(+), 44 deletions(-) diff --git a/Application/IStation.Application.OpenApi/shys/plan/PlanAna_ShysController.cs b/Application/IStation.Application.OpenApi/shys/plan/PlanAna_ShysController.cs index a94a73b..00cdcfb 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_20221103.json"; + var path = @"D:\WorkData\IStation\result_20221109.json"; if (!System.IO.File.Exists(path)) return null; diff --git a/Application/IStation.Application.OpenApi/shys/plan/shys/ShysHelper.cs b/Application/IStation.Application.OpenApi/shys/plan/shys/ShysHelper.cs index 8587a9d..de4cd76 100644 --- a/Application/IStation.Application.OpenApi/shys/plan/shys/ShysHelper.cs +++ b/Application/IStation.Application.OpenApi/shys/plan/shys/ShysHelper.cs @@ -33,19 +33,16 @@ { _dict = new Dictionary<int, StationInfo>(); - - //_dict.Add(6, new StationInfo(4, new IStation.Calculation.shys涓ユˉ娉电珯()));//NG 娌℃湁娴侀噺鏁版嵁, 娌℃湁鍑哄彛娑蹭綅鏁版嵁 - //_dict.Add(12, new StationInfo(15, new IStation.Calculation.shys闄堣涓�杈�()));//NG 娌℃湁鎻愪緵 _0402010503030202003 涓夊彿绠″嚭鍙f祦閲忓�� - //_dict.Add(7, new StationInfo(6, new IStation.Calculation.shys涓存睙1鍙锋车鎴�())); //NG 娌℃湁鎻愪緵 娴侀噺 ,鏃犳硶璁$畻 - //_dict.Add(17, new StationInfo(21, new IStation.Calculation.shys澶фˉ娉电珯()));// NG 鎵▼鍙湁涓�绫冲, 鏃犳硶璁$畻 - - //_dict.Add(18, new StationInfo(1 , new IStation.Calculation.shys闈掕崏娌欏彇姘�()));//鍏ㄦ槸0 鏄惁姝g‘? - //_dict.Add(19, new StationInfo(14, new IStation.Calculation.shys闄堣浜屽彇())); //NG 1鏈�5鏃�, 鍑哄彛鍘嬪姏浣庝簬姘存睜姘翠綅 + //_dict.Add(6, new StationInfo(4, new IStation.Calculation.shys涓ユˉ娉电珯()));//NG 涓嶅紑娉� 涓嶈�冭檻 + #if (DEBUG) - //_dict.Add(20, new StationInfo(18, new IStation.Calculation.shys閲戞辰鍙栨按())); - //_0402010701011204001 搴旇鏄按浣嶆槸鍚︽悶閿�, 鏇茬嚎涓嶅叏 - _dict.Add(7, new StationInfo(6, new IStation.Calculation.shys涓存睙1鍙锋车鎴�())); + + //_dict.Add(19, new StationInfo(14, new IStation.Calculation.shys闄堣浜屽彇()));//NG 1鏈�5鏃�, 鍑哄彛鍘嬪姏浣庝簬姘存睜姘翠綅 ,鍙兘杩樻槸杩涘彛娑蹭綅闂 + #else + _dict.Add(12, new StationInfo(15, new IStation.Calculation.shys闄堣涓�杈�()));//OK 绗�4鎵� + _dict.Add(17, new StationInfo(21, new IStation.Calculation.shys澶фˉ娉电珯()));//OK 绗�4鎵�,鎵▼鍙湁涓�绫冲, 涓旈渶瑕佸鍔犲嚭鍙e帇鍔涙墠鑳借绠� + _dict.Add(18, new StationInfo(1 , new IStation.Calculation.shys闈掕崏娌欏彇姘�()));//鍏ㄦ槸0 鏄惁姝g‘? _dict.Add(20, new StationInfo(18, new IStation.Calculation.shys閲戞辰鍙栨按())); _dict.Add(7, new StationInfo(6, new IStation.Calculation.shys涓存睙1鍙锋车鎴�())); diff --git "a/Application/IStation.Application.OpenApi/shys/plan/shys/shys\345\244\247\346\241\245\346\263\265\347\253\231.cs" "b/Application/IStation.Application.OpenApi/shys/plan/shys/shys\345\244\247\346\241\245\346\263\265\347\253\231.cs" index dd5c610..9b069e8 100644 --- "a/Application/IStation.Application.OpenApi/shys/plan/shys/shys\345\244\247\346\241\245\346\263\265\347\253\231.cs" +++ "b/Application/IStation.Application.OpenApi/shys/plan/shys/shys\345\244\247\346\241\245\346\263\265\347\253\231.cs" @@ -118,10 +118,10 @@ return null; } - var pipe1_flow = allRecords_hour.Find(x => x.MonitorTag == monitor鍑烘按鎬荤鐬椂娴侀噺.Item1); - if (pipe1_flow == null) + var pipe_flow = allRecords_hour.Find(x => x.MonitorTag == monitor鍑烘按鎬荤鐬椂娴侀噺.Item1); + if (pipe_flow == null) { - error_info = "澶фˉ娉电珯姘寸閬�1娴侀噺娴嬬偣鏈壘鍒�"; + error_info = "澶фˉ娉电珯姘寸閬� 娴侀噺娴嬬偣鏈壘鍒�"; return null; } @@ -150,17 +150,17 @@ new DispatchAna.Model.InletPipePara(){ Name="姘存睜4", IsWaterLevel= true,Value = water_level4.RecordValue} }; complex_dispatch_request.OutletPipePara = new List<DispatchAna.Model.OutletPipePara>(); - //complex_dispatch_request.OutletPipePara.Add(new DispatchAna.Model.OutletPipePara() - //{ - // Name = "涓滆皟鍘嬫睜", - // TargetFlow = pipe1_flow.RecordValue / 2, - // IsWaterLevel = true, - // TargetPress = oulet_wl1.RecordValue, - //}); + complex_dispatch_request.OutletPipePara.Add(new DispatchAna.Model.OutletPipePara() + { + Name = "涓滆皟鍘嬫睜", + TargetFlow = pipe_flow.RecordValue / 2, + IsWaterLevel = true, + TargetPress = oulet_wl2.RecordValue, + }); complex_dispatch_request.OutletPipePara.Add(new DispatchAna.Model.OutletPipePara() { Name = "瑗胯皟鍘嬫睜", - TargetFlow = pipe1_flow.RecordValue / 2, + TargetFlow = pipe_flow.RecordValue / 2, IsWaterLevel = true, TargetPress = oulet_wl2.RecordValue, }); diff --git "a/Calculation/IStation.Calculation.Dispatch/custom/shys/station/\346\235\276\346\265\246\345\244\247\346\241\245/OptAna.cs" "b/Calculation/IStation.Calculation.Dispatch/custom/shys/station/\346\235\276\346\265\246\345\244\247\346\241\245/OptAna.cs" index a2bef87..03f1500 100644 --- "a/Calculation/IStation.Calculation.Dispatch/custom/shys/station/\346\235\276\346\265\246\345\244\247\346\241\245/OptAna.cs" +++ "b/Calculation/IStation.Calculation.Dispatch/custom/shys/station/\346\235\276\346\265\246\345\244\247\346\241\245/OptAna.cs" @@ -143,19 +143,34 @@ double totalQ = 0, totalH = 0, totalP = 0; int pipe_count = 0; + int ResultStatus = 1; + string ResultStatusInfo = null; + List<IStation.Calculation.DispatchAna.Model.AnaScheme> pipe1_results = null; AnaScheme pipe1_result = null; if (pipe1_TargetFlow > 100) { Common.DispatchAnaGeneralHelper鍘嬪姏 calc_pipe1_helper = new Common.DispatchAnaGeneralHelper鍘嬪姏(); - calc_pipe1_helper.InitialParas( - pipe1_TargetFlow,//鍋囪涓�杈硅緭鍑轰竴鍗� - (inlet_wl1 + inlet_wl2) / 2, true, - outlet_wl1, true, - null, null, - (from x in _allMachineList where pipe1_machineIds.Contains(x.MachineID) select x).ToList(), - machine_run_status == null ? null : machine_run_status.MachineRunFilter, out error_info); - var pipe1_results = calc_pipe1_helper.CalcOptList(complex_request_paras.SchemeSortType, 3); + double outlet_wl_calc = outlet_wl1; + for (int i = 0; i < 5; i++) + {//鎵▼杩囦綆,绠椾笉鍑烘潵灏卞鍔犲嚭鍙e帇鍔� + + calc_pipe1_helper.InitialParas( + pipe1_TargetFlow,//鍋囪涓�杈硅緭鍑轰竴鍗� + (inlet_wl1 + inlet_wl2) / 2, true, + outlet_wl1, true, + null, null, + (from x in _allMachineList where pipe1_machineIds.Contains(x.MachineID) select x).ToList(), + machine_run_status == null ? null : machine_run_status.MachineRunFilter, out error_info); + pipe1_results = calc_pipe1_helper.CalcOptList(complex_request_paras.SchemeSortType, 3); + if (pipe1_results != null && pipe1_results.Count > 0) + { + break; + } + outlet_wl_calc = outlet_wl_calc * 1.05; + ResultStatus = 2; + ResultStatusInfo = "鎻愰珮浜嗕竴鍙峰嚭鍙g娑蹭綅鍙傛暟"; + } if (pipe1_results == null || pipe1_results.Count() == 0) { error_info = String.Format("绠¤矾涓�璋冨害鏂规鏃犳硶璁$畻,璇风‘璁ゆ暟鎹槸鍚﹀悎鐞�,杩涘彛娑蹭綅:{0}m {1}m,鍑哄彛娑蹭綅:{2}m,娴侀噺瑕佹眰:{3}", @@ -170,27 +185,41 @@ pipe_count++; } - - AnaScheme pipe2_result = null; + IStation.Calculation.DispatchAna.Model.AnaScheme pipe2_result = null; + List<IStation.Calculation.DispatchAna.Model.AnaScheme> pipe2_results = null; + if (pipe2_TargetFlow > 100) { Common.DispatchAnaGeneralHelper鍘嬪姏 calc_pipe2_helper = new Common.DispatchAnaGeneralHelper鍘嬪姏(); - calc_pipe2_helper.InitialParas( + double outlet_wl_calc = outlet_wl2; + int i = 0; + for (i = 0; i < 5; i++) + {//鎵▼杩囦綆,绠椾笉鍑烘潵灏卞鍔犲嚭鍙e帇鍔� + calc_pipe2_helper.InitialParas( pipe2_TargetFlow,//鍋囪涓�杈硅緭鍑轰竴鍗� (inlet_wl3 + inlet_wl4) / 2, true, - outlet_wl2, true, + outlet_wl_calc, true, null, null, - (from x in _allMachineList where pipe2_machineIds.Contains(x.MachineID) select x).ToList(), + (from x in _allMachineList where pipe2_machineIds.Contains(x.MachineID) select x).ToList(), machine_run_status == null ? null : machine_run_status.MachineRunFilter, out error_info); - calc_pipe2_helper.IsAllowOverTargetPress = true;//鏄惁鍏佽瓒呰繃鐩爣鍘嬪姏, 浣嗘渶灏忓彉棰戦鐜囬兘姣旇姹傚帇鍔涢珮鏃�, 鎸夋渶灏忛鐜囧紑娉� - var pipe2_results = calc_pipe2_helper.CalcOptList(complex_request_paras.SchemeSortType, 3); + calc_pipe2_helper.IsAllowOverTargetPress = true;//鏄惁鍏佽瓒呰繃鐩爣鍘嬪姏, 浣嗘渶灏忓彉棰戦鐜囬兘姣旇姹傚帇鍔涢珮鏃�, 鎸夋渶灏忛鐜囧紑娉� + pipe2_results = calc_pipe2_helper.CalcOptList(complex_request_paras.SchemeSortType, 3); + if (pipe2_results != null && pipe2_results.Count > 0) + { + break; + } + ResultStatus = 2; + outlet_wl_calc = outlet_wl_calc * 1.05; + ResultStatusInfo = "鎻愰珮浜嗕簩鍙峰嚭鍙g娑蹭綅鍙傛暟"; + } if (pipe2_results == null || pipe2_results.Count() == 0) { error_info = String.Format("绠¤矾涓�璋冨害鏂规鏃犳硶璁$畻,璇风‘璁ゆ暟鎹槸鍚﹀悎鐞�,杩涘彛娑蹭綅:{0}m {1}m,鍑哄彛娑蹭綅:{2}m,娴侀噺瑕佹眰:{3}", inlet_wl3, inlet_wl4, outlet_wl2, pipe2_TargetFlow); return null; } + pipe2_result = pipe2_results.First(); totalQ += pipe2_result.TotalWrkQ; @@ -218,9 +247,10 @@ plan.Items.AddRange(pipe2_result.Items); + plan.ResultStatus = ResultStatus; + plan.ResultStatusInfo = ResultStatusInfo; return new List<Model.AnaScheme>() { plan }; #endregion - } diff --git "a/Calculation/IStation.Calculation.Dispatch/custom/shys/station/\351\207\221\346\265\267\346\263\265\347\253\231/OptAna.cs" "b/Calculation/IStation.Calculation.Dispatch/custom/shys/station/\351\207\221\346\265\267\346\263\265\347\253\231/OptAna.cs" index 816d8dd..c66330d 100644 --- "a/Calculation/IStation.Calculation.Dispatch/custom/shys/station/\351\207\221\346\265\267\346\263\265\347\253\231/OptAna.cs" +++ "b/Calculation/IStation.Calculation.Dispatch/custom/shys/station/\351\207\221\346\265\267\346\263\265\347\253\231/OptAna.cs" @@ -196,14 +196,15 @@ totalH += pipe1_result.TotalWrkH; pipe_count++; } + + IStation.Calculation.DispatchAna.Model.AnaScheme pipe2_result = null; - List<IStation.Calculation.DispatchAna.Model.AnaScheme> pipe2_results = null; - + List<IStation.Calculation.DispatchAna.Model.AnaScheme> pipe2_results = null; if (pipe2_TargetFlow > 50) { - double outlet_press_calc = pipe2_TargetPess; + double outlet_press_calc = pipe2_TargetPess; int i = 0; - for ( i = 0; i < 5; i++) + for (i = 0; i < 5; i++) {//鎵▼杩囦綆,绠椾笉鍑烘潵灏卞鍔犲嚭鍙e帇鍔� calc_pipe2_helper.InitialParas( pipe2_TargetFlow, diff --git a/Model/IStation.Model.Eta/eta_real/basic/EtaBasicRealRecord.cs b/Model/IStation.Model.Eta/eta_real/basic/EtaBasicRealRecord.cs index 637abe4..c07f8e2 100644 --- a/Model/IStation.Model.Eta/eta_real/basic/EtaBasicRealRecord.cs +++ b/Model/IStation.Model.Eta/eta_real/basic/EtaBasicRealRecord.cs @@ -514,7 +514,7 @@ public bool CalcUnitPower() { Calcu_WP(); - return Calcu_UWP(); + return Calcu_UWP(); } /// <summary> /// -- Gitblit v1.9.3