1去掉登录成功弹窗;

2 修改退出进程未结束问题;
3 修改实时波形对齐问题;
4增加数据处理页面;
5修改vpn在线状态改为判断ip是否存在;
master
mzhifa 8 months ago
parent ef3cd15ddc
commit 65f946fb3b

@ -42,5 +42,7 @@ namespace StartServerWPF.Models
/// 波形显示程序 /// 波形显示程序
/// </summary> /// </summary>
public ProcessInfo proPlot { get; set; } public ProcessInfo proPlot { get; set; }
public ProcessInfo dataProTools { get; set; }
} }
} }

@ -128,9 +128,14 @@ namespace StartServerWPF.Modules.Main
[Obsolete] [Obsolete]
public bool CheckVpnStatus(string vpnName) public bool CheckVpnStatus(string vpnName)
{ {
RasConnection connection = RasConnection.GetActiveConnectionByName(vpnName, dialer.PhoneBookPath); var host =Dns.GetHostEntry(Dns.GetHostName());
var ip= host.AddressList.Where(i => i.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork
return connection != null ? true : false; && i.ToString().Contains("172.16.30")).FirstOrDefault();
return ip != null ? true : false;
// RasConnection connection = RasConnection.GetActiveConnectionByName(vpnName, dialer.PhoneBookPath);
// return connection != null ? true : false;
} }
/// <summary> /// <summary>
/// 删除指定名称的VPN /// 删除指定名称的VPN

