| | |
| | | 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}", |
| | |
| | | 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; |
| | |
| | | plan.Items.AddRange(pipe2_result.Items); |
| | | |
| | | |
| | | plan.ResultStatus = ResultStatus; |
| | | plan.ResultStatusInfo = ResultStatusInfo; |
| | | return new List<Model.AnaScheme>() { plan }; |
| | | #endregion |
| | | |
| | | } |
| | | |
| | | |