Browse Source

领料单读写功能

master
sc 5 months ago
parent
commit
fefbae106e
  1. BIN
      DATA/800COMPUTER.db
  2. 1
      DyeingComputer.csproj
  3. 42
      UserClass/APILog.cs
  4. 63
      UserClass/AsyncTcpServer.cs
  5. 30
      UserClass/SQLDATA.cs
  6. 13
      ViewModel/MainWindowViewModel.cs

BIN
DATA/800COMPUTER.db

Binary file not shown.

1
DyeingComputer.csproj

@ -142,6 +142,7 @@
<Compile Include="UserClass\NumericTextColumn .cs" />
<Compile Include="UserClass\PID.cs" />
<Compile Include="UserClass\PressKey.cs" />
<Compile Include="UserClass\APILog.cs" />
<Compile Include="UserClass\SQLDATA.cs" />
<Compile Include="UserClass\SqliteHelper.cs" />
<Compile Include="UserClass\StrToInt.cs" />

42
UserClass/APILog.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();
});
}
}
}

63
UserClass/AsyncTcpServer.cs

@ -99,6 +99,7 @@ namespace DyeingComputer.UserClass
Chart_new.Add("TIME", MainWindowViewModel.SYSTime);
client.SendAsync("SC800" + "[" + MainWindowViewModel.S01 + "]" + Chart_new.ToJsonString());
MainWindowViewModel.TX++;
APILog.DBlog(client.IP,SYSKEY,SYSAPI,SYSDAT);//记录指令
}
else if (SYSAPI == "SC810")
{
@ -125,6 +126,8 @@ namespace DyeingComputer.UserClass
WorkOrder_dat.GetValue("WorkOrder").ToString()); }
else { client.SendAsync("SC810" + "[" + MainWindowViewModel.S01 + "]" +
WorkOrder_dat.GetValue("WorkOrder").ToString()); MainWindowViewModel.TX++; }
APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令
}
catch(Exception ex)
{
@ -142,10 +145,18 @@ namespace DyeingComputer.UserClass
DataTable WorkOrder_dat;
WorkOrder_dat = SerializeConvert.JsonDeserializeFromString<DataTable>(SYSDAT);
bool dat_w = SQLDATA.WorkOderStep(WorkOrder_dat);
if (!dat_w) { client.SendAsync("SC911" + "[" + MainWindowViewModel.S01 + "]" +
WorkOrder_dat.Select().First().Field<object>("WorkOrder")); }
else { client.SendAsync("SC811" + "[" + MainWindowViewModel.S01 + "]" +
WorkOrder_dat.Select().First().Field<object>("WorkOrder")); MainWindowViewModel.TX++; }
if (!dat_w)
{
client.SendAsync("SC911" + "[" + MainWindowViewModel.S01 + "]" +
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)
{
@ -154,6 +165,33 @@ namespace DyeingComputer.UserClass
}
else { client.SendAsync("SC999"); }
}//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")
{
if (SYSKEY == MainWindowViewModel.SYSKEY)
@ -169,6 +207,7 @@ namespace DyeingComputer.UserClass
}
client.SendAsync("SC820" + "[" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "]");
MainWindowViewModel.TX++;
APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令
}
catch (Exception ex) { client.SendAsync("SC920" + "[" + MainWindowViewModel.S01 + "]" + ex); }
}
@ -350,6 +389,7 @@ namespace DyeingComputer.UserClass
{
client.SendAsync("SC821" + SYSKEY + SYSDAT);
}
APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令
}
catch (Exception ex) { client.SendAsync("SC921" + "[" + MainWindowViewModel.S01 + "]" + ex); }
}
@ -416,7 +456,13 @@ namespace DyeingComputer.UserClass
{
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++;
}
catch (Exception ex) { client.SendAsync("SC933" + "[" + MainWindowViewModel.S01 + "]" + ex); }
@ -466,6 +512,8 @@ namespace DyeingComputer.UserClass
try
{
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); }
}
@ -478,6 +526,7 @@ namespace DyeingComputer.UserClass
try
{
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); }
}
@ -502,6 +551,8 @@ namespace DyeingComputer.UserClass
SQLiteHelpers.Close();//关闭数据库
client.SendAsync("SC854" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.dt_ParameterSet.ToJsonString());//缓存信息
APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令
}
catch (Exception ex)
{
@ -535,6 +586,8 @@ namespace DyeingComputer.UserClass
SQLiteHelpers.Close();//关闭数据库
client.SendAsync("SC855" + "[" + MainWindowViewModel.S01 + "]" + MainWindowViewModel.dt_SysSet.ToJsonString());//缓存信息
APILog.DBlog(client.IP, SYSKEY, SYSAPI, SYSDAT);//记录指令
}
}
catch (Exception ex)

30
UserClass/SQLDATA.cs

@ -112,5 +112,35 @@ namespace DyeingComputer.UserClass
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;
}
}
}

13
ViewModel/MainWindowViewModel.cs

@ -320,6 +320,7 @@ namespace DyeingComputer.ViewModel
STEP_RUN();
LOG_view();
IO_view();
TechnologicalProcess_view();
if (!string.IsNullOrEmpty(Name_err.ToString()))
{
@ -336,8 +337,6 @@ namespace DyeingComputer.ViewModel
{
if(WORK_RUN !=0) Chart();//写入记录
TechnologicalProcess_view();
if (string.IsNullOrEmpty(Name_err.ToString()) && ((Selet_dtm("1010") < 1) || (Selet_dtm("1010") > 160)))
{ Name_err = Resources.Temperature + Resources.Sensor + Resources.Malfunction; } //温度故障提示
}
@ -1727,14 +1726,20 @@ namespace DyeingComputer.ViewModel
});
}
}
public void TechnologicalProcess_view()//显示
public async void TechnologicalProcess_view()//显示
{
if (ViewID == 1)
{
await Task.Run(() =>
{
try
{
if (ViewID == 1) TechnologicalProcess_View = ToObservableCollection<TechnologicalProcess>(dt_TP);
TechnologicalProcess_View = ToObservableCollection<TechnologicalProcess>(dt_TP);
}
catch (Exception) { }
});
}
}
public static double Selet_dtm(string key)//M寄存器
{

Loading…
Cancel
Save