From 4efe844d9bcc03435cbbeb1aedbda5bf6ebf5912 Mon Sep 17 00:00:00 2001 From: ningshuxia <ningshuxia0927@outlook.com> Date: 星期二, 22 十一月 2022 16:46:58 +0800 Subject: [PATCH] 数据对接 --- Application/IStation.Application.Eta/dispatch_analy/DispatchAnaly_StdController.cs | 108 ++++++++++++++++++++++------------------------------- 1 files changed, 45 insertions(+), 63 deletions(-) diff --git a/Application/IStation.Application.Eta/dispatch_analy/DispatchAnaly_StdController.cs b/Application/IStation.Application.Eta/dispatch_analy/DispatchAnaly_StdController.cs index e8c7dc5..f7fdedb 100644 --- a/Application/IStation.Application.Eta/dispatch_analy/DispatchAnaly_StdController.cs +++ b/Application/IStation.Application.Eta/dispatch_analy/DispatchAnaly_StdController.cs @@ -24,7 +24,7 @@ /// </summary> [Route("GetCurrentInfo@V1.0")] [HttpGet] - public IStation.Dto.ApiResult GetCurrentInfo([FromQuery][Required] StationIDUnderCorpInput input) + public IStation.Dto.ApiResult GetCurrentInfo([FromQuery][Required] StationIDUnderCorpInput input) { var pipeLineList = new Service.PipeLine().GetByBelongTypeAndBelongID(input.CorpID, IStation.ObjectType.Station, input.StationID); if (pipeLineList == null || pipeLineList.Count < 1) @@ -77,27 +77,31 @@ vm_ana_result.Name = string.Join(",", name_list); - IStation.Calculation.IDispatchAnalyCalculator calc_helper = - IStation.Calculation.DispatchAnalyCalculatorFactory.CreateCalculator(input.CorpID, - IStation.ObjectType.Station, - input.StationID, null); + IStation.Calculation.DispatchAna.IGetCurrentRecord calc_helper = + IStation.Calculation.DispatchAnalyCalculatorFactory.CreateGetCurrentRecord( + input.CorpID, IStation.ObjectType.Station, + input.StationID); if (calc_helper == null) { - return new Dto.ApiResult<IStation.Dto.DispatchAna.StationCurrentInfo>( new IStation.Dto.DispatchAna.StationCurrentInfo(vm_ana_result)); + return new Dto.ApiResult<IStation.Dto.DispatchAna.StationCurrentInfo>(new IStation.Dto.DispatchAna.StationCurrentInfo(vm_ana_result)); + } + + string error_info = null; + var current_dispatch_info = calc_helper.GetCurrentRecord(input.CorpID, input.StationID, out error_info); + if (current_dispatch_info == null) + { + return new Dto.ApiResult<IStation.Dto.DispatchAna.StationCurrentInfo>( + new IStation.Dto.DispatchAna.StationCurrentInfo(vm_ana_result)); } else { - string error_info = null; - var current_dispatch_info = calc_helper.GetCurrentRecord(input.CorpID, input.StationID, out error_info); - if(current_dispatch_info == null) - { - return new Dto.ApiResult<IStation.Dto.DispatchAna.StationCurrentInfo>(new IStation.Dto.DispatchAna.StationCurrentInfo(vm_ana_result)); - } - else - { - return new Dto.ApiResult<IStation.Dto.DispatchAna.StationCurrentInfo>(new IStation.Dto.DispatchAna.StationCurrentInfo(vm_ana_result, current_dispatch_info)); - } + return new Dto.ApiResult<IStation.Dto.DispatchAna.StationCurrentInfo>( + new IStation.Dto.DispatchAna.StationCurrentInfo( + vm_ana_result, + current_dispatch_info) + ); } + } @@ -125,51 +129,29 @@ return IStation.Dto.ApiResult.Error("StationID涓虹┖"); } - string error_info = null; - var complex = request.BuildRequestComplex(out error_info); - complex.SchemeSortType = (Calculation.DispatchAna.Model.eAnaSchemeSortType)request.SortType; - - - List<IStation.Calculation.DispatchAna.Model.MachineRunFilter> machine_run_filter_list = null; - if (request.RunStatusList == null) - { - // IStation.LogHelper.Info("RunStatusList none"); - } - else if (request.RunStatusList.Count() == 0) - { - // IStation.LogHelper.Info("RunStatusList Count==0"); - } - else //if (request.Setting.OpenStatus != null && request.Setting.OpenStatus.Count > 0) - { - machine_run_filter_list = new List<IStation.Calculation.DispatchAna.Model.MachineRunFilter>(); - foreach (var d in request.RunStatusList) - { - var binding_list = new Service.PipeLineBinding().GetByPipeLineID(request.CorpID, d.MachineID); - machine_run_filter_list.Add(new IStation.Calculation.DispatchAna.Model.MachineRunFilter() - { - MachineID = binding_list.First().ID, - RunStatus = d.Status, - MaxFlow = -1 - }); - } - } - - - - - IStation.Calculation.IDispatchAnalyCalculator calc_helper = - IStation.Calculation.DispatchAnalyCalculatorFactory.CreateCalculator(request.CorpID, - IStation.ObjectType.Station, - request.StationID, null); + //鑾峰彇杈呭姪绫� + IStation.Calculation.DispatchAna.IOptAnaCalc calc_helper = + IStation.Calculation.DispatchAnalyCalculatorFactory.CreateOptAnaCalculator( + request.CorpID, IStation.ObjectType.Station, + request.StationID,null); if (calc_helper == null) { return IStation.Dto.ApiResult.Error("Calculator 杩樻湭鏋勫缓"); } - var machine_run_status = new IStation.Calculation.DispatchAna.Model.MachineRunPara() { MachineRunFilter = machine_run_filter_list }; - //璋冪敤CalcOptListByPre 鍥犱负鍙兘閮ㄥ垎鍙傛暟杩橀渶鑾峰彇瀹炴椂鏁版嵁 - - var items = calc_helper.CalcOptListByPre(complex, machine_run_status, out error_info); + + //鏋勫缓鍙傛暟 + string error_info = null; + var complex_request_paras = request.BuildRequestComplex(out error_info); + var machine_run_status = request.BuildMachineRunPara(out error_info); + var eta_ana_records = request.BuildEtaAnaRecord(out error_info); + + //璁$畻 + var items = calc_helper.CalcSchemes( + complex_request_paras, + eta_ana_records, + machine_run_status, + out error_info); if (items == null || items.Count() == 0) { return IStation.Dto.ApiResult.Alert(error_info); @@ -252,7 +234,7 @@ continue; IStation.Calculation.DispatchAna.Model.AnaCurveItem anaData = new IStation.Calculation.DispatchAna.Model.AnaCurveItem(); - int ret = IStation.Calculation.DispatchAna.Common.DispatchAnaGeneralHelper.CalcAnaCurve( + int ret = IStation.Calculation.DispatchAna.Common.DispatchAnaGeneralHelper鍘嬪姏.CalcAnaCurve( pump_curve.CurveInfo.CurveQH, pump_curve.CurveInfo.CurveQP, 0, TargetH / 102, 0, 0, frequence, ref anaData); @@ -275,8 +257,8 @@ } project.TotalWrkQ = (from x in project.Items where x.WorkPointQ > 0 select x.WorkPointQ).Sum(); project.TotalWrkP = (from x in project.Items where x.WorkPointP > 0 select x.WorkPointP).Sum(); - project.UWP = Math.Round(IStation.Calculation.DispatchAna.Common.DispatchAnaGeneralHelper.Calcu_UWP(project.TotalWrkP, project.TotalWrkQ, TargetH), 3); - project.WP = Math.Round(IStation.Calculation.DispatchAna.Common.DispatchAnaGeneralHelper.Calcu_UWP(project.TotalWrkP, project.TotalWrkQ, TargetH), 3); + project.UWP = Math.Round(IStation.Calculation.DispatchAna.Common.DispatchAnaGeneralHelper鍘嬪姏.Calcu_UWP(project.TotalWrkP, project.TotalWrkQ, TargetH), 3); + project.WP = Math.Round(IStation.Calculation.DispatchAna.Common.DispatchAnaGeneralHelper鍘嬪姏.Calcu_UWP(project.TotalWrkP, project.TotalWrkQ, TargetH), 3); project.SpanQ = Math.Round(project.TotalWrkQ - TargetQ, 0); @@ -340,11 +322,11 @@ if (frequence > 49.5) { var curve_qh = curve_default.CurveInfo.CurveQH; - curve_qh.Max = curve_qh.Max * IStation.Calculation.DispatchAna.Common.DispatchAnaGeneralHelper.ExtendMaxRatio; + curve_qh.Max = curve_qh.Max * IStation.Calculation.DispatchAna.Common.DispatchAnaGeneralHelper鍘嬪姏.ExtendMaxRatio; curveListQH.Add(curve_qh); var curve_qp = curve_default.CurveInfo.CurveQP; - curve_qp.Max = curve_qp.Max * IStation.Calculation.DispatchAna.Common.DispatchAnaGeneralHelper.ExtendMaxRatio; + curve_qp.Max = curve_qp.Max * IStation.Calculation.DispatchAna.Common.DispatchAnaGeneralHelper鍘嬪姏.ExtendMaxRatio; curveListQP.Add(curve_qp); } else @@ -352,9 +334,9 @@ var ration = frequence / 50.0; var maxCurveQH = IStation.Model.FitCurveHelper.GetFitPointsByExtend(curve_default.CurveInfo.CurveQH, - IStation.Calculation.DispatchAna.Common.DispatchAnaGeneralHelper.ExtendMaxRatio, 20); + IStation.Calculation.DispatchAna.Common.DispatchAnaGeneralHelper鍘嬪姏.ExtendMaxRatio, 20); var maxCurveQP = IStation.Model.FitCurveHelper.GetFitPointsByExtend(curve_default.CurveInfo.CurveQP, - IStation.Calculation.DispatchAna.Common.DispatchAnaGeneralHelper.ExtendMaxRatio, 20); + IStation.Calculation.DispatchAna.Common.DispatchAnaGeneralHelper鍘嬪姏.ExtendMaxRatio, 20); List<IStation.Model.CurvePoint> simuPointsQH = new List<IStation.Model.CurvePoint>(); foreach (var pt in maxCurveQH) -- Gitblit v1.9.3