sc 1 year ago
parent
commit
ac41e81fa1
  1. 20
      UserClass/AsyncTcpServer.cs
  2. 42
      UserClass/SQLDATA.cs
  3. 18
      View/TechnologicalProcessView.xaml.cs
  4. 2
      View/WorkOrderView.xaml

20
UserClass/AsyncTcpServer.cs

@ -21,6 +21,7 @@ using static System.Windows.Forms.VisualStyles.VisualStyleElement.TaskbarClock;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
using Newtonsoft.Json;
using static DyeingComputer.UserClass.SqliteHelper;
using DyeingComputer.View;
namespace DyeingComputer.UserClass
{/// <summary>
@ -97,8 +98,9 @@ namespace DyeingComputer.UserClass
{
Dictionary<string, object> WorkOrder_dat;
WorkOrder_dat = SerializeConvert.JsonDeserializeFromString<Dictionary<string, object>>(SYSDAT);
WorkOrder_dat.GetValue("WorkOrder");
bool dat_w= SQLDATA.WorkOrder(WorkOrder_dat.GetValue("WorkOrder").ToString(),
//WorkOrder_dat.GetValue("WorkOrder");
bool dat_w= SQLDATA.WorkOrder(
WorkOrder_dat.GetValue("WorkOrder").ToString(),
WorkOrder_dat.GetValue("ProcessName").ToString(),
WorkOrder_dat.GetValue("StartTime").ToString(),
WorkOrder_dat.GetValue("EndTime").ToString(),
@ -161,12 +163,22 @@ namespace DyeingComputer.UserClass
{
try
{
Dictionary<string, object> dat_821;
dat_821 = SerializeConvert.JsonDeserializeFromString<Dictionary<string, object>>(SYSDAT);
if (dat_821.GetValue("INSTRUCTION").ToString() == "START")
{
SQLDATA.TechnologicalProcess_START(dat_821.GetValue("ProgramID").ToString());
}
else if (dat_821.GetValue("INSTRUCTION").ToString() == "STOP") { }
else if (dat_821.GetValue("INSTRUCTION").ToString() == "PAUSE") { }
else if (dat_821.GetValue("INSTRUCTION").ToString() == "CONTINUE") { }
client.SendAsync("SC821" + SYSKEY + SYSDAT);
}
catch { client.SendAsync("SC921"); }
}
else { client.SendAsync("SC999"); }
}//指令
}//启停指令
else if (SYSAPI == "SC830")
{
if (SYSKEY == MainWindowViewModel.SYSKEY)

42
UserClass/SQLDATA.cs

@ -1,4 +1,5 @@
using DyeingComputer.ViewModel;
using DyeingComputer.View;
using DyeingComputer.ViewModel;
using ScottPlot.Colormaps;
using System;
using System.Collections.Generic;
@ -7,6 +8,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Documents;
using System.Xml.Linq;
using static DyeingComputer.UserClass.SqliteHelper;
namespace DyeingComputer.UserClass
@ -70,5 +72,43 @@ namespace DyeingComputer.UserClass
SQLiteHelpers.Close(); //关闭连接
return true;
}
public static void TechnologicalProcess_START(string workName)
{
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
int r = 0;
string sql_script = "select * from WorkorderSteps where ProgramID = '" + workName + "'";
if (TechnologicalProcessView.sql != null) TechnologicalProcessView.sql.Clear(); //清空缓存
TechnologicalProcessView.sql = SQLiteHelpers.ExecuteDataSet(sql_script, null); //读取表写入缓存
TechnologicalProcessView.Program_Name = SQLiteHelpers.ExecuteScalar("select ProgramName from Workorder where ProgramID = '" + workName + "'", null).ToString();
SQLiteHelpers.Delete("RUN", null, null); //删除run信息
DataTable data_t = new DataTable();
data_t = TechnologicalProcessView.sql.Tables[0].Clone();
data_t.Columns.Add("DYELOT", typeof(string)); //添加列
int a = TechnologicalProcessView.sql.Tables[0].Rows.Count;
for (int i = 0; i < a; i++)
{
data_t.Clear();//清空
DataRow dt = TechnologicalProcessView.sql.Tables[0].Rows[i];//行转
DataRow dr = data_t.NewRow();
dr.ItemArray = dt.ItemArray;
dr.BeginEdit(); //添加订单号
dr["DYELOT"] = MainWindowViewModel.WorkNumder;
dr.EndEdit();
data_t.Rows.InsertAt(dr, 0); //行转换
r = SQLiteHelpers.InsertData("RUN", SQLiteHelpers.DataTableToDictionary(data_t));//行插入
}
//数据插入
MainWindowViewModel.WorkNumder = SQLiteHelpers.ExecuteDataSet("select WorkOrder from Workorder where ProgramID = '" + workName + "'", null);;
TechnologicalProcessView.workName = workName;
MainWindowViewModel.SYS_REDYE = 0;
MainWindowViewModel.ViewID = 1;
SQLiteHelpers.Close(); //关闭连接
}
}
}