@ -95,7 +95,7 @@ namespace StartServerWPF.Modules.Main.ViewModels
Application.Current.Dispatcher.Invoke(() => Application.Current.Dispatcher.Invoke(() =>
{ {
HandyControl.Controls.MessageBox.Show(user.message, "提示"); // HandyControl.Controls.MessageBox.Show(user.message, "提示");
if (user.code == 200) if (user.code == 200)
{ {
_websocket.SendMes(JsonSerializer.Serialize(new CSUserSubscribeMessage { type = CSMessage.subscribe })); _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()) foreach (var item in _systemConfig.GetType().GetProperties())
{ {
var pro = item.GetValue(_systemConfig) as ProcessInfo; var pro = item.GetValue(_systemConfig) as ProcessInfo;
if (pro != null) if (pro != null&& pro.ProTitle!= "数据处理")
{ {
StartTime = DateTime.Now; StartTime = DateTime.Now;
pro.Pid= StartProcess(pro); pro.Pid= StartProcess(pro);
@ -425,7 +425,7 @@ namespace StartServerWPF.Modules.Main.ViewModels
foreach (var item in _systemConfig.GetType().GetProperties()) foreach (var item in _systemConfig.GetType().GetProperties())
{ {
var pro = item.GetValue(_systemConfig) as ProcessInfo; var pro = item.GetValue(_systemConfig) as ProcessInfo;
if (pro != null) if (pro != null&& pro.ProTitle != "数据处理")
{ {
int indexPro = KillProcess(pro); int indexPro = KillProcess(pro);
var model= ProcessDataSource.Where(x => x.ProName == pro.ProName).FirstOrDefault(); 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()) foreach (var item in _systemConfig.GetType().GetProperties())
{ {
var pro = item.GetValue(_systemConfig) as ProcessInfo; var pro = item.GetValue(_systemConfig) as ProcessInfo;
if (pro != null) if (pro != null && pro.ProTitle != "数据处理")
{ {
int sfp = FindProcess(pro); int sfp = FindProcess(pro);
var model = ProcessDataSource.Where(x => x.ProName == pro.ProName).FirstOrDefault(); var model = ProcessDataSource.Where(x => x.ProName == pro.ProName).FirstOrDefault();

@ -73,7 +73,7 @@ namespace StartServerWPF.Modules.Main.ViewModels
menus.Add(menuItem); menus.Add(menuItem);
} }
} }
List<string> menuNames = new List<string>() {"首页","实时波形","波形回放","设置","日志", }; List<string> menuNames = new List<string>() {"首页","实时波形","波形回放", "数据处理", "设置","日志", };
List<string> viewName = new List<string>() { "MainView", "ChartPlotRealDataView", "ChartPlotView", "SetParamView", "LogManagementView"}; List<string> viewName = new List<string>() { "MainView", "ChartPlotRealDataView", "ChartPlotView", "DataProcessView", "SetParamView", "LogManagementView"};
} }
} }

@ -27,7 +27,7 @@
</i:Interaction.Triggers> </i:Interaction.Triggers>
<Grid > <Grid >
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="550"/> <ColumnDefinition Width="460"/>
<ColumnDefinition Width="23*"/> <ColumnDefinition Width="23*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Grid.RowDefinitions> <Grid.RowDefinitions>
@ -109,8 +109,8 @@
<Grid Margin="10"> <Grid Margin="10">
<DataGrid ItemsSource="{Binding ProcessDataSource}" Background="White" IsReadOnly="True" AutoGenerateColumns="False"> <DataGrid ItemsSource="{Binding ProcessDataSource}" Background="White" IsReadOnly="True" AutoGenerateColumns="False">
<DataGrid.Columns> <DataGrid.Columns>
<DataGridTextColumn Header="程序" Width="120" Binding="{Binding ProcessTile}"/> <DataGridTextColumn Header="程序" Width="80" Binding="{Binding ProcessTile}"/>
<DataGridTextColumn Header="进程" Width="100" Binding="{Binding ProName}"/> <DataGridTextColumn Header="进程" Width="90" Binding="{Binding ProName}"/>
<DataGridTextColumn Header="监控时间" Width="*" Binding="{Binding MonitorTime,StringFormat={}{0:yyyy-MM-dd HH:mm:ss}}"/> <DataGridTextColumn Header="监控时间" Width="*" Binding="{Binding MonitorTime,StringFormat={}{0:yyyy-MM-dd HH:mm:ss}}"/>
<DataGridTextColumn Header="运行状态" Width="80" Binding="{Binding ProcessStatus}"/> <DataGridTextColumn Header="运行状态" Width="80" Binding="{Binding ProcessStatus}"/>
</DataGrid.Columns> </DataGrid.Columns>

@ -2,6 +2,7 @@
using System; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Text; using System.Text;
@ -62,16 +63,23 @@ namespace StartServerWPF.Modules.MseedChart
// 时间差等于上一次收到数据 // 时间差等于上一次收到数据
if (ts.TotalSeconds > 1) 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 temp = DataOrders.Last();
var Average = temp.DataArray.Average(); var Average = temp.DataArray.Average();
DataOrders.Enqueue(new ChartSamples DataOrders.Enqueue(new ChartSamples
{ {
StartTime = samples.StartTime, 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); DataOrders.Enqueue(samples);
} }

@ -924,7 +924,7 @@ namespace StartServerWPF.Modules.MseedChart.ViewModels
; foreach (var item in subNameList) ; foreach (var item in subNameList)
{ {
List<double> temDou = new List<double>(); List<double> temDou = new List<double>();
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()) if (tem.Any())
{ {
item.Value.FirstSampleTime = tem.ElementAt(0).StartTime; //设置数据的开始时间 item.Value.FirstSampleTime = tem.ElementAt(0).StartTime; //设置数据的开始时间

@ -57,5 +57,15 @@
"Pid": 0, "Pid": 0,
"OperationStr": "open", "OperationStr": "open",
"ShowState": 0 "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
} }
} }

@ -25,20 +25,25 @@ namespace StartServerWPF.ViewModels
if (MessageBox.Show("是否退出程序?", "警告", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) if (MessageBox.Show("是否退出程序?", "警告", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
{ {
var main = _containerProvider.Resolve<MainViewModel>(); Exit();
var log = new LogMessageModel
{
LogType = "系统",
AppName = "系统",
State = "程序退出",
OriginTime = DateTime.Now,
};
LogHelper.WriteSerLog(_containerProvider.Resolve<SystemConfigModel>().vpnInfo.SystemLogPath, log.ToString());
main.OneKeyStop();
Application.Current.Shutdown();
} }
}); });
public void Exit()
{
var main = _containerProvider.Resolve<MainViewModel>();
var log = new LogMessageModel
{
LogType = "系统",
AppName = "系统",
State = "程序退出",
OriginTime = DateTime.Now,
};
LogHelper.WriteSerLog(_containerProvider.Resolve<SystemConfigModel>().vpnInfo.SystemLogPath, log.ToString());
main.OneKeyStop();
Application.Current.Shutdown();
}
public MainWindowViewModel(IContainerProvider containerProvider) public MainWindowViewModel(IContainerProvider containerProvider)
{ {

@ -18,7 +18,7 @@
<RowDefinition Height="100*"/> <RowDefinition Height="100*"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="200"/> <ColumnDefinition Width="150"/>
<ColumnDefinition Width="100*"/> <ColumnDefinition Width="100*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<DockPanel Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Background="#FF5E83FF"> <DockPanel Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Background="#FF5E83FF">

@ -1,6 +1,7 @@
using Prism.Ioc; using Prism.Ioc;
using Prism.Regions; using Prism.Regions;
using StartServerWPF.Modules.Main.ViewModels; using StartServerWPF.Modules.Main.ViewModels;
using StartServerWPF.ViewModels;
using System.Windows; using System.Windows;
namespace StartServerWPF.Views namespace StartServerWPF.Views
@ -14,21 +15,19 @@ namespace StartServerWPF.Views
public MainWindow() public MainWindow()
{ {
InitializeComponent(); InitializeComponent();
mainModel =DataContext as MainWindowViewModel;
} }
MainWindowViewModel mainModel;
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{ {
//if (MessageBox.Show("是否退出程序?", "warning", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) if (MessageBox.Show("是否退出程序?", "warning", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
//{ {
// // var main= containerProvider.Resolve<MainViewModel>(); mainModel.Exit();
}
//// main.Unloaded(); else
//} {
//else e.Cancel = true;
//{ }
//// e.Cancel = true;
//}
} }
private void Window_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e) private void Window_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)

Loading…
Cancel
Save