diff --git a/ConvertMoels/StateToColorConvert.cs b/ConvertMoels/StateToColorConvert.cs index 0fdad06..affad62 100644 --- a/ConvertMoels/StateToColorConvert.cs +++ b/ConvertMoels/StateToColorConvert.cs @@ -21,17 +21,17 @@ namespace SunlightCentralizedControlManagement_SCCM_.ConvertMoels { string i = value.ToString(); - if (i == "201") return "green"; - else if (i == "202") return "yellow"; - else if (i == "309") return "Red"; - else if (i == "800") return "Red"; - else return "block"; + if (i == "201") return "#FF00FF00"; + else if (i == "202") return "#FFFFFF00"; + else if (i == "309") return "#FFFF0000"; + else if (i == "800") return "#FFFF0000"; + else return "#FF000000"; } } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { - return "Gray"; + return "#FFF0F0F0"; } } } diff --git a/EX/ManualDyelot.xaml.cs b/EX/ManualDyelot.xaml.cs index f7d4964..6ca5da3 100644 --- a/EX/ManualDyelot.xaml.cs +++ b/EX/ManualDyelot.xaml.cs @@ -205,10 +205,17 @@ namespace SunlightCentralizedControlManagement_SCCM_.EX private void comboBoxMachine_DropDownClosed(object sender, EventArgs e) { if (!string.IsNullOrEmpty(comboBoxMachine.Text)) - { - if (MainWindowViewModel.Machines.Select("NAME = '" + comboBoxMachine.Text + "'").First().Field("WorkOrder") != "------") - { orders.Text = MainWindowViewModel.Machines.Select("NAME = '" + comboBoxMachine.Text + "'").First().Field("WorkOrder"); } - else { orders.Text = dyelot.Text; } + { + string Macht= MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "WorkOrder", "NAME = '" + comboBoxMachine.Text + "'").ToString(); + + if (Macht != "------") + { + orders.Text = Macht; + } + else + { + orders.Text = dyelot.Text; + } } } diff --git a/UserClass/AsyncTcpClient.cs b/UserClass/AsyncTcpClient.cs index b10f9f8..541f328 100644 --- a/UserClass/AsyncTcpClient.cs +++ b/UserClass/AsyncTcpClient.cs @@ -44,76 +44,67 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass tcpClient.Connecting = (client, e) => { return EasyTask.CompletedTask; };//即将连接到服务器,此时已经创建socket,但是还未建立tcp tcpClient.Connected = (client, e) => { - lock (MainWindowViewModel.Machines) + try { - try - { - DataRow drEmployee = MainWindowViewModel.Machines.Select("IP='" + client.IP + "'").First(); - drEmployee.BeginEdit(); - drEmployee["State"] = "801"; - drEmployee.EndEdit(); - drEmployee.AcceptChanges(); - LogGing.LogGingDATA("[IP='" + client.IP + "' AND port='" + client.Port + "']=Link_OK"); - } - catch (Exception ex) - { - LogGing.ERRDATA(ex); MainWindowViewModel.ERR_c++; - } + DataRow drEmployee = MainWindowViewModel.Machines.Select("IP='" + client.IP + "'").First(); + drEmployee.BeginEdit(); + drEmployee["State"] = "801"; + drEmployee.EndEdit(); + drEmployee.AcceptChanges(); + LogGing.LogGingDATA("[IP='" + client.IP + "' AND port='" + client.Port + "']=Link_OK"); + } + catch (Exception ex) + { + LogGing.ERRDATA(ex); MainWindowViewModel.ERR_c++; } return EasyTask.CompletedTask; };//成功连接到服务器 tcpClient.Closing = (client, e) => { - lock (MainWindowViewModel.Machines) + try { - try - { - DataRow drEmployee = MainWindowViewModel.Machines.Select("IP='" + client.IP + "'").First(); - drEmployee.BeginEdit(); - drEmployee["State"] = "899"; - drEmployee["WorkOrder"] = "------"; - drEmployee["Dyelot"] = ""; - drEmployee["Temperature"] = "---.-"; - drEmployee["WaterLevel"] = "----"; - drEmployee["Process"] = ""; - drEmployee["Step"] = ""; - drEmployee["Message"] = ""; - drEmployee.EndEdit(); - drEmployee.AcceptChanges(); - LogGing.LogGingDATA("[IP='" + client.IP + "' AND port='" + client.Port + "']=Link_STOP"); - } - catch (Exception ex) - { - LogGing.ERRDATA(ex); MainWindowViewModel.ERR_c++; - } + DataRow drEmployee = MainWindowViewModel.Machines.Select("IP='" + client.IP + "'").First(); + drEmployee.BeginEdit(); + drEmployee["State"] = "899"; + drEmployee["WorkOrder"] = "------"; + drEmployee["Dyelot"] = ""; + drEmployee["Temperature"] = "---.-"; + drEmployee["WaterLevel"] = "----"; + drEmployee["Process"] = ""; + drEmployee["Step"] = ""; + drEmployee["Message"] = ""; + drEmployee.EndEdit(); + drEmployee.AcceptChanges(); + LogGing.LogGingDATA("[IP='" + client.IP + "' AND port='" + client.Port + "']=Link_STOP"); + } + catch (Exception ex) + { + LogGing.ERRDATA(ex); MainWindowViewModel.ERR_c++; } return EasyTask.CompletedTask; };//即将从服务器断开连接。此处仅主动断开才有效。 tcpClient.Closed = (client, e) => { - lock (MainWindowViewModel.Machines) + try { - try - { - DataRow drEmployee = MainWindowViewModel.Machines.Select("IP='" + client.IP + "'").First(); - drEmployee.BeginEdit(); - drEmployee["State"] = "899"; - drEmployee["WorkOrder"] = "------"; - drEmployee["Dyelot"] = ""; - drEmployee["Temperature"] = "---.-"; - drEmployee["WaterLevel"] = "----"; - drEmployee["Process"] = ""; - drEmployee["Step"] = ""; - drEmployee["Message"] = ""; - drEmployee.EndEdit(); - drEmployee.AcceptChanges(); - LogGing.LogGingDATA("[IP='" + client.IP + "' AND port='" + client.Port + "']=Link_INTERRUPT"); - } - catch (Exception ex) - { - LogGing.ERRDATA(ex); MainWindowViewModel.ERR_c++; - } + DataRow drEmployee = MainWindowViewModel.Machines.Select("IP='" + client.IP + "'").First(); + drEmployee.BeginEdit(); + drEmployee["State"] = "899"; + drEmployee["WorkOrder"] = "------"; + drEmployee["Dyelot"] = ""; + drEmployee["Temperature"] = "---.-"; + drEmployee["WaterLevel"] = "----"; + drEmployee["Process"] = ""; + drEmployee["Step"] = ""; + drEmployee["Message"] = ""; + drEmployee.EndEdit(); + drEmployee.AcceptChanges(); + LogGing.LogGingDATA("[IP='" + client.IP + "' AND port='" + client.Port + "']=Link_INTERRUPT"); + } + catch (Exception ex) + { + LogGing.ERRDATA(ex); MainWindowViewModel.ERR_c++; } return EasyTask.CompletedTask; };//从服务器断开连接,当连接不成功时不会触发。 @@ -124,27 +115,25 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass string DAT = e.ByteBlock.Span.ToString(Encoding.UTF8); if (SYSAPI == "SC800") { - lock (MainWindowViewModel.Machines) + try { - try - { - DAT = DAT.Substring(DAT.IndexOf("]") + 1); - Dictionary Chart_new = new Dictionary();//缓存函数 - Chart_new = JsonConvert.DeserializeObject>(DAT);//反序列化 - DataRow drEmployee = MainWindowViewModel.Machines.Select("IP='" + client.IP + "' AND port='" + client.Port + "'").First(); - drEmployee.BeginEdit(); - drEmployee["SYSKEY"] = Chart_new.GetValue("SYSKEY").ToString(); - drEmployee["NAME"] = Chart_new.GetValue("MACHINE").ToString(); - drEmployee["Groups"] = Chart_new.GetValue("GROUP").ToString(); - drEmployee["State"] = "802"; - drEmployee.EndEdit(); - drEmployee.AcceptChanges(); - } - catch (Exception ex) - { - LogGing.ERRDATA(ex); MainWindowViewModel.ERR_c++; - } + DAT = DAT.Substring(DAT.IndexOf("]") + 1); + Dictionary Chart_new = new Dictionary();//缓存函数 + Chart_new = JsonConvert.DeserializeObject>(DAT);//反序列化 + DataRow drEmployee = MainWindowViewModel.Machines.Select("IP='" + client.IP + "'").First(); + drEmployee.BeginEdit(); + drEmployee["SYSKEY"] = Chart_new.GetValue("SYSKEY").ToString(); + drEmployee["NAME"] = Chart_new.GetValue("MACHINE").ToString(); + drEmployee["Groups"] = Chart_new.GetValue("GROUP").ToString(); + drEmployee["State"] = "802"; + drEmployee.EndEdit(); + drEmployee.AcceptChanges(); + } + catch (Exception ex) + { + LogGing.ERRDATA(ex); MainWindowViewModel.ERR_c++; } + } else if (SYSAPI == "SC810") { @@ -172,16 +161,18 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass SQLiteHelpers.Update("WorkOrder", new Dictionary { { "State", 101 } }, "WorkOrder ='" + DAT + "'", null); SQLiteHelpers.Close(); - }catch (Exception ex) { LogGing.LogGingDATA("[ERR='" + ex + "']=Exception"); MainWindowViewModel.ERR_c++; } + } + catch (Exception ex) { LogGing.LogGingDATA("[ERR='" + ex + "']=Exception"); MainWindowViewModel.ERR_c++; } } else if (SYSAPI == "SC830") { try { + DAT = DAT.Substring(DAT.IndexOf("]") + 1); Dictionary _new = new Dictionary();//缓存函数 _new = JsonConvert.DeserializeObject>(DAT);//反序列化 - DataRow drEmployee = MainWindowViewModel.Machines.Select("IP='" + client.IP + "' AND port='" + client.Port + "'").First(); + DataRow drEmployee = MainWindowViewModel.Machines.Select("IP='" + client.IP + "'").First(); drEmployee.BeginEdit(); drEmployee["Message"] = _new.GetValue("Status"); drEmployee["WorkOrder"] = _new.GetValue("WorkNumder"); @@ -191,7 +182,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass drEmployee["Step"] = _new.GetValue("Step"); drEmployee.EndEdit(); drEmployee.AcceptChanges(); - drEmployee.ClearErrors(); if (_new.GetValue("Status").ToString() != "----------") { @@ -216,6 +206,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass SQLiteHelpers.InsertData("Chart", Chart_new);// 执行插入 SQLiteHelpers.Close(); } + } catch (Exception ex) { LogGing.LogGingDATA("[ERR='" + ex + "']=Exception"); MainWindowViewModel.ERR_c++; } } @@ -316,7 +307,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass else if (SYSAPI == "SC980") { DAT = DAT.Substring(DAT.IndexOf("]") + 1); - MessageBox.Show(DAT,"SCCM", MessageBoxButton.OK, MessageBoxImage.Question); + MessageBox.Show(DAT, "SCCM", MessageBoxButton.OK, MessageBoxImage.Question); } return EasyTask.CompletedTask; @@ -331,7 +322,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass { a.UseCheckClear() .SetCheckClearType(CheckClearType.All) - .SetTick(TimeSpan.FromSeconds(30)) + .SetTick(TimeSpan.FromSeconds(60)) .SetOnClose((c, t) => { c.TryShutdown(); diff --git a/View/CurveView.xaml.cs b/View/CurveView.xaml.cs index 5d9c653..34110c8 100644 --- a/View/CurveView.xaml.cs +++ b/View/CurveView.xaml.cs @@ -62,11 +62,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.View private void UserControl_Loaded(object sender, RoutedEventArgs e) { - Griddata.ItemsSource = MainWindowViewModel.Machines.DefaultView; - Sdatepicker.Text = DateTime.Now.ToString("yyyy/MM/dd"); - Picture.Content = new View.CurveDiagram(false,"","","", CurveDiagram); + Griddata.ItemsSource = MainWindowViewModel.Machines.DefaultView; } private void WorkOrderNumder_Click(object sender, RoutedEventArgs e) diff --git a/ViewModel/MainWindowViewModel.cs b/ViewModel/MainWindowViewModel.cs index d2c478f..bd2be36 100644 --- a/ViewModel/MainWindowViewModel.cs +++ b/ViewModel/MainWindowViewModel.cs @@ -161,7 +161,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel DispatcherTimer dis50ms = new DispatcherTimer { - Interval = TimeSpan.FromMilliseconds(50) //毫秒 + Interval = TimeSpan.FromMilliseconds(10) //毫秒 }; dis50ms.Tick += new EventHandler(DisTimer_50MS);//每一秒执行的方法 dis50ms.Start();//计时开始 @@ -346,9 +346,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel return index; } } - catch (Exception) - { - // LogGing.LogGingDATA("SDTD:" + ex.ToString()); + catch (Exception ex) + { + LogGing.LogGingDATA("SDTD:" + ex.ToString()); return "ERR"; } } @@ -363,44 +363,15 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel drEmployee[name] = Value; drEmployee.EndEdit(); drEmployee.AcceptChanges(); - drEmployee.ClearErrors(); + // drEmployee.ClearErrors(); } } - catch (Exception) - { - // LogGing.LogGingDATA("SDTD:" + ex.ToString()); - } - } - public static void UpdataMachines(string key, DataRow Value)//更新数据 - { - try - { - lock (Machines) - { - DataRow drEmployee = Machines.Select("IP='" + key + "'").First(); - drEmployee.BeginEdit(); - - if (Value["State"] != null) drEmployee["State"] = Value["State"]; - if (Value["WorkOrder"] != null) drEmployee["WorkOrder"] = Value["WorkOrder"]; - if (Value["Dyelot"] != null) drEmployee["Dyelot"] = Value["Dyelot"]; - if (Value["Temperature"] != null) drEmployee["Temperature"] = Value["WorkOrder"]; - if (Value["WaterLevel"] != null) drEmployee["WaterLevel"] = Value["WaterLevel"]; - if (Value["Process"] != null) drEmployee["Process"] = Value["Process"]; - if (Value["Step"] != null) drEmployee["Step"] = Value["Step"]; - if (Value["Message"] != null) drEmployee["Message"] = Value["Message"]; - if (Value["SYSKEY"] != null) drEmployee["SYSKEY"] = Value["SYSKEY"]; - if (Value["Groups"] != null) drEmployee["Groups"] = Value["Groups"]; - - drEmployee.EndEdit(); - drEmployee.AcceptChanges(); - drEmployee.ClearErrors(); - } - } - catch (Exception) - { - // LogGing.LogGingDATA("SDTD:" + ex.ToString()); + catch (Exception ex) + { + LogGing.LogGingDATA("SDTD:" + ex.ToString()); } } + public static DataTable dt_d = new DataTable("DIO"); public static DataTable dt_a = new DataTable("AIO");