using Yw.Untity; namespace IStation.Test { public class ScadaModelValidHelper { public static bool Analysis() { var station1 = "Pump11,Pump12,Pump13,Pump14,Pump15,Pump16,Pump17,Pump18,R3,R2,R1,SFJD1,SFJD2,SFJD3"; var pattern_id_list1 = StringListHelper.ToList(station1); var station2 = "RPump21,SFPump21,Pump21,RPump22,SFPump22,Pump22,RPump23,SFPump23,Pump23,RPump24,SFPump24,Pump24,RPump25,SFPump25,Pump25,RPump26,SFPump26,Pump26,RPump27,SFPump27,Pump27,SFDN2400,SFDN2700"; var pattern_id_list2 = StringListHelper.ToList(station2); var pattern_id_list = new List(); pattern_id_list.AddRange(pattern_id_list1); pattern_id_list.AddRange(pattern_id_list2); var pressure_id_mapping_dict1 = new Dictionary() { {"Jjd1","SPJD1"}, {"Jjd2","SPJD2"}, {"Jjd3","SPJD3"}, {"Jpump11","SPPump11" }, {"Jpump12","SPPump12" }, {"Jpump13","SPPump13" }, {"Jpump14","SPPump14" }, {"Jpump15","SPPump15" }, {"Jpump16","SPPump16" }, {"Jpump17","SPPump17" }, {"Jpump18","SPPump18" } }; var pressure_id_mapping_dict2 = new Dictionary() { {"Jdn2400","SPDN2400"}, {"Jdn2700","SPDN2700"}, {"Jpump21","SPPump21"}, {"Jpump22","SPPump22"}, {"Jpump23","SPPump23"}, {"Jpump24","SPPump24"}, {"Jpump25","SPPump25"}, {"Jpump26","SPPump26"}, {"Jpump27","SPPump27"} }; var flow_id_mapping_dict1 = new Dictionary() { {"Pjd1","SFJD1"}, {"Pjd2","SFJD2"}, {"Pjd3","SFJD3"} }; var flow_id_mapping_dict2 = new Dictionary() { {"Pdn2400","SFDN2400"}, {"Pdn2700","SFDN2700"}, {"Ppump21","SFPump21"}, {"Ppump22","SFPump22"}, {"Ppump23","SFPump23"}, {"Ppump24","SFPump24"}, {"Ppump25","SFPump25"}, {"Ppump26","SFPump26"}, {"Ppump27","SFPump27"} }; var pressure_id_mapping_dict = new Dictionary(); foreach (var item in pressure_id_mapping_dict1) { pressure_id_mapping_dict.Add(item.Key, item.Value); } foreach (var item in pressure_id_mapping_dict2) { pressure_id_mapping_dict.Add(item.Key, item.Value); } var flow_id_mapping_dict = new Dictionary(); foreach (var item in flow_id_mapping_dict1) { flow_id_mapping_dict.Add(item.Key, item.Value); } foreach (var item in flow_id_mapping_dict2) { flow_id_mapping_dict.Add(item.Key, item.Value); } var verify_id = Yw.YitIdHelper.NextId(); var file_path = $"{AppDomain.CurrentDomain.BaseDirectory}Data\\HydraulicModel.inp"; var day_value_list = IStation.Test.DayValueHelper.GetDayValues(); if (day_value_list == null || !day_value_list.Any()) return false; foreach (var day_value in day_value_list) { var patternList = new List(); foreach (var pattern_id in pattern_id_list) { var pattern = new IStation.Hydraulic.Pattern { Id = pattern_id, FactorList = new List() }; patternList.Add(pattern); } var timeValueList = day_value.TimeValueList.OrderBy(x => x.Time).ToList(); foreach (var timeValue in timeValueList) { var time = timeValue.Time; var value_dict = timeValue.Value; foreach (var item in value_dict) { var scada_id = item.Key; var scada_value = item.Value; var pattern = patternList.Find(x => x.Id == scada_id); if (pattern != null) { pattern.FactorList.Add((float)scada_value); } } } day_value.PatternList = patternList; } var hydraulic_model_validation = new IStation.Model.HydraulicModelValidation(); hydraulic_model_validation.ID = verify_id; hydraulic_model_validation.Time = DateTime.Now; hydraulic_model_validation.Config = "模型验证"; var bol = new IStation.Service.HydraulicModelValidation().Insert(hydraulic_model_validation) > 0; if (!bol) { return false; } var hydraulic_model_record_list = IStation.Hydraulic.ModeVerifyHelper.Verify(verify_id, file_path, flow_id_mapping_dict, pressure_id_mapping_dict, day_value_list); bol = new IStation.Service.HydraulicModelRecord().BulkInserts(hydraulic_model_record_list); return bol; } } }