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_EquiConnect : Form { public Make_EquiConnect() { InitializeComponent(); } StringBuilder SQL = new StringBuilder(); DataHelper dh = SystemInf.dh; DataTable dt; private void Make_EquiConnect_Load(object sender, EventArgs e) { dt = (DataTable)dh.ExecuteSql("SELECT * FROM line WHERE li_wcname = 'SMT' ORDER BY li_auditdate", "select"); if (dt.Rows.Count > 0) { foreach (DataRow item in dt.Rows) { LineVal.Items.Add(item["li_code"].ToString()); } } } private void OK_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(EmployeeVal.Text)) { ShowMsg(0, "请输入抽检人员姓名"); return; } /*if (string.IsNullOrEmpty(LineVal.Text)) { ShowMsg(0, "请选择线体"); return; }*/ if (string.IsNullOrEmpty(SNVal.Text)) { ShowMsg(0, "请选择扫描序列号"); return; } InsertLog("OK"); } private void NG_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(EmployeeVal.Text)) { ShowMsg(0, "请输入抽检人员姓名"); return; } /*if (string.IsNullOrEmpty(LineVal.Text)) { ShowMsg(0, "请选择线体"); return; }*/ if (string.IsNullOrEmpty(SNVal.Text)) { ShowMsg(0, "请选择扫描序列号"); return; } InsertLog("NG"); } private void InsertLog(string resType) { UpdateSN("L", SNVal.Text.Trim()); SQL.Clear(); SQL.Append($@"INSERT INTO steptestdetail (std_id,std_sn,std_makecode,std_class,std_testresult,std_indate,STD_SUBCLASS1,STD_SUBCLASS2) VALUES (steptestdetail_seq.NEXTVAL, '{SNVal.Text.Trim()}','{workOrder.Text.Trim()}','Xray抽检','{resType}',sysdate, '{LineVal.Text}','{EmployeeVal.Text.Trim()}')"); dh.ExecuteSql(SQL.ToString(), "insert"); ShowMsg(1, $"已记录 {SNVal.Text.Trim()},测试结果为 {resType}"); } private void ShowMsg(int type, string msg) { msg = msg.Replace("\r", "").Replace("\n", ""); string msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); string showMsg = $"{msgTime}: {msg}\n"; if (type == 0) { OperatResult.AppendText(showMsg, Color.Red); } else if (type == 1) { OperatResult.AppendText(showMsg, Color.Green); } else if (type == 2) { OperatResult.AppendText(showMsg, Color.GreenYellow); } } private void UpdateSN(string type, string sn) { if (type == "C") { serialNumber.Text = ""; workOrder.Text = ""; productCode.Text = ""; productName.Text = ""; TargetQty.Text = ""; } else if (type == "L") { SQL.Clear(); SQL.Append($@"SELECT ms_sncode,ma_code,pr_code,pr_spec,ma_qty FROM makeserial,make,product WHERE ms_sncode = '{sn}' AND ms_makecode = ma_code AND ms_prodcode = pr_code"); dt = (DataTable)dh.ExecuteSql(SQL.ToString(), "select"); if (dt.Rows.Count > 0) { serialNumber.Text = dt.Rows[0]["ms_sncode"].ToString(); workOrder.Text = dt.Rows[0]["ma_code"].ToString(); productCode.Text = dt.Rows[0]["pr_code"].ToString(); productName.Text = dt.Rows[0]["pr_spec"].ToString(); TargetQty.Text = dt.Rows[0]["ma_qty"].ToString(); } else { UpdateSN("C", sn); } } } private void EmployeeVal_KeyDown_1(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_name = '{EmployeeVal.Text.Trim()}'", "select"); if (dt.Rows.Count == 0) { MessageBox.Show("请输入正确人员账号"); EmployeeVal.Text = ""; EmployeeVal.Focus(); EmployeeVal.SelectAll(); return; }*/ } private void EmployeeVal_Leave_1(object sender, EventArgs e) { if (string.IsNullOrEmpty(EmployeeVal.Text)) return; /*dt = (DataTable)dh.ExecuteSql($"select * from employee where em_name = '{EmployeeVal.Text.Trim()}'", "select"); if (dt.Rows.Count == 0) { MessageBox.Show("请输入正确人员账号"); EmployeeVal.Text = ""; EmployeeVal.Focus(); EmployeeVal.SelectAll(); return; }*/ } private void NgBox_Click(object sender, EventArgs e) { OkBox.Checked = false; } private void OkBox_Click(object sender, EventArgs e) { NgBox.Checked = false; } private void SnType1_Click(object sender, EventArgs e) { SnType2.Checked = false; } private void SnType2_Click(object sender, EventArgs e) { SnType1.Checked = false; } private void SNVal_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode != Keys.Enter) return; SNVal.Text = SNVal.Text.Trim(); if (string.IsNullOrEmpty(EmployeeVal.Text)) { ShowMsg(0, "请输入抽检人员姓名"); return; } if (!OkBox.Checked && !NgBox.Checked) { ShowMsg(0, "请勾选判定结果"); return; } if (!SnType1.Checked && !SnType2.Checked) { ShowMsg(0, "请勾选序列号类型"); return; } if (string.IsNullOrEmpty(SNVal.Text)) { ShowMsg(0, "请选择扫描序列号"); return; } if (SnType1.Checked) { List snList = new List(); dt = (DataTable)dh.ExecuteSql($@"select * from smtbind where sb_maincode = '{SNVal.Text}'", "select"); if (dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { snList.Add(dr["sb_maincode"].ToString()); } } foreach(string str in snList) { dt = (DataTable)dh.ExecuteSql($@"SELECT ms_makecode,ms_prodcode,cd_stepcode,cd_stepname,cd_stepno FROM makeserial,craft,craftdetail WHERE ms_sncode = '{str}' AND ms_prodcode = cr_prodcode AND cr_id = cd_crid AND cd_stepno = 1 ORDER BY cd_stepno", "select"); if (dt.Rows.Count == 0) { ShowMsg(0, $"拼板号:{SNVal.Text} 中序列号:{str} 无归属记录,请过投入站后再采集Xray信息"); return; } dt = (DataTable)dh.ExecuteSql($@"SELECT mp_linecode FROM makeprocess WHERE mp_sncode = '{str}' AND mp_stepcode = '{dt.Rows[0]["cd_stepcode"]}'", "select"); if (dt.Rows.Count == 0) { ShowMsg(0, $"拼板号:{SNVal.Text} 中序列号:{str} 无投入过站记录,请过投入站后再采集Xray信息"); return; } } } else { dt = (DataTable)dh.ExecuteSql($@"SELECT ms_makecode,ms_prodcode,cd_stepcode,cd_stepname,cd_stepno FROM makeserial,craft,craftdetail WHERE ms_sncode = '{SNVal.Text}' AND ms_prodcode = cr_prodcode AND cr_id = cd_crid AND cd_stepno = 1 ORDER BY cd_stepno", "select"); if (dt.Rows.Count == 0) { ShowMsg(0, $"序列号:{SNVal.Text} 无归属记录,请过投入站后再采集Xray信息"); return; } dt = (DataTable)dh.ExecuteSql($@"SELECT mp_linecode FROM makeprocess WHERE mp_sncode = '{SNVal.Text}' AND mp_stepcode = '{dt.Rows[0]["cd_stepcode"]}'", "select"); if (dt.Rows.Count == 0) { ShowMsg(0, $"序列号:{SNVal.Text} 无投入过站记录,请过投入站后再采集Xray信息"); return; } } for (int i = 0; i <= LineVal.Items.Count; i++) { string mplinecode = dt.Rows[0]["mp_linecode"].ToString(); string allLine = LineVal.Items[i].ToString(); if (mplinecode == allLine) { LineVal.SelectedIndex = i; break; } } //if (string.IsNullOrEmpty(LineVal.Text)) //{ // ShowMsg(0, "请选择线体"); // return; //} InsertLog(OkBox.Checked ? "OK" : "NG"); SNVal.Focus(); SNVal.SelectAll(); SNVal.Text = ""; } } }