using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace IStation.WinFrmUI.Monitor { /// /// 常规监测数据导入辅助类 /// public class MonitorDataImportHelper { /* public static bool Import() { var monitorPoints = new BLL.MonitorPoint().GetAllExSignalWithSignalType(); if (monitorPoints == null || !monitorPoints.Any()) return false; var importMappers = new List(); foreach (var monitorPoint in monitorPoints) { if (string.IsNullOrEmpty(monitorPoint.TagName)) continue; var mapper = new DataSourcesMapper { SysID = monitorPoint.MonitorPointID, SignID = monitorPoint.TagName }; if (monitorPoint.UnitType == Unit.eUnitType.压力) { if (monitorPoint.Flags != null) { if (monitorPoint.Flags.Contains(IStation.Flags.出口)) { mapper.Coefficients = new Coefficients(); mapper.Coefficients.A = 0.001; //kpa>map } else { mapper.Coefficients = new Coefficients(); mapper.Coefficients.A = 0.00981;//m>map } } } importMappers.Add(mapper); } return Import(importMappers); } */ /// /// 导入 /// public static bool Import(long monitorDataSourcesId, List mappers) { if (mappers == null || mappers.Count < 1) return false; var monitorPointIds = mappers.Select(x => x.SysId).Distinct().ToList(); var monitorPoints = new BLL.MonitorPoint().GetExSignalWithSignalTypeByIds(monitorPointIds); if (monitorPoints == null || monitorPoints.Count < 1) return false; var fileDlg = new OpenFileDialog(); fileDlg.Title = "历史数据导入"; fileDlg.Filter = "CSV文档|*.csv"; fileDlg.Multiselect = true; fileDlg.AutoUpgradeEnabled = true; if (fileDlg.ShowDialog() != DialogResult.OK) { return false; } var fileNames = fileDlg.FileNames?.ToList(); if (fileNames == null || fileNames.Count < 1) return false; var dockingList = new List(); foreach (var monitor in monitorPoints) { var mapper = mappers.Find(x => x.SysId == monitor.MonitorPointID); var dockingModel = new MonitorDataImportModel(); dockingModel.MonitorPointID = monitor.MonitorPointID; dockingModel.SignalId = monitor.SignalID; dockingModel.TagName = mapper.SignId; dockingModel.FormulaType = mapper.FormulaType; dockingModel.FormulaParas = mapper.FormulaParas; dockingList.Add(dockingModel); } var waitDlg = new WaitMonitorDataImportDlg(); waitDlg.SetBindingData(monitorDataSourcesId, dockingList, fileNames); if (waitDlg.ShowDialog() != DialogResult.OK) return false; return true; } } }