|
|
@ -105,32 +105,48 @@ namespace DyeingComputer.View |
|
|
|
// Process_id = null;
|
|
|
|
// _lock = null;
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void WorkOrderView_lock_Click(object sender, RoutedEventArgs e)//锁定按钮
|
|
|
|
{ |
|
|
|
if (WorkOrder_Numder == null) return; |
|
|
|
//SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
|
|
|
// SQLiteHelpers.Open(); //打开数据库
|
|
|
|
updata_temp.Clear();//使用前清理缓存
|
|
|
|
if (_lock == "0") //改变lock的状态
|
|
|
|
if (!MainWindowViewModel._Lock_bool) |
|
|
|
{ |
|
|
|
updata_temp.Add("lock", 1); |
|
|
|
MainWindow.SQLiteHelpers.Update("WorkOrder", updata_temp, "WorkOrder='" + WorkOrder_Numder + "'", null); |
|
|
|
if (WorkOrder_Numder == null) return; |
|
|
|
//SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
|
|
|
// SQLiteHelpers.Open(); //打开数据库
|
|
|
|
updata_temp.Clear();//使用前清理缓存
|
|
|
|
if (_lock == "0") //改变lock的状态
|
|
|
|
{ |
|
|
|
updata_temp.Add("lock", 1); |
|
|
|
MainWindow.SQLiteHelpers.Update("WorkOrder", updata_temp, "WorkOrder='" + WorkOrder_Numder + "'", null); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
updata_temp.Add("lock", 0); |
|
|
|
MainWindow.SQLiteHelpers.Update("WorkOrder", updata_temp, "WorkOrder='" + WorkOrder_Numder + "'", null); |
|
|
|
} |
|
|
|
//SQLiteHelpers.Close();
|
|
|
|
Workorder_sql(); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
updata_temp.Add("lock", 0); |
|
|
|
MainWindow.SQLiteHelpers.Update("WorkOrder", updata_temp, "WorkOrder='" + WorkOrder_Numder + "'", null); |
|
|
|
MainWindowViewModel.USERinf(Properties.Resources.LockedState + "\n" + |
|
|
|
Properties.Resources.TCOIR + "\n" + Properties.Resources.PCATRIL); |
|
|
|
} |
|
|
|
//SQLiteHelpers.Close();
|
|
|
|
Workorder_sql(); |
|
|
|
} |
|
|
|
|
|
|
|
private void WorkOrderView_new_Click(object sender, RoutedEventArgs e)//新建按钮
|
|
|
|
{ |
|
|
|
ViewProgram viewProgram = new ViewProgram(); |
|
|
|
viewProgram.AddressUpdated += new ViewProgram.AddressUpdateHandler(Address_ButtonClicked); |
|
|
|
viewProgram.ShowDialog(); |
|
|
|
if (!MainWindowViewModel._Lock_bool) |
|
|
|
{ |
|
|
|
ViewProgram viewProgram = new ViewProgram(); |
|
|
|
viewProgram.AddressUpdated += new ViewProgram.AddressUpdateHandler(Address_ButtonClicked); |
|
|
|
viewProgram.ShowDialog(); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
MainWindowViewModel.USERinf(Properties.Resources.LockedState + "\n" + |
|
|
|
Properties.Resources.TCOIR + "\n" + Properties.Resources.PCATRIL); |
|
|
|
} |
|
|
|
} |
|
|
|
private void Address_ButtonClicked(object sender, AddressUpdateEventArgs e)//新建返回结果
|
|
|
|
{ |
|
|
@ -161,60 +177,72 @@ namespace DyeingComputer.View |
|
|
|
MainWindow.SQLiteHelpers.InsertData("WorkOrder", WorkOrder_new);//
|
|
|
|
/*获取转并插入步骤信息*/ |
|
|
|
DataTable step_dat = MainWindow.SQLiteHelpers.ExecuteDataSet( |
|
|
|
"select * from ProgramSteps where ProgramID='" + Process_id + "'", null).Tables[0]; //读取表写入缓存
|
|
|
|
DataTable _t = step_dat.Clone(); |
|
|
|
_t.Columns.Add("WorkOrder", System.Type.GetType("System.String")); |
|
|
|
_t.Columns.Add("DYELOT", System.Type.GetType("System.String")); |
|
|
|
"select * from ProgramSteps where ProgramID='" + Process_id + "'", null).Tables[0]; //读取表写入缓存
|
|
|
|
step_dat.Columns.Add("WorkOrder", System.Type.GetType("System.String")); |
|
|
|
step_dat.Columns.Add("DYELOT", System.Type.GetType("System.String")); |
|
|
|
int a = step_dat.Rows.Count; |
|
|
|
for (int i = 0; i < a; i++) |
|
|
|
{ |
|
|
|
_t.Clear();//清空
|
|
|
|
DataRow dt = step_dat.Rows[i];//行转
|
|
|
|
DataRow dr = _t.NewRow(); |
|
|
|
dr.ItemArray = dt.ItemArray; |
|
|
|
dr.BeginEdit(); //添加订单号
|
|
|
|
dr["WorkOrder"] = WorkOrder_Numder; |
|
|
|
dr["DYELOT"] = WorkOrder_Numder; |
|
|
|
dr.EndEdit(); |
|
|
|
_t.Rows.InsertAt(dr, 0); //行转换
|
|
|
|
|
|
|
|
MainWindow.SQLiteHelpers.InsertData("WorkorderSteps", MainWindow.SQLiteHelpers.DataTableToDictionary(_t));//行插入
|
|
|
|
dt.BeginEdit(); //添加订单号
|
|
|
|
dt["WorkOrder"] = WorkOrder_Numder; |
|
|
|
dt["DYELOT"] = WorkOrder_Numder; |
|
|
|
dt.EndEdit(); |
|
|
|
|
|
|
|
MainWindow.SQLiteHelpers.InsertData("WorkorderSteps", MainWindow.SQLiteHelpers.ToDictionary(dt));//行插入
|
|
|
|
} |
|
|
|
//SQLiteHelpers.Close();
|
|
|
|
} |
|
|
|
|
|
|
|
private void WorkOrderView_del_Click(object sender, RoutedEventArgs e)//删除按钮
|
|
|
|
{ |
|
|
|
if (WorkOrder_Numder == null) return; |
|
|
|
///弹窗提示确认删除
|
|
|
|
if (System.Windows.Forms.MessageBox.Show(Properties.Resources.Confirm + |
|
|
|
Properties.Resources.Delete + WorkOrder_Numder, "Delete ", |
|
|
|
System.Windows.Forms.MessageBoxButtons.OKCancel, |
|
|
|
System.Windows.Forms.MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK) |
|
|
|
{ |
|
|
|
if (!MainWindowViewModel._Lock_bool) |
|
|
|
{ |
|
|
|
///执行删除
|
|
|
|
//SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
|
|
|
// SQLiteHelpers.Open(); //打开数据库
|
|
|
|
MainWindow.SQLiteHelpers.Delete("WorkOrder", "WorkOrder='" + WorkOrder_Numder + "'", null); |
|
|
|
//SQLiteHelpers.Close();
|
|
|
|
Workorder_sql(); |
|
|
|
if (WorkOrder_Numder == null) return; |
|
|
|
///弹窗提示确认删除
|
|
|
|
if (System.Windows.Forms.MessageBox.Show(Properties.Resources.Confirm + |
|
|
|
Properties.Resources.Delete + WorkOrder_Numder, "Delete ", |
|
|
|
System.Windows.Forms.MessageBoxButtons.OKCancel, |
|
|
|
System.Windows.Forms.MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK) |
|
|
|
{ |
|
|
|
///执行删除
|
|
|
|
//SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
|
|
|
// SQLiteHelpers.Open(); //打开数据库
|
|
|
|
MainWindow.SQLiteHelpers.Delete("WorkOrder", "WorkOrder='" + WorkOrder_Numder + "'", null); |
|
|
|
//SQLiteHelpers.Close();
|
|
|
|
Workorder_sql(); |
|
|
|
} |
|
|
|
SQL_UPDATE = false; |
|
|
|
} |
|
|
|
SQL_UPDATE = false; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
MainWindowViewModel.USERinf(Properties.Resources.LockedState + "\n" + |
|
|
|
Properties.Resources.TCOIR + "\n" + Properties.Resources.PCATRIL); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void WorkOrderView_redy_Click(object sender, RoutedEventArgs e)//重染按钮
|
|
|
|
{ |
|
|
|
string WorkNum = MainWindowViewModel.WorkNumder.ToString(); |
|
|
|
if (WorkNum != null) |
|
|
|
if (!MainWindowViewModel._Lock_bool) |
|
|
|
{ |
|
|
|
if (System.Windows.Forms.MessageBox.Show(Properties.Resources.Confirm + |
|
|
|
Properties.Resources.Redye + WorkNum, "Redye ", |
|
|
|
System.Windows.Forms.MessageBoxButtons.OKCancel, |
|
|
|
System.Windows.Forms.MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK) |
|
|
|
string WorkNum = MainWindowViewModel.WorkNumder.ToString(); |
|
|
|
if (WorkNum != null) |
|
|
|
{ |
|
|
|
///执行重染
|
|
|
|
if (System.Windows.Forms.MessageBox.Show(Properties.Resources.Confirm + |
|
|
|
Properties.Resources.Redye + WorkNum, "Redye ", |
|
|
|
System.Windows.Forms.MessageBoxButtons.OKCancel, |
|
|
|
System.Windows.Forms.MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK) |
|
|
|
{ |
|
|
|
///执行重染
|
|
|
|
} |
|
|
|
} |
|
|
|
SQL_UPDATE = false; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
MainWindowViewModel.USERinf(Properties.Resources.LockedState + "\n" + |
|
|
|
Properties.Resources.TCOIR + "\n" + Properties.Resources.PCATRIL); |
|
|
|
} |
|
|
|
SQL_UPDATE = false; |
|
|
|
} |
|
|
|
|
|
|
|
private void Grid_SelectionChanged(object sender, SelectionChangedEventArgs e)//表格选择事件
|
|
|
@ -330,93 +358,101 @@ namespace DyeingComputer.View |
|
|
|
} |
|
|
|
private void Image_MouseLeftButtonUp1(object sender, MouseButtonEventArgs e) |
|
|
|
{ |
|
|
|
SQL_UPDATE = false; |
|
|
|
((System.Windows.Controls.Image)sender).RenderTransform = Transform.Identity; |
|
|
|
if (string.IsNullOrEmpty(WorkOrder_Numder)) return; |
|
|
|
if (_lock == "1") |
|
|
|
if (!MainWindowViewModel._Lock_bool) |
|
|
|
{ |
|
|
|
MessageBoxResult messageBox = System.Windows.MessageBox.Show( |
|
|
|
Properties.Resources.Process_lock, "800", MessageBoxButton.OK); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
DataTable WorkorderSteps = new DataTable(); |
|
|
|
int a; |
|
|
|
SQL_UPDATE = false; |
|
|
|
((System.Windows.Controls.Image)sender).RenderTransform = Transform.Identity; |
|
|
|
if (string.IsNullOrEmpty(WorkOrder_Numder)) return; |
|
|
|
if (_lock == "1") |
|
|
|
{ |
|
|
|
MessageBoxResult messageBox = System.Windows.MessageBox.Show( |
|
|
|
Properties.Resources.Process_lock, "800", MessageBoxButton.OK); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
/*检查并写入run信息*/ |
|
|
|
//SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
|
|
|
// SQLiteHelpers.Open(); //打开数据库
|
|
|
|
DataTable WorkorderSteps = new DataTable(); |
|
|
|
int a; |
|
|
|
|
|
|
|
int R_D = MainWindow.SQLiteHelpers.ExecuteDataSet("select * from RUN", null).Tables[0].Rows.Count; //读取表写入缓存
|
|
|
|
if (R_D > 0)//判断是否有运行中工艺
|
|
|
|
{ |
|
|
|
//SQLiteHelpers.Close(); //关闭连接
|
|
|
|
/*检查并写入run信息*/ |
|
|
|
//SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
|
|
|
// SQLiteHelpers.Open(); //打开数据库
|
|
|
|
|
|
|
|
MessageBoxResult messageBoxResult = System.Windows.MessageBox.Show( |
|
|
|
Properties.Resources.RunningProcess, "800", MessageBoxButton.YesNo); |
|
|
|
if (messageBoxResult == MessageBoxResult.No) return; |
|
|
|
if (messageBoxResult == MessageBoxResult.Yes) |
|
|
|
int R_D = MainWindow.SQLiteHelpers.ExecuteDataSet("select * from RUN", null).Tables[0].Rows.Count; //读取表写入缓存
|
|
|
|
if (R_D > 0)//判断是否有运行中工艺
|
|
|
|
{ |
|
|
|
if (MainWindowViewModel.S17 == 1) //拒绝操作
|
|
|
|
//SQLiteHelpers.Close(); //关闭连接
|
|
|
|
|
|
|
|
MessageBoxResult messageBoxResult = System.Windows.MessageBox.Show( |
|
|
|
Properties.Resources.RunningProcess, "800", MessageBoxButton.YesNo); |
|
|
|
if (messageBoxResult == MessageBoxResult.No) return; |
|
|
|
if (messageBoxResult == MessageBoxResult.Yes) |
|
|
|
{ |
|
|
|
System.Windows.MessageBox.Show(Properties.Resources.refuse, "800", MessageBoxButton.OK); |
|
|
|
return; |
|
|
|
if (MainWindowViewModel.S17 == 1) //拒绝操作
|
|
|
|
{ |
|
|
|
System.Windows.MessageBox.Show(Properties.Resources.refuse, "800", MessageBoxButton.OK); |
|
|
|
return; |
|
|
|
} |
|
|
|
// SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
|
|
|
// SQLiteHelpers.Open(); //打开数据库
|
|
|
|
} |
|
|
|
// SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
|
|
|
// SQLiteHelpers.Open(); //打开数据库
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
updata_temp.Clear(); //使用前清缓存
|
|
|
|
updata_temp.Add("State", 205); |
|
|
|
MainWindow.SQLiteHelpers.Update("WorkOrder", updata_temp, "WorkOrder='" + WorkOrder_Numder + "'", null); |
|
|
|
MainWindowViewModel.Dyelot_dat = MainWindow.SQLiteHelpers.ExecuteDataSet("select * from Dyelot where Dyelot = '" + |
|
|
|
Dyelot + "'", null).Tables[0]; |
|
|
|
WorkorderSteps = MainWindow.SQLiteHelpers.ExecuteDataSet( |
|
|
|
"select * from WorkorderSteps where WorkOrder='" + WorkOrder_Numder + "'", null).Tables[0]; //读取表写入缓存
|
|
|
|
MainWindowViewModel.ProgramName = Process_Name; |
|
|
|
MainWindowViewModel.Dyelot = Dyelot; |
|
|
|
MainWindow.SQLiteHelpers.Delete("RUN", null, null); //删除run信息
|
|
|
|
a = WorkorderSteps.Rows.Count; |
|
|
|
for (int i = 0; i < a; i++) |
|
|
|
{ |
|
|
|
DataRow dr = WorkorderSteps.Rows[i];//行转
|
|
|
|
dr.BeginEdit(); //添加订单号
|
|
|
|
dr["ProgramID"] = Process_id; |
|
|
|
dr["Program"] = MainWindowViewModel.ProgramName; |
|
|
|
dr.EndEdit(); |
|
|
|
updata_temp.Clear(); //使用前清缓存
|
|
|
|
updata_temp.Add("State", 205); |
|
|
|
MainWindow.SQLiteHelpers.Update("WorkOrder", updata_temp, "WorkOrder='" + WorkOrder_Numder + "'", null); |
|
|
|
MainWindowViewModel.Dyelot_dat = MainWindow.SQLiteHelpers.ExecuteDataSet("select * from Dyelot where Dyelot = '" + |
|
|
|
Dyelot + "'", null).Tables[0]; |
|
|
|
WorkorderSteps = MainWindow.SQLiteHelpers.ExecuteDataSet( |
|
|
|
"select * from WorkorderSteps where WorkOrder='" + WorkOrder_Numder + "'", null).Tables[0]; //读取表写入缓存
|
|
|
|
MainWindowViewModel.ProgramName = Process_Name; |
|
|
|
MainWindowViewModel.Dyelot = Dyelot; |
|
|
|
MainWindow.SQLiteHelpers.Delete("RUN", null, null); //删除run信息
|
|
|
|
a = WorkorderSteps.Rows.Count; |
|
|
|
for (int i = 0; i < a; i++) |
|
|
|
{ |
|
|
|
DataRow dr = WorkorderSteps.Rows[i];//行转
|
|
|
|
dr.BeginEdit(); //添加订单号
|
|
|
|
dr["ProgramID"] = Process_id; |
|
|
|
dr["Program"] = MainWindowViewModel.ProgramName; |
|
|
|
dr.EndEdit(); |
|
|
|
|
|
|
|
MainWindow.SQLiteHelpers.InsertData("RUN", MainWindow.SQLiteHelpers.ToDictionary(dr));//行插入
|
|
|
|
} |
|
|
|
updata_temp.Clear(); //使用前清缓存
|
|
|
|
updata_temp.Add("RUN", 1); |
|
|
|
MainWindow.SQLiteHelpers.Update("RUN", updata_temp, "Step=1", null); |
|
|
|
//SQLiteHelpers.Close(); //关闭连接
|
|
|
|
MainWindow.SQLiteHelpers.InsertData("RUN", MainWindow.SQLiteHelpers.ToDictionary(dr));//行插入
|
|
|
|
} |
|
|
|
updata_temp.Clear(); //使用前清缓存
|
|
|
|
updata_temp.Add("RUN", 1); |
|
|
|
MainWindow.SQLiteHelpers.Update("RUN", updata_temp, "Step=1", null); |
|
|
|
//SQLiteHelpers.Close(); //关闭连接
|
|
|
|
|
|
|
|
/*触发启动*/ |
|
|
|
string Numder = WorkorderSteps.Select("Step = 1").First().Field<string>("StepID");//
|
|
|
|
double P1 = WorkorderSteps.Select("Step = 1").First().Field<double>("Parameter1"); |
|
|
|
double P2 = WorkorderSteps.Select("Step = 1").First().Field<double>("Parameter2"); |
|
|
|
double P3 = WorkorderSteps.Select("Step = 1").First().Field<double>("Parameter3"); |
|
|
|
double P4 = WorkorderSteps.Select("Step = 1").First().Field<double>("Parameter4"); |
|
|
|
double P5 = WorkorderSteps.Select("Step = 1").First().Field<double>("Parameter5"); |
|
|
|
MainWindowViewModel.RUN_STEPID = Convert.ToInt16(1);//插入步骤号
|
|
|
|
MainWindowViewModel.STEP_START(Numder, Convert.ToDouble(P1), Convert.ToDouble(P2), Convert.ToDouble(P3), |
|
|
|
Convert.ToDouble(P4), Convert.ToDouble(P5)); |
|
|
|
MainWindowViewModel.WORK_RUN = 2; |
|
|
|
APILog.LOGlog(MainWindowViewModel.WorkNumder.ToString(), "UserActions", "Jump", "STEP = " + |
|
|
|
MainWindowViewModel.RUN_STEPID + ";StepID=" + Numder + ";P1=" + P1 + ";P2=" + P2 + ";P3=" + P3 + ";P4=" + P4 + ";P5=" + P5); |
|
|
|
|
|
|
|
/*选定工艺有效跳转准备 */ |
|
|
|
if (Process_id != null) //选定工艺有效跳转准备
|
|
|
|
{ |
|
|
|
MainWindowViewModel.WorkNumder = WorkOrder_Numder; |
|
|
|
TechnologicalProcessView.workName = Process_id; |
|
|
|
MainWindowViewModel.SYS_REDYE = 0; |
|
|
|
/*触发启动*/ |
|
|
|
string Numder = WorkorderSteps.Select("Step = 1").First().Field<string>("StepID");//
|
|
|
|
double P1 = WorkorderSteps.Select("Step = 1").First().Field<double>("Parameter1"); |
|
|
|
double P2 = WorkorderSteps.Select("Step = 1").First().Field<double>("Parameter2"); |
|
|
|
double P3 = WorkorderSteps.Select("Step = 1").First().Field<double>("Parameter3"); |
|
|
|
double P4 = WorkorderSteps.Select("Step = 1").First().Field<double>("Parameter4"); |
|
|
|
double P5 = WorkorderSteps.Select("Step = 1").First().Field<double>("Parameter5"); |
|
|
|
MainWindowViewModel.RUN_STEPID = Convert.ToInt16(1);//插入步骤号
|
|
|
|
MainWindowViewModel.STEP_START(Numder, Convert.ToDouble(P1), Convert.ToDouble(P2), Convert.ToDouble(P3), |
|
|
|
Convert.ToDouble(P4), Convert.ToDouble(P5)); |
|
|
|
MainWindowViewModel.WORK_RUN = 2; |
|
|
|
APILog.LOGlog(MainWindowViewModel.WorkNumder.ToString(), "UserActions", "Jump", "STEP = " + |
|
|
|
MainWindowViewModel.RUN_STEPID + ";StepID=" + Numder + ";P1=" + P1 + ";P2=" + P2 + ";P3=" + P3 + ";P4=" + P4 + ";P5=" + P5); |
|
|
|
|
|
|
|
/*选定工艺有效跳转准备 */ |
|
|
|
if (Process_id != null) //选定工艺有效跳转准备
|
|
|
|
{ |
|
|
|
MainWindowViewModel.WorkNumder = WorkOrder_Numder; |
|
|
|
TechnologicalProcessView.workName = Process_id; |
|
|
|
MainWindowViewModel.SYS_REDYE = 0; |
|
|
|
|
|
|
|
MainWindowViewModel.ViewID = 1; |
|
|
|
var _mainWindow = Application.Current.Windows.Cast<Window>().FirstOrDefault(window => window is MainWindow) as MainWindow;//跨页面
|
|
|
|
_mainWindow.container.Content = new TechnologicalProcessView();//获取控件
|
|
|
|
MainWindowViewModel.ViewID = 1; |
|
|
|
var _mainWindow = Application.Current.Windows.Cast<Window>().FirstOrDefault(window => window is MainWindow) as MainWindow;//跨页面
|
|
|
|
_mainWindow.container.Content = new TechnologicalProcessView();//获取控件
|
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
MainWindowViewModel.USERinf(Properties.Resources.LockedState + "\n" + |
|
|
|
Properties.Resources.TCOIR + "\n" + Properties.Resources.PCATRIL); |
|
|
|
} |
|
|
|
}//开始
|
|
|
|
|
|
|
|