| | |
| | | double _frequency_def = 50; |
| | | double _frequency_min = 25; |
| | | double _frequency_max = 50; |
| | | double _frequency_space = 0.1;//频率间隔 |
| | | double _frequency_space = 0.10;//频率间隔 |
| | | |
| | | double _head_space = 0.1;//扬程间隔 |
| | | double _head_space = 0.1;//扬程间隔 |
| | | |
| | | readonly DAL.SQLite.AnalysisCombine _dal_analysis_combine = new(); |
| | | readonly DAL.SQLite.AnalysisConclusion _dal_analysis_conclusion = new(); |
| | | readonly DAL.SQLite.AnalysisLog _dal_analysis_log = new(); |
| | | readonly DAL.SQLite.AnalysisConclusion _dal_analysis_conclusion = new(); |
| | | readonly DAL.SQLite.AnalysisFactor _dal_analysis_factor= new(); |
| | | |
| | | |
| | | /// <summary> |
| | |
| | | /// <returns></returns> |
| | | public void AnalysisCombine(List<Model.Pump> pumps) |
| | | { |
| | | InsertAnaLog("开始分析泵组合"); |
| | | InsertAnaLog("开始分析泵组合"); |
| | | if (pumps == null || pumps.Count < 1) |
| | | { |
| | | InsertAnaLog("分析失败:没有泵数据!"); |
| | | return; |
| | | } |
| | | |
| | | var all_ana_factor_list = _dal_analysis_factor.GetAll(); |
| | | var fre_def = _frequency_def; |
| | | var ana_pump_list = new List<AnaPump>(); |
| | | foreach (var pump in pumps) |
| | | { |
| | | var pump_factor_list = all_ana_factor_list?.Where(x => x.Flag == pump.Flag).ToList(); |
| | | if (pump.IsBp) |
| | | { |
| | | //变频泵 |
| | | var anaPump = new AnaPump(pump, fre_def, _frequency_min, _frequency_max, _frequency_space); |
| | | var fre_head_diff_avg_dict= pump_factor_list?.ToDictionary(x=>x.Hz,y=>y.HeadDeviation); |
| | | var anaPump = new AnaPump(pump, fre_def, _frequency_min, _frequency_max, _frequency_space, fre_head_diff_avg_dict); |
| | | if (anaPump.AllowCalc) |
| | | ana_pump_list.Add(anaPump); |
| | | } |
| | |
| | | |
| | | InsertAnaLog($"分析进度:{pumps.Count}台泵,分析完毕!"); |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 分析结论 |
| | |
| | | var analysis_conclusion = new Entity.AnalysisConclusion(); |
| | | analysis_conclusion.ID = Yw.YitIdHelper.NextId(); |
| | | analysis_conclusion.CombineID = analysis_combine_id; |
| | | analysis_conclusion.Pump = analysis_combine.Pump; |
| | | analysis_conclusion.Pump = analysis_combine.Pump; |
| | | analysis_conclusion.Head = head; |
| | | analysis_conclusion.Flow = flow.Value; |
| | | analysis_conclusion.Power = curveQP.GetFitPointY(flow.Value); |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | #region Expand |
| | | |
| | | /// <summary> |
| | | /// 圆整 |
| | | /// </summary> |
| | | private void Round(Entity.AnalysisConclusion conclusion) |
| | | { |
| | | conclusion.Pump = Math.Round(conclusion.Pump, 1); |
| | | conclusion.Pump = Math.Round(conclusion.Pump, 1); |
| | | conclusion.Head = Math.Round(conclusion.Head, 1); |
| | | conclusion.Flow = Math.Round(conclusion.Flow, 1); |
| | | conclusion.Power = Math.Round(conclusion.Power, 1); |
| | |
| | | /// </summary> |
| | | private void InsertAnaLog(string info) |
| | | { |
| | | var entity = new Entity.AnalysisLog(info); |
| | | _dal_analysis_log.Insert(entity); |
| | | LogHelper.Info(info); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | InsertAnaLog(log); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 插入分析结论列表 |
| | | /// </summary> |
| | |
| | | log = $"分析进度:{runFlag},下标:{index},数量:{list.Count},插入耗时:{sw.ElapsedMilliseconds / 1000}m"; |
| | | InsertAnaLog(log); |
| | | } |
| | | } |
| | | |
| | | |
| | | #endregion |
| | | |
| | | } |
| | | |
| | | } |