diff --git a/StartServerWPF.Models/SystemConfigModel.cs b/StartServerWPF.Models/SystemConfigModel.cs index 691606d..229964d 100644 --- a/StartServerWPF.Models/SystemConfigModel.cs +++ b/StartServerWPF.Models/SystemConfigModel.cs @@ -42,5 +42,7 @@ namespace StartServerWPF.Models /// 波形显示程序 /// public ProcessInfo proPlot { get; set; } + + public ProcessInfo dataProTools { get; set; } } } diff --git a/StartServerWPF.Modules.Main/VPNHelper.cs b/StartServerWPF.Modules.Main/VPNHelper.cs index bd80726..59b9eb3 100644 --- a/StartServerWPF.Modules.Main/VPNHelper.cs +++ b/StartServerWPF.Modules.Main/VPNHelper.cs @@ -128,9 +128,14 @@ namespace StartServerWPF.Modules.Main [Obsolete] public bool CheckVpnStatus(string vpnName) { - RasConnection connection = RasConnection.GetActiveConnectionByName(vpnName, dialer.PhoneBookPath); - - return connection != null ? true : false; + var host =Dns.GetHostEntry(Dns.GetHostName()); + var ip= host.AddressList.Where(i => i.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork + && i.ToString().Contains("172.16.30")).FirstOrDefault(); + + return ip != null ? true : false; + // RasConnection connection = RasConnection.GetActiveConnectionByName(vpnName, dialer.PhoneBookPath); + + // return connection != null ? true : false; } /// /// 删除指定名称的VPN diff --git a/StartServerWPF.Modules.Main/ViewModels/MainViewModel.cs b/StartServerWPF.Modules.Main/ViewModels/MainViewModel.cs index ae20ad7..aa7cccd 100644 --- a/StartServerWPF.Modules.Main/ViewModels/MainViewModel.cs +++ b/StartServerWPF.Modules.Main/ViewModels/MainViewModel.cs @@ -95,7 +95,7 @@ namespace StartServerWPF.Modules.Main.ViewModels Application.Current.Dispatcher.Invoke(() => { - HandyControl.Controls.MessageBox.Show(user.message, "提示"); + // HandyControl.Controls.MessageBox.Show(user.message, "提示"); if (user.code == 200) { _websocket.SendMes(JsonSerializer.Serialize(new CSUserSubscribeMessage { type = CSMessage.subscribe })); @@ -392,7 +392,7 @@ namespace StartServerWPF.Modules.Main.ViewModels foreach (var item in _systemConfig.GetType().GetProperties()) { var pro = item.GetValue(_systemConfig) as ProcessInfo; - if (pro != null) + if (pro != null&& pro.ProTitle!= "数据处理") { StartTime = DateTime.Now; pro.Pid= StartProcess(pro); @@ -425,7 +425,7 @@ namespace StartServerWPF.Modules.Main.ViewModels foreach (var item in _systemConfig.GetType().GetProperties()) { var pro = item.GetValue(_systemConfig) as ProcessInfo; - if (pro != null) + if (pro != null&& pro.ProTitle != "数据处理") { int indexPro = KillProcess(pro); var model= ProcessDataSource.Where(x => x.ProName == pro.ProName).FirstOrDefault(); @@ -716,7 +716,7 @@ namespace StartServerWPF.Modules.Main.ViewModels foreach (var item in _systemConfig.GetType().GetProperties()) { var pro = item.GetValue(_systemConfig) as ProcessInfo; - if (pro != null) + if (pro != null && pro.ProTitle != "数据处理") { int sfp = FindProcess(pro); var model = ProcessDataSource.Where(x => x.ProName == pro.ProName).FirstOrDefault(); diff --git a/StartServerWPF.Modules.Main/ViewModels/TreeMenuViewModel.cs b/StartServerWPF.Modules.Main/ViewModels/TreeMenuViewModel.cs index e52f3e7..dddcbfc 100644 --- a/StartServerWPF.Modules.Main/ViewModels/TreeMenuViewModel.cs +++ b/StartServerWPF.Modules.Main/ViewModels/TreeMenuViewModel.cs @@ -73,7 +73,7 @@ namespace StartServerWPF.Modules.Main.ViewModels menus.Add(menuItem); } } - List menuNames = new List() {"首页","实时波形","波形回放","设置","日志", }; - List viewName = new List() { "MainView", "ChartPlotRealDataView", "ChartPlotView", "SetParamView", "LogManagementView"}; + List menuNames = new List() {"首页","实时波形","波形回放", "数据处理", "设置","日志", }; + List viewName = new List() { "MainView", "ChartPlotRealDataView", "ChartPlotView", "DataProcessView", "SetParamView", "LogManagementView"}; } } diff --git a/StartServerWPF.Modules.Main/Views/MainView.xaml b/StartServerWPF.Modules.Main/Views/MainView.xaml index c58c184..806d4d0 100644 --- a/StartServerWPF.Modules.Main/Views/MainView.xaml +++ b/StartServerWPF.Modules.Main/Views/MainView.xaml @@ -27,7 +27,7 @@ - + @@ -109,8 +109,8 @@ - - + + diff --git a/StartServerWPF.Modules.MseedChart/Mseed2asciiApi.cs b/StartServerWPF.Modules.MseedChart/Mseed2asciiApi.cs index 6b7641d..67ffd5c 100644 --- a/StartServerWPF.Modules.MseedChart/Mseed2asciiApi.cs +++ b/StartServerWPF.Modules.MseedChart/Mseed2asciiApi.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Concurrent; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using System.Runtime.InteropServices; using System.Text; @@ -62,16 +63,23 @@ namespace StartServerWPF.Modules.MseedChart // 时间差等于上一次收到数据 if (ts.TotalSeconds > 1) { - System.Diagnostics.Debug.WriteLine($"填充均值数据总数:{ts.TotalSeconds * freque}********{samples.StartTime}, {chartLast.StartTime}时间差:{ts.TotalSeconds}秒, 频率:{freque}"); + System.Diagnostics.Debug.WriteLine($"填充均值数据总数:{ts.TotalSeconds * freque}********{samples.StartTime}, {chartLast.StartTime}时间差:{ts.TotalSeconds}秒, 频率:{freque}"); var temp = DataOrders.Last(); var Average = temp.DataArray.Average(); DataOrders.Enqueue(new ChartSamples { StartTime = samples.StartTime, - DataArray = Enumerable.Repeat(Average, (int)(ts.TotalSeconds*freque)).ToArray() + DataArray = Enumerable.Repeat(Average, (int)(ts.TotalSeconds * freque)).ToArray() }); } + else if (ts.TotalSeconds <= -1) + { + var data = DataOrders.Where(d => d.StartTime == samples.StartTime).FirstOrDefault(); + Debug.WriteLine($"***********总时间:{ts.TotalSeconds}, samples:{samples.StartTime},{samples.DataArray.Length}***{chartLast.StartTime},{chartLast.DataArray.Length}"); + if (data != null) data = samples; + return; + } } DataOrders.Enqueue(samples); } diff --git a/StartServerWPF.Modules.MseedChart/ViewModels/ChartPlotRealDataViewModel.cs b/StartServerWPF.Modules.MseedChart/ViewModels/ChartPlotRealDataViewModel.cs index 76ce1c4..39c3e8c 100644 --- a/StartServerWPF.Modules.MseedChart/ViewModels/ChartPlotRealDataViewModel.cs +++ b/StartServerWPF.Modules.MseedChart/ViewModels/ChartPlotRealDataViewModel.cs @@ -924,7 +924,7 @@ namespace StartServerWPF.Modules.MseedChart.ViewModels ; foreach (var item in subNameList) { List temDou = new List(); - var tem = item.Value.DataOrders.Where(d => d.StartTime > currentTime.AddSeconds(-30) && d.StartTime < currentTime.AddSeconds(0.5)); + var tem = item.Value.DataOrders.Where(d => d.StartTime > currentTime.AddSeconds(-30) && d.StartTime < currentTime.AddSeconds(1)); if (tem.Any()) { item.Value.FirstSampleTime = tem.ElementAt(0).StartTime; //设置数据的开始时间 diff --git a/StartServerWPF/SystemConfig.json b/StartServerWPF/SystemConfig.json index 86ceee3..0c3b624 100644 --- a/StartServerWPF/SystemConfig.json +++ b/StartServerWPF/SystemConfig.json @@ -57,5 +57,15 @@ "Pid": 0, "OperationStr": "open", "ShowState": 0 + }, + "dataProTools": { + "ProName": "gw.tools", + "ProTitle": "数据处理", + "ProPath": "serverprogram\\tools\\", + "ProParams": "-cfg apms.json -savepath I:\\yuwuN3102mseed -delay 600", + "JsonPath": "apms.json", + "Pid": 0, + "OperationStr": "open", + "ShowState": 0 } } \ No newline at end of file diff --git a/StartServerWPF/ViewModels/MainWindowViewModel.cs b/StartServerWPF/ViewModels/MainWindowViewModel.cs index 320c176..4d2a59d 100644 --- a/StartServerWPF/ViewModels/MainWindowViewModel.cs +++ b/StartServerWPF/ViewModels/MainWindowViewModel.cs @@ -25,20 +25,25 @@ namespace StartServerWPF.ViewModels if (MessageBox.Show("是否退出程序?", "警告", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { - var main = _containerProvider.Resolve(); - var log = new LogMessageModel - { - LogType = "系统", - AppName = "系统", - State = "程序退出", - OriginTime = DateTime.Now, - }; - LogHelper.WriteSerLog(_containerProvider.Resolve().vpnInfo.SystemLogPath, log.ToString()); - - main.OneKeyStop(); - Application.Current.Shutdown(); + Exit(); } }); + public void Exit() + { + var main = _containerProvider.Resolve(); + var log = new LogMessageModel + { + LogType = "系统", + AppName = "系统", + State = "程序退出", + OriginTime = DateTime.Now, + }; + LogHelper.WriteSerLog(_containerProvider.Resolve().vpnInfo.SystemLogPath, log.ToString()); + + main.OneKeyStop(); + Application.Current.Shutdown(); + } + public MainWindowViewModel(IContainerProvider containerProvider) { diff --git a/StartServerWPF/Views/MainWindow.xaml b/StartServerWPF/Views/MainWindow.xaml index b5b08a5..cd9ab72 100644 --- a/StartServerWPF/Views/MainWindow.xaml +++ b/StartServerWPF/Views/MainWindow.xaml @@ -18,7 +18,7 @@ - + diff --git a/StartServerWPF/Views/MainWindow.xaml.cs b/StartServerWPF/Views/MainWindow.xaml.cs index adcddfb..caa25f7 100644 --- a/StartServerWPF/Views/MainWindow.xaml.cs +++ b/StartServerWPF/Views/MainWindow.xaml.cs @@ -1,6 +1,7 @@ using Prism.Ioc; using Prism.Regions; using StartServerWPF.Modules.Main.ViewModels; +using StartServerWPF.ViewModels; using System.Windows; namespace StartServerWPF.Views @@ -14,21 +15,19 @@ namespace StartServerWPF.Views public MainWindow() { InitializeComponent(); - + mainModel =DataContext as MainWindowViewModel; } - + MainWindowViewModel mainModel; private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { - //if (MessageBox.Show("是否退出程序?", "warning", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) - //{ - // // var main= containerProvider.Resolve(); - - //// main.Unloaded(); - //} - //else - //{ - //// e.Cancel = true; - //} + if (MessageBox.Show("是否退出程序?", "warning", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) + { + mainModel.Exit(); + } + else + { + e.Cancel = true; + } } private void Window_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)