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 Mesnac.Compressor.Data; using Mesnac.Action.Default.Purview; using SocketProcess; using System.Threading; namespace DisassemblyTable { public partial class Disassembly : Form { SerialEquip Com; SocketServer socket; string Port= System.Configuration.ConfigurationManager.AppSettings["para"]; string connType= System.Configuration.ConfigurationManager.AppSettings["Type"]; public delegate void Transit(string data); public string NGStationID = ""; public Disassembly() { InitializeComponent(); //FrmSysLogin frmlogin = new FrmSysLogin(); //frmlogin.ShowDialog(); //if (!UserInfo.Instance.islogin) //{ // this.Close(); //} InitPort(); //initCombox(); } public void InitPort() { if (connType.ToLower() == "socket") { socket = new SocketServer(); ThreadPool.QueueUserWorkItem(new WaitCallback(Thread), Port); socket.ReciveEvent += socketRecieve; } else if (connType.ToLower() == "com") { // string Port = "COM3"; Com = new SerialEquip(Port); Com.OpenCom(null); Com.SerialData += Receive; } else { MessageBox.Show("未找到通信类型:"+ connType); } } public void Thread(object o) { int port=Convert.ToInt32(o); socket.StartService(port); } public void socketRecieve(string barcode, object o) { Receive(barcode); } public void Receive(string Data) { if (this.InvokeRequired) { this.Invoke(new Transit(Receive), Data); return; } try { Console.WriteLine("扫描数据" + Data + "数据完成"); ClearAllControl(); textBox1.Text = Data; DbHandler db = new DbHandler(); DataSet ds = db.Select(Data.Trim()); if(ds==null) { MessageBox.Show("未查询到条码信息"); return; } Console.WriteLine("数据返回表个数:" + ds.Tables.Count.ToString()); if (ds.Tables.Count < 1) { MessageBox.Show("未查询到当前条码生产NG信息"); return; } DataTable dt1 = ds.Tables[0]; if (dt1 != null && dt1.Rows.Count > 0) { DataRow dr = dt1.Rows[0]; string NGstation = dr["StationName"].ToString(); this.tb_ngstation.Text = NGstation; } if (ds.Tables.Count > 1) { dataGridView1.DataSource = ds.Tables[1]; } } catch { } } //cb_qiangai.Enabled = false; cb_zhuanzi.Enabled = false; cb_allRestart.Enabled = false; //private void button1_Click(object sender, EventArgs e) //{ // try // { // if (string.IsNullOrEmpty(textBox1.Text)) // { // MessageBox.Show("条码为空!", "提示!"); // return; // } // DbHandler db = new DbHandler(); // int state1 = 0, state2 = 0, state3 = 0, state4 = 0; // string RestartStation = ""; // string checker = UserInfo.Instance.UserName; // if (cb_qiangai.Enabled == true) // { // if (cb_qiangai.CheckState == CheckState.Checked) // { // state1 = 1; // } // else // { // state1 = 0; // } // } // if (cb_zhuanzi.Enabled == true) // { // if (cb_zhuanzi.CheckState == CheckState.Checked) // { // state2 = 1; // } // else // { // state2 = 0; // } // } // if (cb_allRestart.Enabled == true) // { // if (cb_allRestart.CheckState == CheckState.Checked) // { // state3 = 1; // RestartStation = comboBox1.SelectedValue.ToString(); // //RestartStation = NGStationID; // } // else // { // state3 = 0; // } // } // if (cb_AllScrapped.Checked) // { // state4 = 1; // } // if (db.Test(textBox1.Text, state1, state2, state3, state4, RestartStation, checker)) // { // MessageBox.Show("拆解成功!", "提示!"); // ClearAllControl(); // } // else // { // MessageBox.Show("拆解失败!", "提示!"); // } // } // catch(Exception ex) // { // //MessageBox.Show(ex.ToString()); // } //} private void ClearAllControl() { this.textBox1.Text = ""; dataGridView1.DataSource = null; this.tb_ngstation.Text = ""; } private void label2_Click(object sender, EventArgs e) { } private void textBox2_TextChanged(object sender, EventArgs e) { } private void Disassembly_FormClosing(object sender, FormClosingEventArgs e) { if (connType.ToLower() == "socket") { //socket.StopService(); socket.ReciveEvent -= socketRecieve; } else if (connType.ToLower() == "com") { Com.Close(); } } private void textBox1_TextChanged(object sender, EventArgs e) { } private void label1_Click(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { string Data = ""; //ClearAllControl(); Data=textBox1.Text.Trim(); Data = "SJ1811020005"; Console.WriteLine("扫描数据"+ Data); DbHandler db = new DbHandler(); DataSet ds = db.Select(Data); if (ds==null||ds.Tables.Count < 1) { MessageBox.Show("未查询到当前条码生产NG信息"); return; } DataTable dt1 = ds.Tables[0]; if (dt1 != null && dt1.Rows.Count > 0) { DataRow dr = dt1.Rows[0]; string NGstation = dr["StationName"].ToString(); this.tb_ngstation.Text = NGstation; } if (ds.Tables.Count > 1) { dataGridView1.DataSource = ds.Tables[1]; } } } }