1去掉登录成功弹窗;

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

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

@ -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;
}
/// <summary>
/// 删除指定名称的VPN

@ -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();

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

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

@ -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);
}

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

@ -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
}
}

@ -25,20 +25,25 @@ namespace StartServerWPF.ViewModels
if (MessageBox.Show("是否退出程序?", "警告", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
{
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();
Exit();
}
});
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)
{

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

@ -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<MainViewModel>();
//// 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)

Loading…
Cancel
Save