注塑喷涂
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.

625 lines
25 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 FrmBarCodeSearchNew : Form
{
private string _printTemplateName = string.Empty;
private DataTable _stationTable = null;
public FrmBarCodeSearchNew()
{
InitializeComponent();
_printTemplateName = Application.StartupPath + "\\Report\\111 - 副本.grf";
lbVer.Text = Application.ProductVersion;
}
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");
StationBLL sbll = new StationBLL();
_stationTable = sbll.SearchAllInfo();
}
/// <summary>
/// 补打
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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.LoadFromFile(_printTemplateName);
//report.ConnectionString = ConfigurationManager.ConnectionStrings["report"].ToString();
////report.PrintPreview(true);
//report.Print(false);
//(glacialList1.SelectedItems[0] as GlacialComponents.Controls.GLItem).SubItems[1].Text
string productName = string.Empty;
if (glacialList1.SelectedItems.Count > 0)
{
GlacialComponents.Controls.GLItem gLItem = glacialList1.SelectedItems[0] as GlacialComponents.Controls.GLItem;
if(gLItem.SubItems.Count > 1)
{
productName = gLItem.SubItems[1].Text;
}
}
Print(md.OneBarCode, md.BarCode, md.Import, productName);
#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 (textBox3.Text.Trim().Length != 6)
{
MessageBox.Show("输入批次格式错误(yyMMdd)!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
DateTime dt = DateTime.Now;
if (DateTime.TryParse("20" + textBox3.Text.Trim().Substring(0, 2) + "-" + textBox3.Text.Trim().Substring(2, 2) + "-" + textBox3.Text.Trim().Substring(4, 2), out dt) == false)
{
MessageBox.Show("批次格式错误", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (textBox4.Text.Trim() == "")
{
MessageBox.Show("请输入数量!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (textBox1.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());
List<DataRow> stationList = _stationTable.AsEnumerable().Where(p => p.Field<string>("StationNo") == comboBox2.Text.Trim()).ToList();
if (stationList != null && stationList.Count > 0)
{
stationID = stationList[0]["StationID"].ToString();
}
//sdt.Dispose();
#endregion
DialogResult result = MessageBox.Show($"确定手工打印批次为[{textBox3.Text}]的[{textBox4.Text}]个条码?", "提示", 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();
for (int i = 1; i <= Convert.ToInt32(textBox4.Text.Trim()); i++)
{
string batch = textBox3.Text.Trim();
NewOneCode = BasicDAL.GetSjBarCodeSerialNo(stockNo, batch);
newcode = partNo + "." + batch + "." + NewOneCode.Substring(16, 4);
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 = batch;
md.StockNo = stockNo;
md.PrintType = 1;
DataTable pdt = pbll.SearchIsImportByStockNo(stockNo);
string productName = string.Empty;
if (pdt != null && pdt.Rows.Count > 0)
{
if (pdt.Rows[0]["isImport"].ToString() == "1")
{
md.Import = "国产料Kingfa";
}
else
{
md.Import = "";
}
productName = pdt.Rows[0]["ProductName"].ToString();
}
if (bll.Add_Info(md))
{
#region 打印条码
//GridppReport report = new GridppReport();
//report.Register("");
////report.LoadFromFile(@"D:\P02.grf");
////report.LoadFromFile(@"D:\P02 - 副本.grf");
//report.LoadFromFile(_printTemplateName);
//report.ConnectionString = ConfigurationManager.ConnectionStrings["report"].ToString();
////report.PrintPreview(true);
//report.Print(false);
Print(NewOneCode, newcode, md.Import, productName);
#endregion
bll.Update_Info(md);
}
}
// //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());
}
}
void Print(string NewOneCode,string newcode,string Import,string productName)
{
string filename = _printTemplateName;
DataTable headTable = new DataTable();
headTable.Columns.Add("StationNo");
headTable.Columns.Add("OneBarCode");
headTable.Columns.Add("BarCode");
headTable.Columns.Add("ProductName");
headTable.Columns.Add("IsImport");
DataRow row = headTable.NewRow();
row["StationNo"] = Program.station;
row["OneBarCode"] = NewOneCode;
row["BarCode"] = newcode;
row["ProductName"] = productName + ";";
row["IsImport"] = Import;
string reportName = ConfigurationManager.AppSettings["Printer"];
headTable.Rows.Add(row);
InjectionPC.ReportHelper rp = new InjectionPC.ReportHelper(filename, headTable, null,
(int)GRPaperOrientation.grpoDefault, 1, reportName);
rp.Report.Print(false);
InjectionPC.LogHelper.WriteLog("打印时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ";" + NewOneCode);
}
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();
}
}
}