tangxu
2022-11-09 16236a00f212a96e79e17298713faff756cee9c0
增加 大桥泵站
已修改6个文件
116 ■■■■■ 文件已修改
Application/IStation.Application.OpenApi/shys/plan/PlanAna_ShysController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Application/IStation.Application.OpenApi/shys/plan/shys/ShysHelper.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Application/IStation.Application.OpenApi/shys/plan/shys/shys大桥泵站.cs 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Calculation/IStation.Calculation.Dispatch/custom/shys/station/松浦大桥/OptAna.cs 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Calculation/IStation.Calculation.Dispatch/custom/shys/station/金海泵站/OptAna.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/IStation.Model.Eta/eta_real/basic/EtaBasicRealRecord.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
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 ä¸‰å·ç®¡å‡ºå£æµé‡å€¼
            //_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 æ˜¯å¦æ­£ç¡®?
            //_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批,扬程只有一米多, ä¸”需要增加出口压力才能计算
            _dict.Add(18, new StationInfo(1 , new IStation.Calculation.shys青草沙取水()));//全是0 æ˜¯å¦æ­£ç¡®?
            _dict.Add(20, new StationInfo(18, new IStation.Calculation.shys金泽取水()));
            _dict.Add(7, new StationInfo(6, new IStation.Calculation.shys临江1号泵房()));
Application/IStation.Application.OpenApi/shys/plan/shys/shys´óÇűÃÕ¾.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,
            });
Calculation/IStation.Calculation.Dispatch/custom/shys/station/ËÉÆÖ´óÇÅ/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++)
                {//扬程过低,算不出来就增加出口压力
                    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 = "提高了一号出口管液位参数";
                }
                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++)
                {//扬程过低,算不出来就增加出口压力
                    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 = "提高了二号出口管液位参数";
                }
                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
        }
Calculation/IStation.Calculation.Dispatch/custom/shys/station/½ðº£±ÃÕ¾/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++)
                {//扬程过低,算不出来就增加出口压力 
                    calc_pipe2_helper.InitialParas(
                        pipe2_TargetFlow,
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>
        ///