You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

247 lines
14 KiB

using Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace Audit.View
{
/// <summary>
/// MachinesView.xaml 的交互逻辑
/// </summary>
public partial class MachinesView : UserControl
{
public MachinesView()
{
InitializeComponent();
}
private Machines machines = new Machines();//最终存入sql的实体
private Machines machines_temp = new Machines();//取出自sql的实体缓存
public static Boolean Button_sql = true;
public static int Buttontype_sql = -1;
private void DataGridStuff_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
int rownum = DataGridMachines.SelectedIndex;//获取鼠标选中行并定义变量
if (rownum != -1)//判断鼠标定位是否有效
{
string DataGridMachines_Name = (DataGridMachines.Columns[0].GetCellContent(DataGridMachines.Items[rownum]) as TextBlock).Text;//定位第0列,
string DataGridMachines_ChemicalStation = (DataGridMachines.Columns[1].GetCellContent(DataGridMachines.Items[rownum]) as TextBlock).Text;//定位第1列,
string DataGridMachines_ChemicalDispenser = (DataGridMachines.Columns[5].GetCellContent(DataGridMachines.Items[rownum]) as TextBlock).Text;//定位第2列,
string DataGridMachines_Chemicale = (DataGridMachines.Columns[6].GetCellContent(DataGridMachines.Items[rownum]) as TextBlock).Text;//定位第2列,
string DataGridMachines_DyeDispenser = (DataGridMachines.Columns[8].GetCellContent(DataGridMachines.Items[rownum]) as TextBlock).Text;//定位第3列,
string DataGridMachines_Dyee = (DataGridMachines.Columns[9].GetCellContent(DataGridMachines.Items[rownum]) as TextBlock).Text;//定位第3列,
string DataGridMachines_PowderDispenser = (DataGridMachines.Columns[11].GetCellContent(DataGridMachines.Items[rownum]) as TextBlock).Text;//定位第4列,
string DataGridMachines_Powdere = (DataGridMachines.Columns[12].GetCellContent(DataGridMachines.Items[rownum]) as TextBlock).Text;//定位第4列,
name.Text = DataGridMachines_Name.Trim();
Station.Text = DataGridMachines_ChemicalStation.Trim();
chemicaldispenser.Text = DataGridMachines_ChemicalDispenser.Trim();
dyedispenser.Text = DataGridMachines_DyeDispenser.Trim();
powderdispenser.Text = DataGridMachines_PowderDispenser.Trim();
if (DataGridMachines_Chemicale == "1") this.chemicaldispenser_operate.Text = "启用";
else this.chemicaldispenser_operate.Text = "禁用";
if (DataGridMachines_Dyee == "1") this.dyedispenser_operate.Text = "启用";
else this.dyedispenser_operate.Text = "禁用";
if (DataGridMachines_Powdere == "1") this.powderdispenser_operate.Text = "启用";
else this.powderdispenser_operate.Text = "禁用";
this.operate.Text =null;//清除附属操作
machines_temp.Name = DataGridMachines_Name;//写入sql实体缓存
}
}
private void Button_Preservation(object sender, RoutedEventArgs e)//存储按钮
{
int int_operate = 0;
Regex re_char = new Regex(@"^[A-Za-z0-9\s@()()/+!!_-]+$");//校验用正则表达式由数字,26个英文字母,空白字符和@()()/+!!_-组成的字符串
if (this.operate.Text == "") int_operate = 0;//创建机台
if (this.operate.Text == "清除工单") int_operate = 1;//附属操作
if (this.operate.Text == "助剂完成") int_operate = 2;
if (this.operate.Text == "染料完成") int_operate = 3;
if (this.operate.Text == "粉体完成") int_operate = 4;
if (this.operate.Text == "修改信息") int_operate = 5;
if (re_char.IsMatch(this.name.Text) == false) System.Windows.MessageBox.Show("ERR.C0201:无效的机台信息", "错误");//检查机台代码
else
if (string.IsNullOrEmpty(this.Station.Text)) System.Windows.MessageBox.Show("ERR.C0201-2:无效的机台信息", "错误");//检查机台名称
else
{
if (int_operate == 0)//创建机台
{
machines.Name = this.name.Text;
machines.DispenseDyelot = null;
machines.DyeDispenseDyelot = null;
machines.ChemicalStation = this.Station.Text;
machines.DyeStation = this.Station.Text;
machines.PowderStation = this.Station.Text;
machines.ChemicalDispenser = this.chemicaldispenser.Text;
machines.DyeDispenser = this.dyedispenser.Text;
machines.PowderDispenser = this.powderdispenser.Text;
machines.ChemicalCallOff = 0;
machines.ChemicalCallOff2 = 0;
machines.ChemicalState = 101;
machines.ChemicalState2 = 101;
machines.DyeCallOff = 0;
machines.DyeState = 101;
machines.PowderCallOff = 0;
machines.PowderState = 101;
if (this.chemicaldispenser_operate.Text == "启用") machines.ChemicalEnabled = 1;
else machines.ChemicalEnabled = 0;
if (this.dyedispenser_operate.Text == "启用") machines.DyeEnabled = 1;
else machines.DyeEnabled = 0;
if (this.powderdispenser_operate.Text == "启用") machines.PowderEnabled = 1;
else machines.PowderEnabled = 0;
if (new MachinesProvider().Selectsql(machines).Count == 0)//判断数据库设定目标信息是否存在。
{
var count = new MachinesProvider().Insert(machines);//添加数据库信息
Button_sql = true;
if (count == 0) MessageBox.Show("ERR.C0210-2:机台创建失败", "错误");
}
else
{
System.Windows.MessageBox.Show("ERR.C0211:机台已存在终止操作", "错误");//判断执行是否成功
}
}
if (int_operate == 1)//清除信息
{
machines.Name = this.name.Text;
machines.DispenseDyelot = null;
machines.DyeDispenseDyelot = null;
machines.ChemicalCallOff = 0;
machines.ChemicalCallOff2 = 0;
machines.ChemicalState = 101;
machines.ChemicalState2 = 101;
machines.DyeCallOff = 0;
machines.DyeState = 101;
machines.PowderCallOff = 0;
machines.PowderState = 101;
if (new MachinesProvider().Selectsql(machines).Count == 0)//判断数据库设定目标信息是否存在。
{
System.Windows.MessageBox.Show("ERR.C0202-5:机台信息错误", "错误");//执行是否成功
}
else
{
var count = new MachinesProvider().Update1(machines);//添加数据库信息。
Button_sql = true;
if (count == 0) MessageBox.Show("ERR.C0210-2:机台创建失败", "错误");
}
}
if (int_operate == 2)//助剂完成
{
machines.Name = this.name.Text;
machines.ChemicalCallOff = 0;
machines.ChemicalCallOff2 = 0;
machines.ChemicalState = 101;
machines.ChemicalState2 = 101;
if (new MachinesProvider().Selectsql(machines).Count == 0)//判断数据库设定目标信息是否存在。
{
System.Windows.MessageBox.Show("ERR.C0202-5:机台信息错误", "错误");//执行是否成功
}
else
{
var count = new MachinesProvider().Update2(machines);//修改数据库信息。
Button_sql = true;
if (count == 0) System.Windows.MessageBox.Show("ERR.C0210-1:信息修改失败", "错误");//判断执行是否成功
}
}
if (int_operate == 3)//染料完成
{
machines.Name = this.name.Text;
machines.DyeCallOff = 0;
machines.DyeState = 101;
if (new MachinesProvider().Selectsql(machines).Count == 0)//判断数据库设定目标信息是否存在。
{
System.Windows.MessageBox.Show("ERR.C0202-5:机台信息错误", "错误");//执行是否成功
}
else
{
var count = new MachinesProvider().Update3(machines);//修改数据库信息。
Button_sql = true;
if (count == 0) System.Windows.MessageBox.Show("ERR.C0210-1:信息修改失败", "错误");//判断执行是否成功
}
}
if (int_operate == 4)//粉体完成
{
machines.Name = this.name.Text;
machines.PowderCallOff = 0;
machines.PowderState = 101;
if (new MachinesProvider().Selectsql(machines).Count == 0)//判断数据库设定目标信息是否存在。
{
System.Windows.MessageBox.Show("ERR.C0202-5:机台信息错误", "错误");//执行是否成功
}
else
{
var count = new MachinesProvider().Update4(machines);//添加数据库信息。
Button_sql = true;
if (count == 0) System.Windows.MessageBox.Show("ERR.C0210-1:信息修改失败", "错误");//判断执行是否成功
}
}
if (int_operate == 5)//修改机台
{
machines.Name = this.name.Text;
machines.DispenseDyelot = null;
machines.DyeDispenseDyelot = null;
machines.ChemicalStation = this.Station.Text;
machines.DyeStation = this.Station.Text;
machines.PowderStation = this.Station.Text;
machines.ChemicalDispenser = this.chemicaldispenser.Text;
machines.DyeDispenser = this.dyedispenser.Text;
machines.PowderDispenser = this.powderdispenser.Text;
machines.ChemicalCallOff = 0;
machines.ChemicalCallOff2 = 0;
machines.ChemicalState = 101;
machines.ChemicalState2 = 101;
machines.DyeCallOff = 0;
machines.DyeState = 101;
machines.PowderCallOff = 0;
machines.PowderState = 101;
if (this.chemicaldispenser_operate.Text == "启用") machines.ChemicalEnabled = 1;
else machines.ChemicalEnabled = 0;
if (this.dyedispenser_operate.Text == "启用") machines.DyeEnabled = 1;
else machines.DyeEnabled = 0;
if (this.powderdispenser_operate.Text == "启用") machines.PowderEnabled = 1;
else machines.PowderEnabled = 0;
if (new MachinesProvider().Selectsql(machines).Count == 0)//判断数据库设定目标信息是否存在。
{
System.Windows.MessageBox.Show("ERR.C0202-5:机台信息错误", "错误");//执行是否成功
}
else
{
var count = new MachinesProvider().Update(machines);//添加数据库信息
Button_sql = true;
if (count == 0) MessageBox.Show("ERR.C0210-2:机台修改失败", "错误");
}
}
}
}
private void Button_Delete(object sender, RoutedEventArgs e)//删除按钮
{
machines.Name = this.name.Text;//原料代码
string ShowProductName = "是否删除机台【" + this.name.Text + "】" + this.Station.Text;//获取原料信息并拼接提示字符串
MessageBoxResult showProductName = System.Windows.MessageBox.Show(ShowProductName, "提示", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.Yes);//弹窗提示是否删除目标原料
if (showProductName == MessageBoxResult.Yes)//判断是否删除原料
{
var count = new MachinesProvider().Delete(machines_temp);//删除数据库目标信息。
if (count == 0) System.Windows.MessageBox.Show("ERR.C0210-2:删除失败", "错误");//判断执行是否成功
else Button_sql = true;
}
}
}
}