20230724_MBJC_upperpc/ViewModels/MainViewModel.cs
2024-03-06 17:46:55 +08:00

606 lines
35 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.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(); }
}
/// <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");
#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)
{
//查一天的告警
if (obj.ToString() == "1")
{
}
else if (obj.ToString() == "2")//查询一周的告警
{
}
else if (obj.ToString() == "3")//查询一个月的告警
{
}
}
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;
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 Datetime <= '{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;
//if (StationID == int.Parse(tools.GetAppSetting("Beacon1")))
//{
// Beacon1.BeaconList.Add(beacon);
// Beacon1.BeaconList_Count = Beacon1.BeaconList.Count - 1;
//}
//else if (StationID == int.Parse(tools.GetAppSetting("Beacon2")))
//{
// Beacon2.BeaconList.Add(beacon);
// Beacon2.BeaconList_Count = Beacon2.BeaconList.Count - 1;
//}
//else if (StationID == int.Parse(tools.GetAppSetting("Beacon3")))
//{
// Beacon3.BeaconList.Add(beacon);
// Beacon3.BeaconList_Count = Beacon3.BeaconList.Count - 1;
//}
//else if (StationID == int.Parse(tools.GetAppSetting("Beacon4")))
//{
// Beacon4.BeaconList.Add(beacon);
// Beacon4.BeaconList_Count = Beacon4.BeaconList.Count - 1;
//}
//else if (StationID == int.Parse(tools.GetAppSetting("Beacon5")))
//{
// Beacon5.BeaconList.Add(beacon);
// Beacon5.BeaconList_Count = Beacon5.BeaconList.Count - 1;
//}
//else if (StationID == int.Parse(tools.GetAppSetting("Beacon6")))
//{
// Beacon6.BeaconList.Add(beacon);
// Beacon6.BeaconList_Count = Beacon6.BeaconList.Count - 1;
//}
//else if (StationID == int.Parse(tools.GetAppSetting("Beacon7")))
//{
// Beacon7.BeaconList.Add(beacon);
// Beacon7.BeaconList_Count = Beacon7.BeaconList.Count - 1;
//}
//else if (StationID == int.Parse(tools.GetAppSetting("Beacon8")))
//{
// Beacon8.BeaconList.Add(beacon);
// Beacon8.BeaconList_Count = Beacon8.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;
}
}
}