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.
363 lines
13 KiB
363 lines
13 KiB
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.Entity;
|
|
using QMAPP.FJC.Entity.Operation;
|
|
using QMFrameWork.Data;
|
|
using QMFrameWork.Common.Serialization;
|
|
using QM.Common;
|
|
using QMAPP.WinForm.Common;
|
|
|
|
namespace QMAPP.WinForm.Forms.Mend
|
|
{
|
|
public partial class ProductCheckAddForm : Form
|
|
{
|
|
|
|
CheckWithMaterial searchModel = new CheckWithMaterial();
|
|
ProductCheck proCheckInfo = new ProductCheck();
|
|
CheckValueItem checkValue = new CheckValueItem();
|
|
BasicData basicData = new BasicData();
|
|
public ProductCheckAddForm()
|
|
{
|
|
InitializeComponent();
|
|
this.txtProcessCode.Tag = false;
|
|
this.txtProcessCode.GotFocus += new EventHandler(this.txtCode_GotFocus);
|
|
this.txtProcessCode.MouseUp += new MouseEventHandler(this.txtCode_MouseUp);
|
|
}
|
|
|
|
#region 加载界面
|
|
/// <summary>
|
|
/// 加载界面
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void ProductCheckAddForm_Load(object sender, EventArgs e)
|
|
{
|
|
new KeyEvent().SetKeyToTxt(this);
|
|
this.cobResult.Items.Add(new ListItem("0", "合格"));
|
|
this.cobResult.Items.Add(new ListItem("1", "不合格"));
|
|
this.cobResult.Items.Add(new ListItem("2", ""));
|
|
//加载首件过程下拉列表
|
|
this.comFirstProduct.DataSource = basicData.GetDictionaryList("PRODUCTCHECKTYPE");
|
|
this.comFirstProduct.DisplayMember = "value";
|
|
this.comFirstProduct.ValueMember = "key";
|
|
this.comFirstProduct.Text = "";
|
|
|
|
|
|
this.txtProcessCode.Focus();
|
|
}
|
|
#endregion
|
|
|
|
#region 回车事件
|
|
/// <summary>
|
|
/// 回车事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void txtCode_KeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
if (e.KeyCode == Keys.Enter)//如果输入的是回车键
|
|
{
|
|
GetProduceInfo();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 获取条码信息(显示物料等信息、填充Grid)
|
|
/// <summary>
|
|
/// 获取条码信息(显示)
|
|
/// </summary>
|
|
private void GetProduceInfo()
|
|
{
|
|
if (string.IsNullOrEmpty(txtProcessCode.Text))
|
|
{
|
|
txtProcessCode.Focus();
|
|
txtProcessCode.SelectAll();
|
|
return;
|
|
}
|
|
var pcode = txtProcessCode.Text.Trim().ToUpper();
|
|
|
|
Product pro = new Product();
|
|
pro.PRODUCTCODE = pcode;
|
|
//先校验
|
|
|
|
|
|
//获取信息
|
|
QMAPP.ServicesAgent.ServiceAgent agent = ClientContext.GetServiceAgent();
|
|
Product result = agent.InvokeServiceFunction<Product>("ProductBLL_GetByCondition", pro);
|
|
//校验判断
|
|
|
|
//存在信息
|
|
if (result != null)
|
|
{
|
|
this.txtmaterialname.Text = result.MATERIAL_NAME;
|
|
this.txtMaterialCode.Text = result.MATERIAL_CODE;
|
|
this.txtProducedate.Text = result.CREATEDATE.ToShortDateString();
|
|
searchModel.MATERIAL_CODE = result.MATERIAL_CODE;
|
|
this.labelError.Text = "";
|
|
//List<CheckWithMaterial> recorders = null;//查询配置表列表
|
|
|
|
ProductCheck proCheck = new ProductCheck();
|
|
proCheck.PRODUCTCODE = pcode;
|
|
proCheck = agent.InvokeServiceFunction<ProductCheck>("ProductCheckBLL_Get", proCheck);
|
|
if (proCheck != null)
|
|
{
|
|
this.txtPid.Text = proCheck.PID;
|
|
searchModel.PRODUCTCHECK_PID = this.txtPid.Text;
|
|
this.cobResult.SelectedIndex = Convert.ToInt32(proCheck.CHECKRESULT);
|
|
this.comFirstProduct.SelectedIndex = Convert.ToInt32(proCheck.PRODUCTCHECKTYPE);
|
|
}
|
|
else
|
|
{
|
|
this.txtPid.Text ="";
|
|
searchModel.PRODUCTCHECK_PID = this.txtPid.Text;
|
|
this.cobResult.SelectedIndex = 2;
|
|
}
|
|
DGData.AutoGenerateColumns = false;
|
|
List<CheckWithMaterial> dataResult = agent.InvokeServiceFunction<List<CheckWithMaterial>>("ProductCheckBLL_GetCheckWithMaterialInfo", searchModel);
|
|
this.DGData.DataSource = dataResult;
|
|
DGData.ClearSelection();
|
|
}
|
|
else
|
|
{
|
|
this.labelError.Text = "此条码信息不存在!";
|
|
return;
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 点击编辑或者双击表格
|
|
/// <summary>
|
|
/// 点击编辑或者双击表格
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void butEdit_Click(object sender, EventArgs e)
|
|
{
|
|
if (this.DGData.SelectedRows.Count > 0)
|
|
{
|
|
string checkcode = this.DGData.SelectedRows[0].Cells["CHECKITEMCODE"].Value.ToString();
|
|
ProductCheckValuesFrom editForm = new ProductCheckValuesFrom(this);
|
|
editForm.ShowDialog();
|
|
}
|
|
else
|
|
{
|
|
string errorMessae = "请选择编辑的信息或者双击需要编辑的内容";
|
|
MessageBox.Show(errorMessae, Resource1.ConfirmTitle, MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 更新Grid目标值
|
|
/// <summary>
|
|
/// 更新Grid目标值
|
|
/// </summary>
|
|
/// <param name="Checkcode"></param>
|
|
/// <param name="InputValue"></param>
|
|
public void UpdateGrid(string Checkcode,string InputValue)
|
|
{
|
|
for (int i = 0; i < this.DGData.Rows.Count; i++)
|
|
{
|
|
if (this.DGData.Rows[i].Cells["CHECKITEMCODE"].Value.ToString() == Checkcode)
|
|
{
|
|
this.DGData.Rows[i].Cells["INPUTVALUE"].Value = InputValue;
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 确认保存
|
|
/// <summary>
|
|
/// 确认保存
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void butSave_Click(object sender, EventArgs e)
|
|
{
|
|
//窗体数据校验
|
|
string errorMessae = ErrorCheck();
|
|
if (errorMessae != "")
|
|
{
|
|
this.labelError.Text = errorMessae;
|
|
return;
|
|
}
|
|
QMAPP.ServicesAgent.ServiceAgent agent = ClientContext.GetServiceAgent();
|
|
//更新(此PID是T_AW_PRODUCTCHECK主键)
|
|
if (string.IsNullOrEmpty(this.txtPid.Text)==false)
|
|
{
|
|
proCheckInfo.PID = this.txtPid.Text;
|
|
proCheckInfo.PRODUCTCODE = this.txtProcessCode.Text;
|
|
proCheckInfo.MATERIAL_CODE = this.txtMaterialCode.Text;
|
|
proCheckInfo.CHECKRESULT = this.cobResult.SelectedIndex.ToString();
|
|
proCheckInfo.PRODUCTCHECKTYPE = this.comFirstProduct.SelectedIndex.ToString();
|
|
proCheckInfo.CREATEDATE = DateTime.Now;
|
|
proCheckInfo.CREATEUSER = ClientContext.LoginInfo.UserID;
|
|
DataResult<int> result = agent.InvokeServiceFunction<DataResult<int>>("ProductCheckBLL_UpdateProductCheck", proCheckInfo);
|
|
}
|
|
//新建
|
|
else
|
|
{
|
|
proCheckInfo.PID = Guid.NewGuid().ToString();
|
|
proCheckInfo.PRODUCTCODE = this.txtProcessCode.Text;
|
|
proCheckInfo.MATERIAL_CODE = this.txtMaterialCode.Text;
|
|
proCheckInfo.CHECKRESULT = this.cobResult.SelectedIndex.ToString();
|
|
proCheckInfo.PRODUCTCHECKTYPE = this.comFirstProduct.SelectedIndex.ToString();
|
|
proCheckInfo.CREATEDATE = DateTime.Now;
|
|
proCheckInfo.CREATEUSER = ClientContext.LoginInfo.UserID;
|
|
DataResult<int> result = agent.InvokeServiceFunction<DataResult<int>>("ProductCheckBLL_InsertProductCheck", proCheckInfo);
|
|
}
|
|
|
|
DataTable CheckValueDt = new DataTable();
|
|
for (int i = 0; i < this.DGData.Columns.Count; i++)
|
|
{
|
|
DataColumn dc = new DataColumn(this.DGData.Columns[i].Name.ToString());
|
|
CheckValueDt.Columns.Add(dc);
|
|
}
|
|
for (int i = 0; i < this.DGData.Rows.Count; i++)
|
|
{
|
|
DataRow dr = CheckValueDt.NewRow();
|
|
for (int sub = 0; sub < this.DGData.Columns.Count; sub++)
|
|
{
|
|
dr[sub] = Convert.ToString(this.DGData.Rows[i].Cells[sub].Value);
|
|
}
|
|
CheckValueDt.Rows.Add(dr);
|
|
}
|
|
|
|
checkValue.PRODUCTCHECK_PID = proCheckInfo.PID;
|
|
checkValue.CREATEUSER = ClientContext.LoginInfo.UserID;
|
|
DataResult<int> InOrUpresult = agent.InvokeServiceFunction<DataResult<int>>("ProductCheckBLL_EditInsertCheckValueItem", CheckValueDt, checkValue);
|
|
|
|
if (InOrUpresult.IsSuccess ==true )//判断是否投料窗口已做操作
|
|
{
|
|
this.Close();
|
|
//提示
|
|
this.DialogResult = DialogResult.OK;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 错误检测
|
|
///<summary>
|
|
///错误检测
|
|
///</summary>
|
|
///<returns></returns>
|
|
private string ErrorCheck()
|
|
{
|
|
string strMessage = "";
|
|
//
|
|
if (string.IsNullOrEmpty(this.txtProcessCode.Text) == false && string.IsNullOrEmpty(this.txtMaterialCode.Text)==true)
|
|
{
|
|
strMessage += "请扫描正确的条码!" + "\r\n";
|
|
}
|
|
|
|
//
|
|
if (string.IsNullOrEmpty(this.txtProcessCode.Text) != false)
|
|
{
|
|
strMessage += "请扫描条码!" + "\r\n";
|
|
}
|
|
//
|
|
if (string.IsNullOrEmpty(this.cobResult.Text.ToString())!=false)
|
|
{
|
|
strMessage += "请选择检测结果!" + "\r\n";
|
|
}
|
|
//
|
|
if (string.IsNullOrEmpty(this.comFirstProduct.Text.ToString()) != false)
|
|
{
|
|
strMessage += "请选择抽检类型!" + "\r\n";
|
|
}
|
|
|
|
if (string.IsNullOrEmpty(this.txtProcessCode.Text) == false && string.IsNullOrEmpty(this.txtMaterialCode.Text) == false)
|
|
{
|
|
int NUM = 0;
|
|
for (int i = 0; i < this.DGData.Rows.Count; i++)
|
|
{
|
|
if (this.DGData.Rows[i].Cells["INPUTVALUE"].Value!=null)
|
|
{
|
|
NUM = +1;
|
|
}
|
|
}
|
|
if (NUM == 0)
|
|
{
|
|
strMessage += "至少填写一项检测值?" + "\r\n";
|
|
}
|
|
|
|
}
|
|
return strMessage;
|
|
}
|
|
#endregion
|
|
|
|
#region 条码框内容全选
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void txtCode_GotFocus(object sender, EventArgs e)
|
|
{
|
|
this.txtProcessCode.Tag = true;
|
|
this.txtProcessCode.SelectAll();
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void txtCode_MouseUp(object sender, MouseEventArgs e)
|
|
{
|
|
//if (e.Button == MouseButtons.Left && (bool)this.txtProcessCode.Tag==true)
|
|
//{
|
|
this.txtProcessCode.SelectAll();
|
|
//}
|
|
//this.txtProcessCode.Tag = false;
|
|
}
|
|
#endregion
|
|
|
|
#region 点击目标值时候编辑
|
|
/// <summary>
|
|
/// 点击目标值时候编辑
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
|
|
{
|
|
DataGridViewCell dgvc = this.DGData.CurrentCell;
|
|
if (dgvc != null && dgvc.OwningColumn.Name == "INPUTVALUE")
|
|
{
|
|
string inputtype = this.DGData.SelectedRows[0].Cells["INPUTTYPE"].Value.ToString();
|
|
if (inputtype == "1")
|
|
{
|
|
dgvc.ReadOnly = false;
|
|
Rectangle R = DGData.GetCellDisplayRectangle(dgvc.ColumnIndex, dgvc.RowIndex, false);
|
|
if (dgvc.Value==null)
|
|
{
|
|
dgvc.Value = "OK";
|
|
}
|
|
else
|
|
{
|
|
if (dgvc.Value.ToString() == "OK")
|
|
{
|
|
dgvc.Value = "NOK";
|
|
}
|
|
else
|
|
{
|
|
dgvc.Value = "OK";
|
|
}
|
|
|
|
}
|
|
dgvc.ReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
}
|
|
}
|
|
|