18
View/TechnologicalProcessView.xaml.cs

@ -45,19 +45,20 @@ namespace DyeingComputer.View
}
public static object workName;
public static string Program_Name;
private SQLiteHelper SQLiteHelpers = null; //定义数据库
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\800COMPUTER.db"; //数据库路径
DataSet sql; //内存数据缓存
public static DataSet sql; //内存数据缓存
private void TechnologicalProcess_Import()
{
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
int r = 0;
string sql_script = "select * from ProgramSteps where ProgramID = '" + workName + "'";
string sql_script = "select * from WorkorderSteps where ProgramID = '" + workName + "'";
if (sql != null) sql.Clear(); //清空缓存
sql = SQLiteHelpers.ExecuteDataSet(sql_script, null); //读取表写入缓存
name.Text = SQLiteHelpers.ExecuteScalar("select ProgramName from ProgramName where ProgramID = '" + workName + "'", null).ToString();
Program_Name = SQLiteHelpers.ExecuteScalar("select ProgramName from WorkOrder where ProgramID = '" + workName + "'", null).ToString();
if (sql != null) Grid.ItemsSource = sql.Tables[0].DefaultView; //转换显示计划表
SQLiteHelpers.Delete("RUN", null, null); //删除run信息
@ -88,7 +89,7 @@ namespace DyeingComputer.View
string sql_script = "select * from RUN";
if (sql != null) sql.Clear(); //清空缓存
sql = SQLiteHelpers.ExecuteDataSet(sql_script, null); //读取表写入缓存
name.Text = SQLiteHelpers.ExecuteScalar("select Program from RUN where Step = '1'", null).ToString();
Program_Name = SQLiteHelpers.ExecuteScalar("select Program from RUN where Step = '1'", null).ToString();
MainWindowViewModel.WorkNumder = SQLiteHelpers.ExecuteScalar("select DYELOT from RUN where Step = '1'", null).ToString();
SQLiteHelpers.Close(); //关闭连接
@ -189,7 +190,7 @@ namespace DyeingComputer.View
dr.EndEdit();
}
}
private void ProgramgroupView_del_Click(object sender, RoutedEventArgs e)
private void ProgramgroupView_del_Click(object sender, RoutedEventArgs e)//删除
{
int d = 0;
int a = sql.Tables[0].Rows.Count;
@ -204,7 +205,7 @@ namespace DyeingComputer.View
}
}
private void ProgramgroupView_Insert_Click(object sender, RoutedEventArgs e)
private void ProgramgroupView_Insert_Click(object sender, RoutedEventArgs e)//插入
{
int d = 0;
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
@ -258,6 +259,11 @@ namespace DyeingComputer.View
void Tick_Event_1S(object sender, EventArgs e)//Tick_Event周期执行事件1S
{
if (MainWindowViewModel.WORK_RUN == 2) Grid.SelectedIndex = MainWindowViewModel.RUN_STEPID - 1;//设定图表显示
if (sql != null)
{
Grid.ItemsSource = sql.Tables[0].DefaultView; //转换显示计划表
name.Text = Program_Name;
}
}
}
}

2
View/WorkOrderView.xaml

@ -68,7 +68,7 @@
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="{x:Static lang:Resources.ProcessName}" Width="300" Binding="{Binding ProcessName}" IsReadOnly="True"/>
<DataGridTextColumn Header="{x:Static lang:Resources.ProcessName}" Width="300" Binding="{Binding ProgramName}" IsReadOnly="True"/>
<DataGridTextColumn Header="ProcessID" Binding="{Binding ProcessID}" Width="0" MinWidth="0" MaxWidth="0"/>
<DataGridTextColumn Header="lock" Binding="{Binding lock}" Width="0" MinWidth="0" MaxWidth="0"/>
<DataGridTextColumn Header="{x:Static lang:Resources.State}" Width="120" IsReadOnly="True">

Loading…
Cancel
Save