private void tracker_bar_textBox_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == System.Convert.ToChar(13)) { if (this.tracker_bar_textBox.Text.Trim() == "") { this.tracker_bar_textBox.Focus(); MessageBox.Show("追踪条码的内容为空,请检查!"); return; } try { if (Untils.isTimeError(testdatetextBox.Text.Trim())) { this.bomdownload.Enabled = false; } Untils.deleteFile("D:\\fru\\", "BOM.bat"); Untils.deleteFile("D:\\fru\\", "BOM.NSH"); Untils.deleteFile("D:\\fru\\", "DPK.TXT"); SqlConnection mConn = new SqlConnection(Constlist.ConStr); mConn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = mConn; cmd.CommandType = CommandType.Text; cmd.CommandText = "select station from stationInformation where track_serial_no='" + this.tracker_bar_textBox.Text.Trim() + "'"; SqlDataReader querySdr = cmd.ExecuteReader(); string station = ""; while (querySdr.Read()) { station = querySdr[0].ToString(); } querySdr.Close(); if (station != "维修" && station != "BGA") { MessageBox.Show("板子已经经过站别" + station); mConn.Close(); this.tracker_bar_textBox.Focus(); this.tracker_bar_textBox.SelectAll(); return; } cmd.CommandText = "select track_serial_no,product from repair_record_table where track_serial_no='" + this.tracker_bar_textBox.Text.Trim() + "'"; querySdr = cmd.ExecuteReader(); track_serial_no = ""; product = ""; this.bomdownload.Enabled = false; this.buffertest.Enabled = false; this.isburn.Enabled = false; if (querySdr.HasRows == false) { querySdr.Close(); MessageBox.Show("本条形码不在维修表中,现在检查buffer表!"); cmd.CommandText = "select track_serial_no,product from mb_out_stock where track_serial_no='" + this.tracker_bar_textBox.Text.Trim() + "'"; querySdr = cmd.ExecuteReader(); if (querySdr.HasRows == false) { MessageBox.Show("本条形码不在buffer出库表中,请检查!"); querySdr.Close(); mConn.Close(); return; } else { while (querySdr.Read()) { track_serial_no = querySdr[0].ToString(); product = querySdr[1].ToString(); } querySdr.Close(); existBuffer = true; this.buffertest.Enabled = true; this.isburn.Enabled = true; } } else { while (querySdr.Read()) { track_serial_no = querySdr[0].ToString(); product = querySdr[1].ToString(); } querySdr.Close(); this.bomdownload.Enabled = true; existRepair = true; } if (existRepair) { cmd.CommandText = "select top 1 _status from bga_wait_record_table where track_serial_no='" + this.tracker_bar_textBox.Text.Trim() + "' order by Id desc"; querySdr = cmd.ExecuteReader(); string bgastatus = ""; while (querySdr.Read()) { bgastatus = querySdr[0].ToString(); } querySdr.Close(); if (bgastatus == "BGA不良") { MessageBox.Show("BGA的维修记录不对,请检查!"); querySdr.Close(); mConn.Close(); return; } } if (product != "" && product != "LBG")//TBG, DT, AIO { if (track_serial_no != "") { customMaterialNo = ""; vendor_serail_no = ""; mac = ""; uuid = ""; custom_serial_no = ""; mb_brief = ""; if (existRepair) { cmd.CommandText = "select custommaterialNo, vendor_serail_no,mac,uuid,custom_serial_no,mb_brief from DeliveredTable where track_serial_no='" + this.tracker_bar_textBox.Text.Trim() + "'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { customMaterialNo = querySdr[0].ToString(); vendor_serail_no = querySdr[1].ToString(); mac = querySdr[2].ToString(); uuid = querySdr[3].ToString(); custom_serial_no = querySdr[4].ToString(); mb_brief = querySdr[5].ToString(); } querySdr.Close(); } else if (existBuffer) { cmd.CommandText = "select custommaterialNo, vendor_serial_no,custom_serial_no,mb_brief from mb_out_stock where track_serial_no='" + this.tracker_bar_textBox.Text.Trim() + "'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { customMaterialNo = querySdr[0].ToString(); vendor_serail_no = querySdr[1].ToString(); custom_serial_no = querySdr[2].ToString(); mb_brief = querySdr[3].ToString(); } querySdr.Close(); } if (customMaterialNo != "") { cpu_type = ""; cpu_freq = ""; dpk_type = ""; dpkpn = ""; mpn = ""; cmd.CommandText = "select cpu_type,cpu_freq,dpk_type,dpkpn, mpn from MBMaterialCompare where custommaterialNo='" + customMaterialNo + "'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { cpu_type = querySdr[0].ToString(); cpu_freq = querySdr[1].ToString(); dpk_type = querySdr[2].ToString(); dpkpn = querySdr[3].ToString(); mpn = querySdr[4].ToString(); } querySdr.Close(); this.cpuTypetextBox.Text = cpu_type; this.cpuFreqtextBox.Text = cpu_freq; this.testerTextBox.Text = LoginForm.currentUser; this.testdatetextBox.Text = DateTime.Now.ToString("yyyy/MM/dd"); KEYID = ""; KEYSERIAL = ""; if (dpk_type != "NOK" && dpkpn != "")//此时需要查找导入的dpk表格,查找对应的KEYI KEYSERIAL { //首先判断这个板子有没有来过,若来过则重新拿号给他,否则去新的 cmd.CommandText = "select burn_date,KEYID,KEYSERIAL from DPK_table where custom_serial_no='" + custom_serial_no + "'"; querySdr = cmd.ExecuteReader(); string burn_date = ""; while (querySdr.Read()) { burn_date = querySdr[0].ToString(); KEYID = querySdr[1].ToString(); KEYSERIAL = querySdr[2].ToString(); } querySdr.Close(); if (burn_date != "" && Untils.in90Days(burn_date)) //不为空且在90天内 { //KEYID,KEYSERIAL按之前的序列号,其他内容不变 } else//不存在或超过90天,则分配新的东西 { cmd.CommandText = "select KEYID,KEYSERIAL,Id from DPK_table where KEYPN='" + dpkpn + "' and _status ='未使用' order by Id asc"; querySdr = cmd.ExecuteReader(); bool exist = false; string id = ""; while (querySdr.Read()) { exist = true; KEYID = querySdr[0].ToString(); KEYSERIAL = querySdr[1].ToString(); id = querySdr[2].ToString(); break; } querySdr.Close(); if (exist == false) { MessageBox.Show("此DPKPN" + dpkpn + "的序列号已经使用完毕或不存在!"); mConn.Close(); return; } else { //更新烧录日期与custom_serial_no与使用状态 cmd.CommandText = "update DPK_table set _status = '已使用', burn_date = '" + DateTime.Now.ToString("yyyy/MM/dd") + "',custom_serial_no = '" + custom_serial_no + "' where Id = '" + id + "'"; cmd.ExecuteNonQuery(); } } } else { KEYID = "NOK"; KEYSERIAL = "NOK"; } this.keyidtextBox.Text = KEYID; tempKeySerial = KEYSERIAL; this.KEYSERIALtextBox.Text = KEYSERIAL; if (KEYID != "NOK") { int lastEm = tempKeySerial.LastIndexOf('-'); this.KEYSERIALtextBox.Text = "XXXXX-XXXXX-XXXXX-XXXXX-" + tempKeySerial.Substring(lastEm + 1, 5); } } else { this.tracker_bar_textBox.Focus(); this.tracker_bar_textBox.SelectAll(); MessageBox.Show("追踪条码的内容不在收货表中,请检查!"); mConn.Close(); return; } } else { MessageBox.Show("此追踪条码没有维修记录!"); mConn.Close(); return; } } else { if (product == "") { MessageBox.Show("此追踪条码没有维修记录!"); mConn.Close(); return; } else { MessageBox.Show("此追踪条码对应的客户别不是TBG, DT, AIO !"); mConn.Close(); return; } } mConn.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } }