串口逻辑,数据库读写逻辑修改
This commit is contained in:
commit
4af9042d5f
18 files changed
+574
-515
No files matched your search
@@ -34,8 +34,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.EX
|
||||
public partial class ManualDyelot : Window
|
||||
{
|
||||
|
||||
private SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
|
||||
DataTable dyelotdat = new DataTable();
|
||||
public static string Machines;
|
||||
DataTable mach = new DataTable();
|
||||
@@ -125,8 +123,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.EX
|
||||
if (string.IsNullOrEmpty(comboBoxMachine.Text)) return;//未输入机台时返回
|
||||
try
|
||||
{
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
Dictionary<string, object> Dyelot_DAT = new Dictionary<string, object>();//缓存函数
|
||||
for (int x = 0; x < RRODUCTdataTable.Rows.Count; x++)
|
||||
{
|
||||
@@ -144,10 +140,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.EX
|
||||
Dyelot_DAT.Add("DispenseStartTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||
Dyelot_DAT.Add("Grams", RRODUCTdataTable.Rows[x]["TARGET_WT"]);
|
||||
Dyelot_DAT.Add("Amount", RRODUCTdataTable.Rows[x]["Amount"]);
|
||||
SQLiteHelpers.InsertData("Dyelot", Dyelot_DAT);//行插入
|
||||
MainWindowViewModel.SQLiteHelpers.InsertData("Dyelot", Dyelot_DAT);//行插入
|
||||
Dyelot_DAT.Clear();
|
||||
}
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
|
||||
LogGing.ExchangeDATA("Dyelot=" + dyelot.Text + ";Machine=" + comboBoxMachine.Text +
|
||||
";Program=------;User=" + MainWindowViewModel.USER_data + ";");
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using System;
|
||||
using ScottPlot.Plottables;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using TouchSocket.Core;
|
||||
using TouchSocket.SerialPorts;
|
||||
@@ -18,10 +20,13 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass
|
||||
portclient.Connected = (client, e) => { return EasyTask.CompletedTask; };//成功连接到端口
|
||||
portclient.Closing = (client, e) => { return EasyTask.CompletedTask; };//即将从端口断开连接。此处仅主动断开才有效。
|
||||
portclient.Closed = (client, e) => { return EasyTask.CompletedTask; };//从端口断开连接,当连接不成功时不会触发。
|
||||
portclient.Received = async (c, e) =>
|
||||
portclient.Received = (client, e) =>
|
||||
{
|
||||
_responseEvent.Set();
|
||||
string DAT = e.ByteBlock.Span.ToString(Encoding.UTF8);
|
||||
//string DAT1 = CRCcheck16.ToCRC16(e.ByteBlock.Span.ToString(Encoding.UTF8));
|
||||
|
||||
await Console.Out.WriteLineAsync(e.ByteBlock.Span.ToString(Encoding.UTF8));
|
||||
return EasyTask.CompletedTask; ;
|
||||
};
|
||||
|
||||
await portclient.SetupAsync(new TouchSocketConfig()
|
||||
@@ -41,5 +46,40 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass
|
||||
|
||||
await portclient.ConnectAsync();
|
||||
}
|
||||
|
||||
|
||||
private static readonly ManualResetEventSlim _responseEvent = new ManualResetEventSlim(false);
|
||||
private static byte[] _receivedData;
|
||||
private static readonly object _sendLock = new object(); // 确保发送-等待过程原子性
|
||||
/// <summary>
|
||||
/// 发送指令并等待响应,超时时间为500ms
|
||||
/// </summary>
|
||||
/// <param name="command">要发送的指令字节数组</param>
|
||||
/// <returns>从机的响应数据,超时则为null</returns>
|
||||
public static byte[] SendCommandAndWait(SerialPortClient serialPortClients, string command)
|
||||
{
|
||||
// lock (_sendLock) // 防止并发发送
|
||||
{
|
||||
|
||||
_receivedData = null;
|
||||
_responseEvent.Reset(); // 重置事件状态
|
||||
|
||||
serialPortClients.Send(command); // 发送指令
|
||||
|
||||
// 等待500毫秒或直到收到响应
|
||||
bool signaled = _responseEvent.Wait(TimeSpan.FromMilliseconds(1000));
|
||||
|
||||
if (signaled)
|
||||
{
|
||||
return _receivedData; // 返回收到的数据
|
||||
}
|
||||
else
|
||||
{
|
||||
// 超时处理,记录日志或抛出异常
|
||||
//Console.WriteLine("警告: 等待从机响应超时 (500ms)。");
|
||||
return null; // 或者可以抛出 TimeoutException
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
-29
@@ -39,8 +39,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass
|
||||
/// </summary>
|
||||
public class AsyncTcpClient
|
||||
{
|
||||
private static SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||
private static readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
|
||||
|
||||
public static SQLiteHelper SQLiteChartAdress = null; //定义数据库
|
||||
private static readonly string ChartAdress = Environment.CurrentDirectory + "\\DataBase\\Chart.db"; //数据库路径
|
||||
public static async Task TcpClient(TcpClient tcpClient, string ip, string port)
|
||||
{
|
||||
@@ -150,11 +150,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass
|
||||
try
|
||||
{
|
||||
DAT = DAT.Substring(DAT.IndexOf("]") + 1);
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 111 } },
|
||||
MainWindowViewModel.SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 111 } },
|
||||
"WorkOrder ='" + DAT + "'", null);
|
||||
SQLiteHelpers.Close();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -166,11 +163,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass
|
||||
try
|
||||
{
|
||||
DAT = DAT.Substring(DAT.IndexOf("]") + 1);
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 113 } },
|
||||
MainWindowViewModel.SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 113 } },
|
||||
"WorkOrder ='" + DAT + "'", null);
|
||||
SQLiteHelpers.Close();
|
||||
}
|
||||
catch (Exception ex) { LogGing.LogGingDATA("[ERR='" + ex + "']=Exception"); MainWindowViewModel.ERR_c++; }
|
||||
}
|
||||
@@ -179,11 +173,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass
|
||||
try
|
||||
{
|
||||
DAT = DAT.Substring(DAT.IndexOf("]") + 1);
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 101 } },
|
||||
MainWindowViewModel.SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 101 } },
|
||||
"WorkOrder ='" + DAT + "'", null);
|
||||
SQLiteHelpers.Close();
|
||||
}
|
||||
catch (Exception ex) { LogGing.LogGingDATA("[ERR='" + ex + "']=Exception"); MainWindowViewModel.ERR_c++; }
|
||||
}
|
||||
@@ -220,11 +211,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass
|
||||
newRow["State"] = 202;
|
||||
newRow.EndEdit();
|
||||
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.InsertData("DyelotHistory", SQLiteHelpers.ToDictionary(newRow));// 执行插入
|
||||
SQLiteHelpers.Close();
|
||||
|
||||
MainWindowViewModel.SQLiteHelpers.InsertData("DyelotHistory", MainWindowViewModel.SQLiteHelpers.ToDictionary(newRow));// 执行插入
|
||||
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString
|
||||
{
|
||||
ID = Convert.ToInt16(MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines,
|
||||
@@ -281,10 +268,10 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass
|
||||
Chart_new.Add("STTC", _new.GetValue("STTC"));
|
||||
Chart_new.Add("STLC", _new.GetValue("STLC"));
|
||||
|
||||
SQLiteHelpers = new SQLiteHelper(ChartAdress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.InsertData("Chart", Chart_new);// 执行插入
|
||||
SQLiteHelpers.Close();
|
||||
SQLiteChartAdress = new SQLiteHelper(ChartAdress); //数据库连接路径
|
||||
SQLiteChartAdress.Open(); //打开数据库
|
||||
SQLiteChartAdress.InsertData("Chart", Chart_new);// 执行插入
|
||||
SQLiteChartAdress.Close();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -367,10 +354,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass
|
||||
try
|
||||
{
|
||||
DAT = DAT.Substring(DAT.IndexOf("]") + 1);
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 109 } },
|
||||
MainWindowViewModel.SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 109 } },
|
||||
"WorkOrder ='" + DAT + "'", null);
|
||||
SQLiteHelpers.Close();
|
||||
}
|
||||
catch (Exception ex) { LogGing.LogGingDATA("[ERR='" + ex + "']=Exception"); MainWindowViewModel.ERR_c++; }
|
||||
}//发布失败
|
||||
@@ -379,10 +364,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass
|
||||
try
|
||||
{
|
||||
DAT = DAT.Substring(DAT.IndexOf("]") + 1);
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 119 } },
|
||||
MainWindowViewModel.SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 119 } },
|
||||
"WorkOrder ='" + DAT + "'", null);
|
||||
SQLiteHelpers.Close();
|
||||
}
|
||||
catch (Exception ex) { LogGing.LogGingDATA("[ERR='" + ex + "']=Exception"); MainWindowViewModel.ERR_c++; }
|
||||
}//细节错误
|
||||
|
||||
+9
-36
@@ -28,8 +28,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
/// </summary>
|
||||
public partial class CurveView : UserControl
|
||||
{
|
||||
private SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
|
||||
public static DataTable WorkOrder = new DataTable(); //物料缓存
|
||||
public static string CurveDiagram;
|
||||
private readonly UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(Convert.ToString(System.AppDomain.CurrentDomain.BaseDirectory) + "SCCM.ini");
|
||||
@@ -81,24 +79,18 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
Picture.Content = new View.CurveDiagram(false, SYS_machines, DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd"),
|
||||
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd"), CurveDiagram);
|
||||
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
WorkOrder = SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
|
||||
WorkOrder = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
|
||||
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd") + "' and StartTime>='" +
|
||||
DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd") + "'and Machines='" +
|
||||
SYS_machines + "'", null).Tables[0]; //读取表写入缓存
|
||||
SQLiteHelpers.Close();
|
||||
|
||||
GridWorkOrder.ItemsSource = WorkOrder.DefaultView;
|
||||
}
|
||||
else
|
||||
{
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
WorkOrder = SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
|
||||
WorkOrder = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
|
||||
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd") + "' and StartTime>='" +
|
||||
DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd") + "'", null).Tables[0]; //读取表写入缓存
|
||||
SQLiteHelpers.Close();
|
||||
|
||||
GridWorkOrder.ItemsSource = WorkOrder.DefaultView;
|
||||
}
|
||||
@@ -112,24 +104,17 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
Picture.Content = new View.CurveDiagram(false, SYS_machines, DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd"),
|
||||
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd"), CurveDiagram);//刷新图表
|
||||
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
WorkOrder = SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
|
||||
WorkOrder = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
|
||||
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd") + "' and StartTime>='" +
|
||||
DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd") + "'and Machines='" +
|
||||
SYS_machines + "'", null).Tables[0]; //读取表写入缓存
|
||||
SQLiteHelpers.Close();
|
||||
|
||||
GridWorkOrder.ItemsSource = WorkOrder.DefaultView;
|
||||
}
|
||||
GridWorkOrder.ItemsSource = WorkOrder.DefaultView; }
|
||||
else
|
||||
{
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
WorkOrder = SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
|
||||
WorkOrder = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
|
||||
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd") + "' and StartTime>='" +
|
||||
DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd") + "'", null).Tables[0]; //读取表写入缓存
|
||||
SQLiteHelpers.Close();
|
||||
|
||||
GridWorkOrder.ItemsSource = WorkOrder.DefaultView;
|
||||
}
|
||||
@@ -143,24 +128,18 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
Picture.Content = new View.CurveDiagram(false, SYS_machines, DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd"),
|
||||
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd"), CurveDiagram);
|
||||
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
WorkOrder = SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
|
||||
WorkOrder = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
|
||||
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd") + "' and StartTime>='" +
|
||||
DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd") + "'and Machines='" +
|
||||
SYS_machines + "'", null).Tables[0]; //读取表写入缓存
|
||||
SQLiteHelpers.Close();
|
||||
|
||||
GridWorkOrder.ItemsSource = WorkOrder.DefaultView;
|
||||
}
|
||||
else
|
||||
{
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
WorkOrder = SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
|
||||
WorkOrder = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
|
||||
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd") + "' and StartTime>='" +
|
||||
DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd") + "'", null).Tables[0]; //读取表写入缓存
|
||||
SQLiteHelpers.Close();
|
||||
|
||||
GridWorkOrder.ItemsSource = WorkOrder.DefaultView;
|
||||
}
|
||||
@@ -174,13 +153,10 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
SYS_machines = (Griddata.Columns[1].GetCellContent(Griddata.Items[rownum]) as TextBlock).Text;//定位第1列,
|
||||
mac.Text = SYS_machines;
|
||||
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
WorkOrder = SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
|
||||
WorkOrder = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
|
||||
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd") + "' and StartTime>='" +
|
||||
DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd") + "'and Machines='" +
|
||||
SYS_machines + "'", null).Tables[0]; //读取表写入缓存
|
||||
SQLiteHelpers.Close();
|
||||
|
||||
GridWorkOrder.ItemsSource = WorkOrder.DefaultView;
|
||||
Picture.Content = new View.CurveDiagram(false, SYS_machines, DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd"),
|
||||
@@ -204,10 +180,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
string SysTime = DateTime.Parse(sender.ToString()).ToString("yyyy/MM/dd");
|
||||
string SysTimeDays = DateTime.Parse(sender.ToString()).AddDays(1).ToString("yyyy/MM/dd");
|
||||
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
WorkOrder = SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where " + "StartTime>='" + SysTime + "'and StartTime<='" + SysTimeDays + "'", null).Tables[0]; //读取表写入缓存
|
||||
SQLiteHelpers.Close();
|
||||
WorkOrder = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where " + "StartTime>='" + SysTime + "'and StartTime<='" + SysTimeDays + "'", null).Tables[0]; //读取表写入缓存
|
||||
|
||||
GridWorkOrder.ItemsSource = WorkOrder.DefaultView;
|
||||
}
|
||||
|
||||
@@ -39,16 +39,11 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
TextMachineGroup.ItemsSource = Machine_;
|
||||
}
|
||||
|
||||
private SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
|
||||
private readonly UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(Convert.ToString(System.AppDomain.CurrentDomain.BaseDirectory) + "SCCM.ini");
|
||||
//private string SYS_machines = null;
|
||||
private void UserControl_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
DataTable dataTable = SQLiteHelpers.ExecuteDataSet("select * from MachinesDispense Order by id", null).Tables[0];
|
||||
SQLiteHelpers.Close();
|
||||
DataTable dataTable = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from MachinesDispense Order by id", null).Tables[0];
|
||||
Griddata.ItemsSource = dataTable.DefaultView;
|
||||
}
|
||||
|
||||
@@ -88,25 +83,20 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
dr_new.Add("LOCK", dLICK.IsChecked.ToString());
|
||||
dr_new.Add("DATA",imageData);
|
||||
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
|
||||
if (SQLiteHelpers.ExecuteDataSet("select * from MachinesDispense where name ='" + comboBoxMachine.Text + "'", null).Tables[0].Rows.Count == 0)
|
||||
if (MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from MachinesDispense where name ='" + comboBoxMachine.Text + "'", null).Tables[0].Rows.Count == 0)
|
||||
{
|
||||
SQLiteHelpers.InsertData("MachinesDispense", dr_new);
|
||||
MainWindowViewModel.SQLiteHelpers.InsertData("MachinesDispense", dr_new);
|
||||
}
|
||||
else
|
||||
{
|
||||
SQLiteHelpers.Update("MachinesDispense", dr_new, "name='" + comboBoxMachine.Text + "'", null);
|
||||
MainWindowViewModel.SQLiteHelpers.Update("MachinesDispense", dr_new, "name='" + comboBoxMachine.Text + "'", null);
|
||||
}
|
||||
Griddata.ItemsSource = SQLiteHelpers.ExecuteDataSet("select Name,Groups,IP,PORT,DATA from MachinesDispense Order by id", null).Tables[0].DefaultView;
|
||||
SQLiteHelpers.Close();
|
||||
Griddata.ItemsSource = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select Name,Groups,IP,PORT,DATA from MachinesDispense Order by id", null).Tables[0].DefaultView;
|
||||
MessageBox.Show(Properties.Resources.Save + comboBoxMachine.Text, "SCCM", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show(Properties.Resources.ERR , "SCCM", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
|
||||
}
|
||||
}
|
||||
private void Delete_Click(object sender, RoutedEventArgs e)
|
||||
@@ -116,11 +106,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
MessageBoxResult vr = System.Windows.MessageBox.Show(Properties.Resources.Delete + comboBoxMachine.Text, "SCCM", MessageBoxButton.OKCancel, MessageBoxImage.Question);
|
||||
if (vr == MessageBoxResult.OK) // 如果是确定,就执行下面代码
|
||||
{
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.Delete("MachinesDispense", "Name='" + comboBoxMachine.Text + "'", null);
|
||||
Griddata.ItemsSource = SQLiteHelpers.ExecuteDataSet("select Name,Groups,IP,PORT,DATA from MachinesDispense Order by id", null).Tables[0].DefaultView;
|
||||
SQLiteHelpers.Close();
|
||||
MainWindowViewModel.SQLiteHelpers.Delete("MachinesDispense", "Name='" + comboBoxMachine.Text + "'", null);
|
||||
Griddata.ItemsSource = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select Name,Groups,IP,PORT,DATA from MachinesDispense Order by id", null).Tables[0].DefaultView;
|
||||
comboBoxMachine.Text = null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,18 +43,13 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
|
||||
private readonly UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(Convert.ToString(System.AppDomain.CurrentDomain.BaseDirectory) + "SCCM.ini");
|
||||
DataTable DispenseMac = new DataTable();
|
||||
UserControls.DispenseMacInfo[] dispenseMacInfo = new UserControls.DispenseMacInfo[99]; //定义总览信息卡
|
||||
//private string SYS_machines = null;
|
||||
private void UserControl_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress);
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
DispenseMac = SQLiteHelpers.ExecuteDataSet("select * from MachinesDispense ", null).Tables[0];//缓存
|
||||
SQLiteHelpers.Close();
|
||||
DispenseMac = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from MachinesDispense ", null).Tables[0];//缓存
|
||||
/// <summary>
|
||||
/// 生成总览信息卡
|
||||
/// </summary>
|
||||
|
||||
+11
-34
@@ -34,8 +34,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
/// </summary>
|
||||
public partial class DyeingPlanView : UserControl
|
||||
{
|
||||
private SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
|
||||
DataTable ProgramName = new DataTable();
|
||||
DataTable WorkOrder =new DataTable();
|
||||
DataTable dat = new DataTable();
|
||||
@@ -45,10 +43,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
public DyeingPlanView()
|
||||
{
|
||||
InitializeComponent();
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
ProgramName = SQLiteHelpers.ExecuteDataSet("select * from ProgramName order by ProgramID desc", null).Tables[0];//缓存
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
ProgramName = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from ProgramName order by ProgramID desc", null).Tables[0];//缓存
|
||||
comboBoxMachine.ItemsSource = MainWindowViewModel.Machines.AsEnumerable().Select(rowdata => rowdata.Field<string>("name")).ToList();//转换机台
|
||||
comboBoxProgram.ItemsSource = ProgramName.AsEnumerable().Select(rowdata => rowdata.Field<string>("ProgramName")).ToList();//转换工艺代码
|
||||
TEXTUSER.Text = MainWindow.user_;
|
||||
@@ -66,10 +61,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
if (sArray.Length <= 1)
|
||||
{
|
||||
comboBoxDyelot.IsEnabled = true;
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
DataTable DatDyelot = SQLiteHelpers.ExecuteDataSet("select * from Dyelot where Machine='" + comboBoxMachine.Text + "' and State='101' order by Dyelot desc", null).Tables[0]; //读取计划表写入缓存
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
DataTable DatDyelot = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from Dyelot where Machine='" + comboBoxMachine.Text + "' and State='101' order by Dyelot desc", null).Tables[0]; //读取计划表写入缓存
|
||||
comboBoxDyelot.ItemsSource = DatDyelot.AsEnumerable().Select(rowdata => rowdata.Field<string>("Dyelot")).ToList();//转换代码
|
||||
}
|
||||
}
|
||||
@@ -119,11 +111,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
string State_ = "100";
|
||||
string Dyelot_ = comboBoxDyelot.Text;
|
||||
string color_ = color.Background.ToString();
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
try
|
||||
{
|
||||
sTime = SQLiteHelpers.ExecuteDataSet(
|
||||
sTime = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet(
|
||||
"select * from WorkOrder where Machines='" + comboBoxMachine.Text + "' order by EndTime desc", null).
|
||||
Tables[0].Select().First().Field<object>("EndTime").ToString(); //读取计划表写入缓存
|
||||
if (DateTime.Now < DateTime.Parse(sTime))
|
||||
@@ -171,7 +161,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
WorkOrder_new.Add("Total", TEXTTotal.Text);
|
||||
WorkOrder_new.Add("USER", TEXTUSER.Text);
|
||||
WorkOrder_new.Add("ColorName", TEXTColorName.Text);
|
||||
SQLiteHelpers.InsertData("WorkOrder", WorkOrder_new);// 执行插入
|
||||
MainWindowViewModel.SQLiteHelpers.InsertData("WorkOrder", WorkOrder_new);// 执行插入
|
||||
|
||||
//插入信息
|
||||
Dictionary<string, object> WorkOrder_set = new Dictionary<string, object>();//缓存函数
|
||||
@@ -181,7 +171,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
WorkOrder_set.Add("Swing", Swing.Text);
|
||||
WorkOrder_set.Add("ClothWheel", ClothWheel.Text);
|
||||
WorkOrder_set.Add("Nozzle", Nozzle.Text);
|
||||
SQLiteHelpers.InsertData("WorkOrderSet", WorkOrder_set);// 执行插入
|
||||
MainWindowViewModel.SQLiteHelpers.InsertData("WorkOrderSet", WorkOrder_set);// 执行插入
|
||||
|
||||
Dictionary<string, object> WorkOrder_DAT = new Dictionary<string, object>();//缓存函数
|
||||
for (int x = 0; x < dat.Rows.Count; x++)
|
||||
@@ -204,7 +194,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
WorkOrder_DAT.Add("Parameter8", dat.Rows[x]["Parameter8"]);
|
||||
WorkOrder_DAT.Add("Parameter9", dat.Rows[x]["Parameter9"]);
|
||||
WorkOrder_DAT.Add("Parameter10", dat.Rows[x]["Parameter10"]);
|
||||
SQLiteHelpers.InsertData("WorkorderSteps", WorkOrder_DAT);//行插入
|
||||
MainWindowViewModel.SQLiteHelpers.InsertData("WorkorderSteps", WorkOrder_DAT);//行插入
|
||||
WorkOrder_DAT.Clear();
|
||||
}
|
||||
if (!String.IsNullOrEmpty(comboBoxDyelot.Text))//料单信息
|
||||
@@ -229,11 +219,10 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
WorkOrder_DAT.Add("DispenseGrams", DyelotsBulkedRecipe.Rows[x]["DispenseGrams"]);
|
||||
WorkOrder_DAT.Add("Dispense", DyelotsBulkedRecipe.Rows[x]["Dispenser"]);
|
||||
WorkOrder_DAT.Add("UserAccount", DyelotsBulkedRecipe.Rows[x]["UserAccount"]);
|
||||
SQLiteHelpers.InsertData("Dyelot", WorkOrder_DAT);//行插入
|
||||
MainWindowViewModel.SQLiteHelpers.InsertData("Dyelot", WorkOrder_DAT);//行插入
|
||||
WorkOrder_DAT.Clear();
|
||||
}
|
||||
}
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
|
||||
LogGing.ExchangeDATA("Dyelot=" + comboBoxWorkOrder.Text + ";Machine=" + comboBoxMachine.Text +
|
||||
";Program=" + comboBoxProgram.Text + ";User=" + TEXTUSER.Text + ";");
|
||||
@@ -261,11 +250,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
if (!string.IsNullOrEmpty(comboBoxProgram.Text))
|
||||
{
|
||||
dat.Clear();
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
dat = SQLiteHelpers.ExecuteDataSet(
|
||||
dat = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet(
|
||||
"select * from ProgramSteps where Program='" + comboBoxProgram.SelectedValue + "' order by Step asc", null).Tables[0]; //读取计划表写入缓存
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
DatSteps(dat);
|
||||
Grid_data.ItemsSource = dat.DefaultView;
|
||||
}
|
||||
@@ -279,8 +265,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
try
|
||||
{
|
||||
string[] sArray = Regex.Split(text, @"\+", RegexOptions.IgnoreCase);
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
/* if (!string.IsNullOrEmpty(WorkOrder_n))
|
||||
{
|
||||
dat = SQLiteHelpers.ExecuteDataSet(
|
||||
@@ -288,7 +272,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
}//插入工单不为空时载入细节信息*/
|
||||
for (int i = 0; i < sArray.Length; i++)
|
||||
{
|
||||
DataTable temp = SQLiteHelpers.ExecuteDataSet(
|
||||
DataTable temp = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet(
|
||||
"select * from ProgramSteps where Program='" + sArray[i] + "' order by Step asc", null).Tables[0]; //读取计划表写入缓存
|
||||
if (dat.Columns.Count == 0) dat = temp.Clone();
|
||||
foreach (DataRow drT in temp.Rows)
|
||||
@@ -297,7 +281,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
}
|
||||
}//以工艺名组合工艺细节
|
||||
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
DatSteps(dat);
|
||||
Grid_data.ItemsSource = dat.DefaultView;
|
||||
|
||||
@@ -501,10 +484,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
{
|
||||
if (e.Key == Key.Enter && MainWindowViewModel.DyelotsDispenser)
|
||||
{
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress);
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
int dat_c = SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where WorkOrder = '" + comboBoxWorkOrder.Text + "'", null).Tables[0].Rows.Count;//缓存
|
||||
SQLiteHelpers.Close();
|
||||
int dat_c = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where WorkOrder = '" + comboBoxWorkOrder.Text + "'", null).Tables[0].Rows.Count;//缓存
|
||||
|
||||
if (dat_c > 0)//查询料单是否可用
|
||||
{
|
||||
@@ -578,10 +558,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
string DYELOTS_sql = "SELECT * FROM [dbo].[DYELOTS] WHERE Dyelot = '" + comboBoxDyelot.Text + "'";//单号查询语句
|
||||
try
|
||||
{
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress);
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
int dat_c = SQLiteHelpers.ExecuteDataSet("select * from Dyelot where Dyelot = '" + comboBoxDyelot.Text + "'", null).Tables[0].Rows.Count;//缓存
|
||||
SQLiteHelpers.Close();
|
||||
int dat_c = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from Dyelot where Dyelot = '" + comboBoxDyelot.Text + "'", null).Tables[0].Rows.Count;//缓存
|
||||
|
||||
if (dat_c > 0)//查询料单是否可用
|
||||
{
|
||||
|
||||
@@ -27,9 +27,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
/// </summary>
|
||||
public partial class DyelotView : UserControl
|
||||
{
|
||||
private SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
|
||||
|
||||
public DyelotView()
|
||||
{
|
||||
InitializeComponent();
|
||||
@@ -41,10 +38,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
|
||||
public void Dyelot(object dat)
|
||||
{
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress);
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
DataTable dat_c = SQLiteHelpers.ExecuteDataSet("select * from Dyelot where WorkOrder = '" + dat + "'", null).Tables[0];//缓存
|
||||
SQLiteHelpers.Close();
|
||||
DataTable dat_c = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from Dyelot where WorkOrder = '" + dat + "'", null).Tables[0];//缓存
|
||||
|
||||
Grid_data.ItemsSource = dat_c.DefaultView;
|
||||
}
|
||||
|
||||
@@ -64,21 +64,21 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
|
||||
private void comboBoxCOM_SelectionChanged0(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
Configini.IniWritevalue("SYS", "COMP0", comboBoxCOM0.SelectedValue.ToString());
|
||||
Configini.IniWritevalue("SYS", "COMP1", comboBoxCOM0.SelectedValue.ToString());
|
||||
// Configini.IniWritevalue("SYS", "COMP1", comboBoxCOM1.SelectedValue.ToString());
|
||||
// Configini.IniWritevalue("SYS", "COMP2", comboBoxCOM2.SelectedValue.ToString());
|
||||
}
|
||||
private void comboBoxCOM_SelectionChanged1(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
//Configini.IniWritevalue("SYS", "COMP0", comboBoxCOM0.SelectedValue.ToString());
|
||||
Configini.IniWritevalue("SYS", "COMP1", comboBoxCOM1.SelectedValue.ToString());
|
||||
Configini.IniWritevalue("SYS", "COMP2", comboBoxCOM1.SelectedValue.ToString());
|
||||
// Configini.IniWritevalue("SYS", "COMP2", comboBoxCOM2.SelectedValue.ToString());
|
||||
}
|
||||
private void comboBoxCOM_SelectionChanged2(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
//Configini.IniWritevalue("SYS", "COMP0", comboBoxCOM0.SelectedValue.ToString());
|
||||
// Configini.IniWritevalue("SYS", "COMP1", comboBoxCOM1.SelectedValue.ToString());
|
||||
Configini.IniWritevalue("SYS", "COMP2", comboBoxCOM2.SelectedValue.ToString());
|
||||
Configini.IniWritevalue("SYS", "COMP3", comboBoxCOM2.SelectedValue.ToString());
|
||||
}
|
||||
private void comboBoxLanguage_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
|
||||
+23
-16
@@ -36,7 +36,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
|
||||
// 获取所有可用串口端口,并添加到comboBoxCOM
|
||||
// string[] ports = System.IO.Ports.SerialPort.GetPortNames();
|
||||
string[] ports = { "PORT1", "PORT2", "PORT3" };
|
||||
string[] ports = { "PORT1", "PORT2", "PORT3", "PORT4" };
|
||||
comboBoxCOM0.ItemsSource = ports;
|
||||
comboBoxCOM0.Text = Configini.IniReadvalue("SYS", "COM");
|
||||
comboBoxMachine.ItemsSource = MainWindowViewModel.Machines.AsEnumerable().Select(rowdata => rowdata.Field<string>("name")).ToList();//转换机台
|
||||
@@ -44,8 +44,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
comboBoxtype.ItemsSource = type_;
|
||||
}
|
||||
|
||||
private SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
|
||||
private readonly UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(Convert.ToString(System.AppDomain.CurrentDomain.BaseDirectory) + "SCCM.ini");
|
||||
//private string SYS_machines = null;
|
||||
int ID_;
|
||||
@@ -75,9 +73,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
if (!string.IsNullOrEmpty(comboBoxMachine.Text))
|
||||
{
|
||||
Dictionary<string, object> Machines_DAT = new Dictionary<string, object>();//缓存函数
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
if (SQLiteHelpers.ExecuteDataSet("select * from Machines where name ='" + comboBoxMachine.Text + "'", null).Tables[0].Rows.Count == 0)
|
||||
if (MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from Machines where name ='" + comboBoxMachine.Text + "'", null).Tables[0].Rows.Count == 0)
|
||||
{
|
||||
DataRow dat_= MainWindowViewModel.Machines.NewRow();
|
||||
dat_.BeginEdit();
|
||||
@@ -93,13 +89,18 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
dat_["AUTO"] = false;
|
||||
dat_["CALL"] = false;
|
||||
dat_["LOCK"] = false;
|
||||
dat_["State"] = 800;
|
||||
dat_["Temperature"] = 0;
|
||||
dat_["WaterLevel"] = 0;
|
||||
dat_["WORK_RUN"] = -1;
|
||||
dat_["UserInfoStart"] = 900;
|
||||
if (comboBoxtype.Text == "838")
|
||||
{ dat_["Desktop"] = true; }
|
||||
else { dat_["Desktop"] = false; }
|
||||
dat_.EndEdit();
|
||||
MainWindowViewModel.Machines.Rows.Add(dat_);
|
||||
DatSteps(MainWindowViewModel.Machines);
|
||||
SQLiteHelpers.Delete("Machines", null, null);//
|
||||
MainWindowViewModel.SQLiteHelpers.Delete("Machines", null, null);//
|
||||
for (int x = 0; x < MainWindowViewModel.Machines.Rows.Count; x++)
|
||||
{
|
||||
Machines_DAT.Add("ID", MainWindowViewModel.Machines.Rows[x]["ID"]);
|
||||
@@ -112,7 +113,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
Machines_DAT.Add("Desktop", MainWindowViewModel.Machines.Rows[x]["Desktop"]);
|
||||
Machines_DAT.Add("Dispense", MainWindowViewModel.Machines.Rows[x]["Dispense"]);
|
||||
Machines_DAT.Add("Type", MainWindowViewModel.Machines.Rows[x]["Type"]);
|
||||
SQLiteHelpers.InsertData("Machines", Machines_DAT);//行插入
|
||||
MainWindowViewModel.SQLiteHelpers.InsertData("Machines", Machines_DAT);//行插入
|
||||
Machines_DAT.Clear();
|
||||
}
|
||||
}
|
||||
@@ -127,8 +128,18 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
dr["Serial"] = comboBoxCOM0.Text;
|
||||
dr["Type"] = comboBoxtype.Text;
|
||||
dr["Station"] = Station.Text;
|
||||
dr["ID"] = 999;
|
||||
dr["ERR"] = false;
|
||||
dr["AUTO"] = false;
|
||||
dr["CALL"] = false;
|
||||
dr["LOCK"] = false;
|
||||
dr["State"] = 800;
|
||||
dr["Temperature"] = 0;
|
||||
dr["WaterLevel"] = 0;
|
||||
dr["WORK_RUN"] = -1;
|
||||
dr["UserInfoStart"] = 900;
|
||||
dr.EndEdit();
|
||||
SQLiteHelpers.Delete("Machines", null, null);//
|
||||
MainWindowViewModel.SQLiteHelpers.Delete("Machines", null, null);//
|
||||
for (int x = 0; x < MainWindowViewModel.Machines.Rows.Count; x++)
|
||||
{
|
||||
Machines_DAT.Add("ID", MainWindowViewModel.Machines.Rows[x]["ID"]);
|
||||
@@ -142,11 +153,10 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
Machines_DAT.Add("Dispense", MainWindowViewModel.Machines.Rows[x]["Dispense"]);
|
||||
Machines_DAT.Add("Type", MainWindowViewModel.Machines.Rows[x]["Type"]);
|
||||
Machines_DAT.Add("LOCK", "FALSE");
|
||||
SQLiteHelpers.InsertData("Machines", Machines_DAT);//行插入
|
||||
MainWindowViewModel.SQLiteHelpers.InsertData("Machines", Machines_DAT);//行插入
|
||||
Machines_DAT.Clear();
|
||||
}
|
||||
}
|
||||
SQLiteHelpers.Close();
|
||||
Griddata.ItemsSource = MainWindowViewModel.Machines.DefaultView;
|
||||
comboBoxMachine.Text = null;
|
||||
TextMachineGroup.Text = null;
|
||||
@@ -171,11 +181,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
MainWindowViewModel.Machines.Rows.RemoveAt(ID_ - 1);
|
||||
DatSteps(MainWindowViewModel.Machines);
|
||||
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
Dictionary<string, object> Machines_DAT = new Dictionary<string, object>();//缓存函数
|
||||
|
||||
SQLiteHelpers.Delete("Machines", null, null);//
|
||||
MainWindowViewModel.SQLiteHelpers.Delete("Machines", null, null);//
|
||||
for (int x = 0; x < MainWindowViewModel.Machines.Rows.Count; x++)
|
||||
{
|
||||
Machines_DAT.Add("ID", MainWindowViewModel.Machines.Rows[x]["ID"]);
|
||||
@@ -188,10 +196,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
Machines_DAT.Add("Desktop", MainWindowViewModel.Machines.Rows[x]["Desktop"]);
|
||||
Machines_DAT.Add("Dispense", MainWindowViewModel.Machines.Rows[x]["Dispense"]);
|
||||
Machines_DAT.Add("LOCK", "FALSE");
|
||||
SQLiteHelpers.InsertData("Machines", Machines_DAT);//行插入
|
||||
MainWindowViewModel.SQLiteHelpers.InsertData("Machines", Machines_DAT);//行插入
|
||||
Machines_DAT.Clear();
|
||||
}
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
|
||||
Griddata.ItemsSource = MainWindowViewModel.Machines.DefaultView;
|
||||
comboBoxMachine.Text = null;
|
||||
|
||||
@@ -58,10 +58,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
CountDown();
|
||||
}
|
||||
|
||||
private SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
|
||||
private readonly UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(Convert.ToString(System.AppDomain.CurrentDomain.BaseDirectory) + "SCCM.ini");
|
||||
//private string SYS_machines = null;
|
||||
private void UserControl_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
|
||||
@@ -131,10 +127,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
|
||||
Dictionary<string, object> datagrid_v = new Dictionary<string, object>();//缓存函数
|
||||
datagrid_v.Add("PLC", newValue);
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.Update("IOName", datagrid_v, "ID ='" + ID + "'", null);//更新
|
||||
SQLiteHelpers.Close();//关闭数据库
|
||||
MainWindowViewModel.SQLiteHelpers.Update("IOName", datagrid_v, "ID ='" + ID + "'", null);//更新
|
||||
}
|
||||
IO_data();//重新获得io表
|
||||
D_view = true;
|
||||
@@ -157,10 +150,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
|
||||
Dictionary<string, object> datagrid_v = new Dictionary<string, object>();//缓存函数
|
||||
datagrid_v.Add("PLC", newValue);
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.Update("IOName", datagrid_v, "ID ='" + ID + "'", null);//更新
|
||||
SQLiteHelpers.Close();//关闭数据库
|
||||
MainWindowViewModel.SQLiteHelpers.Update("IOName", datagrid_v, "ID ='" + ID + "'", null);//更新
|
||||
}
|
||||
A_view = true;
|
||||
}
|
||||
|
||||
@@ -32,8 +32,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
/// </summary>
|
||||
public partial class ProductionPlanningEdit : UserControl
|
||||
{
|
||||
private SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
|
||||
DataTable ProgramName = new DataTable();
|
||||
DataTable WorkOrder =new DataTable();
|
||||
DataTable dat = new DataTable();
|
||||
@@ -41,15 +39,12 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
public ProductionPlanningEdit(string workOrder, bool save)
|
||||
{
|
||||
InitializeComponent();
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
ProgramName = SQLiteHelpers.ExecuteDataSet("select * from ProgramName order by ProgramID desc", null).Tables[0]; //读取计划表写入缓存
|
||||
ProgramName = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from ProgramName order by ProgramID desc", null).Tables[0]; //读取计划表写入缓存
|
||||
if (!string.IsNullOrEmpty(workOrder))
|
||||
{
|
||||
WorkOrder = SQLiteHelpers.ExecuteDataSet("select * from Workorder where Workorder='" + workOrder + "' order by EndTime desc", null).Tables[0];
|
||||
WorkOrder = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from Workorder where Workorder='" + workOrder + "' order by EndTime desc", null).Tables[0];
|
||||
// dat = SQLiteHelpers.ExecuteDataSet("select * from WorkorderSteps order by Step asc", null).Tables[0];
|
||||
}
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
|
||||
if (!string.IsNullOrEmpty(workOrder))
|
||||
{
|
||||
@@ -83,10 +78,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
if (sArray.Length <= 1)
|
||||
{
|
||||
comboBoxDyelot.IsEnabled = true;
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
DataTable DatDyelot = SQLiteHelpers.ExecuteDataSet("select * from Dyelot where Machine='" + comboBoxMachine.Text + "' and State='101' order by Dyelot desc", null).Tables[0]; //读取计划表写入缓存
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
DataTable DatDyelot = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from Dyelot where Machine='" + comboBoxMachine.Text + "' and State='101' order by Dyelot desc", null).Tables[0]; //读取计划表写入缓存
|
||||
comboBoxDyelot.ItemsSource = DatDyelot.AsEnumerable().Select(rowdata => rowdata.Field<string>("Dyelot")).ToList();//转换代码
|
||||
}
|
||||
}
|
||||
@@ -153,11 +145,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
string State_ = "100";
|
||||
string Dyelot_ = comboBoxDyelot.Text;
|
||||
string color_ = color_color.Background.ToString();
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
try
|
||||
{
|
||||
sTime = SQLiteHelpers.ExecuteDataSet(
|
||||
sTime = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet(
|
||||
"select * from WorkOrder where Machines='" + comboBoxMachine.Text + "' order by EndTime desc", null).
|
||||
Tables[0].Select().First().Field<object>("EndTime").ToString(); //读取计划表写入缓存
|
||||
if (DateTime.Now < DateTime.Parse(sTime))
|
||||
@@ -197,7 +187,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
WorkOrder_new.Add("Remark", null);
|
||||
WorkOrder_new.Add("lock", 0);
|
||||
WorkOrder_new.Add("color", color_);
|
||||
SQLiteHelpers.InsertData("WorkOrder", WorkOrder_new);// 执行插入
|
||||
MainWindowViewModel.SQLiteHelpers.InsertData("WorkOrder", WorkOrder_new);// 执行插入
|
||||
|
||||
Dictionary<string, object> WorkOrder_DAT = new Dictionary<string, object>();//缓存函数
|
||||
for (int x = 0; x < dat.Rows.Count; x++)
|
||||
@@ -220,10 +210,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
WorkOrder_DAT.Add("Parameter8", dat.Rows[x]["Parameter8"]);
|
||||
WorkOrder_DAT.Add("Parameter9", dat.Rows[x]["Parameter9"]);
|
||||
WorkOrder_DAT.Add("Parameter10", dat.Rows[x]["Parameter10"]);
|
||||
SQLiteHelpers.InsertData("WorkorderSteps", WorkOrder_DAT);//行插入
|
||||
MainWindowViewModel.SQLiteHelpers.InsertData("WorkorderSteps", WorkOrder_DAT);//行插入
|
||||
WorkOrder_DAT.Clear();
|
||||
}
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
}
|
||||
else
|
||||
{//多机器载入
|
||||
@@ -260,11 +249,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
string State_ = "100";
|
||||
string Dyelot_ = comboBoxDyelot.Text;
|
||||
string color_ = color_color.Background.ToString();
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
try
|
||||
{
|
||||
sTime = SQLiteHelpers.ExecuteDataSet(
|
||||
sTime = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet(
|
||||
"select * from WorkOrder where Machines='" + sArray[i] + "' order by EndTime desc", null).
|
||||
Tables[0].Select().First().Field<object>("EndTime").ToString(); //读取计划表写入缓存
|
||||
if (DateTime.Now < DateTime.Parse(sTime))
|
||||
@@ -306,7 +293,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
WorkOrder_new.Add("color", color_);
|
||||
//SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
//SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.InsertData("WorkOrder", WorkOrder_new);// 执行插入
|
||||
MainWindowViewModel.SQLiteHelpers.InsertData("WorkOrder", WorkOrder_new);// 执行插入
|
||||
|
||||
Dictionary<string, object> WorkOrder_DAT = new Dictionary<string, object>();//缓存函数
|
||||
for (int x = 0; x < dat.Rows.Count; x++)
|
||||
@@ -329,10 +316,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
WorkOrder_DAT.Add("Parameter8", dat.Rows[x]["Parameter8"]);
|
||||
WorkOrder_DAT.Add("Parameter9", dat.Rows[x]["Parameter9"]);
|
||||
WorkOrder_DAT.Add("Parameter10", dat.Rows[x]["Parameter10"]);
|
||||
SQLiteHelpers.InsertData("WorkorderSteps", WorkOrder_DAT);//行插入
|
||||
MainWindowViewModel.SQLiteHelpers.InsertData("WorkorderSteps", WorkOrder_DAT);//行插入
|
||||
WorkOrder_DAT.Clear();
|
||||
}
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
}
|
||||
}
|
||||
this.Visibility = Visibility.Collapsed;
|
||||
@@ -359,11 +345,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
if (!string.IsNullOrEmpty(comboBoxProgram.Text))
|
||||
{
|
||||
dat.Clear();
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
dat = SQLiteHelpers.ExecuteDataSet(
|
||||
dat = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet(
|
||||
"select * from ProgramSteps where Program='" + comboBoxProgram.SelectedValue + "' order by Step asc", null).Tables[0]; //读取计划表写入缓存
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
DatSteps(dat);
|
||||
Grid_data.ItemsSource = dat.DefaultView;
|
||||
}
|
||||
@@ -378,11 +361,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
try
|
||||
{
|
||||
string[] sArray = Regex.Split(text, @"\+", RegexOptions.IgnoreCase);
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
for (int i = 0; i < sArray.Length; i++)
|
||||
{
|
||||
DataTable temp = SQLiteHelpers.ExecuteDataSet(
|
||||
DataTable temp = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet(
|
||||
"select * from ProgramSteps where Program='" + sArray[i] + "' order by Step asc", null).Tables[0]; //读取计划表写入缓存
|
||||
if (dat.Columns.Count == 0) dat = temp.Clone();
|
||||
foreach (DataRow drT in temp.Rows)
|
||||
@@ -392,10 +373,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
}//以工艺名组合工艺细节
|
||||
if (!string.IsNullOrEmpty(WorkOrder_n))
|
||||
{
|
||||
dat = SQLiteHelpers.ExecuteDataSet(
|
||||
dat = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet(
|
||||
"select * from WorkorderSteps where WorkOrder='" + WorkOrder_n + "' order by Step asc", null).Tables[0]; //读取计划表写入缓存
|
||||
}//插入工单不为空时载入细节信息
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
DatSteps(dat);
|
||||
Grid_data.ItemsSource = dat.DefaultView;//显示
|
||||
}
|
||||
|
||||
@@ -60,8 +60,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
}
|
||||
|
||||
private readonly UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(Convert.ToString(System.AppDomain.CurrentDomain.BaseDirectory) + "SCCM.ini");
|
||||
private SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
|
||||
DataTable WorkOrder;
|
||||
private DateTime minDate;
|
||||
private DateTime maxDate;
|
||||
@@ -84,12 +82,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
private ObservableCollection<ContextMenuItem> ganttTaskContextMenuItems = new ObservableCollection<ContextMenuItem>();
|
||||
public void GanttChartNEW()
|
||||
{
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
WorkOrder = SQLiteHelpers.ExecuteDataSet(
|
||||
WorkOrder = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet(
|
||||
"select * from WorkOrder where StartTime>'" + DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd HH:mm:ss")
|
||||
+ "'or EndTime>'" + DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd HH:mm:ss") + "'Order by StartTime", null).Tables[0]; //读取表写入缓存
|
||||
SQLiteHelpers.Close();
|
||||
|
||||
//生成表
|
||||
GanttChart.ClearGantt();
|
||||
@@ -163,11 +158,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
{
|
||||
if (MainWindowViewModel.USER_Capacity[6])
|
||||
{
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
DataTable WorkOrder_dt = SQLiteHelpers.ExecuteDataSet(
|
||||
DataTable WorkOrder_dt = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet(
|
||||
"select * from WorkOrder where WorkOrder='" + ganttTask.WorkOrder + "'Order by StartTime", null).Tables[0]; //读取表写入缓存
|
||||
SQLiteHelpers.Close();
|
||||
|
||||
if (DateTime.Now > DateTime.Parse(WorkOrder_dt.Select().First().Field<object>("EndTime").ToString()))
|
||||
{
|
||||
@@ -197,11 +189,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
System.Windows.Forms.MessageBoxButtons.OKCancel, System.Windows.Forms.MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
///执行删除
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.Delete("WorkOrder", "WorkOrder='" + ganttTask.WorkOrder + "'", null);
|
||||
SQLiteHelpers.Delete("WorkOrderSteps", "WorkOrder='" + ganttTask.WorkOrder + "'", null);
|
||||
SQLiteHelpers.Close();
|
||||
MainWindowViewModel.SQLiteHelpers.Delete("WorkOrder", "WorkOrder='" + ganttTask.WorkOrder + "'", null);
|
||||
MainWindowViewModel.SQLiteHelpers.Delete("WorkOrderSteps", "WorkOrder='" + ganttTask.WorkOrder + "'", null);
|
||||
GanttChartNEW();
|
||||
}
|
||||
}
|
||||
@@ -248,12 +237,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
private void WorkOrderNumder_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Picture.Content = null;
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
int con = SQLiteHelpers.ExecuteDataSet(
|
||||
int con = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet(
|
||||
"select * from WorkOrder where WorkOrder='" + Select_WorkOrderNumder.Text +
|
||||
"'Order by StartTime", null).Tables[0].Rows.Count;
|
||||
SQLiteHelpers.Close();
|
||||
|
||||
if (con > 0)
|
||||
{
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using SunlightCentralizedControlManagement_SCCM_.WindowsView;
|
||||
using SunlightCentralizedControlManagement_SCCM_.ViewModel;
|
||||
using SunlightCentralizedControlManagement_SCCM_.WindowsView;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
@@ -21,23 +22,18 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
Group.Text = "ALL";
|
||||
}
|
||||
|
||||
private SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
|
||||
DataSet sql; //内存数据缓存
|
||||
|
||||
public void Programgroup_sql()
|
||||
{
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
|
||||
string sql_script = "select * from ProgramName order by ProgramID desc";
|
||||
string sql_ProgramGroup = "select * from ProgramGroup order by ID desc";
|
||||
|
||||
if (sql != null) sql.Clear(); //清空缓存
|
||||
sql = SQLiteHelpers.ExecuteDataSet(sql_script, null); //读取计划表写入缓存
|
||||
sql = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet(sql_script, null); //读取计划表写入缓存
|
||||
if (sql != null) Grid.ItemsSource = sql.Tables[0].DefaultView; //转换显示计划表
|
||||
|
||||
DataTable GROUP = SQLiteHelpers.ExecuteDataSet(sql_ProgramGroup, null).Tables[0]; //获得程序组
|
||||
DataTable GROUP = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet(sql_ProgramGroup, null).Tables[0]; //获得程序组
|
||||
List<string> result = new List<string>();
|
||||
result.Add("ALL");
|
||||
for (int i =0; i<GROUP.Rows.Count;i++)
|
||||
@@ -45,8 +41,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
result.Add (GROUP.Rows[i][1].ToString());
|
||||
}
|
||||
Group.ItemsSource = result.ToArray();
|
||||
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
}
|
||||
|
||||
public static string Programgroup_Numder { get; set; }
|
||||
@@ -98,10 +92,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
Program_new.Add("Time", "0:00");
|
||||
Program_new.Add("Notes", null);
|
||||
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.InsertData("ProgramName", Program_new);// 执行插入
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
MainWindowViewModel.SQLiteHelpers.InsertData("ProgramName", Program_new);// 执行插入
|
||||
|
||||
Programgroup_Numder = VALUE;
|
||||
Programgroup_ID = ID;
|
||||
@@ -140,10 +131,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
Program_Rename.Add("ProgramName", VALUE);
|
||||
Program_Rename.Add("Groups", Group.Text);
|
||||
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.Update("ProgramName", Program_Rename, "ProgramID='" + Programgroup_ID + "'", null);
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
MainWindowViewModel.SQLiteHelpers.Update("ProgramName", Program_Rename, "ProgramID='" + Programgroup_ID + "'", null);
|
||||
|
||||
Programgroup_sql();
|
||||
Programgroup_Numder = null;
|
||||
@@ -170,10 +158,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
Dictionary<string, object> Program_Remark = new Dictionary<string, object>();//缓存函数
|
||||
Program_Remark.Add("Notes", VALUE);
|
||||
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.Update("ProgramName", Program_Remark, "ProgramID='" + Programgroup_ID + "'", null);
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
MainWindowViewModel.SQLiteHelpers.Update("ProgramName", Program_Remark, "ProgramID='" + Programgroup_ID + "'", null);
|
||||
|
||||
Programgroup_sql();
|
||||
Programgroup_Numder = null;
|
||||
@@ -192,11 +177,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
System.Windows.Forms.MessageBoxButtons.OKCancel, System.Windows.Forms.MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
///执行删除
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.Delete("ProgramName", "ProgramID='" + Programgroup_ID + "'", null);
|
||||
SQLiteHelpers.Delete("ProgramSteps", "ProgramID='" + Programgroup_ID + "'", null);
|
||||
SQLiteHelpers.Close();
|
||||
MainWindowViewModel.SQLiteHelpers.Delete("ProgramName", "ProgramID='" + Programgroup_ID + "'", null);
|
||||
MainWindowViewModel.SQLiteHelpers.Delete("ProgramSteps", "ProgramID='" + Programgroup_ID + "'", null);
|
||||
Programgroup_sql();
|
||||
}
|
||||
Programgroup_Numder = null;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using SunlightCentralizedControlManagement_SCCM_.UserClass;
|
||||
using SunlightCentralizedControlManagement_SCCM_.ViewModel;
|
||||
using SunlightCentralizedControlManagement_SCCM_.WindowsView;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -46,8 +47,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
Programgroup_sql();
|
||||
}
|
||||
|
||||
private SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
|
||||
DataSet sql; //内存数据缓存
|
||||
|
||||
string ProgramID;
|
||||
@@ -58,13 +57,10 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
string StepTime = null;
|
||||
public void Programgroup_sql()
|
||||
{
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
|
||||
string sql_script = "select * from ProgramSteps where ProgramID='" + ProgramID + "' order by Step asc";
|
||||
|
||||
if (sql != null) sql.Clear(); //清空缓存
|
||||
sql = SQLiteHelpers.ExecuteDataSet(sql_script, null); //读取计划表写入缓存
|
||||
sql = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet(sql_script, null); //读取计划表写入缓存
|
||||
//sql.Tables[0].Rows.Add(datatable_t);
|
||||
DataRow dr = sql.Tables[0].NewRow();//添加表数据
|
||||
dr["ProgramID"] = ProgramID;
|
||||
@@ -72,7 +68,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
sql.Tables[0].Rows.Add(dr);
|
||||
Dat();
|
||||
if (sql != null) Grid.ItemsSource = sql.Tables[0].DefaultView; //转换显示计划表
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
}
|
||||
|
||||
public void Dat()//行号刷新
|
||||
@@ -256,11 +251,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
Insert.IsEnabled = false;
|
||||
Delete.IsEnabled = false;
|
||||
int r = 0;
|
||||
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.Delete("ProgramSteps", "ProgramID = '" + ProgramID + "'", null);
|
||||
|
||||
MainWindowViewModel.SQLiteHelpers.Delete("ProgramSteps", "ProgramID = '" + ProgramID + "'", null);
|
||||
DataTable data_t = new DataTable();
|
||||
data_t = sql.Tables[0].Clone();
|
||||
|
||||
@@ -274,7 +265,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
dr.ItemArray = dt.ItemArray;
|
||||
data_t.Rows.InsertAt(dr, 0);
|
||||
|
||||
r = SQLiteHelpers.InsertData("ProgramSteps", SQLiteHelpers.DataTableToDictionary(data_t));//行插入
|
||||
r = MainWindowViewModel.SQLiteHelpers.InsertData("ProgramSteps", MainWindowViewModel.SQLiteHelpers.DataTableToDictionary(data_t));//行插入
|
||||
}
|
||||
|
||||
int time =Convert.ToUInt16( sql.Tables[0].Compute("sum(StepTime)", ""))/60;
|
||||
@@ -282,9 +273,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
Dictionary<string, object> Program_Step = new Dictionary<string, object>();//缓存函数
|
||||
Program_Step.Add("Step", a - 1);
|
||||
Program_Step.Add("Time", time_);
|
||||
SQLiteHelpers.Update("ProgramName", Program_Step, "ProgramID='" + ProgramID + "'", null);
|
||||
MainWindowViewModel.SQLiteHelpers.Update("ProgramName", Program_Step, "ProgramID='" + ProgramID + "'", null);
|
||||
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
if (r != 0)
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show(ProgramNAME, Properties.Resources.Save);
|
||||
|
||||
+421
-226
@@ -4,6 +4,7 @@ using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using OpenTK.Graphics.ES11;
|
||||
using ScottPlot.Palettes;
|
||||
using ScottPlot.TickGenerators.TimeUnits;
|
||||
using SunlightCentralizedControlManagement_SCCM_.EX.Exchange;
|
||||
using SunlightCentralizedControlManagement_SCCM_.Properties;
|
||||
using SunlightCentralizedControlManagement_SCCM_.UserClass;
|
||||
@@ -26,6 +27,7 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Timers;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Markup;
|
||||
using System.Windows.Media;
|
||||
@@ -38,8 +40,6 @@ using static MaterialDesignThemes.Wpf.Theme;
|
||||
using static SunlightCentralizedControlManagement_SCCM_.UserClass.SqliteHelper;
|
||||
using static SunlightCentralizedControlManagement_SCCM_.View.MachinesView;
|
||||
using static SunlightCentralizedControlManagement_SCCM_.ViewModel.ManualDyelotModel;
|
||||
using static System.Net.WebRequestMethods;
|
||||
using static System.Windows.Forms.AxHost;
|
||||
|
||||
namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
{
|
||||
@@ -78,7 +78,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
public static string SN_KEY;
|
||||
public static bool DyelotsDispenser;
|
||||
public static SqlConnection conn_SC =new SqlConnection();//数据库
|
||||
private SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||
public static SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||
private BDC_SQL.BDCSqlHelper bDCSqlHelper = new BDC_SQL.BDCSqlHelper();
|
||||
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
|
||||
public static DataTable Machines = new DataTable(); //设备表缓存
|
||||
@@ -86,7 +86,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
public static DataTable USER_data = new DataTable();
|
||||
public static DataTable Dyelot_CALL = new DataTable();
|
||||
public static DataTable Whole_dat = new DataTable();
|
||||
public static UserControls.info[] inf = new UserControls.info[999]; //定义总览信息卡
|
||||
public static UserControls.info[] inf = new UserControls.info[200]; //定义总览信息卡
|
||||
public static int ERR_c = 0;//错误计数器
|
||||
public bool UPort1, UPort2, UPort3;
|
||||
public static bool[] USER_Capacity { set; get; } = new bool[99];
|
||||
@@ -111,19 +111,17 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
Machines = SQLiteHelpers.ExecuteDataSet("select * from Machines Order by id", null).Tables[0]; //读取表写入缓存
|
||||
USER_data = SQLiteHelpers.ExecuteDataSet("select * from USER order by Name desc", null).Tables[0];
|
||||
Dyelot_CALL = SQLiteHelpers.ExecuteDataSet("select * from Dyelot", null).Tables[0].Clone();
|
||||
SQLiteHelpers.Close();
|
||||
|
||||
Whole_dat.Columns.Add("Machine", Type.GetType("System.String"));
|
||||
Whole_dat.Columns.Add("DateTime", Type.GetType("System.DateTime"));
|
||||
Whole_dat.Columns.Add("DAT", Type.GetType("System.Double"));
|
||||
|
||||
USERCapacity(App.USER_Purview);//App.USER_Purview);
|
||||
UPort();//启动串口
|
||||
CountDown();
|
||||
ClientNEW();
|
||||
TcpClientNEW();
|
||||
PortClientNEW();
|
||||
SQL_LINK();
|
||||
CountDown();
|
||||
}
|
||||
public static void USERCapacity(string user) //权限
|
||||
{
|
||||
@@ -151,147 +149,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
}
|
||||
}
|
||||
|
||||
public static SerialPort port1 = new SerialPort();//创建串口
|
||||
public static SerialPort port2 = new SerialPort();//创建串口
|
||||
public static SerialPort port3 = new SerialPort();//创建串口
|
||||
void UPort()
|
||||
{
|
||||
try
|
||||
{
|
||||
int Ba = 9600;
|
||||
try { Ba = Convert.ToInt32(Configini.IniReadvalue("SYS", "BAUD1")); }
|
||||
catch (Exception) { Ba = 9600; }
|
||||
port1.PortName = Configini.IniReadvalue("SYS", "COMP1");
|
||||
port1.BaudRate = Ba;//配置
|
||||
port1.DataBits = 8;
|
||||
port1.Parity = Parity.Even;
|
||||
port1.StopBits = StopBits.One;
|
||||
port1.ReadTimeout = 500;
|
||||
port1.WriteTimeout = 500;
|
||||
port1.Encoding = Encoding.GetEncoding("ASCII");
|
||||
port1.Open();//打开串口
|
||||
port1.DataReceived += new SerialDataReceivedEventHandler(SerialPort1_DataReceived);
|
||||
UPort1 = true;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
UPort1 = false;
|
||||
LogGing.LogGingDATA(e.Message);
|
||||
}
|
||||
try
|
||||
{
|
||||
int Ba2 = 9600;
|
||||
try { Ba2 = Convert.ToInt32(Configini.IniReadvalue("SYS", "BAUD1")); }
|
||||
catch (Exception) { Ba2 = 9600; }
|
||||
port2.PortName = Configini.IniReadvalue("SYS", "COMP2");
|
||||
port2.BaudRate = Ba2;//配置
|
||||
port2.DataBits = 8;
|
||||
port2.Parity = Parity.Even;
|
||||
port2.StopBits = StopBits.One;
|
||||
port2.ReadTimeout = 500;
|
||||
port2.WriteTimeout = 500;
|
||||
port2.Encoding = Encoding.GetEncoding("ASCII");
|
||||
port2.Open();//打开串口
|
||||
port2.DataReceived += new SerialDataReceivedEventHandler(SerialPort2_DataReceived);
|
||||
UPort2 = true;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
UPort2 = false;
|
||||
LogGing.LogGingDATA(e.Message);
|
||||
}
|
||||
try
|
||||
{
|
||||
int Ba3 = 9600;
|
||||
try { Ba3 = Convert.ToInt32(Configini.IniReadvalue("SYS", "BAUD1")); }
|
||||
catch (Exception) { Ba3 = 9600; }
|
||||
port3.PortName = Configini.IniReadvalue("SYS", "COMP3");
|
||||
port3.BaudRate = Ba3;//配置
|
||||
port3.DataBits = 8;
|
||||
port3.Parity = Parity.Even;
|
||||
port3.StopBits = StopBits.One;
|
||||
port3.ReadTimeout = 500;
|
||||
port3.WriteTimeout = 500;
|
||||
port3.Encoding = Encoding.GetEncoding("ASCII");
|
||||
port3.Open();//打开串口
|
||||
port3.DataReceived += new SerialDataReceivedEventHandler(SerialPort3_DataReceived);
|
||||
UPort3 = true;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
UPort3 = false;
|
||||
LogGing.LogGingDATA(e.Message);
|
||||
}
|
||||
}//ck
|
||||
// 事件处理函数
|
||||
private void SerialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
|
||||
{
|
||||
int bytesToRead = port1.BytesToRead;
|
||||
byte[] buffer = new byte[bytesToRead];
|
||||
port1.Read(buffer, 0, bytesToRead); // 读取数据
|
||||
|
||||
// 将字节数据转换为字符串(注意编码方式)
|
||||
string receivedData = Encoding.ASCII.GetString(buffer); // 根据实际情况调整编码
|
||||
}// 事件处理函数
|
||||
private void SerialPort2_DataReceived(object sender, SerialDataReceivedEventArgs e)
|
||||
{
|
||||
int bytesToRead = port2.BytesToRead;
|
||||
byte[] buffer = new byte[bytesToRead];
|
||||
port2.Read(buffer, 0, bytesToRead); // 读取数据
|
||||
|
||||
// 将字节数据转换为字符串(注意编码方式)
|
||||
string receivedData = Encoding.ASCII.GetString(buffer); // 根据实际情况调整编码
|
||||
}// 事件处理函数
|
||||
private void SerialPort3_DataReceived(object sender, SerialDataReceivedEventArgs e)
|
||||
{
|
||||
int bytesToRead = port3.BytesToRead;
|
||||
byte[] buffer = new byte[bytesToRead];
|
||||
port3.Read(buffer, 0, bytesToRead); // 读取数据
|
||||
|
||||
// 将字节数据转换为字符串(注意编码方式)
|
||||
string receivedData = Encoding.ASCII.GetString(buffer); // 根据实际情况调整编码
|
||||
}
|
||||
private async void Port_link()
|
||||
{
|
||||
await Task.Run(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (stringQueueSerial.Count > 0) //信息发送队列
|
||||
{
|
||||
QueueSerial t = stringQueueSerial.Dequeue();
|
||||
if (t.ID == "PORT1")
|
||||
{
|
||||
if (UPort1)
|
||||
{
|
||||
port1.Write(t.DAT);
|
||||
}
|
||||
}
|
||||
else if (t.ID == "PORT2")
|
||||
{
|
||||
if (UPort2)
|
||||
{
|
||||
port2.Write(t.DAT);
|
||||
}
|
||||
}
|
||||
else if (t.ID == "PORT3")
|
||||
{
|
||||
if (UPort3)
|
||||
{
|
||||
port3.Write(t.DAT);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
Port_link();
|
||||
}
|
||||
});
|
||||
}//发送
|
||||
public async void SQL_LINK()//连接dbc数据库
|
||||
{
|
||||
if (conn_SC.State == ConnectionState.Open) conn_SC.Close();
|
||||
@@ -342,7 +199,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
int Time5 = 0, Time30 = 0;
|
||||
void DisTimer_50MS(object sender, EventArgs e)//Tick_Event周期执行事件50MS
|
||||
{
|
||||
int _id=-1;
|
||||
int _id = -1;
|
||||
if (stringQueue.Count > 0) //信息发送队列
|
||||
{
|
||||
QueueString t = stringQueue.Dequeue();
|
||||
@@ -354,13 +211,16 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
QueueString inf = stringQueueinf.Dequeue();
|
||||
if (_id != inf.ID) MachiensTcpClient[inf.ID].SendAsync(inf.DAT);
|
||||
}
|
||||
/*if (stringQueueSerial.Count > 0) //ck信息发送队列
|
||||
{
|
||||
QueueSerial t = stringQueueSerial.Dequeue();
|
||||
MachiensPortClient[t.ID].Send(t.DAT);
|
||||
}*/
|
||||
}
|
||||
void Tick_Main_1S(object sender, EventArgs e)//Tick_Event周期执行事件1S
|
||||
{
|
||||
/*下传工单信息*/
|
||||
SQLiteHelper WorkOrderSQL = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
WorkOrderSQL.Open(); //打开数据库
|
||||
DataTable WorkOrderstepdata = WorkOrderSQL.ExecuteDataSet("select * from WorkOrder where (State='111' or State='112') AND EndTime >'" +
|
||||
DataTable WorkOrderstepdata = SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where (State='111' or State='112') AND EndTime >'" +
|
||||
DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'", null).Tables[0]; //读取表写入缓存
|
||||
for (int k = 0; k < WorkOrderstepdata.Rows.Count; k++)
|
||||
{//网络
|
||||
@@ -369,7 +229,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
if (Convert.ToBoolean(Selet_Machines(Machines, "Type", "Name='" + WorkOrderdata_m + "'")))
|
||||
{
|
||||
//string WorkOrderdata_m = WorkOrderstepdata.Select()[k].Field<object>("Machines").ToString();
|
||||
DataTable dataTable = WorkOrderSQL.ExecuteDataSet("select * from WorkorderSteps where WorkOrder='" +
|
||||
DataTable dataTable = SQLiteHelpers.ExecuteDataSet("select * from WorkorderSteps where WorkOrder='" +
|
||||
WorkOrderstepdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null).Tables[0];
|
||||
int index = Convert.ToInt16(Selet_Machines(Machines, "ID", "Name='" + WorkOrderdata_m + "'").ToString());
|
||||
stringQueue.Enqueue(new QueueString
|
||||
@@ -377,7 +237,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
ID = index,
|
||||
DAT = "SC811" + Selet_Machines(Machines, "SYSKEY", "ID='" + index + "'") + dataTable.ToJsonString()
|
||||
});
|
||||
WorkOrderSQL.Update("WorkOrder", new Dictionary<string, object> { { "State", 112 } },
|
||||
SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 112 } },
|
||||
"WorkOrder ='" + WorkOrderstepdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null);
|
||||
}
|
||||
else
|
||||
@@ -386,7 +246,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
}
|
||||
}
|
||||
/*下传工单总览*/
|
||||
DataTable WorkOrderdata = WorkOrderSQL.ExecuteDataSet("select * from WorkOrder where (State='100' or State='110') AND EndTime >'" +
|
||||
DataTable WorkOrderdata = SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where (State='100' or State='110') AND EndTime >'" +
|
||||
DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'", null).Tables[0]; //读取表写入缓存
|
||||
for (int k = 0; k < WorkOrderdata.Rows.Count; k++)
|
||||
{
|
||||
@@ -413,7 +273,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
ID = index,
|
||||
DAT = "SC810" + Selet_Machines(Machines, "SYSKEY", "ID='" + index + "'") + DataTableToDictionary(dataTable).ToJsonString()
|
||||
});
|
||||
WorkOrderSQL.Update("WorkOrder", new Dictionary<string, object> { { "State", 110 } },
|
||||
SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 110 } },
|
||||
"WorkOrder ='" + WorkOrderdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null);
|
||||
}
|
||||
}
|
||||
@@ -421,7 +281,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
{//串口
|
||||
//string WorkOrderdata_m = WorkOrderdata.Select()[k].Field<object>("Machines").ToString();
|
||||
string State = Selet_Machines(Machines, "State", "Name='" + WorkOrderdata_m + "'").ToString();
|
||||
string POR = Selet_Machines(Machines, "Serial", "ID='" + k + "'").ToString();
|
||||
|
||||
if ((State == "101") || (State == "201") || (State == "202") || (State == "309"))
|
||||
{
|
||||
@@ -434,18 +293,46 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
dataTable.Rows.Add(dt_temp.ItemArray);
|
||||
|
||||
int index = Convert.ToInt16(Selet_Machines(Machines, "ID", "Name='" + WorkOrderdata_m + "'").ToString());
|
||||
stringQueueSerial.Enqueue(new QueueSerial
|
||||
if (Selet_Machines(Machines, "Serial", "Name='" + WorkOrderdata_m + "'").ToString() == "PORT1")
|
||||
{
|
||||
ID = POR,
|
||||
stringQueueSerial_1.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = index,
|
||||
DAT = "SC810" + Selet_Machines(Machines, "SYSKEY", "ID='" + index + "'") + DataTableToDictionary(dataTable).ToJsonString()
|
||||
});
|
||||
WorkOrderSQL.Update("WorkOrder", new Dictionary<string, object> { { "State", 110 } },
|
||||
}
|
||||
else if (Selet_Machines(Machines, "Serial", "Name='" + WorkOrderdata_m + "'").ToString() == "PORT2")
|
||||
{
|
||||
stringQueueSerial_2.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = index,
|
||||
DAT = "SC810" + Selet_Machines(Machines, "SYSKEY", "ID='" + index + "'") + DataTableToDictionary(dataTable).ToJsonString()
|
||||
});
|
||||
}
|
||||
else if (Selet_Machines(Machines, "Serial", "Name='" + WorkOrderdata_m + "'").ToString() == "PORT3")
|
||||
{
|
||||
stringQueueSerial_3.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = index,
|
||||
DAT = "SC810" + Selet_Machines(Machines, "SYSKEY", "ID='" + index + "'") + DataTableToDictionary(dataTable).ToJsonString()
|
||||
});
|
||||
}
|
||||
else if (Selet_Machines(Machines, "Serial", "Name='" + WorkOrderdata_m + "'").ToString() == "PORT4")
|
||||
{
|
||||
stringQueueSerial_4.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = index,
|
||||
DAT = "SC810" + Selet_Machines(Machines, "SYSKEY", "ID='" + index + "'") + DataTableToDictionary(dataTable).ToJsonString()
|
||||
});
|
||||
}
|
||||
|
||||
SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 110 } },
|
||||
"WorkOrder ='" + WorkOrderdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null);
|
||||
}
|
||||
}
|
||||
}
|
||||
/*下传工单设置*/
|
||||
DataTable WorkOrderset_ = WorkOrderSQL.ExecuteDataSet("select * from WorkOrder where State='113' AND EndTime >'" +
|
||||
DataTable WorkOrderset_ = SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where State='113' AND EndTime >'" +
|
||||
DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'", null).Tables[0]; //读取表写入缓存
|
||||
for (int k = 0; k < WorkOrderset_.Rows.Count; k++)
|
||||
{
|
||||
@@ -457,7 +344,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
string WorkOrderset_w = WorkOrderset_.Select()[k].Field<object>("WorkOrder").ToString();
|
||||
int index = Convert.ToInt16(Selet_Machines(Machines, "ID", "Name='" + WorkOrderset_m + "'").ToString());
|
||||
|
||||
DataTable WorkOrder_set = WorkOrderSQL.ExecuteDataSet("select * from WorkOrderSet where WorkOrder='" +
|
||||
DataTable WorkOrder_set = SQLiteHelpers.ExecuteDataSet("select * from WorkOrderSet where WorkOrder='" +
|
||||
WorkOrderset_w + "'", null).Tables[0]; //读取表写入缓存
|
||||
if (WorkOrder_set.Rows.Count > 0)
|
||||
{
|
||||
@@ -468,33 +355,65 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
});
|
||||
}
|
||||
|
||||
WorkOrderSQL.Update("WorkOrder", new Dictionary<string, object> { { "State", 110 } },
|
||||
SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 110 } },
|
||||
"WorkOrder ='" + WorkOrderdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null);
|
||||
}
|
||||
else
|
||||
{//串口
|
||||
//string WorkOrderset_m = WorkOrderset_.Select()[k].Field<object>("Machines").ToString();
|
||||
string WorkOrderset_w = WorkOrderset_.Select()[k].Field<object>("WorkOrder").ToString();
|
||||
string POR = Selet_Machines(Machines, "Serial", "ID='" + k + "'").ToString();
|
||||
|
||||
DataTable WorkOrder_set = WorkOrderSQL.ExecuteDataSet("select * from WorkOrderSet where WorkOrder='" +
|
||||
DataTable WorkOrder_set = SQLiteHelpers.ExecuteDataSet("select * from WorkOrderSet where WorkOrder='" +
|
||||
WorkOrderset_w + "'", null).Tables[0]; //读取表写入缓存
|
||||
if (WorkOrder_set.Rows.Count > 0)
|
||||
{
|
||||
stringQueueSerial.Enqueue(new QueueSerial
|
||||
int index = Convert.ToInt16(Selet_Machines(Machines, "ID", "Name='" + WorkOrderset_m + "'").ToString());
|
||||
if (Selet_Machines(Machines, "Serial", "Name='" + WorkOrderset_m + "'").ToString() == "PORT1")
|
||||
{
|
||||
ID = POR,
|
||||
stringQueueSerial_1.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = index,
|
||||
DAT = "SC812[" +
|
||||
Selet_Machines(Machines, "Station", "ID='" + k + "'") + "]" +
|
||||
DataTableToDictionary(WorkOrder_set).ToJsonString()
|
||||
});
|
||||
}
|
||||
WorkOrderSQL.Update("WorkOrder", new Dictionary<string, object> { { "State", 110 } },
|
||||
else if (Selet_Machines(Machines, "Serial", "Name='" + WorkOrderset_m + "'").ToString() == "PORT2")
|
||||
{
|
||||
stringQueueSerial_2.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = index,
|
||||
DAT = "SC812[" +
|
||||
Selet_Machines(Machines, "Station", "ID='" + k + "'") + "]" +
|
||||
DataTableToDictionary(WorkOrder_set).ToJsonString()
|
||||
});
|
||||
}
|
||||
else if (Selet_Machines(Machines, "Serial", "Name='" + WorkOrderset_m + "'").ToString() == "PORT3")
|
||||
{
|
||||
stringQueueSerial_3.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = index,
|
||||
DAT = "SC812[" +
|
||||
Selet_Machines(Machines, "Station", "ID='" + k + "'") + "]" +
|
||||
DataTableToDictionary(WorkOrder_set).ToJsonString()
|
||||
});
|
||||
}
|
||||
else if (Selet_Machines(Machines, "Serial", "Name='" + WorkOrderset_m + "'").ToString() == "PORT4")
|
||||
{
|
||||
stringQueueSerial_4.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = index,
|
||||
DAT = "SC812[" +
|
||||
Selet_Machines(Machines, "Station", "ID='" + k + "'") + "]" +
|
||||
DataTableToDictionary(WorkOrder_set).ToJsonString()
|
||||
});
|
||||
}
|
||||
}
|
||||
SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 110 } },
|
||||
"WorkOrder ='" + WorkOrderdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null);
|
||||
|
||||
}
|
||||
}
|
||||
WorkOrderSQL.Close();
|
||||
|
||||
//系统时间
|
||||
Sys_Time = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
|
||||
@@ -559,34 +478,98 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (MachinesRow["State"].ToString() == "800")
|
||||
{//串口发送
|
||||
string POR = MachinesRow["Serial"].ToString();
|
||||
|
||||
stringQueueSerial.Enqueue(new QueueSerial
|
||||
if (MachinesRow["State"].ToString() == "802")
|
||||
{
|
||||
ID = POR,
|
||||
if (MachinesRow["Serial"].ToString() == "PORT1")
|
||||
{
|
||||
stringQueueSerial_1.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC830[" + MachinesRow["Station"] + "]"
|
||||
});
|
||||
|
||||
bool mode =Convert.ToBoolean( MachinesRow["LOCK"]);//发送锁定状态
|
||||
bool mode = Convert.ToBoolean(MachinesRow["LOCK"]);//发送锁定状态
|
||||
if (mode)
|
||||
{
|
||||
Dictionary<string, object> dat_829 = new Dictionary<string, object>();
|
||||
dat_829.Clear();
|
||||
dat_829.Add("NAME", "LOCK");
|
||||
dat_829.Add("VALUE", "True");
|
||||
stringQueueSerial.Enqueue(new QueueSerial
|
||||
stringQueueSerial_1.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = POR,
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC829[" + MachinesRow["Station"] + "]" + dat_829.ToJsonString()
|
||||
});
|
||||
}
|
||||
|
||||
// Updata_Machines(Machines, "State", "ID='" + MachinesRow["ID"] + "'", "800");
|
||||
}
|
||||
else if (MachinesRow["Serial"].ToString() == "PORT2")
|
||||
{
|
||||
stringQueueSerial_2.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC830[" + MachinesRow["Station"] + "]"
|
||||
});
|
||||
|
||||
bool mode = Convert.ToBoolean(MachinesRow["LOCK"]);//发送锁定状态
|
||||
if (mode)
|
||||
{
|
||||
Dictionary<string, object> dat_829 = new Dictionary<string, object>();
|
||||
dat_829.Clear();
|
||||
dat_829.Add("NAME", "LOCK");
|
||||
dat_829.Add("VALUE", "True");
|
||||
stringQueueSerial_2.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC829[" + MachinesRow["Station"] + "]" + dat_829.ToJsonString()
|
||||
});
|
||||
}
|
||||
}
|
||||
else if (MachinesRow["Serial"].ToString() == "PORT3")
|
||||
{
|
||||
stringQueueSerial_3.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC830[" + MachinesRow["Station"] + "]"
|
||||
});
|
||||
|
||||
bool mode = Convert.ToBoolean(MachinesRow["LOCK"]);//发送锁定状态
|
||||
if (mode)
|
||||
{
|
||||
Dictionary<string, object> dat_829 = new Dictionary<string, object>();
|
||||
dat_829.Clear();
|
||||
dat_829.Add("NAME", "LOCK");
|
||||
dat_829.Add("VALUE", "True");
|
||||
stringQueueSerial_3.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC829[" + MachinesRow["Station"] + "]" + dat_829.ToJsonString()
|
||||
});
|
||||
}
|
||||
}
|
||||
else if (MachinesRow["Serial"].ToString() == "PORT4")
|
||||
{
|
||||
stringQueueSerial_4.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC830[" + MachinesRow["Station"] + "]"
|
||||
});
|
||||
|
||||
bool mode = Convert.ToBoolean(MachinesRow["LOCK"]);//发送锁定状态
|
||||
if (mode)
|
||||
{
|
||||
Dictionary<string, object> dat_829 = new Dictionary<string, object>();
|
||||
dat_829.Clear();
|
||||
dat_829.Add("NAME", "LOCK");
|
||||
dat_829.Add("VALUE", "True");
|
||||
stringQueueSerial_4.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC829[" + MachinesRow["Station"] + "]" + dat_829.ToJsonString()
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
int m_run =Convert.ToInt16( MachinesRow["WORK_RUN"]);
|
||||
if (m_run == 0)
|
||||
{
|
||||
@@ -609,13 +592,39 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
string mac_s = MachinesRow["State"].ToString();
|
||||
if ((mac_s == "101") || (mac_s == "201") || (mac_s == "202") || (mac_s == "301") || (mac_s == "309"))//获取信息
|
||||
{
|
||||
string POR = MachinesRow["Serial"].ToString();
|
||||
stringQueueSerial.Enqueue(new QueueSerial
|
||||
if (MachinesRow["Serial"].ToString() == "PORT1")
|
||||
{
|
||||
ID = POR,
|
||||
stringQueueSerial_1.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC830[" + MachinesRow["Station"] + "]"
|
||||
});
|
||||
}
|
||||
else if (MachinesRow["Serial"].ToString() == "PORT2")
|
||||
{
|
||||
stringQueueSerial_2.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC830[" + MachinesRow["Station"] + "]"
|
||||
});
|
||||
}
|
||||
else if (MachinesRow["Serial"].ToString() == "PORT3")
|
||||
{
|
||||
stringQueueSerial_3.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC830[" + MachinesRow["Station"] + "]"
|
||||
});
|
||||
}
|
||||
else if (MachinesRow["Serial"].ToString() == "PORT4")
|
||||
{
|
||||
stringQueueSerial_4.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC830[" + MachinesRow["Station"] + "]"
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -678,14 +687,38 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
}
|
||||
else
|
||||
{//串口
|
||||
string POR = MachinesRow["Serial"].ToString();
|
||||
|
||||
stringQueueSerial.Enqueue(new QueueSerial
|
||||
if (MachinesRow["Serial"].ToString() == "PORT1")
|
||||
{
|
||||
ID = POR,
|
||||
DAT = "SC827[" + MachinesRow["Station"]+"]"
|
||||
stringQueueSerial_1.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC827[" + MachinesRow["Station"] + "]"
|
||||
});
|
||||
|
||||
}
|
||||
else if (MachinesRow["Serial"].ToString() == "PORT2")
|
||||
{
|
||||
stringQueueSerial_2.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC827[" + MachinesRow["Station"] + "]"
|
||||
});
|
||||
}
|
||||
else if (MachinesRow["Serial"].ToString() == "PORT3")
|
||||
{
|
||||
stringQueueSerial_3.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC827[" + MachinesRow["Station"] + "]"
|
||||
});
|
||||
}
|
||||
else if (MachinesRow["Serial"].ToString() == "PORT4")
|
||||
{
|
||||
stringQueueSerial_4.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC827[" + MachinesRow["Station"] + "]"
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -709,13 +742,10 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
}
|
||||
Dictionary<string, object> dat_ = new Dictionary<string, object>();//缓存函数
|
||||
dat_.Add("State", 203);
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.Update("DyelotHistory", dat_,
|
||||
"Dyelot='" + row.Field<string>("Dyelot") +
|
||||
"' and Redye='" + row.Field<int>("Redye") +
|
||||
"' and Step='" + row.Field<int>("Step") + "'", null);// 执行插入
|
||||
SQLiteHelpers.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -893,8 +923,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
{//301列表发送完成至染机(203=>301)
|
||||
foreach (DataRow row in Dyelot_CALL.Select("State='301' OR State='309'"))
|
||||
{
|
||||
if (Convert.ToBoolean(MachinesRow["Type"]))
|
||||
{//网络
|
||||
Dictionary<string, object> Product_ = new Dictionary<string, object>();//缓存函数
|
||||
Product_.Add("State", row.Field<int>("State"));
|
||||
Product_.Add("Step", row.Field<int>("Step"));
|
||||
@@ -903,6 +931,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
Product_.Add("Amount", row.Field<object>("Amount"));
|
||||
Product_.Add("DispenseEndTime", row.Field<object>("DispenseEndTime"));
|
||||
|
||||
if (Convert.ToBoolean(MachinesRow["Type"]))
|
||||
{//网络
|
||||
stringQueue.Enqueue(new QueueString
|
||||
{
|
||||
ID = Convert.ToInt16(Selet_Machines(Machines,
|
||||
@@ -910,6 +940,43 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
DAT = "SC828" + Selet_Machines(Machines,
|
||||
"SYSKEY", "Name='" + row.Field<string>("Machine") + "'") + Product_.ToJsonString()
|
||||
});
|
||||
}
|
||||
else
|
||||
{//串口
|
||||
if (MachinesRow["Serial"].ToString() == "PORT1")
|
||||
{
|
||||
stringQueueSerial_1.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC828[" + MachinesRow["Station"] + "]" + Product_.ToJsonString()
|
||||
});
|
||||
}
|
||||
else if (MachinesRow["Serial"].ToString() == "PORT2")
|
||||
{
|
||||
stringQueueSerial_2.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC828[" + MachinesRow["Station"] + "]" + Product_.ToJsonString()
|
||||
});
|
||||
}
|
||||
else if (MachinesRow["Serial"].ToString() == "PORT3")
|
||||
{
|
||||
stringQueueSerial_3.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC828[" + MachinesRow["Station"] + "]" + Product_.ToJsonString()
|
||||
});
|
||||
}
|
||||
else if (MachinesRow["Serial"].ToString() == "PORT4")
|
||||
{
|
||||
stringQueueSerial_4.Enqueue(new QueueSerial
|
||||
{
|
||||
ID = Convert.ToInt16(MachinesRow["ID"]),
|
||||
DAT = "SC828[" + MachinesRow["Station"] + "]" + Product_.ToJsonString()
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (row["State"].ToString() == "309")
|
||||
{
|
||||
MainWindow.InfData.Rows.Add(new object[] { row["Machine"],
|
||||
@@ -917,18 +984,11 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
Selet_Machines(Machines, "SYSKEY", "Name='" + row["Machine"] + "'"),
|
||||
Selet_Machines(Machines, "ID", "Name='" + row["Machine"] + "'")});
|
||||
}
|
||||
Dyelot_CALL.Rows.Remove(row);
|
||||
}
|
||||
else
|
||||
{//串口
|
||||
|
||||
}
|
||||
Dyelot_CALL.Rows.Remove(row);
|
||||
}
|
||||
}
|
||||
catch (Exception EX) { LogGing.ERRDATA(EX); }
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
void Tick_Event_30S()
|
||||
@@ -948,7 +1008,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
}
|
||||
|
||||
public static TcpClient[] MachiensTcpClient = new TcpClient[99];
|
||||
public static SerialPortClient[] MachiensPortClient = new SerialPortClient[99];
|
||||
public static SerialPortClient[] MachiensPortClient = new SerialPortClient[4];
|
||||
//public static DataRow[] machinesdata = new DataRow[999];
|
||||
public void ClientNEW()
|
||||
{
|
||||
@@ -980,38 +1040,175 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
}
|
||||
}
|
||||
}
|
||||
public void PortClientNEW()
|
||||
public async void PortClientNEW()
|
||||
{
|
||||
foreach (DataRow dataRow in Machines.Rows)
|
||||
if (Machines.Select("Type='false' AND Serial='PORT1'").Length > 0)
|
||||
{
|
||||
if (!Convert.ToBoolean(dataRow["Type"]))
|
||||
{
|
||||
string Serial_ = dataRow["Serial"].ToString();
|
||||
|
||||
if (Serial_ == "PORT1")
|
||||
{
|
||||
MachiensPortClient[Convert.ToInt16(dataRow["ID"])] = new SerialPortClient();
|
||||
_ = AsyncSerialPortClient.PortClient(MachiensPortClient[Convert.ToInt16(dataRow["ID"])] //建立连接
|
||||
MachiensPortClient[0] = new SerialPortClient();
|
||||
await AsyncSerialPortClient.PortClient(MachiensPortClient[0] //建立连接
|
||||
, Configini.IniReadvalue("SYS", "COMP1")
|
||||
, Convert.ToInt32(Configini.IniReadvalue("SYS", "BAUD1")));
|
||||
Port1_link();
|
||||
}
|
||||
else if (Serial_ == "PORT2")
|
||||
if (Machines.Select("Type='false' AND Serial='PORT2'").Length > 0)
|
||||
{
|
||||
MachiensPortClient[Convert.ToInt16(dataRow["ID"])] = new SerialPortClient();
|
||||
_ = AsyncSerialPortClient.PortClient(MachiensPortClient[Convert.ToInt16(dataRow["ID"])] //建立连接
|
||||
MachiensPortClient[1] = new SerialPortClient();
|
||||
await AsyncSerialPortClient.PortClient(MachiensPortClient[1] //建立连接
|
||||
, Configini.IniReadvalue("SYS", "COMP2")
|
||||
, Convert.ToInt32(Configini.IniReadvalue("SYS", "BAUD2")));
|
||||
Port2_link();
|
||||
}
|
||||
else if (Serial_ == "PORT3")
|
||||
if (Machines.Select("Type='false' AND Serial='PORT3'").Length > 0)
|
||||
{
|
||||
MachiensPortClient[Convert.ToInt16(dataRow["ID"])] = new SerialPortClient();
|
||||
_ = AsyncSerialPortClient.PortClient(MachiensPortClient[Convert.ToInt16(dataRow["ID"])] //建立连接
|
||||
MachiensPortClient[2] = new SerialPortClient();
|
||||
await AsyncSerialPortClient.PortClient(MachiensPortClient[2] //建立连接
|
||||
, Configini.IniReadvalue("SYS", "COMP3")
|
||||
, Convert.ToInt32(Configini.IniReadvalue("SYS", "BAUD3")));
|
||||
Port3_link();
|
||||
}
|
||||
if (Machines.Select("Type='false' AND Serial='PORT4'").Length > 0)
|
||||
{
|
||||
MachiensPortClient[3] = new SerialPortClient();
|
||||
await AsyncSerialPortClient.PortClient(MachiensPortClient[3] //建立连接
|
||||
, Configini.IniReadvalue("SYS", "COMP4")
|
||||
, Convert.ToInt32(Configini.IniReadvalue("SYS", "BAUD4")));
|
||||
Port4_link();
|
||||
}
|
||||
}
|
||||
private void Port1_link()
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
foreach (DataRow MachinesRow in Machines.Select("Type='false' AND Serial='PORT1'"))
|
||||
{
|
||||
if (stringQueueSerial_1.Count > 0) //信息发送队列
|
||||
{
|
||||
QueueSerial t = stringQueueSerial_1.Dequeue();
|
||||
|
||||
AsyncSerialPortClient.SendCommandAndWait(MachiensPortClient[0], t.DAT);
|
||||
//MachiensPortClient[t.ID].Send(t.DAT);
|
||||
}
|
||||
if (MachinesRow["State"].ToString() == "800")
|
||||
{
|
||||
AsyncSerialPortClient.SendCommandAndWait(
|
||||
MachiensPortClient[0],
|
||||
"SC800[" + MachinesRow["Station"] + "]");
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
// if (stringQueueSerial.Count == 0) return;
|
||||
Port1_link();//回调
|
||||
}
|
||||
});
|
||||
}//发送
|
||||
private void Port2_link()
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
foreach (DataRow MachinesRow in Machines.Select("Type='false' AND Serial='PORT2'"))
|
||||
{
|
||||
if (stringQueueSerial_2.Count > 0) //信息发送队列
|
||||
{
|
||||
QueueSerial t = stringQueueSerial_2.Dequeue();
|
||||
|
||||
AsyncSerialPortClient.SendCommandAndWait(MachiensPortClient[1], t.DAT);
|
||||
//MachiensPortClient[t.ID].Send(t.DAT);
|
||||
}
|
||||
if (MachinesRow["State"].ToString() == "800")
|
||||
{
|
||||
AsyncSerialPortClient.SendCommandAndWait(
|
||||
MachiensPortClient[1],
|
||||
"SC800[" + MachinesRow["Station"] + "]");
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
// if (stringQueueSerial.Count == 0) return;
|
||||
Port2_link();//回调
|
||||
}
|
||||
});
|
||||
}//发送
|
||||
private void Port3_link()
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
foreach (DataRow MachinesRow in Machines.Select("Type='false' AND Serial='PORT3'"))
|
||||
{
|
||||
if (stringQueueSerial_3.Count > 0) //信息发送队列
|
||||
{
|
||||
QueueSerial t = stringQueueSerial_3.Dequeue();
|
||||
|
||||
AsyncSerialPortClient.SendCommandAndWait(MachiensPortClient[2], t.DAT);
|
||||
//MachiensPortClient[t.ID].Send(t.DAT);
|
||||
}
|
||||
if (MachinesRow["State"].ToString() == "800")
|
||||
{
|
||||
DataTable Workorddr = SQLiteHelpers.ExecuteDataSet("select * from Dyelot ", null).Tables[0]; //读取表写入缓存
|
||||
|
||||
AsyncSerialPortClient.SendCommandAndWait(
|
||||
MachiensPortClient[2],
|
||||
"SC800[" + MachinesRow["Station"] + "]"+Workorddr.ToJsonString());
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
// if (stringQueueSerial.Count == 0) return;
|
||||
Port3_link();//回调
|
||||
}
|
||||
});
|
||||
}//发送
|
||||
private void Port4_link()
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
foreach (DataRow MachinesRow in Machines.Select("Type='false' AND Serial='PORT4'"))
|
||||
{
|
||||
if (stringQueueSerial_4.Count > 0) //信息发送队列
|
||||
{
|
||||
QueueSerial t = stringQueueSerial_4.Dequeue();
|
||||
|
||||
AsyncSerialPortClient.SendCommandAndWait(MachiensPortClient[3], t.DAT);
|
||||
//MachiensPortClient[t.ID].Send(t.DAT);
|
||||
}
|
||||
if (MachinesRow["State"].ToString() == "800")
|
||||
{
|
||||
AsyncSerialPortClient.SendCommandAndWait(
|
||||
MachiensPortClient[3],
|
||||
"SC800[" + MachinesRow["Station"] + "]");
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
// if (stringQueueSerial.Count == 0) return;
|
||||
Port4_link();//回调
|
||||
}
|
||||
});
|
||||
}//发送
|
||||
|
||||
public static string SYS_WorkNumder; //工单号
|
||||
public static int SYS_AT1; //附缸1-3
|
||||
@@ -1092,7 +1289,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
public static UInt32 TX=0;
|
||||
public class QueueSerial
|
||||
{
|
||||
public string ID { get; set; }
|
||||
public int ID { get; set; }
|
||||
public string DAT { get; set; }
|
||||
}
|
||||
public class QueueString
|
||||
@@ -1100,15 +1297,13 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
public int ID { get; set; }
|
||||
public string DAT { get; set; }
|
||||
}
|
||||
public static class Queue
|
||||
{
|
||||
public static int ID { get; set; }
|
||||
public static string DAT { get; set; }
|
||||
}
|
||||
// 创建一个字符串类型的队列
|
||||
public static Queue<QueueString> stringQueue = new Queue<QueueString>();
|
||||
public static Queue<QueueString> stringQueueinf = new Queue<QueueString>();
|
||||
public static Queue<QueueSerial> stringQueueSerial = new Queue<QueueSerial>();
|
||||
public static Queue<QueueSerial> stringQueueSerial_1 = new Queue<QueueSerial>();
|
||||
public static Queue<QueueSerial> stringQueueSerial_2 = new Queue<QueueSerial>();
|
||||
public static Queue<QueueSerial> stringQueueSerial_3 = new Queue<QueueSerial>();
|
||||
public static Queue<QueueSerial> stringQueueSerial_4 = new Queue<QueueSerial>();
|
||||
|
||||
/// <summary>
|
||||
/// 将 DataTable 转换为 Dictionary 类型数据
|
||||
|
||||
@@ -29,8 +29,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.WindowsView
|
||||
public delegate void AddressUpdateHandler(object sender, AddressUpdateEventArgs e);
|
||||
//声明一个更新Address的事件
|
||||
public event AddressUpdateHandler AddressUpdated;
|
||||
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
|
||||
private SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||
private string MACHINEDATA;
|
||||
DataTable machine_table;
|
||||
private List<string> machine;
|
||||
@@ -40,12 +38,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.WindowsView
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
comboBoxMachine.ItemsSource = SQLiteHelpers.ExecuteDataSet("select * from MachinesGroups order by Name desc", null).Tables[0].
|
||||
comboBoxMachine.ItemsSource = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from MachinesGroups order by Name desc", null).Tables[0].
|
||||
AsEnumerable().Select(rowdata => rowdata.Field<string>("Name")).ToList();//转换代码
|
||||
machine_table = SQLiteHelpers.ExecuteDataSet("select * from Machines order by Name desc", null).Tables[0];
|
||||
SQLiteHelpers.Close(); //关闭连接
|
||||
machine_table = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from Machines order by Name desc", null).Tables[0];
|
||||
|
||||
machine = machine_table.AsEnumerable().Select(rowdata => rowdata.Field<string>("Name")).ToList();//转换代码
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using nGantt.GanttChart;
|
||||
using SunlightCentralizedControlManagement_SCCM_.View;
|
||||
using SunlightCentralizedControlManagement_SCCM_.ViewModel;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
@@ -17,8 +18,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.WindowsView
|
||||
/// </summary>
|
||||
public partial class User : Window
|
||||
{
|
||||
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
|
||||
private UserClass.SqliteHelper.SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||
CheckBox[] checkBoxes = new CheckBox[99];
|
||||
string[] strings = new string[13] {"修改系统设置", "修改用户设置",
|
||||
"单机监控","单机控制","单机设置","新建排程","排程编辑","排程删除",
|
||||
@@ -40,10 +39,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.WindowsView
|
||||
checkBoxes[i].Height = 50;
|
||||
Capacity.Children.Add(checkBoxes[i]);
|
||||
}
|
||||
SQLiteHelpers = new UserClass.SqliteHelper.SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
DataGriduser.ItemsSource = SQLiteHelpers.ExecuteDataSet("select * from USER order by Name desc", null).Tables[0].DefaultView;
|
||||
SQLiteHelpers.Close();
|
||||
DataGriduser.ItemsSource = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from USER order by Name desc", null).Tables[0].DefaultView;
|
||||
}
|
||||
|
||||
private void Tb_KeyFloating(object sender, TextCompositionEventArgs e)//输入事件
|
||||
@@ -105,22 +101,16 @@ namespace SunlightCentralizedControlManagement_SCCM_.WindowsView
|
||||
USER_new.Add("Groups", Group);
|
||||
USER_new.Add("Capacity", Cap);
|
||||
USER_new.Add("Note", note);
|
||||
SQLiteHelpers = new UserClass.SqliteHelper.SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.Delete("USER", "Name='" + name + "'", null);
|
||||
SQLiteHelpers.InsertData("USER", USER_new);// 执行插入
|
||||
DataGriduser.ItemsSource = SQLiteHelpers.ExecuteDataSet("select * from USER order by Name desc", null).Tables[0].DefaultView;
|
||||
SQLiteHelpers.Close();
|
||||
MainWindowViewModel.SQLiteHelpers.Delete("USER", "Name='" + name + "'", null);
|
||||
MainWindowViewModel.SQLiteHelpers.InsertData("USER", USER_new);// 执行插入
|
||||
DataGriduser.ItemsSource = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from USER order by Name desc", null).Tables[0].DefaultView;
|
||||
_Name.Text = null;
|
||||
}
|
||||
|
||||
private void Button_Delete(object sender, RoutedEventArgs e)//删除按钮事件
|
||||
{
|
||||
SQLiteHelpers = new UserClass.SqliteHelper.SQLiteHelper(DBAddress); //数据库连接路径
|
||||
SQLiteHelpers.Open(); //打开数据库
|
||||
SQLiteHelpers.Delete("USER", "Name='" + _Name.Text + "'", null);
|
||||
DataGriduser.ItemsSource = SQLiteHelpers.ExecuteDataSet("select * from USER order by Name desc", null).Tables[0].DefaultView;
|
||||
SQLiteHelpers.Close();
|
||||
MainWindowViewModel.SQLiteHelpers.Delete("USER", "Name='" + _Name.Text + "'", null);
|
||||
DataGriduser.ItemsSource = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from USER order by Name desc", null).Tables[0].DefaultView;
|
||||
_Name.Text = null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user