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 QMAPP.FJC.Entity.ProduceManage; using QMAPP.ServicesAgent; using QMAPP.FJC.Entity.Operation; using QMAPP.KB.Entity; using QMAPP.FJC.Entity; using QMFrameWork.Data; using System.Threading; using QMAPP.WinForm.Common; namespace QMAPP.WinForm.Forms.Mend { public partial class SpecifyNewForm : Form { Product product = new Product(); bool isValid = false; public List getSelectList = new List(); List defectTypeList = new List(); BarCodeHook BarCode = new BarCodeHook(); public static SynchronizationContext SynchContext; void BarCode_BarCodeEvent(BarCodeHook.BarCodes barCode) { ShowInfo(barCode); } public SpecifyNewForm() { InitializeComponent(); SynchContext = new SynchronizationContext(); BarCode.BarCodeEvent += new BarCodeHook.BarCodeDelegate(BarCode_BarCodeEvent); BarCode.Start(); rA.Checked = false; rB.Checked = false; rC.Checked = false; } public SpecifyNewForm(string pid) { InitializeComponent(); tsbSave.Visible = false; ShowDetail(pid); txtCode.Enabled = false; } private void ShowInfo(BarCodeHook.BarCodes barCode) { if (!this.txtCode.Focused) { this.txtCode.Focus(); } } private void SpecifyNewForm_Load(object sender, EventArgs e) { DGMendRecorder.AutoGenerateColumns = false; } private void ShowDetail(string pid) { QMAPP.ServicesAgent.ServiceAgent agent = ClientContext.GetServiceAgent(); MendRecorder mendRecorder = agent.InvokeServiceFunction(B9IPCService.MendRecorderBLL_GetMendRecorderInfo.ToString(), new MendRecorder() { PID = pid }); txtCode.Text = mendRecorder.PRODUCTCODE; if (mendRecorder.MENDRESULT == "0") { rbMend.Checked = true; } else { rbScarp.Checked = true; } foreach(MenderReason o in mendRecorder.reasonList) { defectTypeList.Add( new DefectType(){ DEFECTKEY=o.DEFECTKEY, DEFECTVALUE=o.DEFECTVALUE, POSITION=o.POSITION }); } if (mendRecorder.PRODUCESHIFTTCODE == "A") { rA.Checked = true; } else if (mendRecorder.PRODUCESHIFTTCODE == "B") { rB.Checked = true; } else { rC.Checked = true; } //comIndex.Text = mendRecorder.PRODUCESHIFTTCODE; GridBind(defectTypeList); ShowPicture(defectTypeList); } private void GridBind(List defectTypeList) { DGMendRecorder.DataSource = defectTypeList; } private void PictureBoxDeal(Image unSelectImage,Image selectImage ,object sender ) { //tsbSave.Visible == false是查看明细 if (tsbSave.Visible == false) { return; } PictureBox pb = (PictureBox)sender; string postion = pb.Name.Substring(2); if (defectTypeList.Count(o => o.POSITION == postion) > 0) { pb.Image = unSelectImage; List list = defectTypeList .Where(o => o.POSITION != postion).OrderBy(o => o.POSITION) .ToList(); defectTypeList = list; } else { ItemForm itemform = new ItemForm(this); itemform.ShowDialog(); if (getSelectList.Count > 0) { pb.Image = selectImage; foreach (var dt in getSelectList) { dt.POSITION = postion; defectTypeList.Add(dt); } defectTypeList = defectTypeList .OrderBy(o => o.POSITION) .ToList(); getSelectList = new List(); } } GridBind(defectTypeList); txtCode.Focus(); } #region 双击事件 private void pB1A_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._1A; Image selectImage = QMAPP.WinForm.Resource1._1A_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB1B_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._1B; Image selectImage = QMAPP.WinForm.Resource1._1B_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB1C_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._1C; Image selectImage = QMAPP.WinForm.Resource1._1C_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB1D_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._1D; Image selectImage = QMAPP.WinForm.Resource1._1D_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB1E_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._1E; Image selectImage = QMAPP.WinForm.Resource1._1E_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB1F_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._1F; Image selectImage = QMAPP.WinForm.Resource1._1F_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB2A_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._2A; Image selectImage = QMAPP.WinForm.Resource1._2A_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB2B_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._2B; Image selectImage = QMAPP.WinForm.Resource1._2B_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB2C_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._2C; Image selectImage = QMAPP.WinForm.Resource1._2C_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB2D_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._2D; Image selectImage = QMAPP.WinForm.Resource1._2D_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB2E_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._2E; Image selectImage = QMAPP.WinForm.Resource1._2E_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB2F_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._2F; Image selectImage = QMAPP.WinForm.Resource1._2F_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB3A_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._3A; Image selectImage = QMAPP.WinForm.Resource1._3A_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB3B_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._3B; Image selectImage = QMAPP.WinForm.Resource1._3B_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB3C_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._3C; Image selectImage = QMAPP.WinForm.Resource1._3C_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB3D_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._3D; Image selectImage = QMAPP.WinForm.Resource1._3D_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB3E_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._3E; Image selectImage = QMAPP.WinForm.Resource1._3E_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB3F_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._3F; Image selectImage = QMAPP.WinForm.Resource1._3F_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB4A_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._4A; Image selectImage = QMAPP.WinForm.Resource1._4A_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB4B_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._4B; Image selectImage = QMAPP.WinForm.Resource1._4B_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB4C_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._4C; Image selectImage = QMAPP.WinForm.Resource1._4C_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB4D_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._4D; Image selectImage = QMAPP.WinForm.Resource1._4D_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB4E_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._4E; Image selectImage = QMAPP.WinForm.Resource1._4E_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB4F_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._4F; Image selectImage = QMAPP.WinForm.Resource1._4F_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB5A_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._5A; Image selectImage = QMAPP.WinForm.Resource1._5A_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB5B_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._5B; Image selectImage = QMAPP.WinForm.Resource1._5B_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB5C_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._5C; Image selectImage = QMAPP.WinForm.Resource1._5C_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB5D_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._5D; Image selectImage = QMAPP.WinForm.Resource1._5D_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB5E_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._5E; Image selectImage = QMAPP.WinForm.Resource1._5E_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB5F_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._5F; Image selectImage = QMAPP.WinForm.Resource1._5F_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB6A_DoubleClick(object sender, EventArgs e) { } private void pB6B_DoubleClick(object sender, EventArgs e) { } private void pB6C_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._6C; Image selectImage = QMAPP.WinForm.Resource1._6C_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB6D_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._6D; Image selectImage = QMAPP.WinForm.Resource1._6D_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB6E_DoubleClick(object sender, EventArgs e) { Image unSelectImage = QMAPP.WinForm.Resource1._6E; Image selectImage = QMAPP.WinForm.Resource1._6E_select; PictureBoxDeal(unSelectImage, selectImage, sender); } private void pB6F_DoubleClick(object sender, EventArgs e) { } #endregion private void tsbClose_Click(object sender, EventArgs e) { this.Close(); } private void txtCode_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter)//如果输入的是回车键 { var scode = txtCode.Text.Trim().ToUpper(); QMAPP.ServicesAgent.ServiceAgent agent = ClientContext.GetServiceAgent(); DataResult result = agent.InvokeServiceFunction>("MendRecorderBLL_CheckProductCodeNew", scode); if (result.IsSuccess == true) { product = result.Result; lblError.Text = product.PRODUCTTYPENAME + scode + " " + "当前工序:" + product.CURRENTPROCESSNAME + " " + "状态:" + product.STATUSNAME; //lblError.Text = product.PRODUCTTYPENAME + product.PRODUCTCODE + " " + "当前工序:" + product.CURRENTPROCESSNAME + " " + "状态:" + product.STATUSNAME; this.lblError.ForeColor = Color.Black; isValid = true; } else { lblError.Text = result.Msg ; this.lblError.ForeColor = Color.Red; isValid = false; } txtCode.Text = ""; } } private void tsbSave_Click(object sender, EventArgs e) { if (isValid == false) { MessageBox.Show("请扫描正确的条码信息!", "提示"); return; } if (defectTypeList.Count == 0) { MessageBox.Show("请选择缺陷类型!", "提示"); return; } if (product.STATUS == EnumGeter.STATUS.SCRAP.GetHashCode().ToString() && rbScarp.Checked == true) { MessageBox.Show("该产品已经报废!", "提示"); return; } product.STATUS = (rbScarp.Checked) ? EnumGeter.STATUS.SCRAP.GetHashCode().ToString() : EnumGeter.STATUS.QUALIFIED.GetHashCode().ToString(); //product.PRODUCESHIFTTCODE = comIndex.Text; if (rA.Checked) { product.PRODUCESHIFTTCODE = "A"; } else if (rB.Checked) { product.PRODUCESHIFTTCODE = "B"; } else { product.PRODUCESHIFTTCODE = "C"; } QMAPP.ServicesAgent.ServiceAgent agent = ClientContext.GetServiceAgent(); DataResult result = agent.InvokeServiceFunction>("MendRecorderBLL_InsertMendRecordItemNew", product, defectTypeList); if (result.IsSuccess == true) { InitForm(); txtCode.Focus(); } else { MessageBox.Show(result.Msg, "提示"); return; } } /// /// 设置图片显示 /// /// private void ShowPicture(List defectTypeList) { //List list = defectTypeList.Select(o => o.POSITION).Distinct().OrderBy(o=>o).ToList(); //if (list.Contains("1A")) //{ // pB1A.Image = QMAPP.WinForm.Resource1._1A_select; //} //if (list.Contains("1B")) //{ // pB1B.Image = QMAPP.WinForm.Resource1._1B_select; //} //if (list.Contains("1C")) //{ // pB1C.Image = QMAPP.WinForm.Resource1._1C_select; //} //if (list.Contains("1D")) //{ // pB1D.Image = QMAPP.WinForm.Resource1._1D_select; //} //if (list.Contains("1E")) //{ // pB1E.Image = QMAPP.WinForm.Resource1._1E_select; //} //if (list.Contains("1F")) //{ // pB1F.Image = QMAPP.WinForm.Resource1._1F_select; //} //if (list.Contains("2A")) //{ // pB2A.Image = QMAPP.WinForm.Resource1._2A_select; //} //if (list.Contains("2B")) //{ // pB2B.Image = QMAPP.WinForm.Resource1._2B_select; //} //if (list.Contains("2C")) //{ // pB2C.Image = QMAPP.WinForm.Resource1._2C_select; //} //if (list.Contains("2D")) //{ // pB2D.Image = QMAPP.WinForm.Resource1._2D_select; //} //if (list.Contains("2E")) //{ // pB2E.Image = QMAPP.WinForm.Resource1._2E_select; //} //if (list.Contains("2F")) //{ // pB2F.Image = QMAPP.WinForm.Resource1._2F_select; //} //if (list.Contains("3A")) //{ // pB3A.Image = QMAPP.WinForm.Resource1._3A_select; //} //if (list.Contains("3B")) //{ // pB3B.Image = QMAPP.WinForm.Resource1._3B_select; //} //if (list.Contains("3C")) //{ // pB3C.Image = QMAPP.WinForm.Resource1._3C_select; //} //if (list.Contains("3D")) //{ // pB3D.Image = QMAPP.WinForm.Resource1._3D_select; //} //if (list.Contains("3E")) //{ // pB3E.Image = QMAPP.WinForm.Resource1._3E_select; //} //if (list.Contains("3F")) //{ // pB3F.Image = QMAPP.WinForm.Resource1._3F_select; //} //if (list.Contains("4A")) //{ // pB4A.Image = QMAPP.WinForm.Resource1._4A_select; //} //if (list.Contains("4B")) //{ // pB4B.Image = QMAPP.WinForm.Resource1._4B_select; //} //if (list.Contains("4C")) //{ // pB4C.Image = QMAPP.WinForm.Resource1._4C_select; //} //if (list.Contains("4D")) //{ // pB4D.Image = QMAPP.WinForm.Resource1._4D_select; //} //if (list.Contains("4E")) //{ // pB4E.Image = QMAPP.WinForm.Resource1._4E_select; //} //if (list.Contains("4F")) //{ // pB4F.Image = QMAPP.WinForm.Resource1._4F_select; //} //if (list.Contains("5A")) //{ // pB5A.Image = QMAPP.WinForm.Resource1._5A_select; //} //if (list.Contains("5B")) //{ // pB5B.Image = QMAPP.WinForm.Resource1._5B_select; //} //if (list.Contains("5C")) //{ // pB5C.Image = QMAPP.WinForm.Resource1._5C_select; //} //if (list.Contains("5D")) //{ // pB5D.Image = QMAPP.WinForm.Resource1._5D_select; //} //if (list.Contains("5E")) //{ // pB5E.Image = QMAPP.WinForm.Resource1._5E_select; //} //if (list.Contains("5F")) //{ // pB5F.Image = QMAPP.WinForm.Resource1._5F_select; //} //if (list.Contains("6C")) //{ // pB6C.Image = QMAPP.WinForm.Resource1._6C_select; //} //if (list.Contains("6D")) //{ // pB6D.Image = QMAPP.WinForm.Resource1._6D_select; //} //if (list.Contains("6E")) //{ // pB6E.Image = QMAPP.WinForm.Resource1._6E_select; //} } private void InitForm() { #region 刷新图片 //pB1A.Image = QMAPP.WinForm.Resource1._1A; //pB1B.Image = QMAPP.WinForm.Resource1._1B; //pB1C.Image = QMAPP.WinForm.Resource1._1C; //pB1D.Image = QMAPP.WinForm.Resource1._1D; //pB1E.Image = QMAPP.WinForm.Resource1._1E; //pB1F.Image = QMAPP.WinForm.Resource1._1F; //pB2A.Image = QMAPP.WinForm.Resource1._2A; //pB2B.Image = QMAPP.WinForm.Resource1._2B; //pB2C.Image = QMAPP.WinForm.Resource1._2C; //pB2D.Image = QMAPP.WinForm.Resource1._2D; //pB2E.Image = QMAPP.WinForm.Resource1._2E; //pB2F.Image = QMAPP.WinForm.Resource1._2F; //pB3A.Image = QMAPP.WinForm.Resource1._3A; //pB3B.Image = QMAPP.WinForm.Resource1._3B; //pB3C.Image = QMAPP.WinForm.Resource1._3C; //pB3D.Image = QMAPP.WinForm.Resource1._3D; //pB3E.Image = QMAPP.WinForm.Resource1._3E; //pB3F.Image = QMAPP.WinForm.Resource1._3F; //pB4A.Image = QMAPP.WinForm.Resource1._4A; //pB4B.Image = QMAPP.WinForm.Resource1._4B; //pB4C.Image = QMAPP.WinForm.Resource1._4C; //pB4D.Image = QMAPP.WinForm.Resource1._4D; //pB4E.Image = QMAPP.WinForm.Resource1._4E; //pB4F.Image = QMAPP.WinForm.Resource1._4F; //pB5A.Image = QMAPP.WinForm.Resource1._5A; //pB5B.Image = QMAPP.WinForm.Resource1._5B; //pB5C.Image = QMAPP.WinForm.Resource1._5C; //pB5D.Image = QMAPP.WinForm.Resource1._5D; //pB5E.Image = QMAPP.WinForm.Resource1._5E; //pB5F.Image = QMAPP.WinForm.Resource1._5F; //pB6C.Image = QMAPP.WinForm.Resource1._6C; //pB6D.Image = QMAPP.WinForm.Resource1._6D; //pB6E.Image = QMAPP.WinForm.Resource1._6E; #endregion product = new Product(); isValid = false; getSelectList = new List(); defectTypeList = new List(); GridBind(defectTypeList); rbMend.Checked = true; lblError.Text = "保存成功!"; txtCode.Focus(); } private void rbMend_CheckedChanged(object sender, EventArgs e) { if (rbMend.Checked) { txtCode.Focus(); } } private void rbScarp_CheckedChanged(object sender, EventArgs e) { if (rbScarp.Checked) { txtCode.Focus(); } } private void rA_CheckedChanged(object sender, EventArgs e) { if (rA.Checked) { txtCode.Focus(); } } private void rB_CheckedChanged(object sender, EventArgs e) { if (rB.Checked) { txtCode.Focus(); } } private void rC_CheckedChanged(object sender, EventArgs e) { if (rC.Checked) { txtCode.Focus(); } } } }