|
|
@ -23,6 +23,7 @@ using System.Xml.Linq; |
|
|
|
using static DyeingComputer.UserClass.SqliteHelper; |
|
|
|
using static DyeingComputer.Windows.ViewProgram; |
|
|
|
using static System.Collections.Specialized.BitVector32; |
|
|
|
using static System.Net.WebRequestMethods; |
|
|
|
|
|
|
|
namespace DyeingComputer.View |
|
|
|
{ |
|
|
@ -59,7 +60,7 @@ namespace DyeingComputer.View |
|
|
|
} |
|
|
|
void Tick_Event_1S(object sender, EventArgs e) |
|
|
|
{ |
|
|
|
Workorder_sql(); |
|
|
|
if(!SQL_UPDATE) Workorder_sql(); |
|
|
|
} |
|
|
|
|
|
|
|
private SQLiteHelper SQLiteHelpers = null; //定义数据库
|
|
|
@ -71,13 +72,14 @@ namespace DyeingComputer.View |
|
|
|
string Process_Name; |
|
|
|
string Process_id; |
|
|
|
string _lock; |
|
|
|
bool SQL_UPDATE = false; |
|
|
|
|
|
|
|
public void Workorder_sql() |
|
|
|
{ |
|
|
|
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
|
|
|
SQLiteHelpers.Open(); //打开数据库
|
|
|
|
|
|
|
|
string sql_script = "select * from WorkOrder where StartTime > '" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "'"; |
|
|
|
string sql_script = "select * from WorkOrder where EndTime > '" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "'"; |
|
|
|
|
|
|
|
if (sql != null) sql.Clear(); //清空缓存
|
|
|
|
sql = SQLiteHelpers.ExecuteDataSet(sql_script, null); //读取计划表写入缓存
|
|
|
@ -89,8 +91,6 @@ namespace DyeingComputer.View |
|
|
|
Process_Name = null; |
|
|
|
Process_id = null; |
|
|
|
_lock = null; |
|
|
|
//sql.Clear(); //清除缓存
|
|
|
|
//System.GC.Collect();
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -166,34 +166,47 @@ namespace DyeingComputer.View |
|
|
|
Process_Name = (Grid.Columns[1].GetCellContent(Grid.Items[rownum]) as TextBlock).Text;//定位第1列,
|
|
|
|
Process_id = (Grid.Columns[2].GetCellContent(Grid.Items[rownum]) as TextBlock).Text;//定位第0列,
|
|
|
|
_lock = (Grid.Columns[3].GetCellContent(Grid.Items[rownum]) as TextBlock).Text;//定位第1列,
|
|
|
|
|
|
|
|
SQL_UPDATE = true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void UserControl_KeyDown(object sender, KeyEventArgs e) //键盘监控
|
|
|
|
{ |
|
|
|
if (e.Key == Key.Y) //按键y
|
|
|
|
if (e.Key == Key.Y) //按键
|
|
|
|
{ |
|
|
|
if(string.IsNullOrEmpty(WorkOrder_Numder)) return; |
|
|
|
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
|
|
|
SQLiteHelpers.Open(); //打开数据库
|
|
|
|
string sql_script = "select * from ProgramName where ProgramID = '" + Process_id + "'"; |
|
|
|
int i = SQLiteHelpers.ExecuteDataSet(sql_script, null).Tables[0].Rows.Count; //读取工艺表返回0工艺不存在
|
|
|
|
|
|
|
|
if (i == 0) //工艺不存在提示
|
|
|
|
{ |
|
|
|
SQLiteHelpers.Close(); //关闭连接
|
|
|
|
WorkOrder_Numder = null; |
|
|
|
Process_id = null; |
|
|
|
if (System.Windows.Forms.MessageBox.Show("["+Process_Name+"] "+ Properties.Resources.process_not, "800 ", |
|
|
|
System.Windows.Forms.MessageBoxButtons.OK) == System.Windows.Forms.DialogResult.OK) return; |
|
|
|
} |
|
|
|
else //否则修改工艺执行状态
|
|
|
|
{ |
|
|
|
updata_temp.Clear(); //使用前清缓存
|
|
|
|
updata_temp.Add("State", 101); |
|
|
|
SQLiteHelpers.Update("WorkOrder", updata_temp, "ProgramID='" + Process_id + "'", null); |
|
|
|
SQLiteHelpers.Close(); //关闭连接
|
|
|
|
SQLiteHelpers.Update("WorkOrder", updata_temp, "WorkOrder='" + WorkOrder_Numder + "'", null); |
|
|
|
|
|
|
|
DataTable WorkorderSteps = SQLiteHelpers.ExecuteDataSet( |
|
|
|
"select * from WorkorderSteps where WorkOrder='" + WorkOrder_Numder + "'", null).Tables[0]; //读取表写入缓存
|
|
|
|
MainWindowViewModel.ProgramName = Process_Name; |
|
|
|
SQLiteHelpers.Delete("RUN", null, null); //删除run信息
|
|
|
|
DataTable data_t = new DataTable(); |
|
|
|
data_t = WorkorderSteps.Clone(); |
|
|
|
int a = WorkorderSteps.Rows.Count; |
|
|
|
for (int i = 0; i < a; i++) |
|
|
|
{ |
|
|
|
data_t.Clear();//清空
|
|
|
|
DataRow dt = WorkorderSteps.Rows[i];//行转
|
|
|
|
DataRow dr = data_t.NewRow(); |
|
|
|
dr.ItemArray = dt.ItemArray; |
|
|
|
dr.BeginEdit(); //添加订单号
|
|
|
|
dr["ProgramID"] = Process_id; |
|
|
|
dr["Program"] = MainWindowViewModel.ProgramName; |
|
|
|
dr.EndEdit(); |
|
|
|
data_t.Rows.InsertAt(dr, 0); //行转换
|
|
|
|
|
|
|
|
SQLiteHelpers.InsertData("RUN", SQLiteHelpers.DataTableToDictionary(data_t));//行插入
|
|
|
|
} |
|
|
|
|
|
|
|
SQLiteHelpers.Close(); //关闭连接
|
|
|
|
|
|
|
|
if (Process_id != null) //选定工艺有效跳转准备
|
|
|
|
{ |
|
|
|
MainWindowViewModel.WorkNumder = WorkOrder_Numder; |
|
|
|