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 事件 /// /// 主界面标签切换事件 /// 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(); /// /// 通过Slider查找后绑定的数据 /// public BeaconViewModel Beacon_Search { get { return beacon_Search; } set { beacon_Search = value; this.DoNotify(); } } #endregion private ClientModel client = new ClientModel(); /// /// 连接基阵上位机软件的客户端 /// public ClientModel Client { get { return client; } set { client = value; this.DoNotify(); } } private ObservableCollection alarmInfoList = new ObservableCollection(); /// /// 告警信息列表 /// public ObservableCollection AlarmInfoList { get { return alarmInfoList; } set { alarmInfoList = value; this.DoNotify(); } } /// /// 连接基阵上位机软件客户端的ip和端口号 /// 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(DoNavChanged); this.NavChangedCommand.DoCanExcute = new Func((o) => true); this.ConnectCommand = new CommandBase(); this.ConnectCommand.DoExcute = new Action(DoConnect); this.ConnectCommand.DoCanExcute = new Func((o) => { return true; }); this.AlarmInfoCommand = new CommandBase(); this.AlarmInfoCommand.DoExcute = new Action(SearchAlarmInfo); this.AlarmInfoCommand.DoCanExcute = new Func((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(); } } /// /// 查找历史数据 /// /// /// /// 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; } } }