Shuxia Ning
2024-08-28 1a8a81785470302fc7fbd6914a9df5d1094dac2a
IStation.Service/08-algorithm/01-analysis/AnalysisHelper.cs
@@ -11,14 +11,13 @@
        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;//扬程间隔
        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.AnalysisDeviation _dal_analysis_deviation = new();
        readonly DAL.SQLite.AnalysisConclusion _dal_analysis_conclusion = new();
        readonly DAL.SQLite.AnalysisFactor _dal_analysis_factor= new();
        /// <summary>
@@ -34,14 +33,18 @@
                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);
                }
@@ -184,8 +187,7 @@
        /// </summary> 
        private void InsertAnaLog(string info)
        {
            var entity = new Entity.AnalysisLog(info);
            _dal_analysis_log.Insert(entity);
            LogHelper.Info(info);
        }
        /// <summary>
@@ -237,16 +239,7 @@
            log = $"分析进度:{runFlag},下标:{index},数量:{list.Count},插入耗时:{sw.ElapsedMilliseconds / 1000}m";
            InsertAnaLog(log);
        }
        /// <summary>
        /// 插入分析偏差
        /// </summary>
        private bool InsertAnalysisDeviationList(List<Entity.AnalysisDeviation> analysis_deviation_list)
        {
            var bol = _dal_analysis_deviation.Inserts(analysis_deviation_list);
            return bol;
        }
        #endregion