Browse Source

添加锁定功能

master
sc 4 months ago
parent
commit
3152fecff6
  1. 101
      UserClass/AsyncTcpServer.cs
  2. 7
      ViewModel/MainWindowViewModel.cs

101
UserClass/AsyncTcpServer.cs

@ -100,7 +100,7 @@ namespace DyeingComputer.UserClass
client.SendAsync("SC800" + "[" + MainWindowViewModel.S01 + "]" + Chart_new.ToJsonString()); client.SendAsync("SC800" + "[" + MainWindowViewModel.S01 + "]" + Chart_new.ToJsonString());
MainWindowViewModel.TX++; MainWindowViewModel.TX++;
APILog.DBlog(client.IP,SYSKEY,SYSAPI,SYSDAT);//记录指令 APILog.DBlog(client.IP,SYSKEY,SYSAPI,SYSDAT);//记录指令
} }
else if (SYSAPI == "SC810") else if (SYSAPI == "SC810")
{ {
if (SYSKEY == MainWindowViewModel.SYSKEY) if (SYSKEY == MainWindowViewModel.SYSKEY)
@ -110,26 +110,32 @@ namespace DyeingComputer.UserClass
Dictionary<string, object> WorkOrder_dat; Dictionary<string, object> WorkOrder_dat;
WorkOrder_dat = SerializeConvert.JsonDeserializeFromString<Dictionary<string, object>>(SYSDAT); WorkOrder_dat = SerializeConvert.JsonDeserializeFromString<Dictionary<string, object>>(SYSDAT);
//WorkOrder_dat.GetValue("WorkOrder"); //WorkOrder_dat.GetValue("WorkOrder");
bool dat_w = SQLDATA.WorkOrder( bool dat_w = SQLDATA.WorkOrder(
WorkOrder_dat.GetValue("WorkOrder").ToString(), WorkOrder_dat.GetValue("WorkOrder").ToString(),
WorkOrder_dat.GetValue("ProgramName").ToString(), WorkOrder_dat.GetValue("ProgramName").ToString(),
WorkOrder_dat.GetValue("StartTime").ToString(), WorkOrder_dat.GetValue("StartTime").ToString(),
WorkOrder_dat.GetValue("EndTime").ToString(), WorkOrder_dat.GetValue("EndTime").ToString(),
WorkOrder_dat.GetValue("Time").ToString(), WorkOrder_dat.GetValue("Time").ToString(),
WorkOrder_dat.GetValue("Remark").ToString(), WorkOrder_dat.GetValue("Remark").ToString(),
WorkOrder_dat.GetValue("lock").ToString(), WorkOrder_dat.GetValue("lock").ToString(),
WorkOrder_dat.GetValue("State").ToString(), WorkOrder_dat.GetValue("State").ToString(),
WorkOrder_dat.GetValue("ProgramID").ToString(), WorkOrder_dat.GetValue("ProgramID").ToString(),
WorkOrder_dat.GetValue("color").ToString(), WorkOrder_dat.GetValue("color").ToString(),
WorkOrder_dat.GetValue("Dyelot").ToString()); WorkOrder_dat.GetValue("Dyelot").ToString());
if (!dat_w) { client.SendAsync("SC910" + "[" + MainWindowViewModel.S01 + "]" + if (!dat_w)
WorkOrder_dat.GetValue("WorkOrder").ToString()); } {
else { client.SendAsync("SC810" + "[" + MainWindowViewModel.S01 + "]" + client.SendAsync("SC910" + "[" + MainWindowViewModel.S01 + "]" +
WorkOrder_dat.GetValue("WorkOrder").ToString()); MainWindowViewModel.TX++; } WorkOrder_dat.GetValue("WorkOrder").ToString());
}
else
{
client.SendAsync("SC810" + "[" + MainWindowViewModel.S01 + "]" +
WorkOrder_dat.GetValue("WorkOrder").ToString()); MainWindowViewModel.TX++;
}
APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令 APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令
} }
catch(Exception ex) catch (Exception ex)
{ {
client.SendAsync("SC990" + "[" + MainWindowViewModel.S01 + "]" + ex); client.SendAsync("SC990" + "[" + MainWindowViewModel.S01 + "]" + ex);
} }
@ -145,20 +151,20 @@ namespace DyeingComputer.UserClass
DataTable WorkOrder_dat; DataTable WorkOrder_dat;
WorkOrder_dat = SerializeConvert.JsonDeserializeFromString<DataTable>(SYSDAT); WorkOrder_dat = SerializeConvert.JsonDeserializeFromString<DataTable>(SYSDAT);
bool dat_w = SQLDATA.WorkOderStep(WorkOrder_dat); bool dat_w = SQLDATA.WorkOderStep(WorkOrder_dat);
if (!dat_w) if (!dat_w)
{ {
client.SendAsync("SC911" + "[" + MainWindowViewModel.S01 + "]" + client.SendAsync("SC911" + "[" + MainWindowViewModel.S01 + "]" +
WorkOrder_dat.Select().First().Field<object>("WorkOrder")); WorkOrder_dat.Select().First().Field<object>("WorkOrder"));
} }
else else
{ {
client.SendAsync("SC811" + "[" + MainWindowViewModel.S01 + "]" + client.SendAsync("SC811" + "[" + MainWindowViewModel.S01 + "]" +
WorkOrder_dat.Select().First().Field<object>("WorkOrder")); WorkOrder_dat.Select().First().Field<object>("WorkOrder"));
MainWindowViewModel.TX++; MainWindowViewModel.TX++;
} }
APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令 APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令
} }
catch(Exception ex) catch (Exception ex)
{ {
client.SendAsync("SC991" + "[" + MainWindowViewModel.S01 + "]" + ex); client.SendAsync("SC991" + "[" + MainWindowViewModel.S01 + "]" + ex);
} }
@ -290,8 +296,8 @@ namespace DyeingComputer.UserClass
//_TechnologicalProcessView.Grid.SelectedIndex = -1; //_TechnologicalProcessView.Grid.SelectedIndex = -1;
/**存入信息**/ /**存入信息**/
/**存入信息**/ /**存入信息**/
// SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 // SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
// SQLiteHelpers.Open(); //打开数据库 // SQLiteHelpers.Open(); //打开数据库
SQLiteHelpers.Delete("RUN", null, null); SQLiteHelpers.Delete("RUN", null, null);
DataTable data_t = MainWindowViewModel.dt_TP.Clone(); DataTable data_t = MainWindowViewModel.dt_TP.Clone();
for (int i = 0; i < MainWindowViewModel.dt_TP.Rows.Count; i++) for (int i = 0; i < MainWindowViewModel.dt_TP.Rows.Count; i++)
@ -395,11 +401,41 @@ namespace DyeingComputer.UserClass
} }
else { client.SendAsync("SC999"); } else { client.SendAsync("SC999"); }
}//启停跳步指令 }//启停跳步指令
else if (SYSAPI == "SC829")
{
if (SYSKEY == MainWindowViewModel.SYSKEY)
{
try
{
Dictionary<string, object> dat_829;
dat_829 = SerializeConvert.JsonDeserializeFromString<Dictionary<string, object>>(SYSDAT);
if (dat_829.GetValue("LOCK").ToString() == "TRUE")
{
MainWindowViewModel._Lock_bool = true;
client.SendAsync("SC829" + SYSKEY + SYSDAT);
}
else if (dat_829.GetValue("LOCK").ToString() == "FALSE")
{
MainWindowViewModel._Lock_bool = false;
client.SendAsync("SC829" + SYSKEY + SYSDAT);
}
else
{
client.SendAsync("SC829" + "[NOT]");
}
MainWindowViewModel.TX++;
APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令
}
catch (Exception ex) { client.SendAsync("SC929" + "[" + MainWindowViewModel.S01 + "]" + ex); }
}
else { client.SendAsync("SC999"); }
}//锁指令
else if (SYSAPI == "SC830") else if (SYSAPI == "SC830")
{ {
if (SYSKEY == MainWindowViewModel.SYSKEY) if (SYSKEY == MainWindowViewModel.SYSKEY)
{ {
try { try
{
Dictionary<string, object> Chart_new = new Dictionary<string, object>();//缓存函数 Dictionary<string, object> Chart_new = new Dictionary<string, object>();//缓存函数
Chart_new.Add("Status", MainWindowViewModel.StatusStr); Chart_new.Add("Status", MainWindowViewModel.StatusStr);
Chart_new.Add("Machine", MainWindowViewModel.S01); Chart_new.Add("Machine", MainWindowViewModel.S01);
@ -443,7 +479,8 @@ namespace DyeingComputer.UserClass
if (SYSKEY == MainWindowViewModel.SYSKEY) if (SYSKEY == MainWindowViewModel.SYSKEY)
{ {
try try
{ client.SendAsync("SC832" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.SYSlog); {
client.SendAsync("SC832" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.SYSlog);
MainWindowViewModel.TX++; MainWindowViewModel.TX++;
} }
catch (Exception ex) { client.SendAsync("SC932" + "[" + MainWindowViewModel.S01 + "]" + ex); } catch (Exception ex) { client.SendAsync("SC932" + "[" + MainWindowViewModel.S01 + "]" + ex); }
@ -542,8 +579,8 @@ namespace DyeingComputer.UserClass
dat_861 = SerializeConvert.JsonDeserializeFromString<Dictionary<string, object>>(SYSDAT); dat_861 = SerializeConvert.JsonDeserializeFromString<Dictionary<string, object>>(SYSDAT);
Dictionary<string, object> datagrid_v = new Dictionary<string, object>();//缓存函数 Dictionary<string, object> datagrid_v = new Dictionary<string, object>();//缓存函数
datagrid_v.Add("Value", dat_861.GetValue("Value")); datagrid_v.Add("Value", dat_861.GetValue("Value"));
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库 SQLiteHelpers.Open(); //打开数据库
SQLiteHelpers.Update("Parameters", datagrid_v, "ParameterID ='" + dat_861.GetValue("ID") + "'", null);//更新 SQLiteHelpers.Update("Parameters", datagrid_v, "ParameterID ='" + dat_861.GetValue("ID") + "'", null);//更新
@ -555,8 +592,8 @@ namespace DyeingComputer.UserClass
APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令 APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令
} }
catch (Exception ex) catch (Exception ex)
{ {
client.SendAsync("SC961" + "[" + MainWindowViewModel.S01 + "]" + ex); client.SendAsync("SC961" + "[" + MainWindowViewModel.S01 + "]" + ex);
} }
} }
else { client.SendAsync("SC999"); } else { client.SendAsync("SC999"); }
@ -591,8 +628,8 @@ namespace DyeingComputer.UserClass
} }
} }
catch (Exception ex) catch (Exception ex)
{ {
client.SendAsync("SC962" + "[" + MainWindowViewModel.S01 + "]" + ex); client.SendAsync("SC962" + "[" + MainWindowViewModel.S01 + "]" + ex);
} }
} }
else { client.SendAsync("SC999"); } else { client.SendAsync("SC999"); }

7
ViewModel/MainWindowViewModel.cs

@ -308,8 +308,8 @@ namespace DyeingComputer.ViewModel
_UserButton = value; _UserButton = value;
OnPropertyChanged("UserButton"); OnPropertyChanged("UserButton");
} }
} }
bool _Lock_bool; public static bool _Lock_bool;
Visibility _Lock_bool_xml; Visibility _Lock_bool_xml;
public Visibility Lock_bool//锁图标 public Visibility Lock_bool//锁图标
{ {
@ -449,8 +449,7 @@ namespace DyeingComputer.ViewModel
uint TX_t; uint TX_t;
void Tick_Event_5S()//Tick_Event周期执行事件5S void Tick_Event_5S()//Tick_Event周期执行事件5S
{ {
if (TX_t != TX) { _Link_bool = true; } else { _Link_bool = false; } if (TX_t != TX) { _Link_bool = true; TX_t = TX; } else { _Link_bool = false; TX_t = TX; } //中央连接状态判断
TX_t = TX;
if(WORK_RUN !=0) Chart();//写入记录 if(WORK_RUN !=0) Chart();//写入记录

Loading…
Cancel
Save