using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using UAS_MES_NEW.DataOperate; using UAS_MES_NEW.Entity; namespace UAS_MES_NEW.Make { public partial class Make_BakingManage : Form { public Make_BakingManage() { InitializeComponent(); } StringBuilder SQL = new StringBuilder(); DataHelper dh = SystemInf.dh; DataTable dt; private void Make_InBaking_Load(object sender, EventArgs e) { LoadBaking(); Timer ReLoad = new Timer(); ReLoad.Interval = 10000; ReLoad.Tick += ReLoadData; ReLoad.Start(); } private void ReLoadData(object sender, EventArgs e) { LoadBaking(); } private void ReelNoVal_Leave(object sender, EventArgs e) { UpdateMaterial("L", ReelNoVal.Text); } private void ReelNoVal_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode != Keys.Enter) return; ReelNoVal.Text = ReelNoVal.Text.Trim(); UpdateMaterial("L", ReelNoVal.Text); } private void LoadBaking() { dt = (DataTable)dh.ExecuteSql($"SELECT box_no,reel_no,in_date,in_name,estimate_time FROM baking_log WHERE status = '烘烤中'", "select"); DataBox.DataSource = dt; } private void UpdateMaterial(string type, string reelNo = "") { if (type == "C") { serialNumber.Text = ""; workOrder.Text = ""; productCode.Text = ""; productName.Text = ""; } else if (type == "L") { dt = (DataTable)dh.ExecuteSql($@"SELECT bar_code,bar_prodcode,pr_detail,pr_spec,bar_batchqty FROM barcode LEFT JOIN product ON pr_code = bar_prodcode WHERE bar_code = '{reelNo}'", "select"); if (dt.Rows.Count > 0) { serialNumber.Text = dt.Rows[0]["bar_code"].ToString(); workOrder.Text = dt.Rows[0]["pr_detail"].ToString(); productCode.Text = dt.Rows[0]["bar_prodcode"].ToString(); productName.Text = dt.Rows[0]["pr_spec"].ToString(); } else { UpdateMaterial("C"); } } } private void Choose_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(EmployeeVal.Text)) { MessageBox.Show("请输入烘烤操作员账号"); return; } if (string.IsNullOrEmpty(BackingVal.Text)) { MessageBox.Show("请扫描烘烤箱号"); return; } if (string.IsNullOrEmpty(EstimateVal.Text)) { MessageBox.Show("请填写扫描时长"); return; } if (string.IsNullOrEmpty(ReelNoVal.Text)) { MessageBox.Show("请扫描入烘烤物料条码"); return; } dt = (DataTable)dh.ExecuteSql($@"SELECT * FROM baking_log WHERE status = '烘烤中' AND reel_no = '{ReelNoVal.Text}'", "select"); if (dt.Rows.Count > 0) { MessageBox.Show($"条码号:{ReelNoVal.Text} 已在烘烤箱中"); return; } dh.ExecuteSql($@"INSERT INTO baking_log (baking_id,box_no,reel_no,status,in_date,in_name,estimate_time) SELECT baking_log_seq.NEXTVAL,'{BackingVal.Text}', '{ReelNoVal.Text}', '烘烤中',sysdate,'{EmployeeVal.Text.Trim()}','{EstimateVal.Text}' FROM dual", "insert"); EmployeeVal.Text = ""; BackingVal.Text = ""; EstimateVal.Text = ""; ReelNoVal.Text = ""; UpdateMaterial("C"); LoadBaking(); MessageBox.Show($"条码号:{ReelNoVal.Text} 入烘烤箱成功"); } private void BackingVal_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode != Keys.Enter) return; BackingVal.Text = BackingVal.Text.Trim(); EstimateVal.Focus(); EstimateVal.SelectAll(); } private void EstimateVal_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode != Keys.Enter) return; EstimateVal.Text = EstimateVal.Text.Trim(); ReelNoVal.Focus(); ReelNoVal.SelectAll(); } private void EmployeeVal_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode != Keys.Enter) return; if (string.IsNullOrEmpty(EmployeeVal.Text)) return; dt = (DataTable)dh.ExecuteSql($"select * from employee where em_code = '{EmployeeVal.Text.Trim()}'", "select"); if (dt.Rows.Count == 0) { MessageBox.Show("请输入正确人员账号"); EmployeeVal.Text = ""; EmployeeVal.Focus(); EmployeeVal.SelectAll(); return; } } private void EmployeeVal_Leave(object sender, EventArgs e) { if (string.IsNullOrEmpty(EmployeeVal.Text)) return; dt = (DataTable)dh.ExecuteSql($"select * from employee where em_code = '{EmployeeVal.Text.Trim()}'", "select"); if (dt.Rows.Count == 0) { MessageBox.Show("请输入正确人员账号"); EmployeeVal.Text = ""; EmployeeVal.Focus(); EmployeeVal.SelectAll(); return; } } private void EmployeeVal1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode != Keys.Enter) return; if (string.IsNullOrEmpty(EmployeeVal1.Text)) return; dt = (DataTable)dh.ExecuteSql($"select * from employee where em_code = '{EmployeeVal1.Text.Trim()}'", "select"); if (dt.Rows.Count == 0) { MessageBox.Show("请输入正确人员账号"); EmployeeVal1.Text = ""; EmployeeVal1.Focus(); EmployeeVal1.SelectAll(); return; } } private void EmployeeVal1_Leave(object sender, EventArgs e) { if (string.IsNullOrEmpty(EmployeeVal1.Text)) return; dt = (DataTable)dh.ExecuteSql($"select * from employee where em_code = '{EmployeeVal1.Text.Trim()}'", "select"); if (dt.Rows.Count == 0) { MessageBox.Show("请输入正确人员账号"); EmployeeVal1.Text = ""; EmployeeVal1.Focus(); EmployeeVal1.SelectAll(); return; } } private void Choose1_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(EmployeeVal1.Text)) { MessageBox.Show("请输入烘烤操作员账号"); return; } if (string.IsNullOrEmpty(ReelNoVal1.Text)) { MessageBox.Show("请扫描入烘烤物料条码"); return; } dt = (DataTable)dh.ExecuteSql($@"SELECT * FROM baking_log WHERE status = '烘烤中' AND reel_no = '{ReelNoVal1.Text.Trim()}'", "select"); if (dt.Rows.Count == 0) { MessageBox.Show($"条码号:{ReelNoVal1.Text} 不在烘烤箱中,请重试"); ReelNoVal1.Focus(); ReelNoVal1.SelectAll(); return; } dh.ExecuteSql($@"UPDATE baking_log SET status = '已烘烤',out_date = sysdate,baking_time = TRUNC(sysdate - in_date),out_name = '{EmployeeVal1.Text.Trim()}' WHERE status = '烘烤中' and reel_no = '{ReelNoVal1.Text.Trim()}'", "insert"); EmployeeVal1.Text = ""; ReelNoVal1.Text = ""; UpdateMaterial("C"); LoadBaking(); MessageBox.Show($"条码号:{ReelNoVal1.Text} 出烘烤箱成功"); } private void ReelNoVal1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode != Keys.Enter) return; ReelNoVal1.Text = ReelNoVal1.Text.Trim(); UpdateMaterial("L", ReelNoVal1.Text); } private void ReelNoVal1_Leave(object sender, EventArgs e) { UpdateMaterial("L", ReelNoVal1.Text); } } }