领料单读写功能
This commit is contained in:
commit
fefbae106e
6 files changed
+142
-11
No files matched your search
Binary file not shown.
@@ -142,6 +142,7 @@
|
|||||||
<Compile Include="UserClass\NumericTextColumn .cs" />
|
<Compile Include="UserClass\NumericTextColumn .cs" />
|
||||||
<Compile Include="UserClass\PID.cs" />
|
<Compile Include="UserClass\PID.cs" />
|
||||||
<Compile Include="UserClass\PressKey.cs" />
|
<Compile Include="UserClass\PressKey.cs" />
|
||||||
|
<Compile Include="UserClass\APILog.cs" />
|
||||||
<Compile Include="UserClass\SQLDATA.cs" />
|
<Compile Include="UserClass\SQLDATA.cs" />
|
||||||
<Compile Include="UserClass\SqliteHelper.cs" />
|
<Compile Include="UserClass\SqliteHelper.cs" />
|
||||||
<Compile Include="UserClass\StrToInt.cs" />
|
<Compile Include="UserClass\StrToInt.cs" />
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
using DyeingComputer.View;
|
||||||
|
using DyeingComputer.ViewModel;
|
||||||
|
using ScottPlot.Colormaps;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Documents;
|
||||||
|
using System.Xml.Linq;
|
||||||
|
using static DyeingComputer.UserClass.SqliteHelper;
|
||||||
|
|
||||||
|
namespace DyeingComputer.UserClass
|
||||||
|
{
|
||||||
|
public class APILog
|
||||||
|
{
|
||||||
|
private static SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||||
|
private readonly static string DBAddress = Environment.CurrentDirectory + "\\DataBase\\800COMPUTER.db"; //数据库路径
|
||||||
|
|
||||||
|
public async static void DBlog(string Name ,string ID ,string Api,string MESSAGE)
|
||||||
|
{
|
||||||
|
await Task.Run(() =>
|
||||||
|
{
|
||||||
|
Dictionary<string, object> API_LOG = new Dictionary<string, object>();//缓存函数
|
||||||
|
API_LOG.Add("NAME",Name);
|
||||||
|
API_LOG.Add("ID", ID);
|
||||||
|
API_LOG.Add("API", Api);
|
||||||
|
API_LOG.Add("MESSAGE", MESSAGE);
|
||||||
|
API_LOG.Add("TIME", MainWindowViewModel.SYSTime);
|
||||||
|
|
||||||
|
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||||
|
SQLiteHelpers.Open(); //打开数据库
|
||||||
|
SQLiteHelpers.InsertData("SERVER", API_LOG);//行插入
|
||||||
|
SQLiteHelpers.Close(); //关闭连接
|
||||||
|
API_LOG.Clear();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -99,6 +99,7 @@ namespace DyeingComputer.UserClass
|
|||||||
Chart_new.Add("TIME", MainWindowViewModel.SYSTime);
|
Chart_new.Add("TIME", MainWindowViewModel.SYSTime);
|
||||||
client.SendAsync("SC800" + "[" + MainWindowViewModel.S01 + "]" + Chart_new.ToJsonString());
|
client.SendAsync("SC800" + "[" + MainWindowViewModel.S01 + "]" + Chart_new.ToJsonString());
|
||||||
MainWindowViewModel.TX++;
|
MainWindowViewModel.TX++;
|
||||||
|
APILog.DBlog(client.IP,SYSKEY,SYSAPI,SYSDAT);//记录指令
|
||||||
}
|
}
|
||||||
else if (SYSAPI == "SC810")
|
else if (SYSAPI == "SC810")
|
||||||
{
|
{
|
||||||
@@ -125,6 +126,8 @@ namespace DyeingComputer.UserClass
|
|||||||
WorkOrder_dat.GetValue("WorkOrder").ToString()); }
|
WorkOrder_dat.GetValue("WorkOrder").ToString()); }
|
||||||
else { client.SendAsync("SC810" + "[" + MainWindowViewModel.S01 + "]" +
|
else { client.SendAsync("SC810" + "[" + MainWindowViewModel.S01 + "]" +
|
||||||
WorkOrder_dat.GetValue("WorkOrder").ToString()); MainWindowViewModel.TX++; }
|
WorkOrder_dat.GetValue("WorkOrder").ToString()); MainWindowViewModel.TX++; }
|
||||||
|
|
||||||
|
APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令
|
||||||
}
|
}
|
||||||
catch(Exception ex)
|
catch(Exception ex)
|
||||||
{
|
{
|
||||||
@@ -142,10 +145,18 @@ namespace DyeingComputer.UserClass
|
|||||||
DataTable WorkOrder_dat;
|
DataTable WorkOrder_dat;
|
||||||
WorkOrder_dat = SerializeConvert.JsonDeserializeFromString<DataTable>(SYSDAT);
|
WorkOrder_dat = SerializeConvert.JsonDeserializeFromString<DataTable>(SYSDAT);
|
||||||
bool dat_w = SQLDATA.WorkOderStep(WorkOrder_dat);
|
bool dat_w = SQLDATA.WorkOderStep(WorkOrder_dat);
|
||||||
if (!dat_w) { client.SendAsync("SC911" + "[" + MainWindowViewModel.S01 + "]" +
|
if (!dat_w)
|
||||||
WorkOrder_dat.Select().First().Field<object>("WorkOrder")); }
|
{
|
||||||
else { client.SendAsync("SC811" + "[" + MainWindowViewModel.S01 + "]" +
|
client.SendAsync("SC911" + "[" + MainWindowViewModel.S01 + "]" +
|
||||||
WorkOrder_dat.Select().First().Field<object>("WorkOrder")); MainWindowViewModel.TX++; }
|
WorkOrder_dat.Select().First().Field<object>("WorkOrder"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
client.SendAsync("SC811" + "[" + MainWindowViewModel.S01 + "]" +
|
||||||
|
WorkOrder_dat.Select().First().Field<object>("WorkOrder"));
|
||||||
|
MainWindowViewModel.TX++;
|
||||||
|
}
|
||||||
|
APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令
|
||||||
}
|
}
|
||||||
catch(Exception ex)
|
catch(Exception ex)
|
||||||
{
|
{
|
||||||
@@ -154,6 +165,33 @@ namespace DyeingComputer.UserClass
|
|||||||
}
|
}
|
||||||
else { client.SendAsync("SC999"); }
|
else { client.SendAsync("SC999"); }
|
||||||
}//WorkOrderstep表信息检查写入
|
}//WorkOrderstep表信息检查写入
|
||||||
|
else if (SYSAPI == "SC813")
|
||||||
|
{
|
||||||
|
if (SYSKEY == MainWindowViewModel.SYSKEY)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
DataTable Dyelot_dat;
|
||||||
|
Dyelot_dat = SerializeConvert.JsonDeserializeFromString<DataTable>(SYSDAT);
|
||||||
|
bool dat_w = SQLDATA.WorkOderStep(Dyelot_dat);
|
||||||
|
if (!dat_w)
|
||||||
|
{
|
||||||
|
client.SendAsync("SC913" + "[" + MainWindowViewModel.S01 + "]" +
|
||||||
|
Dyelot_dat.Select().First().Field<object>("Dyelot"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
client.SendAsync("SC813" + "[" + MainWindowViewModel.S01 + "]" +
|
||||||
|
Dyelot_dat.Select().First().Field<object>("Dyelot"));
|
||||||
|
MainWindowViewModel.TX++;
|
||||||
|
}
|
||||||
|
|
||||||
|
APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令
|
||||||
|
}
|
||||||
|
catch (Exception ex) { client.SendAsync("SC991" + "[" + MainWindowViewModel.S01 + "]" + ex); }
|
||||||
|
}
|
||||||
|
else { client.SendAsync("SC999"); }
|
||||||
|
}//写入领料单
|
||||||
else if (SYSAPI == "SC820")
|
else if (SYSAPI == "SC820")
|
||||||
{
|
{
|
||||||
if (SYSKEY == MainWindowViewModel.SYSKEY)
|
if (SYSKEY == MainWindowViewModel.SYSKEY)
|
||||||
@@ -169,6 +207,7 @@ namespace DyeingComputer.UserClass
|
|||||||
}
|
}
|
||||||
client.SendAsync("SC820" + "[" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "]");
|
client.SendAsync("SC820" + "[" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "]");
|
||||||
MainWindowViewModel.TX++;
|
MainWindowViewModel.TX++;
|
||||||
|
APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令
|
||||||
}
|
}
|
||||||
catch (Exception ex) { client.SendAsync("SC920" + "[" + MainWindowViewModel.S01 + "]" + ex); }
|
catch (Exception ex) { client.SendAsync("SC920" + "[" + MainWindowViewModel.S01 + "]" + ex); }
|
||||||
}
|
}
|
||||||
@@ -350,6 +389,7 @@ namespace DyeingComputer.UserClass
|
|||||||
{
|
{
|
||||||
client.SendAsync("SC821" + SYSKEY + SYSDAT);
|
client.SendAsync("SC821" + SYSKEY + SYSDAT);
|
||||||
}
|
}
|
||||||
|
APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令
|
||||||
}
|
}
|
||||||
catch (Exception ex) { client.SendAsync("SC921" + "[" + MainWindowViewModel.S01 + "]" + ex); }
|
catch (Exception ex) { client.SendAsync("SC921" + "[" + MainWindowViewModel.S01 + "]" + ex); }
|
||||||
}
|
}
|
||||||
@@ -416,7 +456,13 @@ namespace DyeingComputer.UserClass
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
client.SendAsync("SC832" + "[" + MainWindowViewModel.S01 + "]" + "sc833");
|
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||||
|
SQLiteHelpers.Open(); //打开数据库
|
||||||
|
string sql_script = "select * from Dyelot where WorkOrder = '" + MainWindowViewModel.WorkNumder + "'";
|
||||||
|
DataTable dt = SQLiteHelpers.ExecuteDataSet(sql_script, null).Tables[0]; //转换
|
||||||
|
SQLiteHelpers.Close(); //关闭连接
|
||||||
|
|
||||||
|
client.SendAsync("SC833" + "[" + MainWindowViewModel.S01 + "]" + dt.ToJsonString());
|
||||||
MainWindowViewModel.TX++;
|
MainWindowViewModel.TX++;
|
||||||
}
|
}
|
||||||
catch (Exception ex) { client.SendAsync("SC933" + "[" + MainWindowViewModel.S01 + "]" + ex); }
|
catch (Exception ex) { client.SendAsync("SC933" + "[" + MainWindowViewModel.S01 + "]" + ex); }
|
||||||
@@ -466,6 +512,8 @@ namespace DyeingComputer.UserClass
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
client.SendAsync("SC854" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.dt_ParameterSet.ToJsonString());//缓存信息
|
client.SendAsync("SC854" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.dt_ParameterSet.ToJsonString());//缓存信息
|
||||||
|
|
||||||
|
APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令
|
||||||
}
|
}
|
||||||
catch (Exception ex) { client.SendAsync("SC954" + "[" + MainWindowViewModel.S01 + "]" + ex); }
|
catch (Exception ex) { client.SendAsync("SC954" + "[" + MainWindowViewModel.S01 + "]" + ex); }
|
||||||
}
|
}
|
||||||
@@ -478,6 +526,7 @@ namespace DyeingComputer.UserClass
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
client.SendAsync("SC855" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.dt_SysSet.ToJsonString());//缓存信息
|
client.SendAsync("SC855" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.dt_SysSet.ToJsonString());//缓存信息
|
||||||
|
APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令
|
||||||
}
|
}
|
||||||
catch (Exception ex) { client.SendAsync("SC955" + "[" + MainWindowViewModel.S01 + "]" + ex); }
|
catch (Exception ex) { client.SendAsync("SC955" + "[" + MainWindowViewModel.S01 + "]" + ex); }
|
||||||
}
|
}
|
||||||
@@ -502,6 +551,8 @@ namespace DyeingComputer.UserClass
|
|||||||
SQLiteHelpers.Close();//关闭数据库
|
SQLiteHelpers.Close();//关闭数据库
|
||||||
|
|
||||||
client.SendAsync("SC854" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.dt_ParameterSet.ToJsonString());//缓存信息
|
client.SendAsync("SC854" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.dt_ParameterSet.ToJsonString());//缓存信息
|
||||||
|
|
||||||
|
APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -535,6 +586,8 @@ namespace DyeingComputer.UserClass
|
|||||||
SQLiteHelpers.Close();//关闭数据库
|
SQLiteHelpers.Close();//关闭数据库
|
||||||
|
|
||||||
client.SendAsync("SC855" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.dt_SysSet.ToJsonString());//缓存信息
|
client.SendAsync("SC855" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.dt_SysSet.ToJsonString());//缓存信息
|
||||||
|
|
||||||
|
APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|||||||
@@ -112,5 +112,35 @@ namespace DyeingComputer.UserClass
|
|||||||
SQLiteHelpers.Close(); //关闭连接
|
SQLiteHelpers.Close(); //关闭连接
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static bool Dyelot(DataTable Dyelot_)//领料单
|
||||||
|
{
|
||||||
|
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||||
|
SQLiteHelpers.Open(); //打开数据库
|
||||||
|
DataTable data_t = Dyelot_.Clone();
|
||||||
|
int a = Dyelot_.Rows.Count;
|
||||||
|
if (a < 1)
|
||||||
|
{
|
||||||
|
SQLiteHelpers.Close();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
string Dyelot = Dyelot_.Rows[0][0].ToString();
|
||||||
|
object n = SQLiteHelpers.ExecuteScalar("select * from Dyelot where Dyelot = " + Dyelot, null);
|
||||||
|
if (n != null)//如id存在着返回错误状态
|
||||||
|
{
|
||||||
|
SQLiteHelpers.Close();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < a; i++)
|
||||||
|
{
|
||||||
|
data_t.Clear();//清空
|
||||||
|
DataRow dr = data_t.NewRow();
|
||||||
|
dr.ItemArray = Dyelot_.Rows[i].ItemArray;
|
||||||
|
data_t.Rows.InsertAt(dr, 0);
|
||||||
|
SQLiteHelpers.InsertData("Dyelot", SQLiteHelpers.DataTableToDictionary(data_t));//行插入
|
||||||
|
}
|
||||||
|
SQLiteHelpers.Close(); //关闭连接
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -320,6 +320,7 @@ namespace DyeingComputer.ViewModel
|
|||||||
STEP_RUN();
|
STEP_RUN();
|
||||||
LOG_view();
|
LOG_view();
|
||||||
IO_view();
|
IO_view();
|
||||||
|
TechnologicalProcess_view();
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(Name_err.ToString()))
|
if (!string.IsNullOrEmpty(Name_err.ToString()))
|
||||||
{
|
{
|
||||||
@@ -336,8 +337,6 @@ namespace DyeingComputer.ViewModel
|
|||||||
{
|
{
|
||||||
if(WORK_RUN !=0) Chart();//写入记录
|
if(WORK_RUN !=0) Chart();//写入记录
|
||||||
|
|
||||||
TechnologicalProcess_view();
|
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(Name_err.ToString()) && ((Selet_dtm("1010") < 1) || (Selet_dtm("1010") > 160)))
|
if (string.IsNullOrEmpty(Name_err.ToString()) && ((Selet_dtm("1010") < 1) || (Selet_dtm("1010") > 160)))
|
||||||
{ Name_err = Resources.Temperature + Resources.Sensor + Resources.Malfunction; } //温度故障提示
|
{ Name_err = Resources.Temperature + Resources.Sensor + Resources.Malfunction; } //温度故障提示
|
||||||
}
|
}
|
||||||
@@ -1727,14 +1726,20 @@ namespace DyeingComputer.ViewModel
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void TechnologicalProcess_view()//显示
|
public async void TechnologicalProcess_view()//显示
|
||||||
{
|
{
|
||||||
try
|
if (ViewID == 1)
|
||||||
{
|
{
|
||||||
if (ViewID == 1) TechnologicalProcess_View = ToObservableCollection<TechnologicalProcess>(dt_TP);
|
await Task.Run(() =>
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
TechnologicalProcess_View = ToObservableCollection<TechnologicalProcess>(dt_TP);
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception) { }
|
||||||
|
});
|
||||||
}
|
}
|
||||||
catch (Exception) { }
|
|
||||||
}
|
}
|
||||||
public static double Selet_dtm(string key)//M寄存器
|
public static double Selet_dtm(string key)//M寄存器
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in new issue
Block a user