You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
487 lines
19 KiB
487 lines
19 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using grproLib;
|
|
using MESClassLibrary.BLL.BasicInfo;
|
|
using MESClassLibrary.BLL.Log;
|
|
using MESClassLibrary.DAL;
|
|
using MESClassLibrary.Model;
|
|
using DataTable = System.Data.DataTable;
|
|
|
|
namespace InjectionSearch
|
|
{
|
|
public partial class FrmBarCodeSearch : Form
|
|
{
|
|
public FrmBarCodeSearch()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void initProduct()
|
|
{
|
|
comboBox1.Items.Clear();
|
|
|
|
ProductBLL bll = new ProductBLL();
|
|
|
|
DataTable dt = bll.SearchInfoAllByType("2000");
|
|
if (dt != null && dt.Rows.Count > 0)
|
|
{
|
|
for (int i = 0; i < dt.Rows.Count; i++)
|
|
{
|
|
comboBox1.Items.Add(dt.Rows[i]["StockNo"].ToString() +"--"+dt.Rows[i]["ProductName"].ToString());
|
|
}
|
|
}
|
|
dt.Dispose();
|
|
}
|
|
|
|
private void initBarCode()
|
|
{
|
|
BarCodeBLL bll = new BarCodeBLL();
|
|
|
|
glacialList1.Items.Clear();
|
|
DataTable dt = bll.SearchBarCode();
|
|
if (dt != null && dt.Rows.Count > 0)
|
|
{
|
|
for (int i = 0; i < dt.Rows.Count; i++)
|
|
{
|
|
glacialList1.Items.Add(i.ToString());
|
|
glacialList1.Items[i].SubItems[0].Text = dt.Rows[i]["BarCode"].ToString();
|
|
glacialList1.Items[i].SubItems[1].Text = dt.Rows[i]["ProductName"].ToString();
|
|
glacialList1.Items[i].SubItems[2].Text = dt.Rows[i]["PrintType"].ToString();
|
|
glacialList1.Items[i].SubItems[3].Text = dt.Rows[i]["PrintTime"].ToString() == "" ? "" : Convert.ToDateTime(dt.Rows[i]["PrintTime"].ToString()).ToString("yyyy-MM-dd HH:mm:ss.fff");
|
|
glacialList1.Items[i].SubItems[4].Text = dt.Rows[i]["MaterialName"].ToString();
|
|
glacialList1.Items[i].SubItems[5].Text = dt.Rows[i]["BatchNo"].ToString();
|
|
}
|
|
}
|
|
}
|
|
|
|
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
if (string.IsNullOrEmpty(comboBox1.Text) || comboBox1.Text.Length<10) return;
|
|
string stockNo = comboBox1.Text.Substring(0, 10);
|
|
|
|
ProductBLL bll=new ProductBLL();
|
|
BomBLL bombll=new BomBLL();
|
|
|
|
DataTable dt = bll.SearchInfoByStock(stockNo);
|
|
if (dt != null && dt.Rows.Count > 0)
|
|
{
|
|
textBox1.Text = dt.Rows[0]["PartNo"].ToString();
|
|
dt.Dispose();
|
|
}
|
|
else
|
|
{
|
|
textBox1.Text = "";
|
|
}
|
|
|
|
DataTable dt1 = bombll.SearchBom(textBox1.Text);
|
|
if (dt1 != null && dt1.Rows.Count > 0)
|
|
{
|
|
textBox2.Text = dt1.Rows[0]["PartNo2"].ToString();
|
|
dt.Dispose();
|
|
}
|
|
else
|
|
{
|
|
textBox2.Text = "";
|
|
}
|
|
}
|
|
|
|
private void FrmBarCodeSearch_Load(object sender, EventArgs e)
|
|
{
|
|
initProduct();
|
|
initBarCode();
|
|
comboBox2.Items.Clear();
|
|
comboBox2.Items.Add("IM01");
|
|
comboBox2.Items.Add("IM02");
|
|
comboBox2.Items.Add("IM03");
|
|
comboBox2.Items.Add("IM04");
|
|
comboBox2.Items.Add("IM05");
|
|
comboBox2.Items.Add("IM06");
|
|
}
|
|
|
|
private void label18_Click(object sender, EventArgs e)
|
|
{
|
|
string code = "";
|
|
BarCodeModel md = new BarCodeModel();
|
|
BarCodeBLL bll = new BarCodeBLL();
|
|
ProductBLL pbll=new ProductBLL();
|
|
|
|
try
|
|
{
|
|
if (glacialList1.SelectedItems.Count == 0)
|
|
{
|
|
MessageBox.Show("请选择要补打的条码!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
GlacialComponents.Controls.GLItem gv;
|
|
gv = glacialList1.SelectedItems[0] as GlacialComponents.Controls.GLItem;
|
|
code = gv.Text;
|
|
|
|
DataTable dt = bll.SearchInfoByBarCode(code);
|
|
if (dt != null && dt.Rows.Count > 0)
|
|
{
|
|
md.ID = Guid.NewGuid().ToString();
|
|
md.BarCode = code;
|
|
md.StationID = Program.StationID;
|
|
md.StockNo = dt.Rows[0]["StockNo"].ToString();
|
|
md.OneBarCode = dt.Rows[0]["OneBarCode"].ToString();
|
|
md.StationID2 = dt.Rows[0]["StationID"].ToString();
|
|
md.PrintType = 2;
|
|
|
|
DataTable pdt = pbll.SearchIsImportByStockNo(md.StockNo);
|
|
if (pdt != null && pdt.Rows.Count > 0)
|
|
{
|
|
if (pdt.Rows[0]["isImport"].ToString() == "1")
|
|
{
|
|
md.Import = "国产料Kingfa";
|
|
}
|
|
else
|
|
{
|
|
md.Import = "";
|
|
}
|
|
}
|
|
//if (md.StockNo == "2200000064" || md.StockNo == "2200000093" || md.StockNo == "2200000096" ||
|
|
// md.StockNo == "2200000052")
|
|
//{
|
|
// md.Import = "国产料Kingfa";
|
|
//}
|
|
//else
|
|
//{
|
|
// md.Import = "";
|
|
//}
|
|
}
|
|
dt.Dispose();
|
|
bll.Add_Info(md);
|
|
|
|
#region 打印条码
|
|
|
|
GridppReport report = new GridppReport();
|
|
|
|
report.Register("");
|
|
report.LoadFromFile(@"D:\P02 - 副本.grf");
|
|
report.ConnectionString = ConfigurationManager.ConnectionStrings["report"].ToString();
|
|
|
|
//report.PrintPreview(true);
|
|
report.Print(false);
|
|
#endregion
|
|
|
|
bll.Update_Info(md);
|
|
initBarCode();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
|
|
}
|
|
|
|
}
|
|
|
|
public DateTime GetDateTime()
|
|
{
|
|
string sql = "";
|
|
DateTime time;
|
|
DataTable dt;
|
|
try
|
|
{
|
|
sql = @"select getdate() as time";
|
|
|
|
dt = SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, null).Tables[0];
|
|
if (dt != null && dt.Rows.Count > 0)
|
|
{
|
|
time = Convert.ToDateTime(dt.Rows[0]["time"].ToString());
|
|
|
|
}
|
|
else
|
|
{
|
|
time = DateTime.Now;
|
|
}
|
|
return time;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
|
|
return DateTime.Now;
|
|
}
|
|
}
|
|
|
|
private static bool IsNumeric(string str)
|
|
{
|
|
System.Text.RegularExpressions.Regex reg1 = new System.Text.RegularExpressions.Regex(@"^[0-9]\d*$");
|
|
return reg1.IsMatch(str);
|
|
}
|
|
|
|
private void label19_Click(object sender, EventArgs e)
|
|
{
|
|
string code = "", stationID = "", OneCode = "";
|
|
string newcode = "", partNo = "", stockNo = "", NewOneCode = "";
|
|
|
|
try
|
|
{
|
|
#region 数据合法性判断
|
|
if (comboBox2.Text.Trim() == "")
|
|
{
|
|
MessageBox.Show("请选择机台!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
return;
|
|
}
|
|
|
|
if (comboBox1.Text.Trim() == "")
|
|
{
|
|
MessageBox.Show("请选择产品!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
return;
|
|
}
|
|
|
|
if (textBox3.Text.Trim() == "")
|
|
{
|
|
MessageBox.Show("请输入批次!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
return;
|
|
}
|
|
|
|
if (textBox4.Text.Trim() == "")
|
|
{
|
|
MessageBox.Show("请输入数量!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
return;
|
|
}
|
|
if (!IsNumeric(textBox4.Text.Trim()))
|
|
{
|
|
MessageBox.Show("数量格式不正确!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
return;
|
|
}
|
|
|
|
if (Convert.ToInt32(textBox4.Text.Trim()) > 1000)
|
|
{
|
|
MessageBox.Show("数量不能大于1000!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
return;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 获取工位编号
|
|
|
|
StationBLL sbll = new StationBLL();
|
|
DataTable sdt = sbll.SearchInfoByNo(comboBox2.Text.Trim());
|
|
if (sdt != null && sdt.Rows.Count > 0)
|
|
{
|
|
stationID = sdt.Rows[0]["StationID"].ToString();
|
|
}
|
|
sdt.Dispose();
|
|
#endregion
|
|
|
|
DialogResult result = MessageBox.Show("确定手工打印条码?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
|
|
if (result == DialogResult.OK)
|
|
{
|
|
#region 生成条码
|
|
|
|
ProductBLL pbll = new ProductBLL();
|
|
|
|
//查询零件号
|
|
stockNo = comboBox1.Text.Substring(0, 10);
|
|
partNo = textBox1.Text.Trim();
|
|
|
|
//根据零件号、批次号查找
|
|
|
|
BarCodeBLL bll = new BarCodeBLL();
|
|
BarCodeModel md = new BarCodeModel();
|
|
|
|
//DataTable dt = bll.SearchSerialNoByBarCode(partNo + "." + textBox3.Text.Trim());
|
|
//DataTable dt = bll.SearchInfoByStock(stockNo);
|
|
DataTable dt = bll.SearchSerialNoByBarCode(stockNo, textBox3.Text.Trim());
|
|
if (dt != null && dt.Rows.Count > 0)
|
|
{
|
|
OneCode = dt.Rows[0]["OneBarCode"].ToString().Trim();
|
|
code = dt.Rows[0]["BarCode"].ToString().TrimEnd();
|
|
for (int i = 1; i <= Convert.ToInt32(textBox4.Text.Trim()); i++)
|
|
{
|
|
newcode = code.Substring(0, code.Length - 4) +
|
|
(Convert.ToInt32(code.Substring(code.Length - 4, 4)) + i)
|
|
.ToString()
|
|
.PadLeft(4, '0');
|
|
NewOneCode = OneCode.Substring(0, OneCode.Length - 4) +
|
|
(Convert.ToInt32(OneCode.Substring(OneCode.Length - 4, 4)) + i).ToString()
|
|
.PadLeft(4, '0');
|
|
string[] part = newcode.Split('.');
|
|
//存入tb_BarCode表
|
|
md.ID = Guid.NewGuid().ToString();
|
|
md.StationID = Program.StationID;
|
|
md.StationID2 = stationID;
|
|
md.OneBarCode = NewOneCode;
|
|
md.BarCode = newcode;
|
|
md.BatchNo= textBox3.Text.Trim();
|
|
|
|
md.StockNo = stockNo;
|
|
md.PrintType = 1;
|
|
|
|
DataTable pdt = pbll.SearchIsImportByStockNo(stockNo);
|
|
if (pdt != null && pdt.Rows.Count > 0)
|
|
{
|
|
if (pdt.Rows[0]["isImport"].ToString() == "1")
|
|
{
|
|
md.Import = "国产料Kingfa";
|
|
}
|
|
else
|
|
{
|
|
md.Import = "";
|
|
}
|
|
}
|
|
|
|
//if (NewOneCode.Substring(0, 10) == "2200000064" ||
|
|
// NewOneCode.Substring(0, 10) == "2200000093" ||
|
|
// NewOneCode.Substring(0, 10) == "2200000096" ||
|
|
// NewOneCode.Substring(0, 10) == "2200000084" ||
|
|
// NewOneCode.Substring(0, 10) == "2200000090" ||
|
|
// NewOneCode.Substring(0, 10) == "2200000052")
|
|
//{
|
|
// md.Import = "国产料Kingfa";
|
|
//}
|
|
//else
|
|
//{
|
|
// md.Import = "";
|
|
//}
|
|
|
|
if (bll.Add_Info(md))
|
|
|
|
{
|
|
#region 打印条码
|
|
|
|
GridppReport report = new GridppReport();
|
|
|
|
report.Register("");
|
|
//report.LoadFromFile(@"D:\P02.grf");
|
|
report.LoadFromFile(@"D:\P02 - 副本.grf");
|
|
report.ConnectionString = ConfigurationManager.ConnectionStrings["report"].ToString();
|
|
|
|
//report.PrintPreview(true);
|
|
report.Print(false);
|
|
|
|
#endregion
|
|
|
|
bll.Update_Info(md);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
for (int i = 1; i <= Convert.ToInt32(textBox4.Text.Trim()); i++)
|
|
{
|
|
newcode = partNo + "." + textBox3.Text.Trim() + "." + i.ToString().PadLeft(4, '0');
|
|
NewOneCode = stockNo + textBox3.Text.Trim() + i.ToString().PadLeft(4, '0');
|
|
string[] part = newcode.Split('.');
|
|
//存入tb_BarCode表
|
|
md.ID = Guid.NewGuid().ToString();
|
|
md.StationID = Program.StationID;
|
|
md.StationID2 = stationID;
|
|
md.StockNo = stockNo;
|
|
md.OneBarCode = NewOneCode;
|
|
md.BarCode = newcode;
|
|
md.PrintType = 1;
|
|
md.BatchNo = textBox3.Text.Trim();
|
|
|
|
DataTable pdt = pbll.SearchIsImportByStockNo(stockNo);
|
|
if (pdt != null && pdt.Rows.Count > 0)
|
|
{
|
|
if (pdt.Rows[0]["isImport"].ToString() == "1")
|
|
{
|
|
md.Import = "国产料Kingfa";
|
|
}
|
|
else
|
|
{
|
|
md.Import = "";
|
|
}
|
|
}
|
|
|
|
bll.Add_Info(md);
|
|
|
|
#region 打印条码
|
|
|
|
GridppReport report = new GridppReport();
|
|
|
|
report.Register("");
|
|
//report.LoadFromFile(@"D:\P02.grf");
|
|
report.LoadFromFile(@"D:\P02 - 副本.grf");
|
|
report.ConnectionString = ConfigurationManager.ConnectionStrings["report"].ToString();
|
|
|
|
//report.PrintPreview(true);
|
|
report.Print(false);
|
|
|
|
#endregion
|
|
|
|
bll.Update_Info(md);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
initBarCode();
|
|
}
|
|
else
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
|
|
}
|
|
}
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
BarCodeBLL bll = new BarCodeBLL();
|
|
DataTable dt = null;
|
|
|
|
try
|
|
{
|
|
glacialList1.Items.Clear();
|
|
if (textBox5.Text.Trim() == "")
|
|
{
|
|
dt = bll.SearchBarCode();
|
|
}
|
|
else
|
|
{
|
|
if (textBox5.Text.Trim().Length == 20)
|
|
{
|
|
dt = bll.SearchBarCodeByOne(textBox5.Text.Trim());
|
|
}
|
|
else
|
|
{
|
|
dt = bll.SearchBarCodeByTwo(textBox5.Text.Trim());
|
|
}
|
|
}
|
|
|
|
|
|
if (dt != null && dt.Rows.Count > 0)
|
|
{
|
|
for (int i = 0; i < dt.Rows.Count; i++)
|
|
{
|
|
glacialList1.Items.Add(i.ToString());
|
|
glacialList1.Items[i].SubItems[0].Text = dt.Rows[i]["BarCode"].ToString();
|
|
glacialList1.Items[i].SubItems[1].Text = dt.Rows[i]["ProductName"].ToString();
|
|
glacialList1.Items[i].SubItems[2].Text = dt.Rows[i]["PrintType"].ToString();
|
|
glacialList1.Items[i].SubItems[3].Text = dt.Rows[i]["PrintTime"].ToString() == "" ? "" : Convert.ToDateTime(dt.Rows[i]["PrintTime"].ToString()).ToString("yyyy-MM-dd HH:mm:ss.fff");
|
|
glacialList1.Items[i].SubItems[4].Text = dt.Rows[i]["MaterialName"].ToString();
|
|
glacialList1.Items[i].SubItems[5].Text = dt.Rows[i]["BatchNo"].ToString();
|
|
}
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
|
|
}
|
|
}
|
|
|
|
private void FrmBarCodeSearch_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
Application.Exit();
|
|
}
|
|
}
|
|
}
|
|
|