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

266 lines
7.6 KiB
C#

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];
}
}
}
}