597 lines
34 KiB
C#
597 lines
34 KiB
C#
using _20230724_MBJC_upperpc.Common;
|
|
using _20230724_MBJC_upperpc.DataAccess;
|
|
using _20230724_MBJC_upperpc.Models;
|
|
using _20230724_MBJC_upperpc.Views;
|
|
using MySql.Data.MySqlClient;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using System.Runtime.Intrinsics.X86;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
|
|
namespace _20230724_MBJC_upperpc.ViewModels
|
|
{
|
|
public class MainViewModel : NotifyBase
|
|
{
|
|
|
|
#region 事件
|
|
/// <summary>
|
|
/// 主界面标签切换事件
|
|
/// </summary>
|
|
public CommandBase NavChangedCommand { get; set; }
|
|
string Title_Name = ""; //设置当前显示的标题 1 浮标 2 接驳盒 3 系统控制 4 日志记录
|
|
string CurrentPage = "";//当前页面 特质8个点位页面的信息
|
|
|
|
public CommandBase AlarmInfoCommand { get; set; }
|
|
#endregion
|
|
|
|
private FrameworkElement _pageContent;
|
|
|
|
public FrameworkElement PageContent
|
|
{
|
|
get { return _pageContent; }
|
|
set { _pageContent = value; this.DoNotify(); }
|
|
}
|
|
#region
|
|
private BeaconViewModel beacon1 = new BeaconViewModel();
|
|
|
|
public BeaconViewModel Beacon1
|
|
{
|
|
get { return beacon1; }
|
|
set { beacon1 = value; this.DoNotify(); }
|
|
}
|
|
private BeaconViewModel beacon2 = new BeaconViewModel();
|
|
|
|
public BeaconViewModel Beacon2
|
|
{
|
|
get { return beacon2; }
|
|
set { beacon2 = value; this.DoNotify(); }
|
|
}
|
|
private BeaconViewModel beacon3 = new BeaconViewModel();
|
|
|
|
public BeaconViewModel Beacon3
|
|
{
|
|
get { return beacon3; }
|
|
set { beacon3 = value; this.DoNotify(); }
|
|
}
|
|
private BeaconViewModel beacon4 = new BeaconViewModel();
|
|
|
|
public BeaconViewModel Beacon4
|
|
{
|
|
get { return beacon4; }
|
|
set { beacon4 = value; this.DoNotify(); }
|
|
}
|
|
private BeaconViewModel beacon5 = new BeaconViewModel();
|
|
|
|
public BeaconViewModel Beacon5
|
|
{
|
|
get { return beacon5; }
|
|
set { beacon5 = value; this.DoNotify(); }
|
|
}
|
|
private BeaconViewModel beacon6 = new BeaconViewModel();
|
|
|
|
public BeaconViewModel Beacon6
|
|
{
|
|
get { return beacon6; }
|
|
set { beacon6 = value; this.DoNotify(); }
|
|
}
|
|
|
|
private BeaconViewModel beacon7 = new BeaconViewModel() { Model_Visibility = 2 };
|
|
|
|
public BeaconViewModel Beacon7
|
|
{
|
|
get { return beacon7; }
|
|
set { beacon7 = value; this.DoNotify(); }
|
|
}
|
|
|
|
private BeaconViewModel beacon8 = new BeaconViewModel() { Model_Visibility = 2 };
|
|
|
|
public BeaconViewModel Beacon8
|
|
{
|
|
get { return beacon8; }
|
|
set { beacon8 = value; this.DoNotify(); }
|
|
}
|
|
|
|
private BeaconViewModel beacon_Search = new BeaconViewModel();
|
|
/// <summary>
|
|
/// 通过Slider查找后绑定的数据
|
|
/// </summary>
|
|
public BeaconViewModel Beacon_Search
|
|
{
|
|
get { return beacon_Search; }
|
|
set { beacon_Search = value; this.DoNotify(); }
|
|
}
|
|
#endregion
|
|
|
|
|
|
private ClientModel client = new ClientModel();
|
|
/// <summary>
|
|
/// 连接基阵上位机软件的客户端
|
|
/// </summary>
|
|
public ClientModel Client
|
|
{
|
|
get { return client; }
|
|
set { client = value; this.DoNotify(); }
|
|
}
|
|
|
|
private ObservableCollection<AlarmInfo> alarmInfoList = new ObservableCollection<AlarmInfo>();
|
|
/// <summary>
|
|
/// 告警信息列表
|
|
/// </summary>
|
|
public ObservableCollection<AlarmInfo> AlarmInfoList
|
|
{
|
|
get { return alarmInfoList; }
|
|
set { alarmInfoList = value; this.DoNotify(); }
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 连接基阵上位机软件客户端的ip和端口号
|
|
/// </summary>
|
|
public SocketInfo socketInfo = new SocketInfo()
|
|
{
|
|
IP = tools.GetAppSetting("BasicIP"),
|
|
Port = int.Parse(tools.GetAppSetting("BasicPort")),
|
|
};
|
|
//基阵客户端连接和断开的操作
|
|
public CommandBase ConnectCommand { get; set; }
|
|
|
|
|
|
public MainViewModel()
|
|
{
|
|
//进行与基阵上位机软件连接
|
|
Client.DoConnect(socketInfo);
|
|
|
|
this.NavChangedCommand = new CommandBase();
|
|
this.NavChangedCommand.DoExcute = new Action<object>(DoNavChanged);
|
|
this.NavChangedCommand.DoCanExcute = new Func<object, bool>((o) => true);
|
|
|
|
this.ConnectCommand = new CommandBase();
|
|
this.ConnectCommand.DoExcute = new Action<object>(DoConnect);
|
|
this.ConnectCommand.DoCanExcute = new Func<object, bool>((o) => { return true; });
|
|
|
|
this.AlarmInfoCommand = new CommandBase();
|
|
this.AlarmInfoCommand.DoExcute = new Action<object>(SearchAlarmInfo);
|
|
this.AlarmInfoCommand.DoCanExcute = new Func<object, bool>((o) => { return true; });
|
|
|
|
DoNavChanged("FirstPageView");
|
|
SearchAlarmInfo("1");
|
|
|
|
#region 初始化数据
|
|
string sql = string.Format("select * from beaconmodel where StationID = {0} ORDER by id desc limit 1", int.Parse(tools.GetAppSetting("Beacon1")));
|
|
MySqlDataReader reader = DBHelper.ExecuteReader(sql, 1);
|
|
while (reader.Read())
|
|
{
|
|
Beacon1.Beacon.ID = Convert.ToInt32(reader["StationID"]);
|
|
Beacon1.Beacon.Datetime = Convert.ToDateTime(reader["Datetime"]);
|
|
Beacon1.Beacon.Ralative_Heading_Angle = Convert.ToSingle(reader["Ralative_Heading_Angle"]);
|
|
Beacon1.Beacon.Ralative_Pitch_Angle = Convert.ToSingle(reader["Ralative_Pitch_Angle"]);
|
|
Beacon1.Beacon.Position_Distance = Convert.ToSingle(reader["Position_Distance"]);
|
|
Beacon1.Beacon.Propagationtime = Convert.ToSingle(reader["Propagationtime"]);
|
|
Beacon1.Beacon.BasicSite_JD = Convert.ToSingle(reader["BasicSite_JD"]);
|
|
Beacon1.Beacon.BasicSite_WD = Convert.ToSingle(reader["BasicSite_WD"]);
|
|
Beacon1.Beacon.BasicSite_Depth = Convert.ToSingle(reader["BasicSite_Depth"]);
|
|
Beacon1.Beacon.BasicSite_Heading_Angle = Convert.ToSingle(reader["BasicSite_Heading_Angle"]);
|
|
Beacon1.Beacon.BasicSite_Pitch_Angle = Convert.ToSingle(reader["BasicSite_Pitch_Angle"]);
|
|
Beacon1.Beacon.BasicSite_Roll_Angle = Convert.ToSingle(reader["BasicSite_Roll_Angle"]);
|
|
Beacon1.Beacon.BasicSite_Heading_Speed = Convert.ToSingle(reader["BasicSite_Heading_Speed"]);
|
|
Beacon1.Beacon.BasicSite_Pitch_Speed = Convert.ToSingle(reader["BasicSite_Pitch_Speed"]);
|
|
Beacon1.Beacon.BasicSite_Roll_Speed = Convert.ToSingle(reader["BasicSite_Roll_Speed"]);
|
|
Beacon1.Beacon.BasicSite_Forword_A = Convert.ToSingle(reader["BasicSite_Forword_A"]);
|
|
Beacon1.Beacon.BasicSite_Right_A = Convert.ToSingle(reader["BasicSite_Right_A"]);
|
|
Beacon1.Beacon.BasicSite_Sky_A = Convert.ToSingle(reader["BasicSite_Sky_A"]);
|
|
Beacon1.Beacon.Beacon_JD = Convert.ToSingle(reader["Beacon_JD"]);
|
|
Beacon1.Beacon.Beacon_WD = Convert.ToSingle(reader["Beacon_WD"]);
|
|
Beacon1.Beacon.Beacon_Depth = Convert.ToSingle(reader["Beacon_Depth"]);
|
|
Beacon1.Beacon.Beacon_Roll_Angle = Convert.ToSingle(reader["Beacon_Roll_Angle"]);
|
|
Beacon1.Beacon.Beacon_Pitch_Angle = Convert.ToSingle(reader["Beacon_Pitch_Angle"]);
|
|
Beacon1.Beacon.Beacon_Heading_Angle = Convert.ToSingle(reader["Beacon_Heading_Angle"]);
|
|
Beacon1.Beacon.Temp = Convert.ToSingle(reader["Temp"]);
|
|
}
|
|
reader.Dispose();
|
|
|
|
sql = string.Format("select * from beaconmodel where StationID = {0} ORDER by id desc limit 1", int.Parse(tools.GetAppSetting("Beacon2")));
|
|
reader = DBHelper.ExecuteReader(sql, 1);
|
|
while (reader.Read())
|
|
{
|
|
Beacon2.Beacon.ID = Convert.ToInt32(reader["StationID"]);
|
|
Beacon2.Beacon.Datetime = Convert.ToDateTime(reader["Datetime"]);
|
|
Beacon2.Beacon.Ralative_Heading_Angle = Convert.ToSingle(reader["Ralative_Heading_Angle"]);
|
|
Beacon2.Beacon.Ralative_Pitch_Angle = Convert.ToSingle(reader["Ralative_Pitch_Angle"]);
|
|
Beacon2.Beacon.Position_Distance = Convert.ToSingle(reader["Position_Distance"]);
|
|
Beacon2.Beacon.Propagationtime = Convert.ToSingle(reader["Propagationtime"]);
|
|
Beacon2.Beacon.BasicSite_JD = Convert.ToSingle(reader["BasicSite_JD"]);
|
|
Beacon2.Beacon.BasicSite_WD = Convert.ToSingle(reader["BasicSite_WD"]);
|
|
Beacon2.Beacon.BasicSite_Depth = Convert.ToSingle(reader["BasicSite_Depth"]);
|
|
Beacon2.Beacon.BasicSite_Heading_Angle = Convert.ToSingle(reader["BasicSite_Heading_Angle"]);
|
|
Beacon2.Beacon.BasicSite_Pitch_Angle = Convert.ToSingle(reader["BasicSite_Pitch_Angle"]);
|
|
Beacon2.Beacon.BasicSite_Roll_Angle = Convert.ToSingle(reader["BasicSite_Roll_Angle"]);
|
|
Beacon2.Beacon.BasicSite_Heading_Speed = Convert.ToSingle(reader["BasicSite_Heading_Speed"]);
|
|
Beacon2.Beacon.BasicSite_Pitch_Speed = Convert.ToSingle(reader["BasicSite_Pitch_Speed"]);
|
|
Beacon2.Beacon.BasicSite_Roll_Speed = Convert.ToSingle(reader["BasicSite_Roll_Speed"]);
|
|
Beacon2.Beacon.BasicSite_Forword_A = Convert.ToSingle(reader["BasicSite_Forword_A"]);
|
|
Beacon2.Beacon.BasicSite_Right_A = Convert.ToSingle(reader["BasicSite_Right_A"]);
|
|
Beacon2.Beacon.BasicSite_Sky_A = Convert.ToSingle(reader["BasicSite_Sky_A"]);
|
|
Beacon2.Beacon.Beacon_JD = Convert.ToSingle(reader["Beacon_JD"]);
|
|
Beacon2.Beacon.Beacon_WD = Convert.ToSingle(reader["Beacon_WD"]);
|
|
Beacon2.Beacon.Beacon_Depth = Convert.ToSingle(reader["Beacon_Depth"]);
|
|
Beacon2.Beacon.Beacon_Roll_Angle = Convert.ToSingle(reader["Beacon_Roll_Angle"]);
|
|
Beacon2.Beacon.Beacon_Pitch_Angle = Convert.ToSingle(reader["Beacon_Pitch_Angle"]);
|
|
Beacon2.Beacon.Beacon_Heading_Angle = Convert.ToSingle(reader["Beacon_Heading_Angle"]);
|
|
Beacon2.Beacon.Temp = Convert.ToSingle(reader["Temp"]);
|
|
}
|
|
reader.Dispose();
|
|
|
|
sql = string.Format("select * from beaconmodel where StationID = {0} ORDER by id desc limit 1", int.Parse(tools.GetAppSetting("Beacon3")));
|
|
reader = DBHelper.ExecuteReader(sql, 1);
|
|
while (reader.Read())
|
|
{
|
|
Beacon3.Beacon.ID = Convert.ToInt32(reader["StationID"]);
|
|
Beacon3.Beacon.Datetime = Convert.ToDateTime(reader["Datetime"]);
|
|
Beacon3.Beacon.Ralative_Heading_Angle = Convert.ToSingle(reader["Ralative_Heading_Angle"]);
|
|
Beacon3.Beacon.Ralative_Pitch_Angle = Convert.ToSingle(reader["Ralative_Pitch_Angle"]);
|
|
Beacon3.Beacon.Position_Distance = Convert.ToSingle(reader["Position_Distance"]);
|
|
Beacon3.Beacon.Propagationtime = Convert.ToSingle(reader["Propagationtime"]);
|
|
Beacon3.Beacon.BasicSite_JD = Convert.ToSingle(reader["BasicSite_JD"]);
|
|
Beacon3.Beacon.BasicSite_WD = Convert.ToSingle(reader["BasicSite_WD"]);
|
|
Beacon3.Beacon.BasicSite_Depth = Convert.ToSingle(reader["BasicSite_Depth"]);
|
|
Beacon3.Beacon.BasicSite_Heading_Angle = Convert.ToSingle(reader["BasicSite_Heading_Angle"]);
|
|
Beacon3.Beacon.BasicSite_Pitch_Angle = Convert.ToSingle(reader["BasicSite_Pitch_Angle"]);
|
|
Beacon3.Beacon.BasicSite_Roll_Angle = Convert.ToSingle(reader["BasicSite_Roll_Angle"]);
|
|
Beacon3.Beacon.BasicSite_Heading_Speed = Convert.ToSingle(reader["BasicSite_Heading_Speed"]);
|
|
Beacon3.Beacon.BasicSite_Pitch_Speed = Convert.ToSingle(reader["BasicSite_Pitch_Speed"]);
|
|
Beacon3.Beacon.BasicSite_Roll_Speed = Convert.ToSingle(reader["BasicSite_Roll_Speed"]);
|
|
Beacon3.Beacon.BasicSite_Forword_A = Convert.ToSingle(reader["BasicSite_Forword_A"]);
|
|
Beacon3.Beacon.BasicSite_Right_A = Convert.ToSingle(reader["BasicSite_Right_A"]);
|
|
Beacon3.Beacon.BasicSite_Sky_A = Convert.ToSingle(reader["BasicSite_Sky_A"]);
|
|
Beacon3.Beacon.Beacon_JD = Convert.ToSingle(reader["Beacon_JD"]);
|
|
Beacon3.Beacon.Beacon_WD = Convert.ToSingle(reader["Beacon_WD"]);
|
|
Beacon3.Beacon.Beacon_Depth = Convert.ToSingle(reader["Beacon_Depth"]);
|
|
Beacon3.Beacon.Beacon_Roll_Angle = Convert.ToSingle(reader["Beacon_Roll_Angle"]);
|
|
Beacon3.Beacon.Beacon_Pitch_Angle = Convert.ToSingle(reader["Beacon_Pitch_Angle"]);
|
|
Beacon3.Beacon.Beacon_Heading_Angle = Convert.ToSingle(reader["Beacon_Heading_Angle"]);
|
|
Beacon3.Beacon.Temp = Convert.ToSingle(reader["Temp"]);
|
|
}
|
|
reader.Dispose();
|
|
|
|
sql = string.Format("select * from beaconmodel where StationID = {0} ORDER by id desc limit 1", int.Parse(tools.GetAppSetting("Beacon4")));
|
|
reader = DBHelper.ExecuteReader(sql, 1);
|
|
while (reader.Read())
|
|
{
|
|
Beacon4.Beacon.ID = Convert.ToInt32(reader["StationID"]);
|
|
Beacon4.Beacon.Datetime = Convert.ToDateTime(reader["Datetime"]);
|
|
Beacon4.Beacon.Ralative_Heading_Angle = Convert.ToSingle(reader["Ralative_Heading_Angle"]);
|
|
Beacon4.Beacon.Ralative_Pitch_Angle = Convert.ToSingle(reader["Ralative_Pitch_Angle"]);
|
|
Beacon4.Beacon.Position_Distance = Convert.ToSingle(reader["Position_Distance"]);
|
|
Beacon4.Beacon.Propagationtime = Convert.ToSingle(reader["Propagationtime"]);
|
|
Beacon4.Beacon.BasicSite_JD = Convert.ToSingle(reader["BasicSite_JD"]);
|
|
Beacon4.Beacon.BasicSite_WD = Convert.ToSingle(reader["BasicSite_WD"]);
|
|
Beacon4.Beacon.BasicSite_Depth = Convert.ToSingle(reader["BasicSite_Depth"]);
|
|
Beacon4.Beacon.BasicSite_Heading_Angle = Convert.ToSingle(reader["BasicSite_Heading_Angle"]);
|
|
Beacon4.Beacon.BasicSite_Pitch_Angle = Convert.ToSingle(reader["BasicSite_Pitch_Angle"]);
|
|
Beacon4.Beacon.BasicSite_Roll_Angle = Convert.ToSingle(reader["BasicSite_Roll_Angle"]);
|
|
Beacon4.Beacon.BasicSite_Heading_Speed = Convert.ToSingle(reader["BasicSite_Heading_Speed"]);
|
|
Beacon4.Beacon.BasicSite_Pitch_Speed = Convert.ToSingle(reader["BasicSite_Pitch_Speed"]);
|
|
Beacon4.Beacon.BasicSite_Roll_Speed = Convert.ToSingle(reader["BasicSite_Roll_Speed"]);
|
|
Beacon4.Beacon.BasicSite_Forword_A = Convert.ToSingle(reader["BasicSite_Forword_A"]);
|
|
Beacon4.Beacon.BasicSite_Right_A = Convert.ToSingle(reader["BasicSite_Right_A"]);
|
|
Beacon4.Beacon.BasicSite_Sky_A = Convert.ToSingle(reader["BasicSite_Sky_A"]);
|
|
Beacon4.Beacon.Beacon_JD = Convert.ToSingle(reader["Beacon_JD"]);
|
|
Beacon4.Beacon.Beacon_WD = Convert.ToSingle(reader["Beacon_WD"]);
|
|
Beacon4.Beacon.Beacon_Depth = Convert.ToSingle(reader["Beacon_Depth"]);
|
|
Beacon4.Beacon.Beacon_Roll_Angle = Convert.ToSingle(reader["Beacon_Roll_Angle"]);
|
|
Beacon4.Beacon.Beacon_Pitch_Angle = Convert.ToSingle(reader["Beacon_Pitch_Angle"]);
|
|
Beacon4.Beacon.Beacon_Heading_Angle = Convert.ToSingle(reader["Beacon_Heading_Angle"]);
|
|
Beacon4.Beacon.Temp = Convert.ToSingle(reader["Temp"]);
|
|
}
|
|
reader.Dispose();
|
|
|
|
sql = string.Format("select * from beaconmodel where StationID = {0} ORDER by id desc limit 1", int.Parse(tools.GetAppSetting("Beacon5")));
|
|
reader = DBHelper.ExecuteReader(sql, 1);
|
|
while (reader.Read())
|
|
{
|
|
Beacon5.Beacon.ID = Convert.ToInt32(reader["StationID"]);
|
|
Beacon5.Beacon.Datetime = Convert.ToDateTime(reader["Datetime"]);
|
|
Beacon5.Beacon.Ralative_Heading_Angle = Convert.ToSingle(reader["Ralative_Heading_Angle"]);
|
|
Beacon5.Beacon.Ralative_Pitch_Angle = Convert.ToSingle(reader["Ralative_Pitch_Angle"]);
|
|
Beacon5.Beacon.Position_Distance = Convert.ToSingle(reader["Position_Distance"]);
|
|
Beacon5.Beacon.Propagationtime = Convert.ToSingle(reader["Propagationtime"]);
|
|
Beacon5.Beacon.BasicSite_JD = Convert.ToSingle(reader["BasicSite_JD"]);
|
|
Beacon5.Beacon.BasicSite_WD = Convert.ToSingle(reader["BasicSite_WD"]);
|
|
Beacon5.Beacon.BasicSite_Depth = Convert.ToSingle(reader["BasicSite_Depth"]);
|
|
Beacon5.Beacon.BasicSite_Heading_Angle = Convert.ToSingle(reader["BasicSite_Heading_Angle"]);
|
|
Beacon5.Beacon.BasicSite_Pitch_Angle = Convert.ToSingle(reader["BasicSite_Pitch_Angle"]);
|
|
Beacon5.Beacon.BasicSite_Roll_Angle = Convert.ToSingle(reader["BasicSite_Roll_Angle"]);
|
|
Beacon5.Beacon.BasicSite_Heading_Speed = Convert.ToSingle(reader["BasicSite_Heading_Speed"]);
|
|
Beacon5.Beacon.BasicSite_Pitch_Speed = Convert.ToSingle(reader["BasicSite_Pitch_Speed"]);
|
|
Beacon5.Beacon.BasicSite_Roll_Speed = Convert.ToSingle(reader["BasicSite_Roll_Speed"]);
|
|
Beacon5.Beacon.BasicSite_Forword_A = Convert.ToSingle(reader["BasicSite_Forword_A"]);
|
|
Beacon5.Beacon.BasicSite_Right_A = Convert.ToSingle(reader["BasicSite_Right_A"]);
|
|
Beacon5.Beacon.BasicSite_Sky_A = Convert.ToSingle(reader["BasicSite_Sky_A"]);
|
|
Beacon5.Beacon.Beacon_JD = Convert.ToSingle(reader["Beacon_JD"]);
|
|
Beacon5.Beacon.Beacon_WD = Convert.ToSingle(reader["Beacon_WD"]);
|
|
Beacon5.Beacon.Beacon_Depth = Convert.ToSingle(reader["Beacon_Depth"]);
|
|
Beacon5.Beacon.Beacon_Roll_Angle = Convert.ToSingle(reader["Beacon_Roll_Angle"]);
|
|
Beacon5.Beacon.Beacon_Pitch_Angle = Convert.ToSingle(reader["Beacon_Pitch_Angle"]);
|
|
Beacon5.Beacon.Beacon_Heading_Angle = Convert.ToSingle(reader["Beacon_Heading_Angle"]);
|
|
Beacon5.Beacon.Temp = Convert.ToSingle(reader["Temp"]);
|
|
}
|
|
reader.Dispose();
|
|
|
|
sql = string.Format("select * from beaconmodel where StationID = {0} ORDER by id desc limit 1", int.Parse(tools.GetAppSetting("Beacon6")));
|
|
reader = DBHelper.ExecuteReader(sql, 1);
|
|
while (reader.Read())
|
|
{
|
|
Beacon6.Beacon.ID = Convert.ToInt32(reader["StationID"]);
|
|
Beacon6.Beacon.Datetime = Convert.ToDateTime(reader["Datetime"]);
|
|
Beacon6.Beacon.Ralative_Heading_Angle = Convert.ToSingle(reader["Ralative_Heading_Angle"]);
|
|
Beacon6.Beacon.Ralative_Pitch_Angle = Convert.ToSingle(reader["Ralative_Pitch_Angle"]);
|
|
Beacon6.Beacon.Position_Distance = Convert.ToSingle(reader["Position_Distance"]);
|
|
Beacon6.Beacon.Propagationtime = Convert.ToSingle(reader["Propagationtime"]);
|
|
Beacon6.Beacon.BasicSite_JD = Convert.ToSingle(reader["BasicSite_JD"]);
|
|
Beacon6.Beacon.BasicSite_WD = Convert.ToSingle(reader["BasicSite_WD"]);
|
|
Beacon6.Beacon.BasicSite_Depth = Convert.ToSingle(reader["BasicSite_Depth"]);
|
|
Beacon6.Beacon.BasicSite_Heading_Angle = Convert.ToSingle(reader["BasicSite_Heading_Angle"]);
|
|
Beacon6.Beacon.BasicSite_Pitch_Angle = Convert.ToSingle(reader["BasicSite_Pitch_Angle"]);
|
|
Beacon6.Beacon.BasicSite_Roll_Angle = Convert.ToSingle(reader["BasicSite_Roll_Angle"]);
|
|
Beacon6.Beacon.BasicSite_Heading_Speed = Convert.ToSingle(reader["BasicSite_Heading_Speed"]);
|
|
Beacon6.Beacon.BasicSite_Pitch_Speed = Convert.ToSingle(reader["BasicSite_Pitch_Speed"]);
|
|
Beacon6.Beacon.BasicSite_Roll_Speed = Convert.ToSingle(reader["BasicSite_Roll_Speed"]);
|
|
Beacon6.Beacon.BasicSite_Forword_A = Convert.ToSingle(reader["BasicSite_Forword_A"]);
|
|
Beacon6.Beacon.BasicSite_Right_A = Convert.ToSingle(reader["BasicSite_Right_A"]);
|
|
Beacon6.Beacon.BasicSite_Sky_A = Convert.ToSingle(reader["BasicSite_Sky_A"]);
|
|
Beacon6.Beacon.Beacon_JD = Convert.ToSingle(reader["Beacon_JD"]);
|
|
Beacon6.Beacon.Beacon_WD = Convert.ToSingle(reader["Beacon_WD"]);
|
|
Beacon6.Beacon.Beacon_Depth = Convert.ToSingle(reader["Beacon_Depth"]);
|
|
Beacon6.Beacon.Beacon_Roll_Angle = Convert.ToSingle(reader["Beacon_Roll_Angle"]);
|
|
Beacon6.Beacon.Beacon_Pitch_Angle = Convert.ToSingle(reader["Beacon_Pitch_Angle"]);
|
|
Beacon6.Beacon.Beacon_Heading_Angle = Convert.ToSingle(reader["Beacon_Heading_Angle"]);
|
|
Beacon6.Beacon.Temp = Convert.ToSingle(reader["Temp"]);
|
|
}
|
|
reader.Dispose();
|
|
|
|
sql = string.Format("select * from beaconmodel where StationID = {0} ORDER by id desc limit 1", int.Parse(tools.GetAppSetting("Beacon7")));
|
|
reader = DBHelper.ExecuteReader(sql, 1);
|
|
while (reader.Read())
|
|
{
|
|
Beacon7.Beacon.ID = Convert.ToInt32(reader["StationID"]);
|
|
Beacon7.Beacon.Datetime = Convert.ToDateTime(reader["Datetime"]);
|
|
Beacon7.Beacon.Ralative_Heading_Angle = Convert.ToSingle(reader["Ralative_Heading_Angle"]);
|
|
Beacon7.Beacon.Ralative_Pitch_Angle = Convert.ToSingle(reader["Ralative_Pitch_Angle"]);
|
|
Beacon7.Beacon.Position_Distance = Convert.ToSingle(reader["Position_Distance"]);
|
|
Beacon7.Beacon.Propagationtime = Convert.ToSingle(reader["Propagationtime"]);
|
|
Beacon7.Beacon.BasicSite_JD = Convert.ToSingle(reader["BasicSite_JD"]);
|
|
Beacon7.Beacon.BasicSite_WD = Convert.ToSingle(reader["BasicSite_WD"]);
|
|
Beacon7.Beacon.BasicSite_Depth = Convert.ToSingle(reader["BasicSite_Depth"]);
|
|
Beacon7.Beacon.BasicSite_Heading_Angle = Convert.ToSingle(reader["BasicSite_Heading_Angle"]);
|
|
Beacon7.Beacon.BasicSite_Pitch_Angle = Convert.ToSingle(reader["BasicSite_Pitch_Angle"]);
|
|
Beacon7.Beacon.BasicSite_Roll_Angle = Convert.ToSingle(reader["BasicSite_Roll_Angle"]);
|
|
Beacon7.Beacon.BasicSite_Heading_Speed = Convert.ToSingle(reader["BasicSite_Heading_Speed"]);
|
|
Beacon7.Beacon.BasicSite_Pitch_Speed = Convert.ToSingle(reader["BasicSite_Pitch_Speed"]);
|
|
Beacon7.Beacon.BasicSite_Roll_Speed = Convert.ToSingle(reader["BasicSite_Roll_Speed"]);
|
|
Beacon7.Beacon.BasicSite_Forword_A = Convert.ToSingle(reader["BasicSite_Forword_A"]);
|
|
Beacon7.Beacon.BasicSite_Right_A = Convert.ToSingle(reader["BasicSite_Right_A"]);
|
|
Beacon7.Beacon.BasicSite_Sky_A = Convert.ToSingle(reader["BasicSite_Sky_A"]);
|
|
Beacon7.Beacon.Beacon_JD = Convert.ToSingle(reader["Beacon_JD"]);
|
|
Beacon7.Beacon.Beacon_WD = Convert.ToSingle(reader["Beacon_WD"]);
|
|
Beacon7.Beacon.Beacon_Depth = Convert.ToSingle(reader["Beacon_Depth"]);
|
|
Beacon7.Beacon.Beacon_Roll_Angle = Convert.ToSingle(reader["Beacon_Roll_Angle"]);
|
|
Beacon7.Beacon.Beacon_Pitch_Angle = Convert.ToSingle(reader["Beacon_Pitch_Angle"]);
|
|
Beacon7.Beacon.Beacon_Heading_Angle = Convert.ToSingle(reader["Beacon_Heading_Angle"]);
|
|
Beacon7.Beacon.Temp = Convert.ToSingle(reader["Temp"]);
|
|
}
|
|
reader.Dispose();
|
|
|
|
sql = string.Format("select * from beaconmodel where StationID = {0} ORDER by id desc limit 1", int.Parse(tools.GetAppSetting("Beacon8")));
|
|
reader = DBHelper.ExecuteReader(sql, 1);
|
|
while (reader.Read())
|
|
{
|
|
Beacon8.Beacon.ID = Convert.ToInt32(reader["StationID"]);
|
|
Beacon8.Beacon.Datetime = Convert.ToDateTime(reader["Datetime"]);
|
|
Beacon8.Beacon.Ralative_Heading_Angle = Convert.ToSingle(reader["Ralative_Heading_Angle"]);
|
|
Beacon8.Beacon.Ralative_Pitch_Angle = Convert.ToSingle(reader["Ralative_Pitch_Angle"]);
|
|
Beacon8.Beacon.Position_Distance = Convert.ToSingle(reader["Position_Distance"]);
|
|
Beacon8.Beacon.Propagationtime = Convert.ToSingle(reader["Propagationtime"]);
|
|
Beacon8.Beacon.BasicSite_JD = Convert.ToSingle(reader["BasicSite_JD"]);
|
|
Beacon8.Beacon.BasicSite_WD = Convert.ToSingle(reader["BasicSite_WD"]);
|
|
Beacon8.Beacon.BasicSite_Depth = Convert.ToSingle(reader["BasicSite_Depth"]);
|
|
Beacon8.Beacon.BasicSite_Heading_Angle = Convert.ToSingle(reader["BasicSite_Heading_Angle"]);
|
|
Beacon8.Beacon.BasicSite_Pitch_Angle = Convert.ToSingle(reader["BasicSite_Pitch_Angle"]);
|
|
Beacon8.Beacon.BasicSite_Roll_Angle = Convert.ToSingle(reader["BasicSite_Roll_Angle"]);
|
|
Beacon8.Beacon.BasicSite_Heading_Speed = Convert.ToSingle(reader["BasicSite_Heading_Speed"]);
|
|
Beacon8.Beacon.BasicSite_Pitch_Speed = Convert.ToSingle(reader["BasicSite_Pitch_Speed"]);
|
|
Beacon8.Beacon.BasicSite_Roll_Speed = Convert.ToSingle(reader["BasicSite_Roll_Speed"]);
|
|
Beacon8.Beacon.BasicSite_Forword_A = Convert.ToSingle(reader["BasicSite_Forword_A"]);
|
|
Beacon8.Beacon.BasicSite_Right_A = Convert.ToSingle(reader["BasicSite_Right_A"]);
|
|
Beacon8.Beacon.BasicSite_Sky_A = Convert.ToSingle(reader["BasicSite_Sky_A"]);
|
|
Beacon8.Beacon.Beacon_JD = Convert.ToSingle(reader["Beacon_JD"]);
|
|
Beacon8.Beacon.Beacon_WD = Convert.ToSingle(reader["Beacon_WD"]);
|
|
Beacon8.Beacon.Beacon_Depth = Convert.ToSingle(reader["Beacon_Depth"]);
|
|
Beacon8.Beacon.Beacon_Roll_Angle = Convert.ToSingle(reader["Beacon_Roll_Angle"]);
|
|
Beacon8.Beacon.Beacon_Pitch_Angle = Convert.ToSingle(reader["Beacon_Pitch_Angle"]);
|
|
Beacon8.Beacon.Beacon_Heading_Angle = Convert.ToSingle(reader["Beacon_Heading_Angle"]);
|
|
Beacon8.Beacon.Temp = Convert.ToSingle(reader["Temp"]);
|
|
}
|
|
reader.Dispose();
|
|
#endregion
|
|
}
|
|
|
|
public void SearchAlarmInfo(object obj)
|
|
{
|
|
//清空List中的告警信息
|
|
AlarmInfoList.Clear();
|
|
string sql = "";
|
|
//查一天的告警
|
|
if (obj.ToString() == "1")
|
|
{
|
|
sql = string.Format("select * from alarminfo WHERE RecordTime >= '{0}' AND RecordTime <= '{1}' ORDER by id desc;", System.DateTime.Today.AddDays(-1), System.DateTime.Now);
|
|
}
|
|
else if (obj.ToString() == "2")//查询一周的告警
|
|
{
|
|
sql = string.Format("select * from alarminfo WHERE RecordTime >= '{0}' AND RecordTime <= '{1}' ORDER by id desc;", System.DateTime.Today.AddDays(-7), System.DateTime.Now);
|
|
}
|
|
else if (obj.ToString() == "3")//查询一个月的告警
|
|
{
|
|
sql = string.Format("select * from alarminfo WHERE RecordTime >= '{0}' AND RecordTime <= '{1}' ORDER by id desc;", System.DateTime.Today.AddDays(-30), System.DateTime.Now);
|
|
}
|
|
using (MySqlDataReader reader = DBHelper.ExecuteReader(sql, 1))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
AlarmInfo alarmInfo = new AlarmInfo()
|
|
{
|
|
StationID = Convert.ToInt32(reader["StationID"]),
|
|
RecordTime = Convert.ToDateTime(reader["RecordTime"]),
|
|
ParaName = reader["ParaName"].ToString(),
|
|
ParaState = reader["ParaState"].ToString()
|
|
};
|
|
AlarmInfoList.Add(alarmInfo);
|
|
}
|
|
}
|
|
}
|
|
|
|
public void DoNavChanged(object obj)
|
|
{
|
|
//如果重复点击 就禁止切换
|
|
if ((string)obj == "FirstPageView" || (string)obj == "BuoyPlatformView")
|
|
{
|
|
if (Title_Name == (string)obj)
|
|
return;
|
|
Title_Name = (string)obj;
|
|
}
|
|
else if (((string)obj).StartsWith("Point") || ((string)obj).StartsWith("Benchmark"))
|
|
{
|
|
if (Title_Name == "AnchorPointView" && CurrentPage == (string)obj)
|
|
return;
|
|
Title_Name = "AnchorPointView";
|
|
CurrentPage = (string)obj;
|
|
}
|
|
else
|
|
{
|
|
return;
|
|
}
|
|
//切换页面之前清理一下内存
|
|
tools.ClearMemory(this);
|
|
|
|
|
|
////首先提示加载界面
|
|
//Type type = Type.GetType("_20230724_MBJC_upperpc.Views.ProgressView");
|
|
//ConstructorInfo cti = type.GetConstructor(System.Type.EmptyTypes);
|
|
//FrameworkElement page = (FrameworkElement)cti.Invoke(null);
|
|
//this.PageContent = page;
|
|
|
|
Type type = Type.GetType("_20230724_MBJC_upperpc.Views." + Title_Name);
|
|
ConstructorInfo cti = type.GetConstructor(System.Type.EmptyTypes);
|
|
FrameworkElement page = (FrameworkElement)cti.Invoke(null);
|
|
switch (obj.ToString())
|
|
{
|
|
case "Point1":
|
|
page.DataContext = Beacon1;
|
|
break;
|
|
case "Point2":
|
|
page.DataContext = Beacon2;
|
|
break;
|
|
case "Point3":
|
|
page.DataContext = Beacon3;
|
|
break;
|
|
case "Point4":
|
|
page.DataContext = Beacon4;
|
|
break;
|
|
case "Point5":
|
|
page.DataContext = Beacon5;
|
|
break;
|
|
case "Point6":
|
|
page.DataContext = Beacon6;
|
|
break;
|
|
case "Benchmark1":
|
|
page.DataContext = Beacon7;
|
|
break;
|
|
case "Benchmark2":
|
|
page.DataContext = Beacon8;
|
|
break;
|
|
case "BuoyPlatformView":
|
|
page.DataContext = Beacon8;
|
|
break;
|
|
default: break;
|
|
}
|
|
this.PageContent = page;
|
|
}
|
|
|
|
|
|
public void DoConnect(object o)
|
|
{
|
|
if ((bool)o)
|
|
{
|
|
Client = new ClientModel();
|
|
Client.DoConnect(socketInfo);
|
|
}
|
|
else
|
|
{
|
|
Client.DisConnect();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查找历史数据
|
|
/// </summary>
|
|
/// <param name="StartTime"></param>
|
|
/// <param name="EndTime"></param>
|
|
/// <param name="StationID"></param>
|
|
public bool SearchHisData(DateTime StartTime, DateTime EndTime, int StationID)
|
|
{
|
|
//每次查询历史数据 就将该历史数据重置
|
|
Beacon_Search = new BeaconViewModel();
|
|
string sql = string.Format("SELECT * FROM beaconmodel WHERE RecordTime >= '{0}' AND RecordTime <= '{1}' AND StationID = {2}", StartTime, EndTime, StationID);
|
|
using (MySqlDataReader reader = DBHelper.ExecuteReader(sql, 1))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
BeaconModel beacon = new BeaconModel()
|
|
{
|
|
ID = Convert.ToInt32(reader["StationID"]),
|
|
Datetime = Convert.ToDateTime(reader["Datetime"]),
|
|
Ralative_Heading_Angle = Convert.ToSingle(reader["Ralative_Heading_Angle"]),
|
|
Ralative_Pitch_Angle = Convert.ToSingle(reader["Ralative_Pitch_Angle"]),
|
|
Position_Distance = Convert.ToSingle(reader["Position_Distance"]),
|
|
Propagationtime = Convert.ToSingle(reader["Propagationtime"]),
|
|
BasicSite_JD = Convert.ToSingle(reader["BasicSite_JD"]),
|
|
BasicSite_WD = Convert.ToSingle(reader["BasicSite_WD"]),
|
|
BasicSite_Depth = Convert.ToSingle(reader["BasicSite_Depth"]),
|
|
BasicSite_Heading_Angle = Convert.ToSingle(reader["BasicSite_Heading_Angle"]),
|
|
BasicSite_Pitch_Angle = Convert.ToSingle(reader["BasicSite_Pitch_Angle"]),
|
|
BasicSite_Roll_Angle = Convert.ToSingle(reader["BasicSite_Roll_Angle"]),
|
|
BasicSite_Heading_Speed = Convert.ToSingle(reader["BasicSite_Heading_Speed"]),
|
|
BasicSite_Pitch_Speed = Convert.ToSingle(reader["BasicSite_Pitch_Speed"]),
|
|
BasicSite_Roll_Speed = Convert.ToSingle(reader["BasicSite_Roll_Speed"]),
|
|
BasicSite_Forword_A = Convert.ToSingle(reader["BasicSite_Forword_A"]),
|
|
BasicSite_Right_A = Convert.ToSingle(reader["BasicSite_Right_A"]),
|
|
BasicSite_Sky_A = Convert.ToSingle(reader["BasicSite_Sky_A"]),
|
|
Beacon_JD = Convert.ToSingle(reader["Beacon_JD"]),
|
|
Beacon_WD = Convert.ToSingle(reader["Beacon_WD"]),
|
|
Beacon_Depth = Convert.ToSingle(reader["Beacon_Depth"]),
|
|
Beacon_Roll_Angle = Convert.ToSingle(reader["Beacon_Roll_Angle"]),
|
|
Beacon_Pitch_Angle = Convert.ToSingle(reader["Beacon_Pitch_Angle"]),
|
|
Beacon_Heading_Angle = Convert.ToSingle(reader["Beacon_Heading_Angle"]),
|
|
Temp = Convert.ToSingle(reader["Temp"])
|
|
};
|
|
Beacon_Search.BeaconList.Add(beacon);
|
|
Beacon_Search.BeaconList_Count = Beacon_Search.BeaconList.Count - 1;
|
|
}
|
|
}
|
|
//如果查询的数据为0 那么就不切换为历史数据
|
|
if (Beacon_Search.BeaconList.Count == 0)
|
|
return false;
|
|
//默认选中第一条数据
|
|
Beacon_Search.Beacon = Beacon_Search.BeaconList[0];
|
|
Beacon_Search.SelectedTime = Beacon_Search.BeaconList[0].Datetime.ToString("yyyy-MM-dd HH:mm:ss");
|
|
if (StationID == int.Parse(tools.GetAppSetting("Beacon7")) || StationID == int.Parse(tools.GetAppSetting("Beacon8")))
|
|
Beacon_Search.Model_Visibility = 2;
|
|
return true;
|
|
}
|
|
}
|
|
}
|