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.
450 lines
14 KiB
450 lines
14 KiB
2 months ago
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.ComponentModel;
|
||
|
using System.Data;
|
||
|
using System.Drawing;
|
||
|
using System.Text;
|
||
|
using System.Windows.Forms;
|
||
|
using mshtml;
|
||
|
using Stone.Common;
|
||
|
using Stone.Entity;
|
||
|
using Stone.User;
|
||
|
using System.Runtime.InteropServices;
|
||
|
|
||
|
namespace Stone.WinModule.Quality
|
||
|
{
|
||
|
public partial class frmViewQuality : Form
|
||
|
{
|
||
|
#region ���캯��
|
||
|
|
||
|
private HtmlDocument doc = null;
|
||
|
|
||
|
private HtmlElement lblTimer = null; //��ǰʱ��
|
||
|
private HtmlElement txtBarCode = null; //�����ı���
|
||
|
private HtmlElement txtProductName = null; //��Ʒ����
|
||
|
private HtmlElement btnCompleteScrap = null;//�����ύ
|
||
|
private HtmlElement btnComplete = null; //�����ύ
|
||
|
private HtmlElement tb_reason = null; //ȱ������
|
||
|
private HtmlElement tb_responsibility = null; //���η�
|
||
|
private HtmlElement btnQuit = null;
|
||
|
private HtmlElement lblMsg = null;
|
||
|
|
||
|
private string BarCode = "";
|
||
|
private DataSet dsBarCode = null;
|
||
|
private Entity_t_Product t_Product = new Entity_t_Product();
|
||
|
private Entity_t_CarModel t_CarModel = new Entity_t_CarModel();
|
||
|
|
||
|
private Entity_t_Quality t_Quality = new Entity_t_Quality();
|
||
|
private Entity_t_JIS_Assemble t_JIS_Assemble = new Entity_t_JIS_Assemble();
|
||
|
|
||
|
|
||
|
[DllImport("user32.dll", EntryPoint = "ShowCursor", CharSet = CharSet.Auto)]
|
||
|
public extern static void ShowCursor(int status);
|
||
|
public frmViewQuality()
|
||
|
{
|
||
|
InitializeComponent();
|
||
|
}
|
||
|
|
||
|
public string _BarCode = "";
|
||
|
public string _Type = "";
|
||
|
|
||
|
|
||
|
private void frmViewQuality_Load(object sender, EventArgs e)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
this.webBrowser1.Navigate(Application.StartupPath + "\\html\\�����ɼ�.html");
|
||
|
this.webBrowser1.ScriptErrorsSuppressed = true;
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
lblMsg.InnerHtml = ex.Message;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
|
||
|
doc = webBrowser1.Document;
|
||
|
|
||
|
|
||
|
Init();
|
||
|
|
||
|
this.btnQuit.Click += new HtmlElementEventHandler(btnQuit_Click);
|
||
|
this.txtBarCode.KeyDown += new HtmlElementEventHandler(txtBarCode_KeyDown);
|
||
|
this.btnComplete.Click += new HtmlElementEventHandler(btnComplete_Click);
|
||
|
this.btnCompleteScrap.Click += new HtmlElementEventHandler(btnCompleteScrap_Click); ;
|
||
|
|
||
|
|
||
|
|
||
|
this.timer1.Enabled = true;
|
||
|
|
||
|
|
||
|
//if (_BarCode != "")
|
||
|
//{
|
||
|
// this.txtBarCode.SetAttribute("value", _BarCode);
|
||
|
|
||
|
// ScanBarCode();
|
||
|
//}
|
||
|
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
lblMsg.InnerHtml = ex.Message;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void btnQuit_Click(object sender, HtmlElementEventArgs e)
|
||
|
{
|
||
|
this.Close();
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#endregion
|
||
|
|
||
|
#region �¼�
|
||
|
|
||
|
private void txtBarCode_KeyDown(object sender, HtmlElementEventArgs e)
|
||
|
{
|
||
|
if (e.KeyPressedCode == 13)
|
||
|
{
|
||
|
ScanBarCode();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private void ScanBarCode()
|
||
|
{
|
||
|
//this.txtBarCode.Enabled = false;
|
||
|
try
|
||
|
{
|
||
|
Clear();
|
||
|
|
||
|
BarCode = txtBarCode.GetAttribute("value").Trim();
|
||
|
if (BarCode == "") throw new Exception("���벻��Ϊ��");
|
||
|
|
||
|
string productionNumber = BarCode;
|
||
|
string partType = "02";
|
||
|
|
||
|
dsBarCode = t_JIS_Assemble.GetData("[productionNumber]='" + productionNumber + "' and [PartType]='" + partType + "'");
|
||
|
if (dsBarCode.Tables[0].Rows.Count == 0) throw new Exception(BarCode + " ��ϵͳ�в�����");
|
||
|
|
||
|
txtProductName.InnerHtml = dsBarCode.Tables[0].Rows[0]["description"].ToString();
|
||
|
|
||
|
Entity_t_Quality_interface t_Quality_interface = new Entity_t_Quality_interface();
|
||
|
DataRow drQualityInterface = t_Quality_interface.Table.NewRow();
|
||
|
drQualityInterface["productionNumber"] = productionNumber;
|
||
|
drQualityInterface["parttype"] = partType;
|
||
|
t_Quality_interface.Add(drQualityInterface);
|
||
|
|
||
|
TimerLastNow = TimerLast;
|
||
|
timer2.Enabled = true;
|
||
|
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
lblMsg.InnerHtml = ex.Message;
|
||
|
Clear();
|
||
|
}
|
||
|
finally
|
||
|
{
|
||
|
doc.InvokeScript("barcode_select");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private void btnComplete_Click(object sender, HtmlElementEventArgs e)
|
||
|
{
|
||
|
|
||
|
Submit();
|
||
|
|
||
|
}
|
||
|
|
||
|
private void btnCompleteScrap_Click(object sender, HtmlElementEventArgs e)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
if (dsBarCode == null) throw new Exception("����ɨ������");
|
||
|
|
||
|
string Reason = GetReason(); //ȱ������
|
||
|
string Responsibility = GetResponsibility(); //���η�
|
||
|
|
||
|
if (Reason == "") throw new Exception("��ѡ�� ȱ������");
|
||
|
if (Responsibility == "") throw new Exception("��ѡ�� ���η�");
|
||
|
|
||
|
string productionNumber = dsBarCode.Tables[0].Rows[0]["productionNumber"].ToString();
|
||
|
string partType = dsBarCode.Tables[0].Rows[0]["partType"].ToString();
|
||
|
|
||
|
DataSet dsQuality = t_Quality.GetData("top 1 *", "[productionNumber]='" + productionNumber + "' and [partType]='" + partType + "'", "[AddTime] desc");
|
||
|
if (dsQuality.Tables[0].Rows.Count > 0) t_Quality.Del("[ID]=" + dsQuality.Tables[0].Rows[0]["ID"].ToString());
|
||
|
|
||
|
DataRow drQuality = t_Quality.Table.NewRow();
|
||
|
drQuality["productionNumber"] = dsBarCode.Tables[0].Rows[0]["productionNumber"].ToString();
|
||
|
drQuality["itemNumber"] = dsBarCode.Tables[0].Rows[0]["itemNumber"].ToString();
|
||
|
drQuality["description"] = dsBarCode.Tables[0].Rows[0]["description"].ToString();
|
||
|
drQuality["CarModelCode"] = dsBarCode.Tables[0].Rows[0]["CarModelCode"].ToString();
|
||
|
drQuality["partType"] = dsBarCode.Tables[0].Rows[0]["partType"].ToString();
|
||
|
drQuality["State"] = "����";
|
||
|
drQuality["Reason"] = Reason;
|
||
|
drQuality["Responsibility"] = Responsibility;
|
||
|
|
||
|
|
||
|
drQuality = t_Quality.Add(drQuality);
|
||
|
|
||
|
|
||
|
txtBarCode.SetAttribute("value", "");
|
||
|
Clear();
|
||
|
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
lblMsg.InnerHtml = ex.Message;
|
||
|
}
|
||
|
finally
|
||
|
{
|
||
|
this.txtBarCode.Enabled = true;
|
||
|
doc.InvokeScript("barcode_select");
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private void timer1_Tick(object sender, EventArgs e)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
this.lblTimer.InnerHtml = DateTime.Now.ToString("HH:mm:ss");
|
||
|
}
|
||
|
catch { }
|
||
|
}
|
||
|
|
||
|
|
||
|
private void Submit()
|
||
|
{
|
||
|
|
||
|
try
|
||
|
{
|
||
|
if (dsBarCode == null) throw new Exception("����ɨ������");
|
||
|
|
||
|
string Reason = GetReason(); //ȱ������
|
||
|
string Responsibility = GetResponsibility(); //���η�
|
||
|
|
||
|
string productionNumber = dsBarCode.Tables[0].Rows[0]["productionNumber"].ToString();
|
||
|
string partType = dsBarCode.Tables[0].Rows[0]["partType"].ToString();
|
||
|
|
||
|
DataSet dsQuality = t_Quality.GetData("top 1 *", "[productionNumber]='" + productionNumber + "' and [partType]='" + partType + "'", "[AddTime] desc");
|
||
|
if (dsQuality.Tables[0].Rows.Count > 0) t_Quality.Del("[ID]=" + dsQuality.Tables[0].Rows[0]["ID"].ToString());
|
||
|
|
||
|
DataRow drQuality = t_Quality.Table.NewRow();
|
||
|
drQuality["productionNumber"] = dsBarCode.Tables[0].Rows[0]["productionNumber"].ToString();
|
||
|
drQuality["itemNumber"] = dsBarCode.Tables[0].Rows[0]["itemNumber"].ToString();
|
||
|
drQuality["description"] = dsBarCode.Tables[0].Rows[0]["description"].ToString();
|
||
|
drQuality["CarModelCode"] = dsBarCode.Tables[0].Rows[0]["CarModelCode"].ToString();
|
||
|
drQuality["partType"] = dsBarCode.Tables[0].Rows[0]["partType"].ToString();
|
||
|
drQuality["State"] = (Reason != "" || Responsibility != "") ? "�ϸ�" : "һ�κϸ�";
|
||
|
drQuality["Reason"] = Reason;
|
||
|
drQuality["Responsibility"] = Responsibility;
|
||
|
|
||
|
|
||
|
drQuality = t_Quality.Add(drQuality);
|
||
|
|
||
|
|
||
|
txtBarCode.SetAttribute("value", "");
|
||
|
Clear();
|
||
|
|
||
|
|
||
|
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
lblMsg.InnerHtml = ex.Message;
|
||
|
}
|
||
|
finally
|
||
|
{
|
||
|
this.txtBarCode.Enabled = true;
|
||
|
doc.InvokeScript("barcode_select");
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#endregion
|
||
|
|
||
|
#region ˽�к���
|
||
|
|
||
|
private void Init()
|
||
|
{
|
||
|
|
||
|
|
||
|
lblTimer = doc.GetElementById("lblTimer");
|
||
|
txtBarCode = doc.GetElementById("txtBarCode");
|
||
|
txtProductName = doc.GetElementById("txtProductName");
|
||
|
|
||
|
btnComplete = doc.GetElementById("btnComplete");
|
||
|
btnCompleteScrap = doc.GetElementById("btnCompleteScrap");
|
||
|
tb_reason = doc.GetElementById("tb_reason");
|
||
|
tb_responsibility = doc.GetElementById("tb_Responsibility");
|
||
|
|
||
|
btnQuit = doc.GetElementById("btnQuit");
|
||
|
lblMsg = doc.GetElementById("lblMsg");
|
||
|
|
||
|
foreach (HtmlElement reason_temp in tb_reason.Children)
|
||
|
{
|
||
|
reason_temp.Click += new HtmlElementEventHandler(reason_temp_Click);
|
||
|
}
|
||
|
|
||
|
foreach (HtmlElement responsibility_temp in tb_responsibility.Children)
|
||
|
{
|
||
|
responsibility_temp.Click += new HtmlElementEventHandler(responsibility_temp_Click);
|
||
|
}
|
||
|
|
||
|
Clear();
|
||
|
}
|
||
|
|
||
|
private void Clear()
|
||
|
{
|
||
|
TimerLastNow = TimerLast;
|
||
|
timer2.Enabled = false;
|
||
|
btnComplete.InnerText = "����";
|
||
|
|
||
|
dsBarCode = null;
|
||
|
|
||
|
txtProductName.InnerHtml = " ";
|
||
|
|
||
|
foreach (HtmlElement reason_temp in tb_reason.Children)
|
||
|
{
|
||
|
reason_temp.SetAttribute("className", "reason_noselected");
|
||
|
}
|
||
|
|
||
|
foreach (HtmlElement responsibility_temp in tb_responsibility.Children)
|
||
|
{
|
||
|
responsibility_temp.SetAttribute("className", "responsibility_noselected");
|
||
|
}
|
||
|
|
||
|
doc.InvokeScript("barcode_set_focus");
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
private void reason_temp_Click(object sender, HtmlElementEventArgs e)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
HtmlElement reason_now = (HtmlElement)sender;
|
||
|
|
||
|
foreach (HtmlElement reason_temp in tb_reason.Children)
|
||
|
{
|
||
|
if (reason_temp != reason_now)
|
||
|
{
|
||
|
reason_temp.SetAttribute("className", "reason_noselected");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
if (reason_now.GetAttribute("className") == "reason_noselected")
|
||
|
{
|
||
|
reason_now.SetAttribute("className", "reason_selected");
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
reason_now.SetAttribute("className", "reason_noselected");
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
lblMsg.InnerHtml = ex.Message;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
private void responsibility_temp_Click(object sender, HtmlElementEventArgs e)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
HtmlElement responsibility_now = (HtmlElement)sender;
|
||
|
|
||
|
foreach (HtmlElement responsibility_temp in tb_responsibility.Children)
|
||
|
{
|
||
|
if (responsibility_temp != responsibility_now)
|
||
|
{
|
||
|
responsibility_temp.SetAttribute("className", "responsibility_noselected");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
if (responsibility_now.GetAttribute("className") == "responsibility_noselected")
|
||
|
{
|
||
|
responsibility_now.SetAttribute("className", "responsibility_selected");
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
responsibility_now.SetAttribute("className", "responsibility_noselected");
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
lblMsg.InnerHtml = ex.Message;
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
private string GetReason()
|
||
|
{
|
||
|
string ret = "";
|
||
|
foreach (HtmlElement reason in tb_reason.Children)
|
||
|
{
|
||
|
if (reason.GetAttribute("className") == "reason_selected")
|
||
|
{
|
||
|
ret = reason.InnerText.Trim();
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return ret;
|
||
|
}
|
||
|
|
||
|
private string GetResponsibility()
|
||
|
{
|
||
|
string ret = "";
|
||
|
foreach (HtmlElement responsibility in tb_responsibility.Children)
|
||
|
{
|
||
|
if (responsibility.GetAttribute("className") == "responsibility_selected")
|
||
|
{
|
||
|
ret = responsibility.InnerText.Trim();
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return ret;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
#endregion
|
||
|
|
||
|
private int TimerLast = Convert.ToInt32(MyAppconfig.ReadValue("�����ύ����ʱ"));
|
||
|
private int TimerLastNow = 0;
|
||
|
|
||
|
private void timer2_Tick(object sender, EventArgs e)
|
||
|
{
|
||
|
this.btnComplete.InnerText = "���� " + TimerLastNow;
|
||
|
|
||
|
TimerLastNow--;
|
||
|
|
||
|
if(TimerLastNow < -1)
|
||
|
{
|
||
|
timer2.Enabled = false;
|
||
|
btnComplete.InnerText = "����";
|
||
|
Submit();
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|
||
|
}
|