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.
3869 lines
160 KiB
3869 lines
160 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Data.Linq;
|
|
using System.Linq;
|
|
using System.Drawing;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using DevExpress.XtraEditors;
|
|
using DevExpress.XtraGrid.Views.BandedGrid;
|
|
using DevExpress.XtraGrid.Columns;
|
|
using DevExpress.XtraGrid;
|
|
using System.IO;
|
|
using System.Threading;
|
|
using ICSSoft.Base.Language.Tool;
|
|
using ICSSoft.Base.Config.AppConfig;
|
|
using ICSSoft.Base.UserControl.MessageControl;
|
|
using ICSSoft.Base.Config.DBHelper;
|
|
using ICSSoft.Base.Report.Filter;
|
|
using ICSSoft.Base.UserControl.FormControl;
|
|
using ICSSoft.Base.Report.GridReport;
|
|
using ICSSoft.Base.ReferForm.AppReferForm;
|
|
using ICSSoft.Frame.Data.BLL;
|
|
using ICSSoft.Frame.Data.Entity;
|
|
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Linq;
|
|
|
|
namespace ICSSoft.Frame.APP
|
|
{
|
|
public partial class FormICSIPQC : DevExpress.XtraEditors.XtraForm
|
|
{
|
|
private string sqltxt = "";
|
|
private string sqlconn = "";
|
|
private string CCNCRresult = "";
|
|
private string WGNCRresult = "";
|
|
String guid = AppConfig.GetGuid();
|
|
private DataTable dataSource = null;
|
|
//string ID = "";
|
|
string ItemCode = string.Empty;
|
|
string ItemName = string.Empty; string INVDESC = string.Empty; string RCVCode = string.Empty; string LotNo = string.Empty;
|
|
string RouteCode = "";
|
|
string opseq = "";
|
|
Decimal TotalQty = 0;
|
|
Decimal YLOTQTY = 0; Decimal UYLOTQTY = 0;
|
|
string OPCode = string.Empty;
|
|
//0906
|
|
|
|
string status1 = "";
|
|
string status2 = "";
|
|
|
|
#region 构造函数
|
|
public FormICSIPQC()
|
|
{
|
|
InitializeComponent();
|
|
this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
|
|
this.WindowState = FormWindowState.Maximized;
|
|
checkboxGX.Checked = true;
|
|
}
|
|
#endregion
|
|
|
|
#region 构造函数
|
|
public FormICSIPQC(string _ItemCode, string _ItemName, string _INVDESC, string _RCVCode, string _LotNo, Decimal _TotalQty, Decimal _YLOTQTY, Decimal _UYLOTQTY)
|
|
{
|
|
InitializeComponent();
|
|
this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
|
|
this.WindowState = FormWindowState.Maximized;
|
|
txtUserName.Text = ItemCode = _ItemCode;
|
|
//txtItemName.Text = ItemName = _ItemName;
|
|
txtLotNo.Text = LotNo = _LotNo;
|
|
//txtItemINVDESC.Text = INVDESC = _INVDESC;
|
|
//txtTotalQty.Text = _TotalQty.ToString();
|
|
txtProductCode.Text = _ItemCode;
|
|
txtPriductName.Text = _ItemName;
|
|
txtMOCode.Text = "";
|
|
|
|
|
|
TotalQty = _TotalQty;
|
|
RCVCode = _RCVCode;
|
|
|
|
Decimal YLOTQTY = _YLOTQTY; Decimal UYLOTQTY = _UYLOTQTY;
|
|
init();
|
|
|
|
BandData(ItemCode, LotNo, OPCode);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
public FormICSIPQC(string _ItemCode, string _LotNo, string OPCode)
|
|
{
|
|
InitializeComponent();
|
|
this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
|
|
this.WindowState = FormWindowState.Maximized;
|
|
txtUserName.Text = ItemCode = _ItemCode;
|
|
txtLotNo.Text = LotNo = _LotNo;
|
|
//txtItemINVDESC.Text = INVDESC = _INVDESC;
|
|
//txtTotalQty.Text = _TotalQty.ToString();
|
|
txtProductCode.Text = _ItemCode;
|
|
//txtPriductName.Text = _ItemName;
|
|
//txtMOCode.Text = "";
|
|
//TotalQty = _TotalQty;
|
|
//RCVCode = _RCVCode;
|
|
|
|
//Decimal YLOTQTY = _YLOTQTY; Decimal UYLOTQTY = _UYLOTQTY;
|
|
init();
|
|
BandData(ItemCode, LotNo, OPCode);
|
|
|
|
initCheck();
|
|
}
|
|
#endregion
|
|
|
|
#region 初始化查询条件
|
|
private void init()
|
|
{
|
|
#region
|
|
string sql = @"SELECT DISTINCT b.CKGROUPDESC,a.InspectionStandard CKGROUPDNAME, a.CKListCode CKGROUPCode,a.VALUEMAX SetValueMax,a.VALUEMIN SetValueMin,a.CheckResultValue CheckResult,a.IsOK,a.CCorWGResult FROM ICSOQCCKGROUP2LISTCheckResult a
|
|
LEFT JOIN ICSOQCCKGROUP b ON a.CKListCode=b.CKGROUP
|
|
WHERE a.LOTNO='" + txtLotNo.Text + "' AND a.OPCode='" + txtOPCode.Text + "' and CheckoutAttribute='量化' ";
|
|
sql = string.Format(sql, AppConfig.WorkPointCode);
|
|
DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
|
|
if (dt != null && dt.Rows.Count > 0)
|
|
{
|
|
gridControlcc.DataSource = dt;
|
|
if (dt != null && dt.Rows.Count > 0)
|
|
{
|
|
bool istrue = false;
|
|
foreach (DataRow item in dt.Rows)
|
|
{
|
|
string resultCC = item["CCorWGResult"].ToString();
|
|
if (resultCC == "NG")
|
|
{
|
|
istrue = false;
|
|
break;
|
|
}
|
|
if (resultCC == "OK")
|
|
{
|
|
istrue = true;
|
|
}
|
|
}
|
|
if (istrue)
|
|
{
|
|
this.txtCCResult.Text = "OK";
|
|
this.txtCCResult.BackColor = Color.Blue;
|
|
}
|
|
else
|
|
{
|
|
this.txtCCResult.Text = "NG";
|
|
this.txtCCResult.BackColor = Color.Red;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
string _OQCSql = @"SELECT DISTINCT a.SetValueMax,a.SetValueMin,a.CKGROUPCode,b.CKGROUPDESC,b.CKGROUPDNAME,a.EATTRIBUTE1 Remark,'' CheckResult FROM ICSOQCCKLIST a
|
|
LEFT JOIN ICSOQCCKGROUP b ON a.CKGROUPCode=b.CKGROUP
|
|
WHERE INVCode='" + txtProductCode.Text + "' AND a.CKGROUPATTR='量化' and a.ISREF='是' AND a.OPCode='" + this.txtOPCode.Text + "' and a.CKGROUPMETH ='工序检验' ";//0906
|
|
|
|
DataTable _OQCdt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, _OQCSql).Tables[0];
|
|
gridControlcc.DataSource = _OQCdt;
|
|
|
|
|
|
}
|
|
//}
|
|
|
|
#endregion
|
|
|
|
string sql2 = @"SELECT DISTINCT b.CKGROUPDESC CKGROUPDESC1,a.InspectionStandard CKGROUPMETH,a.AQL CKGROUPATTR, a.CKListCode CKGROUPCode1,a.CheckResultValue,
|
|
CAST (ISNULL(a.IsOK, 0) AS BIT) AS OK
|
|
FROM ICSOQCCKGROUP2LISTCheckResult a
|
|
LEFT JOIN ICSOQCCKGROUP b ON a.CKListCode=b.CKGROUP
|
|
WHERE a.LOTNO='" + txtLotNo.Text + "' AND a.OPCode='" + txtOPCode.Text + "' and CheckoutAttribute='外观' AND a.InspectionStandard ='工序检验' ";
|
|
sql2 = string.Format(sql2, AppConfig.WorkPointCode);
|
|
DataTable dt2 = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql2).Tables[0];
|
|
|
|
if (dt2 != null && dt2.Rows.Count > 0)
|
|
{
|
|
gridControl2.DataSource = dt2;
|
|
if (dt2 != null && dt2.Rows.Count > 0)
|
|
{
|
|
bool istrue = false;
|
|
foreach (DataRow item in dt2.Rows)
|
|
{
|
|
//string resultCC = item["CCorWGResult"].ToString();
|
|
string resultCC = item["OK"].ToString();
|
|
|
|
//if (resultCC == "NG")
|
|
if (resultCC == "False")
|
|
{
|
|
istrue = false;
|
|
break;
|
|
}
|
|
//if (resultCC == "OK")
|
|
if (resultCC == "True")
|
|
{
|
|
istrue = true;
|
|
}
|
|
}
|
|
if (istrue)
|
|
{
|
|
this.txtWGResult.Text = "OK";
|
|
this.txtWGResult.BackColor = Color.Blue;
|
|
}
|
|
else
|
|
{
|
|
this.txtWGResult.Text = "NG";
|
|
this.txtWGResult.BackColor = Color.Red;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
string _OQCWGSql = @"SELECT DISTINCT a.CKGROUPATTR,a.CKGROUPMETH,a.CKGROUPCode CKGROUPCode1,b.CKGROUPDESC CKGROUPDESC1,b.CKGROUPDNAME,a.EATTRIBUTE1 Remark1,CAST (ISNULL(0, 0) AS BIT) AS OK ,
|
|
CAST (ISNULL(0, 0) AS BIT) AS NG FROM ICSOQCCKLIST a
|
|
LEFT JOIN ICSOQCCKGROUP b ON a.CKGROUPCode=b.CKGROUP
|
|
WHERE INVCode='" + txtProductCode.Text + "' AND a.CKGROUPATTR='外观' and a.ISREF='是' AND a.OPCode='" + txtOPCode.Text + "' and a.CKGROUPMETH='工序检验' ";//0906
|
|
DataTable _OQCWGdt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, _OQCWGSql).Tables[0];
|
|
gridControl2.DataSource = _OQCWGdt;
|
|
}
|
|
}
|
|
|
|
|
|
// private void initCheck()
|
|
// {
|
|
// string _OQCSql = @"SELECT a.SetValueMax,a.SetValueMin,a.CKGROUPCode,b.CKGROUPDESC,b.CKGROUPDNAME,a.EATTRIBUTE1 Remark,'' CheckResult FROM ICSOQCCKLIST a
|
|
//LEFT JOIN ICSOQCCKGROUP b ON a.CKGROUPCode=b.CKGROUP
|
|
//WHERE INVCode='" + ItemCode + "' AND a.CKGROUPATTR='量化' and a.ISREF='是' AND a.OPCode='" + txtOPCode.Text + "' and a.CKGROUPMETH!='自主检验' ";//
|
|
|
|
// DataTable _OQCdt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, _OQCSql).Tables[0];
|
|
// gridControlcc.DataSource = _OQCdt;
|
|
|
|
|
|
// string _OQCWGSql = @"SELECT a.CKGROUPATTR,a.CKGROUPMETH,a.CKGROUPCode CKGROUPCode1,b.CKGROUPDESC CKGROUPDESC1,b.CKGROUPDNAME,a.EATTRIBUTE1 Remark1,CAST (ISNULL(0, 0) AS BIT) AS OK ,
|
|
//CAST (ISNULL(0, 0) AS BIT) AS NG FROM ICSOQCCKLIST a
|
|
//LEFT JOIN ICSOQCCKGROUP b ON a.CKGROUPCode=b.CKGROUP
|
|
//WHERE INVCode='" + ItemCode + "' AND a.CKGROUPATTR='外观' and a.ISREF='是' AND a.OPCode='" + txtOPCode.Text + "' and a.CKGROUPMETH!='自主检验' ";//
|
|
// DataTable _OQCWGdt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, _OQCWGSql).Tables[0];
|
|
// gridControl2.DataSource = _OQCWGdt;
|
|
// }
|
|
|
|
|
|
private void init_()
|
|
{
|
|
#region
|
|
string sql = @"SELECT a.CKListCode ,
|
|
b.CKITENAME ,
|
|
a.CKGROUP,
|
|
a.CKITEMCODE,
|
|
a.VALUEMAX ,
|
|
a.VALUEMIN ,
|
|
a.UNIT,
|
|
a.AQL,
|
|
a.InspectionStandard
|
|
FROM ICSOQCCKGROUP2LIST a
|
|
LEFT JOIN ICSOQCCKLIST b ON a.CKListCode = b.CKITEMCODE
|
|
WHERE a.CKITEMCODE = '" + ItemCode + "' AND a.IsUse = '1' AND a.CheckoutAttribute = '尺寸'";
|
|
sql = string.Format(sql, AppConfig.WorkPointCode);
|
|
DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
|
|
gridControlcc.DataSource = dt;
|
|
#endregion
|
|
|
|
string sql2 = @"SELECT a.CKListCode CKListCode1 ,
|
|
b.CKITENAME CKITENAME1 ,
|
|
a.CKGROUP,
|
|
a.CKITEMCODE,
|
|
a.VALUEMAX ,
|
|
a.VALUEMIN ,
|
|
a.UNIT,
|
|
a.AQL ,
|
|
a.InspectionStandard
|
|
FROM ICSOQCCKGROUP2LIST a
|
|
LEFT JOIN ICSOQCCKLIST b ON a.CKListCode = b.CKITEMCODE
|
|
WHERE a.CKITEMCODE = '" + ItemCode + "' AND a.IsUse = '1' AND a.CheckoutAttribute = '外观'";
|
|
sql2 = string.Format(sql2, AppConfig.WorkPointCode);
|
|
DataTable dt2 = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql2).Tables[0];
|
|
gridControl2.DataSource = dt2;
|
|
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region 根据存货编码查询列表信息
|
|
private void BandData(string itemCode, string LotNo, string OPCode)
|
|
{
|
|
try
|
|
{
|
|
string sql = @"SELECT EnumName FROM Sys_EnumKey WHERE EnumKey='00006'";
|
|
//sql = string.Format(sql, itemCode);
|
|
string connectionString = AppConfig.FrameConnectString; // AppConfig.GetDataBaseConnectStringByKey("[DB.PLM]");
|
|
if (string.IsNullOrWhiteSpace(connectionString))
|
|
return;
|
|
object name = DBHelper.ExecuteScalar(connectionString, CommandType.Text, sql);
|
|
if (name == null || string.IsNullOrWhiteSpace(name.ToString()))
|
|
return;
|
|
//string fileName = name.ToString() + itemCode + "\\" + RouteCode + "\\" + itemCode + OpCode + ".pdf";
|
|
string fileName = name.ToString() + itemCode + "\\" + itemCode + LotNo + OPCode + ".pdf";
|
|
|
|
if (!string.IsNullOrEmpty(fileName))
|
|
{
|
|
axAcroPDFTZ.LoadFile(fileName);
|
|
axAcroPDFTZ.setShowToolbar(false);
|
|
axAcroPDFTZ.setShowScrollbars(false);
|
|
axAcroPDFTZ.setPageMode("thumbs");
|
|
axAcroPDFTZ.setLayoutMode("SinglePage");
|
|
axAcroPDFTZ.setView("Fit");
|
|
axAcroPDFTZ.Show();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
#region 操作权限
|
|
public DataTable RightOfExute()
|
|
{
|
|
DataTable rData = new DataTable();
|
|
rData.Columns.Add("BtnName");
|
|
rData.Columns.Add("ActionName");
|
|
//查看权限(必须有)
|
|
DataRow seeRow = rData.NewRow();
|
|
seeRow["BtnName"] = "see";
|
|
seeRow["ActionName"] = "查看";
|
|
rData.Rows.Add(seeRow);
|
|
|
|
List<Control> ControlList = new List<Control>();
|
|
//ControlList.Add(simpleButton2);
|
|
//ControlList.Add(simpleButton3);
|
|
//ControlList.Add(btnOutPut);
|
|
foreach (Control ctr in ControlList)
|
|
{
|
|
|
|
if (ctr.GetType() == typeof(SimpleButton))
|
|
{
|
|
DataRow dr = rData.NewRow();
|
|
dr["BtnName"] = ctr.Name;
|
|
dr["ActionName"] = ctr.Text;
|
|
rData.Rows.Add(dr);
|
|
}
|
|
}
|
|
|
|
rData.AcceptChanges();
|
|
return rData;
|
|
}
|
|
public DataTable RightOfData()// 数据权限
|
|
{
|
|
DataTable rData = new DataTable();
|
|
rData.Columns.Add("BodyName");
|
|
rData.Columns.Add("ControlName");
|
|
rData.Columns.Add("ControlCaption");
|
|
|
|
rData.AcceptChanges();
|
|
return rData;
|
|
}
|
|
#endregion
|
|
|
|
#region 退出
|
|
private void btnClose_Click(object sender, EventArgs e)
|
|
{
|
|
AppConfig.CloseFormShow(this.Text);
|
|
this.Close();
|
|
}
|
|
|
|
private void btnExit_Click(object sender, EventArgs e)
|
|
{
|
|
AppConfig.CloseFormShow(this.Text);
|
|
this.Close();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 移动窗体
|
|
private const int WM_NCHITTEST = 0x84;
|
|
private const int HTCLIENT = 0x1;
|
|
private const int HTCAPTION = 0x2;
|
|
//首先必须了解Windows的消息传递机制,当有鼠标活动消息时,
|
|
//系统发送WM_NCHITTEST 消息给窗体作为判断消息发生地的根据。 nchittest
|
|
//假如你点击的是标题栏,窗体收到的消息值就是 HTCAPTION ,
|
|
//同样地,若接受到的消息是 HTCLIENT,说明用户点击的是客户区,也就是鼠标消息发生在客户区。
|
|
|
|
//重写窗体,使窗体可以不通过自带标题栏实现移动
|
|
protected override void WndProc(ref Message m)
|
|
{
|
|
|
|
|
|
//当重载窗体的 WndProc 方法时,可以截获 WM_NCHITTEST 消息并改些该消息,
|
|
//当判断鼠标事件发生在客户区时,改写改消息,发送 HTCAPTION 给窗体,
|
|
//这样,窗体收到的消息就时 HTCAPTION ,在客户区通过鼠标来拖动窗体就如同通过标题栏来拖动一样。
|
|
//注意:当你重载 WndProc 并改写鼠标事件后,整个窗体的鼠标事件也就随之改变了。
|
|
switch (m.Msg)
|
|
{
|
|
case WM_NCHITTEST:
|
|
base.WndProc(ref m);
|
|
if ((int)m.Result == HTCLIENT)
|
|
m.Result = (IntPtr)HTCAPTION;
|
|
return;
|
|
}
|
|
//拦截双击标题栏、移动窗体的系统消息
|
|
if (m.Msg != 0xA3)
|
|
{
|
|
base.WndProc(ref m);
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 列表
|
|
private void grvDetail_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
|
|
{
|
|
if (e.Info.IsRowIndicator && e.RowHandle >= 0)
|
|
e.Info.DisplayText = (e.RowHandle + 1).ToString();
|
|
}
|
|
#endregion
|
|
|
|
#region 过滤
|
|
//private string tempTableName = "";
|
|
//private void btnFilter_Click(object sender, EventArgs e)
|
|
//{
|
|
// FormFilter filter = new FormFilter(AppConfig.GetSourceId(this.Tag.ToString(), btnConfig.Name));
|
|
// filter.OldTempTableName = tempTableName;
|
|
// if (filter.ShowDialog() == DialogResult.OK)
|
|
// {
|
|
// DevExpress.Utils.WaitDialogForm _wait = new DevExpress.Utils.WaitDialogForm("正在查找...请稍等...");
|
|
// try
|
|
// {
|
|
|
|
// _wait.Show();
|
|
// tempTableName = filter.NewTempTableName;
|
|
// sqltxt = filter.SqlText;
|
|
// sqlconn = filter.FilterConnectString;
|
|
// dataSource = filter.FilterData.Tables[0];
|
|
// grdDetail.DataSource = dataSource;
|
|
// grvDetail.BestFitColumns();
|
|
// rptPage.RecordNum = dataSource.Rows.Count;
|
|
// rptPage.PageSize = 499;
|
|
// rptPage.PageIndex = 1;
|
|
// rptPage.ReLoad();
|
|
// rptPage.PageSize = 500;
|
|
// rptPage.PageIndex = 1;
|
|
// rptPage.ReLoad();
|
|
// _wait.Close();
|
|
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// MessageBox.Show("异常:" + ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
// _wait.Close();
|
|
// }
|
|
|
|
// }
|
|
|
|
//}
|
|
#endregion
|
|
|
|
#region 绑定数据源
|
|
private void btnConfig_Click(object sender, EventArgs e)
|
|
{
|
|
//if (AppConfig.UserCode.ToLower() != "demo")
|
|
//{
|
|
// ICSBaseSimpleCode.AppshowMessageBox("您没有权限设置数据源,请联系软件提供商!");
|
|
// return;
|
|
//}
|
|
//FormDataSource fdata = new FormDataSource(AppConfig.GetMenuId(this.Tag.ToString()), btnConfig.Name);
|
|
//fdata.ShowDialog();
|
|
}
|
|
#endregion
|
|
|
|
#region 分页
|
|
private void rptPage_PageIndexChanged(object Sender, EventArgs e)
|
|
{
|
|
//DataTable data = AppConfig.GetPageData(dataSource, rptPage.PageIndex, rptPage.PageSize).Copy();
|
|
////DataTable data = AppConfig.GetPageDataByDb(tempTableName, "pagerowindex", rptPage.PageSize, rptPage.PageIndex, dataSource.Rows.Count);
|
|
//grdDetail.DataSource = data;
|
|
}
|
|
#endregion
|
|
|
|
#region 过滤方法
|
|
private void FormContainerManager_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
//AppConfig.DropTemTable(tempTableName);
|
|
}
|
|
#endregion
|
|
|
|
#region 全选
|
|
private void btnSelectAll_Click(object sender, EventArgs e)
|
|
{
|
|
//grvDetail.PostEditor();
|
|
//this.Validate();
|
|
//for (int i = 0; i < grvDetail.RowCount; i++)
|
|
//{
|
|
// grvDetail.SetRowCellValue(i, colisSelect, "Y");
|
|
//}
|
|
}
|
|
#endregion
|
|
|
|
#region 全消
|
|
private void btnCancelAll_Click(object sender, EventArgs e)
|
|
{
|
|
//grvDetail.PostEditor();
|
|
//this.Validate();
|
|
//for (int i = 0; i < grvDetail.RowCount; i++)
|
|
//{
|
|
// grvDetail.SetRowCellValue(i, colisSelect, "");
|
|
//}
|
|
}
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 刷新
|
|
private void btnFalsh_Click(object sender, EventArgs e)
|
|
{
|
|
//FormICSCREW_Load(null, null);
|
|
txtUserName.Text = ItemCode;
|
|
//txtItemName.Text = ItemName;
|
|
txtLotNo.Text = LotNo;
|
|
//txtItemINVDESC.Text = INVDESC;
|
|
//txtTotalQty.Text = TotalQty.ToString();
|
|
|
|
//init_();
|
|
}
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
//private void ICSItemLot_FormClosing(object sender, FormClosingEventArgs e)
|
|
//{
|
|
// AppConfig.DropTemTable(tempTableName);
|
|
//}
|
|
|
|
#region 页面加载
|
|
private void FormICSCREW_Load(object sender, EventArgs e)
|
|
{
|
|
//btnFilter_Click(sender, e);
|
|
}
|
|
#endregion
|
|
|
|
//private void simpleButton1_Click(object sender, EventArgs e)
|
|
//{
|
|
// string id = "";
|
|
// List<string> editList = new List<string>();
|
|
// for (int i = 0; i < grvDetail.RowCount; i++)
|
|
// {
|
|
// if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
|
|
// {
|
|
// id = grvDetail.GetRowCellValue(i, colID).ToString();
|
|
// editList.Add(id);
|
|
// }
|
|
// }
|
|
// if (editList.Count != 1)
|
|
// {
|
|
// ICSBaseSimpleCode.AppshowMessageBox("请选择数据,且只能选择一条进行编辑!!!");
|
|
// return;
|
|
// }
|
|
// try
|
|
// {
|
|
// FormICSOQCCKGROUP2LISTAdd add = new FormICSOQCCKGROUP2LISTAdd(id);
|
|
// add.ShowDialog();
|
|
// btnRefresh_Click(null, null);
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
|
|
// }
|
|
//}
|
|
|
|
|
|
#region 导入模板下载
|
|
private void btnImportMould_Click(object sender, EventArgs e)
|
|
{
|
|
DevExpress.Utils.WaitDialogForm _wait = new DevExpress.Utils.WaitDialogForm();
|
|
_wait.Hide();
|
|
string anjianExcelFileName = Environment.CommandLine.Substring(1, Environment.CommandLine.LastIndexOf("\\")) + "Output\\";
|
|
try
|
|
{
|
|
_wait.Show();
|
|
_wait.Caption = "模板下载中......";
|
|
SaveFileDialog dlgSaveFileDialog = new SaveFileDialog(); //弹框提示保存
|
|
dlgSaveFileDialog.InitialDirectory = anjianExcelFileName; //默认打开目录
|
|
dlgSaveFileDialog.FilterIndex = 1;
|
|
dlgSaveFileDialog.RestoreDirectory = true;
|
|
dlgSaveFileDialog.FileName = "IQC检验关联导入模板.xlsx"; //默认保存名称
|
|
dlgSaveFileDialog.Filter = "Excel文件(*.xlsx)|*.xlsx";
|
|
if (dlgSaveFileDialog.ShowDialog() == DialogResult.OK)
|
|
{
|
|
string fileName = dlgSaveFileDialog.FileName; //获取弹出框选择或填写的文件名称
|
|
|
|
List<FormReadExcelUIModelColumns> colNameList = new List<FormReadExcelUIModelColumns>();
|
|
colNameList.Add(new FormReadExcelUIModelColumns("物料遍码", true));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("检验项目组编码", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("检验项目编码", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("抽样标准", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("检验属性", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("检验标准", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("最大值", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("最小值", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("单位", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("是否使用", false));
|
|
|
|
colNameList.Add(new FormReadExcelUIModelColumns("检验方式", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("工序编码", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("首检是否必检", false));
|
|
|
|
|
|
FileUtil.exportToExcelFile(fileName, colNameList);
|
|
|
|
_wait.Close();
|
|
ICSBaseSimpleCode.AppshowMessageBox("模板下载成功!");
|
|
}
|
|
_wait.Close();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_wait.Close();
|
|
ICSBaseSimpleCode.AppshowMessageBox("模板下载失败:" + ex.Message);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 导入
|
|
private void btnImportData_Click(object sender, EventArgs e)
|
|
{
|
|
SimpleButton btntemp = (SimpleButton)sender;
|
|
if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
|
|
return;
|
|
}
|
|
DevExpress.Utils.WaitDialogForm _wait = new DevExpress.Utils.WaitDialogForm();
|
|
_wait.Hide();
|
|
try
|
|
{
|
|
FormReadExcel fre = new FormReadExcel();
|
|
if (fre.ShowDialog() != DialogResult.OK)
|
|
{
|
|
return;
|
|
}
|
|
DataTable dataSource = fre._excelData;
|
|
|
|
if (dataSource == null)
|
|
{
|
|
throw new Exception("excel数据取得失败");
|
|
}
|
|
_wait.Show();
|
|
|
|
_wait.Caption = "判断模版是否正确......";
|
|
|
|
#region 判断模版是否正确
|
|
List<FormReadExcelUIModelColumns> colNameList = new List<FormReadExcelUIModelColumns>();
|
|
colNameList.Add(new FormReadExcelUIModelColumns("物料遍码", true));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("检验项目组编码", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("检验项目编码", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("抽样标准", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("检验属性", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("检验标准", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("最大值", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("最小值", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("单位", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("是否使用", false));
|
|
|
|
colNameList.Add(new FormReadExcelUIModelColumns("检验方式", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("工序编码", false));
|
|
colNameList.Add(new FormReadExcelUIModelColumns("首检是否必检", false));
|
|
|
|
|
|
foreach (FormReadExcelUIModelColumns columnsName in colNameList)
|
|
{
|
|
if (!dataSource.Columns.Contains(columnsName.columnsName))
|
|
{
|
|
throw new Exception("模版不正确,缺少列" + columnsName.columnsName);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
_wait.Caption = "数据整理中......";
|
|
List<ICSIPQCKGROUP2LIST> InfoList = new List<ICSIPQCKGROUP2LIST>();
|
|
|
|
foreach (DataRow dr in dataSource.Rows)
|
|
{
|
|
///判断必输项目是否为空
|
|
foreach (FormReadExcelUIModelColumns columnsName in colNameList)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(dr[columnsName.columnsName].ToString()) == true && columnsName.NotNull == true)
|
|
{
|
|
throw new Exception("列" + columnsName.columnsName + "没有输入值");
|
|
}
|
|
}
|
|
ICSIPQCKGROUP2LIST Info = new ICSIPQCKGROUP2LIST();
|
|
Info.CKITEMCODE = dr["物料遍码"].ToString();
|
|
Info.CKListCode = dr["检验项目编码"].ToString();
|
|
Info.CKGROUP = dr["检验项目组编码"].ToString();
|
|
|
|
Info.InspectionStandard = dr["检验标准"].ToString();
|
|
Info.AQL = dr["抽样标准"].ToString();
|
|
Info.CheckoutAttribute = dr["检验属性"].ToString();
|
|
Info.UNIT = dr["单位"].ToString();
|
|
if (!string.IsNullOrWhiteSpace(dr["最大值"].ToString()))
|
|
{
|
|
Info.VALUEMAX = Decimal.Parse(dr["最大值"].ToString());
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(dr["最小值"].ToString()))
|
|
{
|
|
Info.VALUEMIN = Decimal.Parse(dr["最小值"].ToString());
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(dr["是否使用"].ToString()))
|
|
{
|
|
if (dr["是否使用"].ToString().Length > 2)
|
|
{
|
|
Info.IsUse = 0;
|
|
}
|
|
else
|
|
{
|
|
Info.IsUse = 1;
|
|
}
|
|
}
|
|
|
|
Info.CKWay = dr["检验方式"].ToString();
|
|
Info.OPCode = dr["工序编码"].ToString();
|
|
if (!string.IsNullOrWhiteSpace(dr["首检是否必检"].ToString()))
|
|
{
|
|
if (dr["首检是否必检"].ToString().Length > 2)
|
|
{
|
|
Info.IsUse = 0;
|
|
}
|
|
else
|
|
{
|
|
Info.IsUse = 1;
|
|
}
|
|
}
|
|
|
|
Info.MUSER = AppConfig.UserCode;
|
|
Info.MUSERName = AppConfig.UserName;
|
|
Info.WorkPoint = AppConfig.WorkPointCode;
|
|
Info.MTIME = Convert.ToDateTime(AppConfig.GetSeverDateTime("yyyy-MM-dd hh:mm:ss").ToString());
|
|
InfoList.Add(Info);
|
|
}
|
|
|
|
_wait.Caption = "导入数据......";
|
|
ICSIPQCKGROUP2LISTBLL.AddAndEditList(InfoList, AppConfig.AppConnectString);
|
|
_wait.Close();
|
|
ICSBaseSimpleCode.AppshowMessageBox("导入成功!");
|
|
//btnRefresh_Click(null, null);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_wait.Close();
|
|
ICSBaseSimpleCode.AppshowMessageBox("数据导入失败:" + ex.Message);
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
|
|
/// 0906获取单据号
|
|
public static string GetSerialCode(string connectString, string tbName, string colName, string Pre, int numLen)
|
|
{
|
|
string sql = "EXEC Addins_GetSerialCode '{0}','{1}','{2}','{3}',{4}";
|
|
sql = string.Format(sql, new object[] { "", tbName, colName, Pre, numLen });
|
|
return DBHelper.ExecuteScalar(connectString, CommandType.Text, sql).ToString();
|
|
}
|
|
//0906 不合格传入NCR
|
|
private void SendNCR(List<string> codeList, string strResult, decimal QTY, string itemcode, string mocode, string OPCODE, string LotNo)
|
|
{//
|
|
try
|
|
{
|
|
string codeStr = "";
|
|
foreach (string str in codeList)
|
|
{
|
|
codeStr += str + ",";
|
|
}
|
|
codeStr = codeStr.TrimEnd(',');
|
|
string NewCartonNo = "NCR" + AppConfig.GetSeverDateTime("yyyy-MM-dd").ToString("yyyyMMdd");
|
|
NewCartonNo = GetSerialCode(AppConfig.FrameConnectString, "ICSNCRDoc", "SecDocNO", NewCartonNo, 3);
|
|
|
|
ICSSecDocType secDocType = ICSSecDocTypeBLL.select("QC_Collect", AppConfig.FrameConnectString);
|
|
|
|
#region 20210816
|
|
//获取对应的接收人和抄送人
|
|
//ICSSecDocTypeStep docTypeStep = ICSSecDocTypeStepBLL.selectStepBySeq(secDocType.guid, "1", AppConfig.FrameConnectString);
|
|
//string ToUserList = "";
|
|
//ToUserList = ICSNCRDocBLL.QualityEngineer(CKType, AppConfig.AppConnectString);
|
|
#endregion
|
|
|
|
//string CCUserList = ICSNCRDocBLL.QualityEngineer("经理", AppConfig.AppConnectString);
|
|
//string sql = @"SELECT a.ProjectCode FROM ICSMO a WHERE a.MOCODE='{0}'";
|
|
//sql = string.Format(sql, mocode);
|
|
//DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
|
|
string ProjectCode = "";
|
|
//if (dt != null && dt.Rows.Count > 0)
|
|
//{
|
|
// ProjectCode = dt.Rows[0]["ProjectCode"].ToString();
|
|
//}
|
|
|
|
ICSNCRDoc SecDoc = new ICSNCRDoc();
|
|
SecDoc.SecDocNO = NewCartonNo;
|
|
SecDoc.SecDocType = secDocType.guid;
|
|
SecDoc.SecDocStatus = "已发送";
|
|
SecDoc.SecDocSeq = 1;
|
|
SecDoc.SecDocCreateUser = AppConfig.UserCode;
|
|
SecDoc.SecDocCreateUserName = AppConfig.UserName;
|
|
SecDoc.SecDocCreateTime = AppConfig.GetSeverDateTime("");
|
|
//SecDoc.ErrorType = CKType;
|
|
SecDoc.ErrorType = "工序检验";//modify on 20201202 NCRtype修改
|
|
SecDoc.EQPCode = "";
|
|
SecDoc.ItemCode = itemcode;
|
|
SecDoc.ProjectCode = ProjectCode;
|
|
SecDoc.TimeLimit = "1";
|
|
SecDoc.ContentDesc = strResult;
|
|
// SecDoc.EATTRIBUTE2 = CKType;
|
|
|
|
//SecDoc.ToUserList = ToUserList;
|
|
//SecDoc.CCUserList = CCUserList;
|
|
|
|
//SecDoc.ToUserList = ToUserList;
|
|
//SecDoc.CCUserList = CCUserList;
|
|
|
|
//产品跟踪码0910
|
|
SecDoc.LOTNO = LotNo;
|
|
SecDoc.OPCode = OPCODE;
|
|
SecDoc.SecDocOKTime = Convert.ToDateTime("1990-01-01");
|
|
SecDoc.Qty = QTY;
|
|
SecDoc.SrcDocInfo = LotNo;
|
|
|
|
|
|
ICSNCRDoc NCR = new ICSNCRDoc();
|
|
// NCR = ICSNCRDocBLL.selectBySrcDocInfo(codeStr, AppConfig.AppConnectString);
|
|
NCR = null;//modify on 20200418
|
|
if (NCR == null)
|
|
{
|
|
ICSNCRDocBLL.CreateNCR(SecDoc, AppConfig.AppConnectString);
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show(codeStr + "已产生NCR单号:" + NCR.SecDocNO + ",不能新增NCR单");
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.Message);
|
|
}
|
|
}
|
|
|
|
#region IPQC保存
|
|
private void btnTempSave_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
//0906
|
|
List<string> codeList = new List<string>();
|
|
string strResult = "";
|
|
decimal QTY = 1;//批次数量
|
|
|
|
#region
|
|
if (checkboxGX.Checked == false && checkboxWW.Checked == false)
|
|
{
|
|
SetMessage("请选择工序检验或者委外检验!!!!", Color.Red);
|
|
return;
|
|
}
|
|
#endregion
|
|
|
|
//if (gridViewCC == null || gridViewCC.RowCount == 0 || gridView2 == null || gridView2.RowCount == 0)
|
|
//{
|
|
// SetMessage("当前工序没有检验的基础信息!", Color.Red);
|
|
// return;
|
|
//}
|
|
|
|
List<ICSQualityCKDATADetail> InfoList = new List<ICSQualityCKDATADetail>();
|
|
for (int k = 0; k < gridViewCC.RowCount; k++)
|
|
{
|
|
if (gridViewCC.RowCount > 0)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(k, StandResult).ToString()))
|
|
{
|
|
SetMessage("存在未填写的标准检测值!请确认!", Color.Red);
|
|
return;
|
|
}
|
|
string ok = gridViewCC.GetRowCellValue(k, CCOK).ToString();
|
|
string ng = gridViewCC.GetRowCellValue(k, CCNG).ToString();
|
|
if ((string.IsNullOrEmpty(ok) && string.IsNullOrEmpty(ng) || (ok == "False" && ng == "False")))
|
|
{
|
|
SetMessage("存在检验项目未勾选合格或不合格!请确认!", Color.Red);
|
|
return;
|
|
}
|
|
|
|
|
|
//update 保存尺寸检验信息 zhuqy 2023-11-16
|
|
string CKGROUPCode = gridViewCC.GetRowCellValue(k, colCKGROUPCode).ToString();
|
|
string Result = "";
|
|
if (!string.IsNullOrEmpty(ok))
|
|
{
|
|
Result = "OK";
|
|
}
|
|
else
|
|
{
|
|
Result = "NG";
|
|
}
|
|
ICSQualityCKDATADetail CCInfo = new ICSQualityCKDATADetail();
|
|
CCInfo.EATTRIBUTE2 = CKGROUPCode;
|
|
CCInfo.CKResult = Result;
|
|
CCInfo.DECKResult = Result;
|
|
InfoList.Add(CCInfo);
|
|
}
|
|
}
|
|
|
|
//update 保存外观检验信息 zhuqy 2023-11-16
|
|
for (int k = 0; k < gridView2.RowCount; k++)
|
|
{
|
|
if (gridView2.RowCount > 0)
|
|
{
|
|
string CKGROUPCode = gridView2.GetRowCellValue(k, colCKGROUPCode1).ToString();
|
|
string ok = gridView2.GetRowCellValue(k, colOK).ToString();
|
|
string ng = gridView2.GetRowCellValue(k, colNotOK).ToString();
|
|
|
|
if ((string.IsNullOrEmpty(ok) && string.IsNullOrEmpty(ng) || (ok == "False" && ng == "False")))
|
|
{
|
|
SetMessage("存在检验项目未勾选合格或不合格!请确认!", Color.Red);
|
|
return;
|
|
}
|
|
|
|
string Result = "";
|
|
if (!string.IsNullOrEmpty(ok))
|
|
{
|
|
Result = "OK";
|
|
}
|
|
else
|
|
{
|
|
Result = "NG";
|
|
}
|
|
ICSQualityCKDATADetail WGInfo = new ICSQualityCKDATADetail();
|
|
WGInfo.EATTRIBUTE2 = CKGROUPCode;
|
|
WGInfo.CKResult = Result;
|
|
WGInfo.DECKResult = Result;
|
|
InfoList.Add(WGInfo);
|
|
}
|
|
}
|
|
|
|
|
|
string sql1 = "select * from ICSLOTSIMULATION where lotno='" + txtLotNo.Text.Trim() + "' and LOTSTATUS='暂停'";
|
|
DataTable tbale = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql1).Tables[0];
|
|
if (tbale.Rows.Count > 0)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("该追踪单号对应工序完工检验信息不合格!无法进行质量检验!");
|
|
return;
|
|
|
|
}
|
|
// string sql = @"SELECT DISTINCT a.OPCode,c.CCorWGResult,
|
|
// b.RouteCode,f.OPSEQ,d.LOTStatus,
|
|
// CASE d.CollectStatus
|
|
// WHEN 'COLLECT_BEGIN' THEN 'WG'
|
|
// WHEN 'COLLECT_END' THEN 'KG'
|
|
// ELSE '' END AS Status
|
|
// FROM ICSOP a WITH (nolock)
|
|
// LEFT JOIN ICSMO2User b WITH (nolock) ON a.OPCODE = b.OPCODE
|
|
// LEFT JOIN ICSLOTSIMULATION d WITH (nolock) ON b.LOTNO = d.LOTNO AND b.OPCODE = d.OPCODE
|
|
// LEFT JOIN ICSITEMROUTE2OPLot f ON f.lotno = b.lotno
|
|
// AND f.OPCODE = a.OPCODE
|
|
// LEFT JOIN ICSOQCCKGROUP2LISTCheckResult c ON c.LotNo=b.LOTNO AND c.OPCode=b.OPCODE
|
|
// WHERE b.LOTNO = '" + txtLotNo.Text + "' order by f.OPSEQ ";
|
|
// DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
|
|
// int _OPSEQ = 0;
|
|
// if (data.Rows.Count > 0)
|
|
// {
|
|
// foreach (DataRow dr in data.Rows)
|
|
// {
|
|
// if (txtOPCode.Text == dr["OPCODE"].ToString())
|
|
// {
|
|
// string OPSEQ = dr["OPSEQ"].ToString();
|
|
// _OPSEQ = Int32.Parse(OPSEQ) - 10;
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
//查询上一道工序是否检验 20240612
|
|
string sql = @"SELECT TOP 1 ROUTECODE, OPCODE, OPSEQ
|
|
FROM ICSITEMROUTE2OPLot
|
|
WHERE LOTNO = '{0}' AND OPSEQ<(
|
|
SELECT OPSEQ FROM ICSITEMROUTE2OPLot
|
|
WHERE LOTNO = '{0}' AND OPCode='{1}')
|
|
ORDER BY OPSEQ DESC";
|
|
sql = string.Format(sql, txtLotNo.Text, txtOPCode.Text);
|
|
DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
|
|
int _OPSEQ = 0;
|
|
if (data.Rows.Count > 0)
|
|
{
|
|
_OPSEQ = Int32.Parse(data.Rows[0]["OPSEQ"].ToString());
|
|
}
|
|
|
|
bool isOK = CheckIsOK(_OPSEQ);
|
|
if (!isOK)
|
|
{
|
|
SetMessage("上道工序检验结果不合格,不能开工!", Color.Red);
|
|
return;
|
|
}
|
|
#region
|
|
|
|
#region 20210707新增当前工序是否已经报工,没有报工不允许检验
|
|
string checkSQL = @"SELECT DISTINCT
|
|
CASE d.CollectStatus
|
|
WHEN 'COLLECT_BEGIN' THEN 'WG'
|
|
WHEN 'COLLECT_END' THEN 'KG'
|
|
ELSE '' END AS Status
|
|
FROM ICSOP a WITH (nolock)
|
|
LEFT JOIN ICSMO2User b WITH (nolock) ON a.OPCODE = b.OPCODE
|
|
LEFT JOIN ICSLOTSIMULATION d WITH (nolock) ON b.LOTNO = d.LOTNO AND b.OPCODE = d.OPCODE
|
|
LEFT JOIN ICSITEMROUTE2OPLot f ON f.lotno = b.lotno
|
|
AND f.OPCODE = a.OPCODE
|
|
LEFT JOIN ICSOQCCKGROUP2LISTCheckResult c ON c.LotNo=b.LOTNO AND c.OPCode=b.OPCODE
|
|
WHERE b.LOTNO = '" + txtLotNo.Text + "' and a.OPCode='" + txtOPCode.Text + "' ";
|
|
DataTable Checkdata = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, checkSQL).Tables[0];
|
|
if (Checkdata != null && Checkdata.Rows.Count > 0)
|
|
{
|
|
string Status = Checkdata.Rows[0]["Status"].ToString();
|
|
if (Status != "KG")
|
|
{
|
|
SetMessage("当前工序还没有完工,不能检验!", Color.Red);
|
|
return;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
SetMessage("当前工序还没有开工,不能检验!", Color.Red);
|
|
return;
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
ICSQualityCKDATA QualityCKDATA = new ICSQualityCKDATA();
|
|
QualityCKDATA.EATTRIBUTE3 = "";//参与人
|
|
QualityCKDATA.LOTNO = LotNo;
|
|
QualityCKDATA.SEQ = _OPSEQ + 10;
|
|
QualityCKDATA.OPCode = this.txtOPCode.Text.Trim();
|
|
QualityCKDATA.MOCODE = txtMOCode.Text.Trim();
|
|
QualityCKDATA.CKUserCode = txtUserCode.Text.Trim();
|
|
|
|
ICSLOTONWIPCheck ICSLOTONWIPCheck = new ICSLOTONWIPCheck();
|
|
|
|
if (checkboxGX.Checked)
|
|
{
|
|
QualityCKDATA.Type = "GX";
|
|
}
|
|
if (checkboxWW.Checked)
|
|
{
|
|
QualityCKDATA.Type = "WW";
|
|
}
|
|
if ((txtCCResult.Text == "OK" || string.IsNullOrEmpty(txtCCResult.Text)) && (txtWGResult.Text == "OK" || string.IsNullOrEmpty(txtWGResult.Text)))
|
|
{
|
|
QualityCKDATA.CKResult = "1";
|
|
|
|
//9月18号添ICSLOTONWIPCheck表格
|
|
ICSLOTONWIPCheck.Result = "合格";
|
|
}
|
|
else
|
|
{
|
|
|
|
QualityCKDATA.CKResult = "0";
|
|
|
|
//9月18号添ICSLOTONWIPCheck表格
|
|
ICSLOTONWIPCheck.Result = "不合格";
|
|
|
|
//0906判退到NCR
|
|
if (!codeList.Contains(LotNo))
|
|
{
|
|
strResult += "产品追踪单:" + LotNo + " " + CCNCRMes() + " " + WWNCRMes();
|
|
codeList.Add(LotNo);
|
|
}
|
|
string itemcode = txtProductCode.Text;
|
|
string OPCODE = txtOPCode.Text;
|
|
string MOCODE = txtMOCode.Text;
|
|
LotNo = txtLotNo.Text;
|
|
// LotNo = "";
|
|
QTY = Convert.ToDecimal(txtLotQty.Text);
|
|
SendNCR(codeList, strResult, QTY, itemcode, MOCODE, OPCODE, LotNo);
|
|
}
|
|
|
|
List<ICSOQCCKGROUP2LISTCheckResult> entityList = new List<ICSOQCCKGROUP2LISTCheckResult>();
|
|
for (int k = 0; k < gridViewCC.RowCount; k++)
|
|
{
|
|
ICSOQCCKGROUP2LISTCheckResult entity = new ICSOQCCKGROUP2LISTCheckResult();
|
|
#region MyRegion
|
|
Decimal OKQty = 0; Decimal NGQty = 0;
|
|
|
|
if (gridViewCC.RowCount > 0)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(txtCCResult.Text))
|
|
{
|
|
SetMessage("尺寸还没有检验,请核对!!!!", Color.Red);
|
|
return;
|
|
}
|
|
}
|
|
//entity.CKITEMCODE = txtUserName.Text;// gridViewCC.GetRowCellValue(k, colCKITEMCODE).ToString();
|
|
entity.CKListCode = gridViewCC.GetRowCellValue(k, colCKGROUPCode).ToString();
|
|
entity.RCVCode = RCVCode;
|
|
entity.LotNo = LotNo;
|
|
entity.CKITEMCODE = ItemCode;
|
|
entity.INVDESC = INVDESC;
|
|
entity.CheckoutAttribute = "量化";
|
|
entity.VALUEMAX = Decimal.Parse(gridViewCC.GetRowCellValue(k, colSetValueMax).ToString());
|
|
entity.VALUEMIN = Decimal.Parse(gridViewCC.GetRowCellValue(k, colSetValueMin).ToString());
|
|
entity.CheckResultValue = gridViewCC.GetRowCellValue(k, colCheckResult).ToString();
|
|
if (txtCCResult.Text == "OK")
|
|
{
|
|
entity.Qualified = Decimal.Parse(txtLotQty.Text);//合格数
|
|
}
|
|
else
|
|
{
|
|
entity.UnQualified = Decimal.Parse(txtLotQty.Text); ;//不合格数
|
|
}
|
|
if (this.checkboxGX.Checked == true)
|
|
{
|
|
entity.GXorWWCheck = "GX";
|
|
}
|
|
else
|
|
{
|
|
entity.GXorWWCheck = "WW";
|
|
}
|
|
entity.CCorWGResult = txtCCResult.Text;
|
|
entity.LotNo = txtLotNo.Text;
|
|
entity.UserCode = this.txtUserCode.Text;
|
|
entity.MOCode = this.txtMOCode.Text;
|
|
entity.OPCode = this.txtOPCode.Text;
|
|
entityList.Add(entity);
|
|
}
|
|
for (int k = 0; k < gridView2.RowCount; k++)
|
|
{
|
|
ICSOQCCKGROUP2LISTCheckResult entity = new ICSOQCCKGROUP2LISTCheckResult();
|
|
#region MyRegion
|
|
if (gridView2.RowCount > 0)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(txtWGResult.Text))
|
|
{
|
|
SetMessage("外观还没有检验,请核对!!!!", Color.Red);
|
|
return;
|
|
}
|
|
}
|
|
#endregion
|
|
//entity.CKITEMCODE = txtUserName.Text;// gridViewCC.GetRowCellValue(k, colCKITEMCODE).ToString();
|
|
entity.CKListCode = gridView2.GetRowCellValue(k, colCKGROUPCode1).ToString();
|
|
entity.RCVCode = RCVCode;
|
|
entity.LotNo = LotNo;
|
|
entity.CKITEMCODE = ItemCode;
|
|
entity.INVDESC = INVDESC;
|
|
entity.CheckoutAttribute = "外观";
|
|
entity.CCorWGResult = txtWGResult.Text;
|
|
entity.AQL = gridView2.GetRowCellValue(k, colCKGROUPATTR).ToString();
|
|
entity.InspectionStandard = gridView2.GetRowCellValue(k, colCKGROUPMETH).ToString();
|
|
if (this.checkboxGX.Checked == true)
|
|
{
|
|
entity.GXorWWCheck = "GX";
|
|
}
|
|
else
|
|
{
|
|
entity.GXorWWCheck = "WW";
|
|
}
|
|
if (gridView2.GetRowCellValue(k, colOK).ToString() == "True")
|
|
{
|
|
entity.IsOK = 1;
|
|
}
|
|
else
|
|
{
|
|
entity.IsOK = 0;
|
|
}
|
|
if (txtWGResult.Text == "OK")
|
|
{
|
|
entity.Qualified = Decimal.Parse(txtLotQty.Text);//合格数
|
|
}
|
|
else
|
|
{
|
|
entity.UnQualified = Decimal.Parse(txtLotQty.Text); ;//不合格数
|
|
}
|
|
entity.LotNo = txtLotNo.Text;
|
|
entity.UserCode = this.txtUserCode.Text;
|
|
entity.MOCode = this.txtMOCode.Text;
|
|
entity.OPCode = this.txtOPCode.Text;
|
|
entityList.Add(entity);
|
|
#endregion
|
|
}
|
|
#endregion
|
|
try
|
|
{
|
|
//ICSIPQCBLL.AddAndEditList(entityList, AppConfig.AppConnectString);
|
|
//if (entityList != null && entityList.Count > 0)
|
|
//{
|
|
|
|
//}
|
|
FramDataContext db = ICSDataCollectionBLL.AddAndEditList(QualityCKDATA, entityList, InfoList, AppConfig.AppConnectString, true);
|
|
|
|
//9.18新增
|
|
ICSDataCollectionBLL.save2ICSLOTONWIPCheck(ICSLOTONWIPCheck, QualityCKDATA, AppConfig.AppConnectString, db);
|
|
|
|
//this.Close();
|
|
//ICSBaseSimpleCode.AppshowMessageBox("保存成功");
|
|
|
|
|
|
|
|
SetMessage("保存成功!!!!", Color.Blue);
|
|
Clear(true);
|
|
return;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
|
|
}
|
|
|
|
|
|
}
|
|
#endregion
|
|
|
|
private bool CheckIsOK(int OPSEQ)
|
|
{
|
|
bool isfalse = false;
|
|
string _OQCSql = @"SELECT DISTINCT ACTION FROM ICSLOTONWIP bb WITH (nolock)
|
|
LEFT JOIN ICSLOTONWIPCHECK CC ON BB.ID=CC.ONWIPID
|
|
INNER JOIN ICSITEMROUTE2OPLot a WITH (nolock) ON bb.lotno=a.lotno and bb.opcode=a.opcode
|
|
WHERE bb.LotNo='" + txtLotNo.Text + "' AND a.OPSEQ='" + OPSEQ + "' AND isnull(CC.RESULT,'')<>'合格' ";
|
|
DataTable _OQCdt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, _OQCSql).Tables[0];
|
|
|
|
if (_OQCdt != null && _OQCdt.Rows.Count > 0)
|
|
{
|
|
isfalse = false;
|
|
}
|
|
else
|
|
{
|
|
isfalse = true;
|
|
}
|
|
return isfalse;
|
|
}
|
|
private bool CheckIsDecmil(string KeyValue)
|
|
{
|
|
try
|
|
{
|
|
Decimal.Parse(KeyValue);
|
|
return true;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
private void gridViewCC_KeyUp(object sender, KeyEventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void gridView2_KeyUp(object sender, KeyEventArgs e)
|
|
{
|
|
#region
|
|
try
|
|
{
|
|
if (e.KeyCode == Keys.Enter)
|
|
{
|
|
if (gridView2.FocusedRowHandle < 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
#region colS1
|
|
|
|
int SNo = gridView2.FocusedRowHandle;
|
|
int SNoCC = gridView2.RowCount;
|
|
|
|
for (int i = SNo; i <= SNo; i++)
|
|
{
|
|
SendKeys.Send("{Down}");
|
|
if (SNo == SNoCC - 1)
|
|
{
|
|
for (int j = 0; j <= SNoCC - 1; j++)
|
|
{
|
|
SendKeys.Send("{Up}");
|
|
}
|
|
SendKeys.Send("{RIGHT}");
|
|
}
|
|
bool istrue = false;
|
|
for (int k = 0; k < gridView2.RowCount; k++)
|
|
{
|
|
#region MyRegion
|
|
|
|
bool _S1 = false;
|
|
if (gridView2.GetRowCellValue(k, colOK) != null)
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(gridView2.GetRowCellValue(k, colOK).ToString()))
|
|
{
|
|
if (gridView2.GetRowCellValue(k, colOK).ToString() == "True")
|
|
{
|
|
_S1 = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (_S1 && gridView2.FocusedColumn.Caption == "合格")
|
|
{
|
|
|
|
istrue = true;
|
|
}
|
|
else
|
|
{
|
|
istrue = false;
|
|
break;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
if (istrue)
|
|
{
|
|
this.txtWGResult.Text = "OK";
|
|
this.txtWGResult.BackColor = Color.Blue;
|
|
}
|
|
else
|
|
{
|
|
this.txtWGResult.Text = "NG";
|
|
this.txtWGResult.BackColor = Color.Red;
|
|
}
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.ToString());
|
|
}
|
|
|
|
|
|
#endregion
|
|
}
|
|
|
|
|
|
|
|
|
|
private void txtUserCode_KeyPress(object sender, KeyPressEventArgs e)
|
|
{
|
|
if (e.KeyChar == (char)Keys.Enter)
|
|
{
|
|
string UserCode = txtUserCode.Text.Trim();
|
|
string sql = @"select UserName from Sys_User
|
|
where UserCode='{0}'";
|
|
sql = string.Format(sql, UserCode);
|
|
DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
|
|
if (dt.Rows.Count == 0)
|
|
{
|
|
SetMessage("员工条码不存在,请确认后重新输入!", Color.Red);
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
txtUserName.Text = dt.Rows[0][0].ToString();
|
|
}
|
|
|
|
SetMessage("员工条码扫描成功!", Color.Blue);
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
//消息提示
|
|
private void SetMessage(string Msg, Color color)
|
|
{
|
|
txtMessage.Text = Msg;
|
|
txtMessage.ForeColor = color;
|
|
}
|
|
//2.2. 工序条码:扫描完产品跟踪单后才能选择;下拉,只能选择到该产品跟踪单下对应的工序信息;
|
|
//批次条码的对应的关系
|
|
//物料条码
|
|
private void txtLotNo_KeyPress_1(object sender, KeyPressEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
#region`
|
|
if (e.KeyChar == (char)Keys.Enter)
|
|
{
|
|
#region
|
|
string chksql = @"select a.LotNO,a.MCODE ItemCODE,b.INVNAME,a.LOTQTY ,a.TransNO,c.MOPLANQTY from ICSITEMLot a WITH (nolock)
|
|
LEFT JOIN ICSINVENTORY b WITH (nolock) ON a.MCODE = b.INVCODE
|
|
LEFT JOIN ICSMO c WITH (nolock) ON a.TransNO = c.MOCODE AND a.TransLine=c.MOSEQ
|
|
where a.LotNO='{0}' AND a.WorkPoint='{1}'";
|
|
chksql = string.Format(chksql, txtLotNo.Text.Trim(), AppConfig.WorkPointCode);
|
|
DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, chksql).Tables[0];
|
|
if (dt.Rows.Count == 0)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("产品跟踪码不存在!!");
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
if (dt.Rows[0]["LotNO"].ToString() == "")
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("产品跟踪单号未绑定零件号,请先绑定再发料!!");
|
|
return;
|
|
}
|
|
txtProductCode.Text = dt.Rows[0]["ItemCODE"].ToString();
|
|
string itemCode = dt.Rows[0]["ItemCODE"].ToString();
|
|
txtPriductName.Text = dt.Rows[0]["INVNAME"].ToString();
|
|
txtLotQty.Text = dt.Rows[0]["LOTQTY"].ToString();
|
|
LotNo = dt.Rows[0]["LotNO"].ToString();
|
|
|
|
txtMOCode.Text = dt.Rows[0]["TransNO"].ToString();
|
|
txtMOQty.Text = dt.Rows[0]["MOPLANQTY"].ToString();
|
|
#region 工序
|
|
string __sql = @"SELECT b.OPCODE 工序编码,c.OPDESC 工序名称 FROM ICSITEM2ROUTE a
|
|
INNER JOIN ICSROUTE2OP b ON b.ROUTECODE=a.ROUTECODE
|
|
INNER JOIN ICSOP c ON b.OPCODE=c.OPCODE
|
|
WHERE a.ITEMCODE='" + itemCode + "' AND a.WorkPoint='{0}' ORDER BY b.OPSEQ";
|
|
|
|
__sql = string.Format(__sql, AppConfig.WorkPointCode);
|
|
|
|
DataTable __dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, __sql).Tables[0];
|
|
txtOPCode_.Properties.ValueMember = "工序编码";
|
|
txtOPCode_.Properties.DisplayMember = "工序编码";
|
|
txtOPCode_.Properties.DataSource = __dt;
|
|
txtOPCode_.Properties.NullText = "";//空时的值
|
|
txtOPCode_.Properties.ImmediatePopup = true;//输入值是否马上弹出窗体
|
|
txtOPCode_.Properties.ValidateOnEnterKey = true;//回车确认
|
|
txtOPCode_.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;//要使用户可以输入,这里须设为Standard
|
|
txtOPCode_.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; //可用Ctrl + Delete清空选择內容
|
|
txtOPCode_.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
|
|
#endregion
|
|
//if (__dt != null && __dt.Rows.Count > 0)
|
|
//{
|
|
// foreach (DataRow item in __dt.Rows)
|
|
// {
|
|
//this.txtOPCode_.Items.Add(item["OPCODE"].ToString());
|
|
// }
|
|
//}
|
|
}
|
|
#endregion
|
|
}
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
SetMessage(ex.Message, Color.Red);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
private void txtOPCode_TextChanged(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
string itemCode = this.txtProductCode.Text;
|
|
string OpCode = this.txtOPCode_.Text;
|
|
|
|
|
|
string sql = @"SELECT EnumName FROM Sys_EnumKey WHERE EnumKey='00006'";
|
|
string connectionString = AppConfig.FrameConnectString; // AppConfig.GetDataBaseConnectStringByKey("[DB.PLM]");
|
|
if (string.IsNullOrWhiteSpace(connectionString))
|
|
return;
|
|
object name = DBHelper.ExecuteScalar(connectionString, CommandType.Text, sql);
|
|
if (name == null || string.IsNullOrWhiteSpace(name.ToString()))
|
|
return;
|
|
string fileName = name.ToString() + "\\" + itemCode + LotNo + this.txtOPCode_.Text + ".pdf";
|
|
|
|
//string sql = @"SELECT SOPDrawing from ICSITEMROUTE2OP WHERE ITEMCODE='" + itemCode + "' AND ROUTECODE='" + RouteCode + "' AND OPCODE='" + OpCode + "' ";
|
|
//string connectionString = AppConfig.FrameConnectString; // AppConfig.GetDataBaseConnectStringByKey("[DB.PLM]");
|
|
//string connectionString = AppConfig.GetDataBaseConnectStringByKey("[DB.FTP2]");
|
|
|
|
if (string.IsNullOrWhiteSpace(connectionString))
|
|
return;
|
|
|
|
name = "123";
|
|
if (name == null || string.IsNullOrWhiteSpace(name.ToString()))
|
|
return;
|
|
//fileName = "E:\\PDF\\20201015.pdf";
|
|
//string fileName = name.ToString() + itemCode + "\\" + RouteCode + "\\" + OpCode + ".pdf";
|
|
//string fileName = name.ToString() + ".pdf";
|
|
|
|
if (!string.IsNullOrEmpty(fileName))
|
|
{
|
|
axAcroPDFTZ.LoadFile(fileName);
|
|
axAcroPDFTZ.setShowToolbar(false);
|
|
axAcroPDFTZ.setShowScrollbars(false);
|
|
axAcroPDFTZ.setPageMode("thumbs");
|
|
axAcroPDFTZ.setLayoutMode("SinglePage");
|
|
axAcroPDFTZ.setView("Fit");
|
|
axAcroPDFTZ.Show();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message);
|
|
}
|
|
}
|
|
|
|
#region 选中工序委外
|
|
private void checkboxGX_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
if (this.checkboxGX.Checked == true)
|
|
{
|
|
this.checkboxWW.Checked = false;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 委外检验
|
|
private void checkboxWW_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
if (this.checkboxWW.Checked == true)
|
|
{
|
|
this.checkboxGX.Checked = false;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
private void txtOPCode_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
initCheck();
|
|
}
|
|
|
|
|
|
|
|
private void initCheck()
|
|
{
|
|
string _OQCSql = @"SELECT a.SetValueMax,a.SetValueMin,a.CKGROUPCode,b.CKGROUPDESC,b.CKGROUPDNAME,'' Remark,'' CheckResult,a.standvalue as standresult,CAST (ISNULL(0, 0) AS BIT) AS OK,CAST (ISNULL(0, 0) AS BIT) AS NG,ptype, a.id,'' as bgcheckcc,'' as bgcheckresultcc FROM ICSOQCCKLIST a
|
|
LEFT JOIN ICSOQCCKGROUP b ON a.CKGROUPCode=b.CKGROUP
|
|
WHERE INVCode='" + txtProductCode.Text + "' AND a.CKGROUPATTR='量化' and a.ISREF='是' AND a.OPCode='" + txtOPCode.Text + @"' and a.CKGROUPMETH='工序检验'
|
|
select cklistcode,checkresultvalue ,ccorwgresult,CheckoutAttribute from ICSOQCCKGROUP2LISTCheckResult where GXorWWCheck='GX' AND LOTNO='" + txtLotNo.Text + @"' AND OPCODE='" + txtOPCode.Text + @"'
|
|
";//0906
|
|
|
|
DataSet set = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, _OQCSql);
|
|
DataTable _OQCdt = set.Tables[0];
|
|
DataTable ZZLOG = set.Tables[1];
|
|
_OQCdt.PrimaryKey = new DataColumn[] { _OQCdt.Columns["id"] };
|
|
|
|
List<DataRow> list = _OQCdt.AsEnumerable().Where(a => Convert.ToDecimal(a["ptype"]) > 1).ToList();
|
|
|
|
if (list.Count > 0)
|
|
{
|
|
foreach (DataRow row in list)
|
|
{
|
|
int num = Convert.ToInt32(row["ptype"]);
|
|
List<DataRow> rowlist = ZZLOG.AsEnumerable().Where(a => a["cklistcode"].ToString() == row["CKGROUPCode"].ToString() && a["CheckoutAttribute"].ToString() == "量化").ToList();
|
|
for (int i = 0; i < num; i++)
|
|
{
|
|
|
|
DataRow newrow = _OQCdt.NewRow();
|
|
newrow["SetValueMax"] = row["SetValueMax"];
|
|
newrow["SetValueMin"] = row["SetValueMin"];
|
|
newrow["CKGROUPCode"] = row["CKGROUPCode"];
|
|
newrow["CKGROUPDESC"] = row["CKGROUPDESC"];
|
|
newrow["CKGROUPDNAME"] = row["CKGROUPDNAME"];
|
|
newrow["Remark"] = row["Remark"];
|
|
newrow["CheckResult"] = row["CheckResult"];
|
|
newrow["standresult"] = row["standresult"];
|
|
newrow["OK"] = row["OK"];
|
|
newrow["NG"] = row["NG"];
|
|
newrow["ptype"] = "1";
|
|
if (rowlist.Count >= i + 1)
|
|
{
|
|
newrow["bgcheckcc"] = rowlist[i]["checkresultvalue"].ToString();
|
|
newrow["bgcheckresultcc"] = rowlist[i]["ccorwgresult"].ToString();
|
|
}
|
|
newrow["id"] = AppConfig.GetGuid();
|
|
_OQCdt.Rows.Add(newrow);
|
|
}
|
|
_OQCdt.Rows.Remove(row);
|
|
|
|
}
|
|
|
|
}
|
|
//else
|
|
//{
|
|
// DataRow newrow = _OQCdt.NewRow();
|
|
// newrow["id"] = AppConfig.GetGuid();
|
|
// _OQCdt.Rows.Add(newrow);
|
|
//}
|
|
|
|
foreach (DataRow rowcc in _OQCdt.Rows)
|
|
{
|
|
if (!string.IsNullOrEmpty(rowcc["bgcheckcc"].ToString()))
|
|
continue;
|
|
DataRow row = ZZLOG.AsEnumerable().Where(a => a["cklistcode"].ToString() == rowcc["CKGROUPCode"].ToString() && a["CheckoutAttribute"].ToString() == "量化").FirstOrDefault();
|
|
if (row != null)
|
|
{
|
|
rowcc["bgcheckcc"] = row["checkresultvalue"].ToString();
|
|
rowcc["bgcheckresultcc"] = row["ccorwgresult"].ToString();
|
|
}
|
|
|
|
}
|
|
|
|
|
|
gridControlcc.DataSource = _OQCdt;
|
|
|
|
|
|
string _OQCWGSql = @"SELECT a.CKGROUPATTR,a.CKGROUPMETH,a.CKGROUPCode CKGROUPCode1,b.CKGROUPDESC CKGROUPDESC1,b.CKGROUPDNAME,'' Remark1,CAST (ISNULL(0, 0) AS BIT) AS OK,CAST (ISNULL(0, 0) AS BIT) AS NG,ptype,a.id,'' as bgcheckwg,'' as bgcheckresultwg FROM ICSOQCCKLIST a
|
|
LEFT JOIN ICSOQCCKGROUP b ON a.CKGROUPCode=b.CKGROUP
|
|
WHERE INVCode='" + txtProductCode.Text + "' AND a.CKGROUPATTR='外观' and a.ISREF='是' AND a.OPCode='" + txtOPCode.Text + "' and a.CKGROUPMETH='工序检验'";//0906
|
|
|
|
DataSet set2 = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, _OQCWGSql);
|
|
DataTable _OQCWGdt = set2.Tables[0];
|
|
_OQCWGdt.PrimaryKey = new DataColumn[] { _OQCWGdt.Columns["id"] };
|
|
list = _OQCWGdt.AsEnumerable().Where(a => Convert.ToDecimal(a["ptype"]) > 1).ToList();
|
|
|
|
if (list.Count > 0)
|
|
{
|
|
foreach (DataRow row in list)
|
|
{
|
|
int num = Convert.ToInt32(row["ptype"]);
|
|
List<DataRow> rowlist = ZZLOG.AsEnumerable().Where(a => a["cklistcode"].ToString() == row["CKGROUPCode1"].ToString() && a["CheckoutAttribute"].ToString() == "外观").ToList();
|
|
for (int i = 0; i < num; i++)
|
|
{
|
|
DataRow newrow = _OQCWGdt.NewRow();
|
|
newrow["CKGROUPATTR"] = row["CKGROUPATTR"];
|
|
newrow["CKGROUPMETH"] = row["CKGROUPMETH"];
|
|
newrow["CKGROUPCode1"] = row["CKGROUPCode1"];
|
|
newrow["CKGROUPDESC1"] = row["CKGROUPDESC1"];
|
|
newrow["CKGROUPDNAME"] = row["CKGROUPDNAME"];
|
|
newrow["Remark1"] = row["Remark1"];
|
|
newrow["OK"] = row["OK"];
|
|
newrow["NG"] = row["NG"];
|
|
newrow["ptype"] = "1";
|
|
newrow["id"] = AppConfig.GetGuid();
|
|
if (rowlist.Count >= i + 1)
|
|
{
|
|
newrow["bgcheckwg"] = rowlist[i]["checkresultvalue"].ToString();
|
|
newrow["bgcheckresultwg"] = rowlist[i]["ccorwgresult"].ToString();
|
|
}
|
|
|
|
_OQCWGdt.Rows.Add(newrow);
|
|
}
|
|
_OQCWGdt.Rows.Remove(row);
|
|
|
|
}
|
|
|
|
}
|
|
//else
|
|
//{
|
|
// DataRow newWGrow = _OQCWGdt.NewRow();
|
|
// newWGrow["id"] = AppConfig.GetGuid();
|
|
// _OQCWGdt.Rows.Add(newWGrow);
|
|
//}
|
|
|
|
foreach (DataRow rowcc in _OQCWGdt.Rows)
|
|
{
|
|
if (!string.IsNullOrEmpty(rowcc["bgcheckwg"].ToString()))
|
|
continue;
|
|
DataRow row = ZZLOG.AsEnumerable().Where(a => a["cklistcode"].ToString() == rowcc["CKGROUPCode1"].ToString() && a["CheckoutAttribute"].ToString() == "外观").FirstOrDefault();
|
|
if (row != null)
|
|
{
|
|
rowcc["bgcheckwg"] = row["checkresultvalue"].ToString();
|
|
rowcc["bgcheckresultwg"] = row["ccorwgresult"].ToString();
|
|
}
|
|
}
|
|
|
|
|
|
gridControl2.DataSource = _OQCWGdt;
|
|
|
|
LoadGroup();
|
|
}
|
|
|
|
private void txtOPCode_EditValueChanged(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private string CCNCRMes()
|
|
{
|
|
|
|
string result = "";
|
|
for (int k = 0; k < gridViewCC.RowCount; k++)
|
|
{
|
|
|
|
|
|
//Decimal _VALUEMAX = 0; Decimal _VALUEMIN = 0; Decimal _S1 = 0;
|
|
//if (gridViewCC.GetRowCellValue(k, colSetValueMax) != null)
|
|
//{
|
|
// if (!string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(k, colSetValueMax).ToString()))
|
|
// {
|
|
// _VALUEMAX = Decimal.Parse(gridViewCC.GetRowCellValue(k, colSetValueMax).ToString());
|
|
// }
|
|
//}
|
|
//if (gridViewCC.GetRowCellValue(k, colSetValueMin) != null)
|
|
//{
|
|
// if (!string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(k, colSetValueMin).ToString()))
|
|
// {
|
|
// _VALUEMIN = Decimal.Parse(gridViewCC.GetRowCellValue(k, colSetValueMin).ToString());
|
|
// }
|
|
//}
|
|
//if (gridViewCC.GetRowCellValue(k, colCheckResult) != null)
|
|
//{
|
|
// if (!string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(k, colCheckResult).ToString()))
|
|
// {
|
|
// _S1 = Decimal.Parse(gridViewCC.GetRowCellValue(k, colCheckResult).ToString());
|
|
// }
|
|
//}
|
|
|
|
|
|
if (gridViewCC.GetRowCellValue(k, CCNG).ToString() == "True")
|
|
{
|
|
result += "在尺寸检验,检验项目:" + gridViewCC.GetRowCellValue(k, colCKGROUPDESC) + " 发生不良:实测值:" + gridViewCC.GetRowCellValue(k, colCheckResult).ToString() + ",不良原因:" + gridViewCC.GetRowCellValue(k, colRemark).ToString() + "";
|
|
}
|
|
|
|
|
|
}
|
|
return result;
|
|
|
|
}
|
|
|
|
private void gridView2_KeyUp_1(object sender, KeyEventArgs e)
|
|
{
|
|
#region
|
|
try
|
|
{
|
|
if (e.KeyCode == Keys.Enter)
|
|
{
|
|
if (gridView2.FocusedRowHandle < 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
#region colS1
|
|
|
|
int SNo = gridView2.FocusedRowHandle;
|
|
int SNoCC = gridView2.RowCount;
|
|
|
|
for (int i = SNo; i <= SNo; i++)
|
|
{
|
|
SendKeys.Send("{Down}");
|
|
if (SNo == SNoCC - 1)
|
|
{
|
|
for (int j = 0; j <= SNoCC - 1; j++)
|
|
{
|
|
SendKeys.Send("{Up}");
|
|
}
|
|
SendKeys.Send("{RIGHT}");
|
|
}
|
|
bool istrue = false;
|
|
for (int k = 0; k < gridView2.RowCount; k++)
|
|
{
|
|
if (gridView2.GetRowCellValue(k, colCKGROUPCode1) == null)
|
|
{
|
|
gridView2.SetRowCellValue(gridView2.FocusedRowHandle, colOK, false);
|
|
gridView2.SetRowCellValue(gridView2.FocusedRowHandle, colOK, false);
|
|
}
|
|
|
|
#region MyRegion
|
|
|
|
bool _S1 = false;
|
|
if (gridView2.GetRowCellValue(k, colOK) != null)
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(gridView2.GetRowCellValue(k, colOK).ToString()))
|
|
{
|
|
if (gridView2.GetRowCellValue(k, colOK).ToString() == "True")
|
|
{
|
|
_S1 = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (_S1 && gridView2.FocusedColumn.Caption == "合格")
|
|
{
|
|
istrue = true;
|
|
}
|
|
else
|
|
{
|
|
istrue = false;
|
|
break;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
if (istrue)
|
|
{
|
|
this.txtWGResult.Text = "OK";
|
|
this.txtWGResult.BackColor = Color.Blue;
|
|
}
|
|
else
|
|
{
|
|
this.txtWGResult.Text = "NG";
|
|
this.txtWGResult.BackColor = Color.Red; WGNCRresult += "";
|
|
}
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.ToString());
|
|
}
|
|
|
|
|
|
#endregion
|
|
}
|
|
|
|
private string WWNCRMes()
|
|
{
|
|
string result = "";
|
|
for (int k = 0; k < gridView2.RowCount; k++)
|
|
{
|
|
|
|
bool _S1 = false;
|
|
if (gridView2.GetRowCellValue(k, colOK) != null)
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(gridView2.GetRowCellValue(k, colOK).ToString()))
|
|
{
|
|
if (gridView2.GetRowCellValue(k, colOK).ToString() == "True")
|
|
{
|
|
_S1 = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (!_S1)
|
|
{
|
|
result += "在外观检验,检验项目:" + gridView2.GetRowCellValue(k, colCKGROUPDESC1) + "发生不良";
|
|
}
|
|
|
|
|
|
}
|
|
return result;
|
|
}
|
|
|
|
private void txtLotNo_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (checkboxGX.Checked == false && checkboxWW.Checked == false)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("请选择工序检验还是委外检验!!");
|
|
return;
|
|
}
|
|
int Type = 0;
|
|
if (checkboxGX.Checked)
|
|
{
|
|
Type = 0;
|
|
}
|
|
if (checkboxWW.Checked)
|
|
{
|
|
Type = 1;
|
|
}
|
|
FormICSLL form = new FormICSLL(Type);
|
|
form.ShowDialog();
|
|
|
|
|
|
txtLotNo.Text = form.LotNo_;
|
|
KeyPressEventArgs eves = new KeyPressEventArgs((Char)Keys.Enter);
|
|
if (!string.IsNullOrEmpty(form.LotNo_))
|
|
txtLotNo_KeyPress(null, eves);
|
|
KeyEventArgs eve = new KeyEventArgs(Keys.Enter);
|
|
txtProductCode.Text = form.ItemCode_;
|
|
txtOPCode.Text = form.OPCode_;
|
|
if (!string.IsNullOrEmpty(form.OPCode_))
|
|
txtOPCode_KeyDown(null, eve);
|
|
|
|
this.txtMOCode.Text = form.MOCode_;
|
|
this.txtMOQty.Text = form.MOPLANQTY_;
|
|
txtPriductName.Text = form.INVDESC_;
|
|
txtLotQty.Text = form.LOTQTY_;
|
|
|
|
//LotNoChanged();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message);
|
|
}
|
|
}
|
|
|
|
|
|
private void LotNoChanged()
|
|
{
|
|
try
|
|
{
|
|
#region
|
|
string chksql = @"select a.LotNO,a.MCODE ItemCODE,b.INVNAME,a.LOTQTY ,a.TransNO,c.MOPLANQTY from ICSITEMLot a WITH (nolock)
|
|
LEFT JOIN ICSINVENTORY b WITH (nolock) ON a.MCODE = b.INVCODE
|
|
LEFT JOIN ICSMO c WITH (nolock) ON a.TransNO = c.MOCODE AND a.TransLine=c.MOSEQ
|
|
where a.LotNO='{0}' AND a.WorkPoint='{1}'";
|
|
chksql = string.Format(chksql, txtLotNo.Text.Trim(), AppConfig.WorkPointCode);
|
|
DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, chksql).Tables[0];
|
|
if (dt.Rows.Count == 0)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("产品跟踪码不存在!!");
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
if (dt.Rows[0]["LotNO"].ToString() == "")
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("产品跟踪单号未绑定零件号,请先绑定再发料!!");
|
|
return;
|
|
}
|
|
txtProductCode.Text = dt.Rows[0]["ItemCODE"].ToString();
|
|
string itemCode = dt.Rows[0]["ItemCODE"].ToString();
|
|
txtPriductName.Text = dt.Rows[0]["INVNAME"].ToString();
|
|
txtLotQty.Text = dt.Rows[0]["LOTQTY"].ToString();
|
|
LotNo = dt.Rows[0]["LotNO"].ToString();
|
|
|
|
txtMOCode.Text = dt.Rows[0]["TransNO"].ToString();
|
|
txtMOQty.Text = dt.Rows[0]["MOPLANQTY"].ToString();
|
|
#region 工序
|
|
string __sql = @"SELECT b.OPCODE 工序编码,c.OPDESC 工序名称 FROM ICSITEM2ROUTE a
|
|
INNER JOIN ICSROUTE2OP b ON b.ROUTECODE=a.ROUTECODE
|
|
INNER JOIN ICSOP c ON b.OPCODE=c.OPCODE
|
|
WHERE a.ITEMCODE='" + itemCode + "' AND a.WorkPoint='{0}' ORDER BY b.OPSEQ";
|
|
|
|
__sql = string.Format(__sql, AppConfig.WorkPointCode);
|
|
|
|
DataTable __dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, __sql).Tables[0];
|
|
txtOPCode_.Properties.ValueMember = "工序编码";
|
|
txtOPCode_.Properties.DisplayMember = "工序编码";
|
|
txtOPCode_.Properties.DataSource = __dt;
|
|
txtOPCode_.Properties.NullText = "";//空时的值
|
|
txtOPCode_.Properties.ImmediatePopup = true;//输入值是否马上弹出窗体
|
|
txtOPCode_.Properties.ValidateOnEnterKey = true;//回车确认
|
|
txtOPCode_.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;//要使用户可以输入,这里须设为Standard
|
|
txtOPCode_.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; //可用Ctrl + Delete清空选择內容
|
|
txtOPCode_.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
|
|
#endregion
|
|
|
|
}
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
SetMessage(ex.Message, Color.Red);
|
|
}
|
|
}
|
|
|
|
private void txtLotNo_KeyPress(object sender, KeyPressEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
#region`
|
|
if (e.KeyChar == (char)Keys.Enter)
|
|
{
|
|
if (checkboxGX.Checked == false && checkboxWW.Checked == false)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("请选择工序检验还是委外检验!!");
|
|
return;
|
|
}
|
|
|
|
#region
|
|
string chksql = @"select a.LotNO,a.MCODE ItemCODE,b.INVNAME,a.LOTQTY ,a.TransNO,c.MOPLANQTY,ROUTECODE from ICSITEMLot a WITH (nolock)
|
|
LEFT JOIN ICSINVENTORY b WITH (nolock) ON a.MCODE = b.INVCODE
|
|
LEFT JOIN ICSMO c WITH (nolock) ON a.TransNO = c.MOCODE AND a.TransLine=c.MOSEQ
|
|
LEFT JOIN (SELECT LOTNO,ROUTECODE FROM ICSMO2USER GROUP BY LOTNO,ROUTECODE) D ON D.LOTNO=A.LOTNO
|
|
where a.LotNO='{0}' AND a.WorkPoint='{1}'";
|
|
chksql = string.Format(chksql, txtLotNo.Text.Trim(), AppConfig.WorkPointCode);
|
|
DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, chksql).Tables[0];
|
|
if (dt.Rows.Count == 0)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("产品跟踪码不存在!!");
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
if (dt.Rows[0]["LotNO"].ToString() == "")
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox("产品跟踪单号未绑定零件号,请先绑定再发料!!");
|
|
return;
|
|
}
|
|
Clear(false);
|
|
txtProductCode.Text = dt.Rows[0]["ItemCODE"].ToString();
|
|
ItemCode = dt.Rows[0]["ItemCODE"].ToString();
|
|
txtPriductName.Text = dt.Rows[0]["INVNAME"].ToString();
|
|
txtLotQty.Text = dt.Rows[0]["LOTQTY"].ToString();
|
|
RouteCode = dt.Rows[0]["ROUTECODE"].ToString();
|
|
LotNo = dt.Rows[0]["LotNO"].ToString();
|
|
|
|
txtMOCode.Text = dt.Rows[0]["TransNO"].ToString();
|
|
txtMOQty.Text = dt.Rows[0]["MOPLANQTY"].ToString();
|
|
#region 工序
|
|
//string __sql = @"SELECT b.OPCODE 工序编码,c.OPDESC 工序名称 FROM ICSITEM2ROUTE a
|
|
// INNER JOIN ICSROUTE2OP b ON b.ROUTECODE=a.ROUTECODE
|
|
// INNER JOIN ICSOP c ON b.OPCODE=c.OPCODE
|
|
// WHERE a.ITEMCODE='" + itemCode + "' AND a.WorkPoint='{0}' ORDER BY b.OPSEQ";
|
|
string __sql = @"SELECT a.OPCODE 工序编码,c.OPDESC 工序名称 FROM ICSITEMROUTE2OPLot a
|
|
INNER JOIN ICSOP c ON c.OPCODE=a.OPCODE
|
|
WHERE a.lotno='" + LotNo + "' AND a.WorkPoint='{0}' ORDER BY a.OPSEQ";
|
|
|
|
__sql = string.Format(__sql, AppConfig.WorkPointCode);
|
|
|
|
DataTable __dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, __sql).Tables[0];
|
|
txtOPCode_.Properties.ValueMember = "工序编码";
|
|
txtOPCode_.Properties.DisplayMember = "工序编码";
|
|
txtOPCode_.Properties.DataSource = __dt;
|
|
txtOPCode_.Properties.NullText = "";//空时的值
|
|
txtOPCode_.Properties.ImmediatePopup = true;//输入值是否马上弹出窗体
|
|
txtOPCode_.Properties.ValidateOnEnterKey = true;//回车确认
|
|
txtOPCode_.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;//要使用户可以输入,这里须设为Standard
|
|
txtOPCode_.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; //可用Ctrl + Delete清空选择內容
|
|
txtOPCode_.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
|
|
#endregion
|
|
//if (__dt != null && __dt.Rows.Count > 0)
|
|
//{
|
|
// foreach (DataRow item in __dt.Rows)
|
|
// {
|
|
//this.txtOPCode_.Items.Add(item["OPCODE"].ToString());
|
|
// }
|
|
//}
|
|
txtOPCode.SelectAll();
|
|
txtOPCode.Focus();
|
|
}
|
|
#endregion
|
|
}
|
|
#endregion
|
|
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
SetMessage(ex.Message, Color.Red);
|
|
}
|
|
}
|
|
|
|
private void txtOPCode_TextChanged_1(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void txtLotNo_EditValueChanged(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void txtMessage_MouseMove(object sender, MouseEventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void BtnDesignMap_MouseMove_1(object sender, MouseEventArgs e)
|
|
{
|
|
BtnDesignMap.BackColor = System.Drawing.Color.DeepSkyBlue;
|
|
}
|
|
|
|
private void BtnDesignMap_MouseLeave_1(object sender, EventArgs e)
|
|
{
|
|
BtnDesignMap.BackColor = System.Drawing.Color.FromArgb(207, 221, 255);
|
|
}
|
|
|
|
private void BrnOPMap_MouseMove_1(object sender, MouseEventArgs e)
|
|
{
|
|
BrnOPMap.BackColor = System.Drawing.Color.DeepSkyBlue;
|
|
}
|
|
|
|
private void BrnOPMap_MouseLeave_1(object sender, EventArgs e)
|
|
{
|
|
BrnOPMap.BackColor = System.Drawing.Color.FromArgb(207, 221, 255);
|
|
}
|
|
|
|
private void BtnCheckBookMap_MouseMove_1(object sender, MouseEventArgs e)
|
|
{
|
|
BtnCheckBookMap.BackColor = System.Drawing.Color.DeepSkyBlue;
|
|
}
|
|
|
|
private void BtnCheckBookMap_MouseLeave_1(object sender, EventArgs e)
|
|
{
|
|
BtnCheckBookMap.BackColor = System.Drawing.Color.FromArgb(207, 221, 255);
|
|
}
|
|
|
|
private void btnTempSave_MouseMove(object sender, MouseEventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void btnTempSave_MouseLeave(object sender, EventArgs e)
|
|
{
|
|
}
|
|
|
|
private void gridViewCC_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
|
|
{
|
|
#region
|
|
//try
|
|
//{
|
|
// if (gridViewCC.FocusedRowHandle < 0)
|
|
// {
|
|
// return;
|
|
// }
|
|
|
|
// #region colS1
|
|
|
|
// int SNo = gridViewCC.FocusedRowHandle;
|
|
// int SNoCC = gridViewCC.RowCount;
|
|
|
|
// for (int i = SNo; i <= SNo; i++)
|
|
// {
|
|
// SendKeys.Send("{Down}");
|
|
// if (SNo == SNoCC - 1)
|
|
// {
|
|
// for (int j = 0; j <= SNoCC - 1; j++)
|
|
// {
|
|
// SendKeys.Send("{Up}");
|
|
// }
|
|
// SendKeys.Send("{RIGHT}");
|
|
// }
|
|
// bool istrue = false;
|
|
// for (int k = 0; k < gridViewCC.RowCount; k++)
|
|
// {
|
|
// #region MyRegion
|
|
|
|
// Decimal _VALUEMAX = 0; Decimal _VALUEMIN = 0; Decimal _S1 = 0;
|
|
// if (gridViewCC.GetRowCellValue(k, colSetValueMax) != null)
|
|
// {
|
|
// if (!string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(k, colSetValueMax).ToString()))
|
|
// {
|
|
// _VALUEMAX = Decimal.Parse(gridViewCC.GetRowCellValue(k, colSetValueMax).ToString());
|
|
// }
|
|
// }
|
|
// if (gridViewCC.GetRowCellValue(k, colSetValueMin) != null)
|
|
// {
|
|
// if (!string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(k, colSetValueMin).ToString()))
|
|
// {
|
|
// _VALUEMIN = Decimal.Parse(gridViewCC.GetRowCellValue(k, colSetValueMin).ToString());
|
|
// }
|
|
// }
|
|
// if (gridViewCC.GetRowCellValue(k, colCheckResult) != null)
|
|
// {
|
|
// if (!string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(k, colCheckResult).ToString()))
|
|
// {
|
|
// _S1 = Decimal.Parse(gridViewCC.GetRowCellValue(k, colCheckResult).ToString());
|
|
// }
|
|
// }
|
|
|
|
|
|
// if ((_S1 < _VALUEMIN || _S1 > _VALUEMAX) && gridViewCC.FocusedColumn.Caption == "检验值" && !string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(k, colCheckResult).ToString()))
|
|
// {
|
|
// istrue = false;
|
|
// break;
|
|
// }
|
|
// else
|
|
// {
|
|
// istrue = true;
|
|
// }
|
|
|
|
// #endregion
|
|
// }
|
|
// if (istrue)
|
|
// {
|
|
// this.txtCCResult.Text = "OK";
|
|
// this.txtCCResult.BackColor = Color.Blue;
|
|
// }
|
|
// else
|
|
// {
|
|
// this.txtCCResult.Text = "NG";
|
|
// this.txtCCResult.BackColor = Color.Red;
|
|
// }
|
|
|
|
// }
|
|
|
|
// #endregion
|
|
|
|
//}
|
|
//catch (Exception ex)
|
|
//{
|
|
// throw new Exception(ex.ToString());
|
|
//}
|
|
#endregion
|
|
|
|
|
|
#region
|
|
//try
|
|
//{
|
|
// if (gridViewCC.FocusedRowHandle < 0)
|
|
// {
|
|
// return;
|
|
// }
|
|
|
|
// #region colS1
|
|
|
|
// int SNo = gridViewCC.FocusedRowHandle;
|
|
// int SNoCC = gridViewCC.RowCount;
|
|
|
|
// for (int i = SNo; i <= SNo; i++)
|
|
// {
|
|
|
|
// bool istrue = false;
|
|
// for (int k = 0; k < gridViewCC.RowCount; k++)
|
|
// {
|
|
// #region MyRegion
|
|
|
|
// bool _S1 = false;
|
|
// if (gridViewCC.GetRowCellValue(k, CCOK) != null)
|
|
// {
|
|
// if (!string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(k, CCOK).ToString()))
|
|
// {
|
|
// if (gridViewCC.GetRowCellValue(k, CCOK).ToString() == "True")
|
|
// {
|
|
// _S1 = true;
|
|
// }
|
|
// else
|
|
// _S1 = false;
|
|
// }
|
|
// }
|
|
|
|
// if (_S1)
|
|
// {
|
|
// istrue = true;
|
|
// }
|
|
// else
|
|
// {
|
|
// istrue = false;
|
|
// break;
|
|
// }
|
|
|
|
// #endregion
|
|
// }
|
|
// if (istrue)
|
|
// {
|
|
// this.txtCCResult.Text = "OK";
|
|
// this.txtCCResult.BackColor = Color.Blue;
|
|
// }
|
|
// else
|
|
// {
|
|
// this.txtCCResult.Text = "NG";
|
|
// this.txtCCResult.BackColor = Color.Red;
|
|
// }
|
|
|
|
// }
|
|
|
|
// #endregion
|
|
//}
|
|
//catch (Exception ex)
|
|
//{
|
|
// throw new Exception(ex.ToString());
|
|
//}
|
|
#endregion
|
|
|
|
#region
|
|
try
|
|
{
|
|
if (gridViewCC.FocusedRowHandle < 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
#region
|
|
|
|
int SNo = gridViewCC.FocusedRowHandle;
|
|
int SNoCC = gridViewCC.RowCount;
|
|
|
|
for (int i = SNo; i <= SNo; i++)
|
|
{
|
|
SendKeys.Send("{Down}");
|
|
if (SNo == SNoCC - 1)
|
|
{
|
|
for (int j = 0; j <= SNoCC - 1; j++)
|
|
{
|
|
SendKeys.Send("{Up}");
|
|
}
|
|
SendKeys.Send("{RIGHT}");
|
|
}
|
|
//for (int k = 0; k < gridViewCC.RowCount; k++)
|
|
//{
|
|
Decimal _VALUEMAX = 0; Decimal _VALUEMIN = 0; Decimal _S1 = 0;
|
|
if (gridViewCC.GetRowCellValue(gridViewCC.FocusedRowHandle, colSetValueMax) != null)
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(gridViewCC.FocusedRowHandle, colSetValueMax).ToString()))
|
|
{
|
|
_VALUEMAX = Decimal.Parse(gridViewCC.GetRowCellValue(gridViewCC.FocusedRowHandle, colSetValueMax).ToString());
|
|
}
|
|
}
|
|
if (gridViewCC.GetRowCellValue(gridViewCC.FocusedRowHandle, colSetValueMin) != null)
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(gridViewCC.FocusedRowHandle, colSetValueMin).ToString()))
|
|
{
|
|
_VALUEMIN = Decimal.Parse(gridViewCC.GetRowCellValue(gridViewCC.FocusedRowHandle, colSetValueMin).ToString());
|
|
}
|
|
}
|
|
|
|
if (gridViewCC.FocusedColumn.Caption == "检验值" && !string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(gridViewCC.FocusedRowHandle, colCheckResult).ToString()))
|
|
{
|
|
#region MyRegion
|
|
|
|
//判断检验值是否是数字
|
|
if (!IsNum(gridViewCC.GetRowCellValue(gridViewCC.FocusedRowHandle, colCheckResult).ToString()))
|
|
{
|
|
//gridViewCC.SetRowCellValue(gridViewCC.FocusedRowHandle, colCheckResult, 0);
|
|
SetMessage("检验值请填写数字!", Color.Red);
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
if (gridViewCC.GetRowCellValue(gridViewCC.FocusedRowHandle, colCheckResult) != null)
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(gridViewCC.FocusedRowHandle, colCheckResult).ToString()))
|
|
{
|
|
_S1 = Decimal.Parse(gridViewCC.GetRowCellValue(gridViewCC.FocusedRowHandle, colCheckResult).ToString());
|
|
}
|
|
}
|
|
//string OK = gridViewCC.GetRowCellValue(k, CCOK).ToString();
|
|
//string NG = gridViewCC.GetRowCellValue(k, CCNG).ToString();
|
|
//if ((OK == "False" && NG == "False") || (OK == "" && NG == ""))
|
|
//{
|
|
if ((_S1 < _VALUEMIN || _S1 > _VALUEMAX))
|
|
{
|
|
if (status1 != "true")
|
|
{
|
|
status1 = "true";
|
|
gridViewCC.SetRowCellValue(gridViewCC.FocusedRowHandle, CCNG, true);
|
|
status1 = "";
|
|
}
|
|
else if (status2 != "true")
|
|
{
|
|
status2 = "true";
|
|
gridViewCC.SetRowCellValue(gridViewCC.FocusedRowHandle, CCOK, false);
|
|
status2 = "";
|
|
}
|
|
//break;
|
|
}
|
|
else if ((_S1 >= _VALUEMIN || _S1 <= _VALUEMAX))
|
|
{
|
|
if (status1 != "true")
|
|
{
|
|
status1 = "true";
|
|
gridViewCC.SetRowCellValue(gridViewCC.FocusedRowHandle, CCOK, true);
|
|
status1 = "";
|
|
}
|
|
else if (status2 != "true")
|
|
{
|
|
status2 = "true";
|
|
gridViewCC.SetRowCellValue(gridViewCC.FocusedRowHandle, CCNG, false);
|
|
status2 = "";
|
|
}
|
|
//break;
|
|
|
|
}
|
|
|
|
//}
|
|
}
|
|
#endregion
|
|
}
|
|
else if (gridViewCC.FocusedColumn.Caption == "标准检测值" && !string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(gridViewCC.FocusedRowHandle, StandResult).ToString()))
|
|
{
|
|
//判断检验值是否是数字
|
|
if (!IsNum(gridViewCC.GetRowCellValue(gridViewCC.FocusedRowHandle, StandResult).ToString()))
|
|
{
|
|
gridViewCC.SetRowCellValue(gridViewCC.FocusedRowHandle, StandResult, 0);
|
|
SetMessage("标准检测值请填写数字!", Color.Red);
|
|
return;
|
|
}
|
|
}
|
|
else if (gridViewCC.FocusedColumn.Caption == "标准下限" && !string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(gridViewCC.FocusedRowHandle, colSetValueMin).ToString()))
|
|
{
|
|
if (_VALUEMAX < _VALUEMIN)
|
|
{
|
|
//gridViewCC.SetRowCellValue(gridViewCC.FocusedRowHandle, colSetValueMin, 0);
|
|
SetMessage("标准下限值不能大于标准上限值,请确认!", Color.Red);
|
|
return;
|
|
}
|
|
}
|
|
CheckResult();
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.ToString());
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
}
|
|
|
|
//判断是否全为数字
|
|
public static bool IsNum(string str)
|
|
{
|
|
char[] ch = new char[str.Length];
|
|
ch = str.ToCharArray();
|
|
|
|
for (int i = 0; i < ch.Length; i++)
|
|
{
|
|
|
|
if (!(ch[i] >= 0x0030 && ch[i] <= 0x0039) && ch[i].ToString() != ".")
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
private void gridView2_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (gridView2.FocusedRowHandle < 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
#region colS1
|
|
|
|
int SNo = gridView2.FocusedRowHandle;
|
|
int SNoCC = gridView2.RowCount;
|
|
|
|
for (int i = SNo; i <= SNo; i++)
|
|
{
|
|
SendKeys.Send("{Down}");
|
|
if (SNo == SNoCC - 1)
|
|
{
|
|
for (int j = 0; j <= SNoCC - 1; j++)
|
|
{
|
|
SendKeys.Send("{Up}");
|
|
}
|
|
SendKeys.Send("{RIGHT}");
|
|
}
|
|
bool istrue = true;
|
|
for (int k = 0; k < gridView2.RowCount; k++)
|
|
{
|
|
#region MyRegion
|
|
|
|
//bool _S1 = false;
|
|
//if (gridView2.GetRowCellValue(k, colOK) != null)
|
|
//{
|
|
// if (!string.IsNullOrWhiteSpace(gridView2.GetRowCellValue(k, colOK).ToString()))
|
|
// {
|
|
// if (gridView2.GetRowCellValue(k, colOK).ToString() == "True")
|
|
// {
|
|
// _S1 = true;
|
|
// }
|
|
|
|
// }
|
|
//}
|
|
//bool _S2 = false;
|
|
//if (gridView2.GetRowCellValue(k, colNotOK) != null)
|
|
//{
|
|
// if (!string.IsNullOrWhiteSpace(gridView2.GetRowCellValue(k, colNotOK).ToString()))
|
|
// {
|
|
// if (gridView2.GetRowCellValue(k, colNotOK).ToString() == "True")
|
|
// {
|
|
// _S2 = true;
|
|
// }
|
|
// }
|
|
//}
|
|
|
|
//if (_S1 && gridView2.FocusedColumn.Caption == "合格")
|
|
//{
|
|
// istrue = true;
|
|
//}
|
|
//else if (gridView2.FocusedColumn.Caption == "检验项代码")
|
|
//{
|
|
// istrue = true;
|
|
//}
|
|
//else if(_S2 && gridView2.FocusedColumn.Caption == "不合格")
|
|
//{
|
|
// istrue = false;
|
|
//}
|
|
|
|
#endregion
|
|
string OK = gridView2.GetRowCellValue(k, colOK).ToString();
|
|
string NG = gridView2.GetRowCellValue(k, colNotOK).ToString();
|
|
|
|
if (!string.IsNullOrEmpty(OK) && OK == "True")
|
|
{
|
|
istrue = true;
|
|
}
|
|
else if (!string.IsNullOrEmpty(NG) && NG == "True")
|
|
{
|
|
istrue = false;
|
|
break;
|
|
}
|
|
|
|
}
|
|
if (istrue)
|
|
{
|
|
this.txtWGResult.Text = "OK";
|
|
this.txtWGResult.BackColor = Color.Blue;
|
|
}
|
|
else
|
|
{
|
|
this.txtWGResult.Text = "NG";
|
|
this.txtWGResult.BackColor = Color.Red;
|
|
}
|
|
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.ToString());
|
|
}
|
|
}
|
|
|
|
private void BtnDesignMap_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
|
|
|
|
|
|
string url = @"http://172.16.12.155:8999/api/GetPLMToken";
|
|
//string url = @"http://localhost:51182/api/GetPLMToken";
|
|
SearchPart Bills = new SearchPart();
|
|
//Bills.ItemCode = "20100003035";
|
|
//Bills.ItemCode = "20100000670";
|
|
//Bills.ItemCode = "20800001904";
|
|
Bills.ItemCode = txtProductCode.Text.Trim();
|
|
if (string.IsNullOrWhiteSpace(Bills.ItemCode))
|
|
{
|
|
SetMessage("请先输入产品追踪单号", Color.Red);
|
|
return;
|
|
}
|
|
Bills.size = 100;
|
|
Bills.extra = "DWGSW";
|
|
string JsonData = JsonConvert.SerializeObject(Bills);
|
|
|
|
//try
|
|
//{
|
|
// //Bills = JsonConvert.DeserializeObject<List<SearchPart>>(JsonData.ToString());
|
|
// Bills = JsonConvert.DeserializeObject<SearchPart>(JsonData.ToString());
|
|
//}
|
|
#region MyRegion
|
|
BaseModel rtn = PLM.PLMMap(url, JsonData);
|
|
if (rtn.code == "200")
|
|
{
|
|
//txtGetPLMMap.Text = rtn.msg;
|
|
//panelMap.BringToFront();
|
|
//panel8WebMap.BringToFront();
|
|
//webBrowserMap.Navigate(txtGetPLMMap.Text);
|
|
//string path = string.Empty;
|
|
//path = "E:\\PDF";
|
|
//HttpDownloadFile(txtGetPLMMap.Text, path);
|
|
//SetMessage("", Color.Red);
|
|
//return;
|
|
//ICSSoft.Frame.PLM2MESInterface.Token.GetToken.OperationResult result = ICSSoft.Frame.PLM2MESInterface.Token.GetToken.GetPLMToken();
|
|
//string Token = result.errmsg;
|
|
string OpCode = this.txtOPCode.Text;
|
|
//string sql = @"SELECT SOPDrawing from ICSITEMROUTE2OP WHERE ITEMCODE='" + itemCode + "' AND ROUTECODE='" + RouteCode + "' AND OPCODE='" + OpCode + "' ";
|
|
//string connectionString = AppConfig.FrameConnectString; // AppConfig.GetDataBaseConnectStringByKey("[DB.PLM]");
|
|
//string connectionString = AppConfig.GetDataBaseConnectStringByKey("[DB.FTP2]");
|
|
//if (string.IsNullOrWhiteSpace(connectionString))
|
|
// return;
|
|
//string logAdress = ConfigurationManager.AppSettings["PLMAdress"].ToString();
|
|
|
|
//object name = DBHelper.ExecuteScalar(connectionString, CommandType.Text, sql);
|
|
//name = "123";
|
|
//if (name == null || string.IsNullOrWhiteSpace(name.ToString()))
|
|
// return;
|
|
//string fileName = "E:\\PDF\\20201015.pdf";
|
|
//string fileName = name.ToString() + itemCode + "\\" + RouteCode + "\\" + OpCode + ".pdf";
|
|
string connectionString = AppConfig.GetDataBaseConnectStringByKey("[DB.FTP]");
|
|
if (string.IsNullOrWhiteSpace(connectionString))
|
|
{
|
|
SetMessage("没有获取到FTP链接,请在数据源中先配置FTP", Color.Red);
|
|
return;
|
|
}
|
|
|
|
string[] ftps = connectionString.Split(';');
|
|
string ftpServerIP = ftps[0].Split('=')[1];
|
|
//string ftpRemotePath = ftps[1].Split('=')[1];
|
|
string ftpRemotePath = "";
|
|
|
|
string ftpUserID = ftps[2].Split('=')[1];
|
|
string ftpPassword = ftps[3].Split('=')[1];
|
|
|
|
FtpWeb ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath, ftpUserID, ftpPassword);
|
|
//FtpWeb ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath, ftpUserID, ftpPassword);
|
|
|
|
//string filePath = System.IO.Path.GetTempPath() + "\\Drawing";
|
|
|
|
string filePath = AppDomain.CurrentDomain.BaseDirectory + "\\Drawing";
|
|
|
|
|
|
if (!Directory.Exists(filePath))
|
|
{
|
|
Directory.CreateDirectory(filePath);
|
|
}
|
|
string fileName = Bills.ItemCode + ".pdf";
|
|
ftpWeb.Download(filePath + "\\", fileName);
|
|
|
|
string filePathName = filePath + "\\" + fileName;
|
|
//string fileName = logAdress + Bills.ItemCode + ".pdf";
|
|
|
|
|
|
string ftpURL = "ftp://" + ftpServerIP + "/" + fileName;
|
|
|
|
//if (!string.IsNullOrEmpty(fileName))
|
|
if (!string.IsNullOrEmpty(filePathName))
|
|
{
|
|
//axAcroPDF.LoadFile(fileName);
|
|
axAcroPDFTZ.LoadFile(filePathName);
|
|
axAcroPDFTZ.setShowToolbar(false);
|
|
axAcroPDFTZ.setShowScrollbars(false);
|
|
axAcroPDFTZ.setPageMode("thumbs");
|
|
axAcroPDFTZ.setLayoutMode("SinglePage");
|
|
axAcroPDFTZ.setView("Fit");
|
|
axAcroPDFTZ.Show();
|
|
}
|
|
#endregion
|
|
}
|
|
else
|
|
{
|
|
SetMessage("调用PLM接口返回异常:" + rtn.code + ";" + rtn.msg, Color.Red);
|
|
return;
|
|
}
|
|
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void BrnOPMap_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
|
|
string url = @"http://172.16.12.155:8999/api/GetPLMToken3";
|
|
//string url = @"http://localhost:51182/api/GetPLMToken3";
|
|
|
|
SearchPart Bills = new SearchPart();
|
|
//Bills.ItemCode = "20100003035";
|
|
//Bills.ItemCode = "20100000670";
|
|
//Bills.ItemCode = "20800001904";
|
|
Bills.ItemCode = txtProductCode.Text.Trim();
|
|
|
|
if (string.IsNullOrWhiteSpace(Bills.ItemCode))
|
|
{
|
|
SetMessage("请先输入料号编码", Color.Red);
|
|
return;
|
|
}
|
|
if (string.IsNullOrEmpty(opseq))
|
|
{
|
|
SetMessage("请先输入正确工序!", Color.Red);
|
|
return;
|
|
}
|
|
Bills.size = 100;
|
|
Bills.extra = "DWGSW";
|
|
Bills.routecode = RouteCode;
|
|
Bills.opseq = opseq;
|
|
string JsonData = JsonConvert.SerializeObject(Bills);
|
|
|
|
//try
|
|
//{
|
|
// //Bills = JsonConvert.DeserializeObject<List<SearchPart>>(JsonData.ToString());
|
|
// Bills = JsonConvert.DeserializeObject<SearchPart>(JsonData.ToString());
|
|
//}
|
|
#region MyRegion
|
|
BaseModel rtn = PLM.PLMMap(url, JsonData);
|
|
if (rtn.code == "200")
|
|
{
|
|
string connectionString = AppConfig.GetDataBaseConnectStringByKey("[DB.FTP]");
|
|
if (string.IsNullOrWhiteSpace(connectionString))
|
|
{
|
|
SetMessage("没有获取到FTP链接,请在数据源中先配置FTP", Color.Red);
|
|
return;
|
|
}
|
|
|
|
string[] ftps = connectionString.Split(';');
|
|
string ftpServerIP = ftps[0].Split('=')[1];
|
|
//string ftpRemotePath = ftps[1].Split('=')[1];
|
|
string ftpRemotePath = "";
|
|
|
|
string ftpUserID = ftps[2].Split('=')[1];
|
|
string ftpPassword = ftps[3].Split('=')[1];
|
|
|
|
FtpWeb ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath, ftpUserID, ftpPassword);
|
|
//FtpWeb ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath, ftpUserID, ftpPassword);
|
|
|
|
//string filePath = System.IO.Path.GetTempPath() + "\\Drawing";
|
|
|
|
string filePath = AppDomain.CurrentDomain.BaseDirectory + "\\Drawing";
|
|
|
|
|
|
if (!Directory.Exists(filePath))
|
|
{
|
|
Directory.CreateDirectory(filePath);
|
|
}
|
|
string fileName = rtn.msg + ".pdf";
|
|
ftpWeb.Download(filePath + "\\", fileName);
|
|
|
|
string filePathName = filePath + "\\" + fileName;
|
|
//string fileName = logAdress + Bills.ItemCode + ".pdf";
|
|
|
|
|
|
string ftpURL = "ftp://" + ftpServerIP + "/" + fileName;
|
|
|
|
//if (!string.IsNullOrEmpty(fileName))
|
|
if (!string.IsNullOrEmpty(filePathName))
|
|
{
|
|
//axAcroPDF.LoadFile(fileName);
|
|
axAcroPDFTZ.LoadFile(filePathName);
|
|
axAcroPDFTZ.setShowToolbar(false);
|
|
axAcroPDFTZ.setShowScrollbars(false);
|
|
axAcroPDFTZ.setPageMode("thumbs");
|
|
axAcroPDFTZ.setLayoutMode("SinglePage");
|
|
axAcroPDFTZ.setView("Fit");
|
|
axAcroPDFTZ.Show();
|
|
}
|
|
#endregion
|
|
}
|
|
else
|
|
{
|
|
SetMessage("调用PLM接口返回异常:" + rtn.code + ";" + rtn.msg, Color.Red);
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
private void BtnCheckBookMap_Click_1(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
|
|
string url = @"http://172.16.12.155:8999/api/GetPLMToken5";
|
|
//string url = @"http://localhost:51182/api/GetPLMToken5";
|
|
|
|
SearchPart Bills = new SearchPart();
|
|
//Bills.ItemCode = "20100003035";
|
|
//Bills.ItemCode = "20100000670";
|
|
//Bills.ItemCode = "20800001904";
|
|
Bills.ItemCode = txtProductCode.Text;
|
|
|
|
if (string.IsNullOrWhiteSpace(Bills.ItemCode))
|
|
{
|
|
SetMessage("请先输入料号编码", Color.Red);
|
|
return;
|
|
}
|
|
if (string.IsNullOrEmpty(opseq))
|
|
{
|
|
SetMessage("请先输入正确工序!", Color.Red);
|
|
return;
|
|
}
|
|
Bills.size = 100;
|
|
Bills.extra = "DWGSW";
|
|
Bills.routecode = RouteCode;
|
|
Bills.opseq = opseq;
|
|
string JsonData = JsonConvert.SerializeObject(Bills);
|
|
|
|
//try
|
|
//{
|
|
// //Bills = JsonConvert.DeserializeObject<List<SearchPart>>(JsonData.ToString());
|
|
// Bills = JsonConvert.DeserializeObject<SearchPart>(JsonData.ToString());
|
|
//}
|
|
#region MyRegion
|
|
BaseModel rtn = PLM.PLMMap(url, JsonData);
|
|
if (rtn.code == "200")
|
|
{
|
|
|
|
string connectionString = AppConfig.GetDataBaseConnectStringByKey("[DB.FTP]");
|
|
if (string.IsNullOrWhiteSpace(connectionString))
|
|
{
|
|
SetMessage("没有获取到FTP链接,请在数据源中先配置FTP", Color.Red);
|
|
return;
|
|
}
|
|
|
|
string[] ftps = connectionString.Split(';');
|
|
string ftpServerIP = ftps[0].Split('=')[1];
|
|
//string ftpRemotePath = ftps[1].Split('=')[1];
|
|
string ftpRemotePath = "";
|
|
|
|
string ftpUserID = ftps[2].Split('=')[1];
|
|
string ftpPassword = ftps[3].Split('=')[1];
|
|
|
|
FtpWeb ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath, ftpUserID, ftpPassword);
|
|
//FtpWeb ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath, ftpUserID, ftpPassword);
|
|
|
|
//string filePath = System.IO.Path.GetTempPath() + "\\Drawing";
|
|
|
|
string filePath = AppDomain.CurrentDomain.BaseDirectory + "\\Drawing";
|
|
|
|
|
|
if (!Directory.Exists(filePath))
|
|
{
|
|
Directory.CreateDirectory(filePath);
|
|
}
|
|
string fileName = rtn.msg + ".pdf";
|
|
ftpWeb.Download(filePath + "\\", fileName);
|
|
|
|
string filePathName = filePath + "\\" + fileName;
|
|
//string fileName = logAdress + Bills.ItemCode + ".pdf";
|
|
|
|
|
|
string ftpURL = "ftp://" + ftpServerIP + "/" + fileName;
|
|
|
|
//if (!string.IsNullOrEmpty(fileName))
|
|
if (!string.IsNullOrEmpty(filePathName))
|
|
{
|
|
//axAcroPDF.LoadFile(fileName);
|
|
axAcroPDFTZ.LoadFile(filePathName);
|
|
axAcroPDFTZ.setShowToolbar(false);
|
|
axAcroPDFTZ.setShowScrollbars(false);
|
|
axAcroPDFTZ.setPageMode("thumbs");
|
|
axAcroPDFTZ.setLayoutMode("SinglePage");
|
|
axAcroPDFTZ.setView("Fit");
|
|
axAcroPDFTZ.Show();
|
|
}
|
|
#endregion
|
|
}
|
|
else
|
|
{
|
|
SetMessage("调用PLM接口返回异常:" + rtn.code + ";" + rtn.msg, Color.Red);
|
|
return;
|
|
}
|
|
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void txtOPCode_KeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
if (e.KeyCode == Keys.Enter)
|
|
{
|
|
txtOpName.Text = "";
|
|
string __sql = @"SELECT a.OPCODE 工序编码,c.OPDESC 工序名称,opseq,b.EATTRIBUTE1,e.result,d.ACTIONRESULT FROM ICSITEMROUTE2OPLot a
|
|
left join ICSMO2User b on a.LotNo= b.LOTNO and a.OPCODE=b.OPCODE
|
|
left join ICSLOTONWIP d on d.LotNo=a.LotNo and d.OPCODE=a.OPCODE
|
|
left join ICSLOTONWIPCheck e on e.onwipid=d.ID
|
|
INNER JOIN ICSOP c ON c.OPCODE=a.OPCODE
|
|
WHERE a.lotno='" + LotNo + "' AND a.WorkPoint='{0}' and a.opcode='" + txtOPCode.Text.Trim() + "' and d.eattribute1 is null ORDER BY a.OPSEQ";
|
|
__sql = string.Format(__sql, AppConfig.WorkPointCode);
|
|
|
|
|
|
DataTable __dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, __sql).Tables[0];
|
|
if (__dt.Rows.Count <= 0)
|
|
{
|
|
SetMessage("未查询到该工序!", Color.Red);
|
|
btnTempSave.Enabled = false;
|
|
return;
|
|
}
|
|
DataRow row = __dt.Rows[0];
|
|
string isww = "0";
|
|
if (checkboxWW.Checked == true)
|
|
{
|
|
isww = "1";
|
|
}
|
|
if (string.IsNullOrEmpty(row["EATTRIBUTE1"].ToString()))
|
|
{
|
|
SetMessage("该工序未派工!", Color.Red);
|
|
btnTempSave.Enabled = false;
|
|
return;
|
|
}
|
|
if (row["EATTRIBUTE1"].ToString() != isww)
|
|
{
|
|
if (isww == "1")
|
|
SetMessage("该工序不是委外工序", Color.Red);
|
|
else
|
|
SetMessage("该工序不是自制工序", Color.Red);
|
|
btnTempSave.Enabled = false;
|
|
return;
|
|
}
|
|
if (row["ACTIONRESULT"].ToString() != "COLLECT_END")
|
|
{
|
|
SetMessage("该工序还未完工或收料!", Color.Red);
|
|
btnTempSave.Enabled = false;
|
|
return;
|
|
}
|
|
if (string.IsNullOrEmpty(row["result"].ToString()) != true && row["result"].ToString() != "待检")
|
|
{
|
|
SetMessage("该工序已检验!", Color.Red);
|
|
btnTempSave.Enabled = false;
|
|
return;
|
|
}
|
|
|
|
if (__dt != null && __dt.Rows.Count > 0)
|
|
{
|
|
opseq = __dt.Rows[0]["opseq"].ToString();
|
|
txtOpName.Text = __dt.Rows[0]["工序名称"].ToString();
|
|
SetMessage("工序条码扫描成功!", Color.Blue);
|
|
//调用检验数据接口
|
|
try
|
|
{
|
|
//GetPLMCKDATA(txtProductCode.Text.Trim(), RouteCode, opseq);
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
|
|
return;
|
|
}
|
|
btnTempSave.Enabled = true;
|
|
}
|
|
initCheck();
|
|
}
|
|
}
|
|
|
|
public void Clear(bool clearlotno)
|
|
{
|
|
|
|
txtUserCode.Text = "";
|
|
txtUserName.Text = "";
|
|
txtMOCode.Text = "";
|
|
txtMOQty.Text = "";
|
|
if (clearlotno)
|
|
{
|
|
txtLotNo.Text = "";
|
|
}
|
|
txtProductCode.Text = "";
|
|
txtPriductName.Text = "";
|
|
txtLotQty.Text = "";
|
|
txtOPCode.Text = "";
|
|
txtOpName.Text = "";
|
|
gridControlcc.DataSource = null;
|
|
txtCCResult.Text = "";
|
|
txtWGResult.Text = "";
|
|
gridControl2.DataSource = null;
|
|
|
|
}
|
|
|
|
private void btnEnlargeTZ_Click(object sender, EventArgs e)
|
|
{
|
|
FileDrawing.Enlarge(axAcroPDFTZ);
|
|
}
|
|
|
|
private void btnOperationManua_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
|
|
string url = @"http://172.16.12.155:8999/api/GetPLMToken2";
|
|
//string url = @"http://localhost:51182/api/GetPLMToken2";
|
|
//;
|
|
SearchPart Bills = new SearchPart();
|
|
//Bills.ItemCode = "20100003035";
|
|
//Bills.ItemCode = "20100000670";
|
|
//Bills.ItemCode = "20800001904";
|
|
Bills.ItemCode = txtProductCode.Text;
|
|
if (string.IsNullOrWhiteSpace(Bills.ItemCode))
|
|
{
|
|
SetMessage("请先输入料号编码", Color.Red);
|
|
return;
|
|
}
|
|
Bills.size = 100;
|
|
//0916 原来的 Bills.extra = "DWGSW";
|
|
Bills.extra = "PRCF";
|
|
string JsonData = JsonConvert.SerializeObject(Bills);
|
|
|
|
//try
|
|
//{
|
|
// //Bills = JsonConvert.DeserializeObject<List<SearchPart>>(JsonData.ToString());
|
|
// Bills = JsonConvert.DeserializeObject<SearchPart>(JsonData.ToString());
|
|
//}
|
|
#region MyRegion
|
|
BaseModel rtn = PLM.PLMMap(url, JsonData);
|
|
if (rtn.code == "200")
|
|
{
|
|
|
|
#region MyRegion
|
|
|
|
|
|
string OpCode = this.txtOPCode.Text;
|
|
|
|
string connectionString = AppConfig.GetDataBaseConnectStringByKey("[DB.FTP]");
|
|
if (string.IsNullOrWhiteSpace(connectionString))
|
|
{
|
|
SetMessage("没有获取到FTP链接,请在数据源中先配置FTP", Color.Red);
|
|
return;
|
|
}
|
|
|
|
string[] ftps = connectionString.Split(';');
|
|
string ftpServerIP = ftps[0].Split('=')[1];
|
|
//string ftpRemotePath = ftps[1].Split('=')[1];
|
|
string ftpRemotePath = "";
|
|
|
|
string ftpUserID = ftps[2].Split('=')[1];
|
|
string ftpPassword = ftps[3].Split('=')[1];
|
|
|
|
FtpWeb ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath, ftpUserID, ftpPassword);
|
|
//FtpWeb ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath, ftpUserID, ftpPassword);
|
|
|
|
//string filePath = System.IO.Path.GetTempPath() + "\\Drawing";
|
|
|
|
string filePath = AppDomain.CurrentDomain.BaseDirectory + "\\Drawing";
|
|
|
|
|
|
if (!Directory.Exists(filePath))
|
|
{
|
|
Directory.CreateDirectory(filePath);
|
|
}
|
|
string fileName = rtn.msg + ".pdf";
|
|
ftpWeb.Download(filePath + "\\", fileName);
|
|
|
|
string filePathName = filePath + "\\" + fileName;
|
|
//string fileName = logAdress + Bills.ItemCode + ".pdf";
|
|
|
|
|
|
string ftpURL = "ftp://" + ftpServerIP + "/" + fileName;
|
|
|
|
//if (!string.IsNullOrEmpty(fileName))
|
|
if (!string.IsNullOrEmpty(filePathName))
|
|
{
|
|
//axAcroPDF.LoadFile(fileName);
|
|
axAcroPDFTZ.LoadFile(filePathName);
|
|
axAcroPDFTZ.setShowToolbar(false);
|
|
axAcroPDFTZ.setShowScrollbars(false);
|
|
axAcroPDFTZ.setPageMode("thumbs");
|
|
axAcroPDFTZ.setLayoutMode("SinglePage");
|
|
axAcroPDFTZ.setView("Fit");
|
|
axAcroPDFTZ.Show();
|
|
}
|
|
#endregion
|
|
}
|
|
else
|
|
{
|
|
SetMessage("调用PLM接口返回异常:" + rtn.code + ";" + rtn.msg, Color.Red);
|
|
return;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void GetPLMCKDATA(string itemcode, string routecode, string opseq)
|
|
{
|
|
try
|
|
{
|
|
string url = @"http://172.16.12.155:8999/api/GetPLMCKDATA";
|
|
SearchPart Bills = new SearchPart();
|
|
Bills.opseq = opseq;
|
|
Bills.ItemCode = itemcode;
|
|
Bills.routecode = routecode;
|
|
string opcode = txtOPCode.Text.Trim();
|
|
string JsonData = JsonConvert.SerializeObject(Bills);
|
|
string CKDATA = PLM.PLMMap1(url, JsonData);
|
|
JObject jobject = JObject.Parse(CKDATA);
|
|
if (jobject["code"].ToString() == "200")
|
|
{
|
|
string data = jobject["data"].ToString();
|
|
List<Parts> part = new List<Parts>();
|
|
part = (List<Parts>)JsonConvert.DeserializeObject(data, typeof(List<Parts>));
|
|
|
|
List<ICSOQCCKGROUP> group = new List<ICSOQCCKGROUP>();
|
|
List<ICSOQCCKLIST> cklist = new List<ICSOQCCKLIST>();
|
|
List<string> RemoveID = new List<string>();
|
|
foreach (Parts p in part)
|
|
{
|
|
ICSOQCCKGROUP g = ICSOQCCKLISTBLL.isExits(p.objNo);
|
|
if (g == null)
|
|
{
|
|
g = new ICSOQCCKGROUP();
|
|
g.ID = AppConfig.GetGuid();
|
|
g.ISREF = "是";
|
|
g.MTIME = DateTime.Now;
|
|
g.MUSER = AppConfig.UserId;
|
|
g.MUSERName = AppConfig.UserName;
|
|
g.CKGROUP = AppConfig.GetSerialCode(AppConfig.AppConnectString, AppConfig.WorkPointCode, "ICSOQCCKGROUP", "CKGROUP", "A" + DateTime.Now.Year.ToString(), 3);
|
|
g.CKGROUPDESC = p.objNo.Split(',')[1];
|
|
g.WorkPoint = AppConfig.WorkPointCode;
|
|
g.CKGROUPDNAME = p.objNo.Split(',')[0];
|
|
group.Add(g);
|
|
}
|
|
ICSOQCCKLIST c = ICSOQCCKLISTBLL.IsExistCKLIST(p.objId);
|
|
if (c == null || (c != null && Convert.ToDateTime(c.EATTRIBUTE1) < Convert.ToDateTime(string.IsNullOrEmpty(p.mtimestr) ? p.ctimestr : p.mtimestr)))
|
|
{
|
|
c = new ICSOQCCKLIST();
|
|
c.ID = p.objId;
|
|
c.CKGROUPCode = g.CKGROUP;
|
|
c.UNIT = p.extra.DW;
|
|
c.WorkPoint = AppConfig.WorkPointCode;
|
|
c.SetValueMax = string.IsNullOrEmpty(p.extra.SX) ? 0 : Convert.ToDecimal(p.extra.SX);
|
|
c.SetValueMin = string.IsNullOrEmpty(p.extra.XX) ? 0 : Convert.ToDecimal(p.extra.XX);
|
|
c.MUSER = AppConfig.UserName;
|
|
c.MTIME = DateTime.Now;
|
|
c.ISREF = "是";
|
|
c.INVCode = p.extra.MPARTNO;
|
|
c.OPCode = opcode;
|
|
c.CKGROUPMETH = "工序检验";
|
|
c.CKGROUPATTR = p.extra.SX1;
|
|
c.GJ = p.extra.GJ;
|
|
c.JY1 = p.extra.JY1;
|
|
c.JY2 = p.extra.JY2;
|
|
c.PType = Convert.ToDecimal(p.extra.PTYPE);
|
|
c.StandValue = p.extra.NAME;
|
|
if (!string.IsNullOrEmpty(p.mtimestr))
|
|
c.EATTRIBUTE1 = p.mtimestr;
|
|
else
|
|
c.EATTRIBUTE1 = p.ctimestr;
|
|
|
|
cklist.Add(c);
|
|
}
|
|
|
|
RemoveID.Add(p.objId);
|
|
|
|
}
|
|
ICSOQCCKLISTBLL.AddGroupAndList(group, cklist, RemoveID, itemcode, opcode);
|
|
}
|
|
else
|
|
{
|
|
if (jobject["msg"].ToString() != "没有更多了")
|
|
throw new Exception(jobject["msg"].ToString());
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public class Parts
|
|
{
|
|
public string errcode { get; set; }
|
|
public string errmsg { get; set; }
|
|
public string objId { get; set; }
|
|
public string objNo { get; set; }
|
|
public string fname { get; set; }
|
|
public string suffix { get; set; }
|
|
public string hasAffine { get; set; }
|
|
public string name { get; set; }
|
|
public string fsize { get; set; }
|
|
public string fsizeStr { get; set; }
|
|
public string type { get; set; }
|
|
public string tablename { get; set; }
|
|
public string smemo { get; set; }
|
|
public string ctimestr { get; set; }
|
|
public string mtimestr { get; set; }
|
|
public string creator { get; set; }
|
|
public string modifier { get; set; }
|
|
public string ver { get; set; }
|
|
public string stimestr { get; set; }
|
|
public string etimestr { get; set; }
|
|
public Extra extra { get; set; }
|
|
public string searchText { get; set; }
|
|
}
|
|
|
|
public class Extra
|
|
{
|
|
public string PTYPE;
|
|
public string XX;
|
|
public string NAME;
|
|
public string SX;
|
|
public string DW;
|
|
public string JY2;
|
|
public string SX1;
|
|
public string GJ;
|
|
public string JY1;
|
|
public string GG;
|
|
public string SMEMO;
|
|
public string MPARTNO;
|
|
|
|
}
|
|
|
|
private void repositoryItemCheckEdit3_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
|
|
private void repositoryItemCheckEdit3_QueryValueByCheckState(object sender, DevExpress.XtraEditors.Controls.QueryValueByCheckStateEventArgs e)
|
|
{
|
|
int rowhandle = gridViewCC.FocusedRowHandle;
|
|
if (e.CheckState == CheckState.Checked)
|
|
{
|
|
|
|
gridViewCC.SetRowCellValue(rowhandle, CCOK, true);
|
|
gridViewCC.SetRowCellValue(rowhandle, CCNG, false);
|
|
}
|
|
else
|
|
{
|
|
gridViewCC.SetRowCellValue(rowhandle, CCOK, false);
|
|
}
|
|
#region
|
|
//try
|
|
//{
|
|
// if (gridViewCC.FocusedRowHandle < 0)
|
|
// {
|
|
// return;
|
|
// }
|
|
|
|
// #region colS1
|
|
|
|
// int SNo = gridViewCC.FocusedRowHandle;
|
|
// int SNoCC = gridViewCC.RowCount;
|
|
|
|
// for (int i = SNo; i <= SNo; i++)
|
|
// {
|
|
// SendKeys.Send("{Down}");
|
|
// if (SNo == SNoCC - 1)
|
|
// {
|
|
// for (int j = 0; j <= SNoCC - 1; j++)
|
|
// {
|
|
// SendKeys.Send("{Up}");
|
|
// }
|
|
// SendKeys.Send("{RIGHT}");
|
|
// }
|
|
// bool istrue = false;
|
|
// for (int k = 0; k < gridViewCC.RowCount; k++)
|
|
// {
|
|
// #region MyRegion
|
|
|
|
// Decimal _VALUEMAX = 0; Decimal _VALUEMIN = 0; Decimal _S1 = 0;
|
|
// if (gridViewCC.GetRowCellValue(k, colSetValueMax) != null)
|
|
// {
|
|
// if (!string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(k, colSetValueMax).ToString()))
|
|
// {
|
|
// _VALUEMAX = Decimal.Parse(gridViewCC.GetRowCellValue(k, colSetValueMax).ToString());
|
|
// }
|
|
// }
|
|
// if (gridViewCC.GetRowCellValue(k, colSetValueMin) != null)
|
|
// {
|
|
// if (!string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(k, colSetValueMin).ToString()))
|
|
// {
|
|
// _VALUEMIN = Decimal.Parse(gridViewCC.GetRowCellValue(k, colSetValueMin).ToString());
|
|
// }
|
|
// }
|
|
// if (gridViewCC.GetRowCellValue(k, colCheckResult) != null)
|
|
// {
|
|
// if (!string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(k, colCheckResult).ToString()))
|
|
// {
|
|
// _S1 = Decimal.Parse(gridViewCC.GetRowCellValue(k, colCheckResult).ToString());
|
|
// }
|
|
// }
|
|
|
|
|
|
// if ((_S1 < _VALUEMIN || _S1 > _VALUEMAX) && gridViewCC.FocusedColumn.Caption == "检验值" && !string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(k, colCheckResult).ToString()))
|
|
// {
|
|
// istrue = false;
|
|
// break;
|
|
// }
|
|
// else
|
|
// {
|
|
// istrue = true;
|
|
// }
|
|
|
|
// #endregion
|
|
// }
|
|
// if (istrue)
|
|
// {
|
|
// this.txtCCResult.Text = "OK";
|
|
// this.txtCCResult.BackColor = Color.Blue;
|
|
// }
|
|
// else
|
|
// {
|
|
// this.txtCCResult.Text = "NG";
|
|
// this.txtCCResult.BackColor = Color.Red;
|
|
// }
|
|
|
|
// }
|
|
|
|
// #endregion
|
|
|
|
//}
|
|
//catch (Exception ex)
|
|
//{
|
|
// throw new Exception(ex.ToString());
|
|
//}
|
|
#endregion
|
|
|
|
|
|
#region
|
|
try
|
|
{
|
|
if (gridViewCC.FocusedRowHandle < 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
#region colS1
|
|
|
|
int SNo = gridViewCC.FocusedRowHandle;
|
|
int SNoCC = gridViewCC.RowCount;
|
|
|
|
for (int i = SNo; i <= SNo; i++)
|
|
{
|
|
|
|
bool istrue = false;
|
|
for (int k = 0; k < gridViewCC.RowCount; k++)
|
|
{
|
|
#region MyRegion
|
|
|
|
bool _S1 = false;
|
|
if (gridViewCC.GetRowCellValue(k, CCOK) != null)
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(k, CCOK).ToString()))
|
|
{
|
|
string cc = gridViewCC.GetRowCellValue(k, CCOK).ToString();
|
|
if (gridViewCC.GetRowCellValue(k, CCOK).ToString() == "True" || (gridViewCC.GetRowCellValue(k, CCOK).ToString() == "False" && gridViewCC.GetRowCellValue(k, CCNG).ToString() == "False"))
|
|
{
|
|
_S1 = true;
|
|
}
|
|
else
|
|
_S1 = false;
|
|
}
|
|
}
|
|
|
|
if (_S1)
|
|
{
|
|
istrue = true;
|
|
}
|
|
else
|
|
{
|
|
istrue = false;
|
|
break;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
if (istrue)
|
|
{
|
|
this.txtCCResult.Text = "OK";
|
|
this.txtCCResult.BackColor = Color.Blue;
|
|
}
|
|
else
|
|
{
|
|
this.txtCCResult.Text = "NG";
|
|
this.txtCCResult.BackColor = Color.Red;
|
|
}
|
|
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.ToString());
|
|
}
|
|
#endregion
|
|
}
|
|
|
|
private void repositoryItemCheckEdit4_QueryValueByCheckState(object sender, DevExpress.XtraEditors.Controls.QueryValueByCheckStateEventArgs e)
|
|
{
|
|
int rowhandle = gridViewCC.FocusedRowHandle;
|
|
if (e.CheckState == CheckState.Checked)
|
|
{
|
|
|
|
gridViewCC.SetRowCellValue(rowhandle, CCNG, true);
|
|
gridViewCC.SetRowCellValue(rowhandle, CCOK, false);
|
|
}
|
|
else
|
|
{
|
|
gridViewCC.SetRowCellValue(rowhandle, CCNG, false);
|
|
}
|
|
|
|
#region
|
|
try
|
|
{
|
|
if (gridViewCC.FocusedRowHandle < 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
#region colS1
|
|
|
|
int SNo = gridViewCC.FocusedRowHandle;
|
|
int SNoCC = gridViewCC.RowCount;
|
|
|
|
for (int i = SNo; i <= SNo; i++)
|
|
{
|
|
|
|
bool istrue = false;
|
|
for (int k = 0; k < gridViewCC.RowCount; k++)
|
|
{
|
|
#region MyRegion
|
|
|
|
bool _S1 = false;
|
|
if (gridViewCC.GetRowCellValue(k, CCOK) != null)
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(gridViewCC.GetRowCellValue(k, CCOK).ToString()))
|
|
{
|
|
string cc = gridViewCC.GetRowCellValue(k, CCOK).ToString();
|
|
if (gridViewCC.GetRowCellValue(k, CCOK).ToString() == "True" || (gridViewCC.GetRowCellValue(k, CCOK).ToString() == "False" && gridViewCC.GetRowCellValue(k, CCNG).ToString() == "False"))
|
|
{
|
|
_S1 = true;
|
|
}
|
|
else
|
|
_S1 = false;
|
|
}
|
|
}
|
|
|
|
if (_S1)
|
|
{
|
|
istrue = true;
|
|
}
|
|
else
|
|
{
|
|
istrue = false;
|
|
break;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
if (istrue)
|
|
{
|
|
this.txtCCResult.Text = "OK";
|
|
this.txtCCResult.BackColor = Color.Blue;
|
|
}
|
|
else
|
|
{
|
|
this.txtCCResult.Text = "NG";
|
|
this.txtCCResult.BackColor = Color.Red;
|
|
}
|
|
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.ToString());
|
|
}
|
|
#endregion
|
|
}
|
|
|
|
private void btnZP_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
string url = @"http://172.16.12.155:9999/api/GetPLMToken8";
|
|
//string url = @"http://localhost:51182/api/GetPLMToken8";
|
|
|
|
SearchPart Bills = new SearchPart();
|
|
//Bills.ItemCode = "20100003035";
|
|
//Bills.ItemCode = "20100000670";
|
|
//Bills.ItemCode = "20800001904";
|
|
Bills.ItemCode = txtProductCode.Text.Trim();
|
|
|
|
if (string.IsNullOrWhiteSpace(Bills.ItemCode))
|
|
{
|
|
SetMessage("请先输入料号编码", Color.Red);
|
|
return;
|
|
}
|
|
if (string.IsNullOrEmpty(opseq))
|
|
{
|
|
SetMessage("请先输入正确工序!", Color.Red);
|
|
return;
|
|
}
|
|
Bills.size = 100;
|
|
Bills.routecode = RouteCode;
|
|
Bills.opseq = opseq;
|
|
string JsonData = JsonConvert.SerializeObject(Bills);
|
|
|
|
//try
|
|
//{
|
|
// //Bills = JsonConvert.DeserializeObject<List<SearchPart>>(JsonData.ToString());
|
|
// Bills = JsonConvert.DeserializeObject<SearchPart>(JsonData.ToString());
|
|
//}
|
|
#region MyRegion
|
|
BaseModel rtn = PLM.PLMMap(url, JsonData);
|
|
if (rtn.code == "200")
|
|
{
|
|
string connectionString = AppConfig.GetDataBaseConnectStringByKey("[DB.FTP]");
|
|
if (string.IsNullOrWhiteSpace(connectionString))
|
|
{
|
|
SetMessage("没有获取到FTP链接,请在数据源中先配置FTP", Color.Red);
|
|
return;
|
|
}
|
|
|
|
string[] ftps = connectionString.Split(';');
|
|
string ftpServerIP = ftps[0].Split('=')[1];
|
|
//string ftpRemotePath = ftps[1].Split('=')[1];
|
|
string ftpRemotePath = "";
|
|
|
|
string ftpUserID = ftps[2].Split('=')[1];
|
|
string ftpPassword = ftps[3].Split('=')[1];
|
|
|
|
FtpWeb ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath, ftpUserID, ftpPassword);
|
|
//FtpWeb ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath, ftpUserID, ftpPassword);
|
|
|
|
//string filePath = System.IO.Path.GetTempPath() + "\\Drawing";
|
|
|
|
string filePath = AppDomain.CurrentDomain.BaseDirectory + "\\Drawing";
|
|
|
|
|
|
if (!Directory.Exists(filePath))
|
|
{
|
|
Directory.CreateDirectory(filePath);
|
|
}
|
|
string fileName = rtn.msg + ".pdf";
|
|
ftpWeb.Download(filePath + "\\", fileName);
|
|
|
|
string filePathName = filePath + "\\" + fileName;
|
|
//string fileName = logAdress + Bills.ItemCode + ".pdf";
|
|
|
|
|
|
string ftpURL = "ftp://" + ftpServerIP + "/" + fileName;
|
|
|
|
//if (!string.IsNullOrEmpty(fileName))
|
|
if (!string.IsNullOrEmpty(filePathName))
|
|
{
|
|
//axAcroPDF.LoadFile(fileName);
|
|
axAcroPDFTZ.LoadFile(filePathName);
|
|
axAcroPDFTZ.setShowToolbar(false);
|
|
axAcroPDFTZ.setShowScrollbars(false);
|
|
axAcroPDFTZ.setPageMode("thumbs");
|
|
axAcroPDFTZ.setLayoutMode("SinglePage");
|
|
axAcroPDFTZ.setView("Fit");
|
|
axAcroPDFTZ.Show();
|
|
}
|
|
#endregion
|
|
}
|
|
else
|
|
{
|
|
SetMessage("调用PLM接口返回异常:" + rtn.code + ";" + rtn.msg, Color.Red);
|
|
return;
|
|
}
|
|
}
|
|
|
|
private void btnOperationManua_MouseLeave(object sender, EventArgs e)
|
|
{
|
|
btnOperationManua.BackColor = System.Drawing.Color.FromArgb(207, 221, 255);
|
|
}
|
|
|
|
private void btnOperationManua_MouseMove(object sender, MouseEventArgs e)
|
|
{
|
|
btnOperationManua.BackColor = System.Drawing.Color.DeepSkyBlue;
|
|
}
|
|
|
|
private void btnZP_MouseLeave(object sender, EventArgs e)
|
|
{
|
|
btnZP.BackColor = System.Drawing.Color.FromArgb(207, 221, 255);
|
|
}
|
|
|
|
private void btnZP_MouseMove(object sender, MouseEventArgs e)
|
|
{
|
|
btnZP.BackColor = System.Drawing.Color.DeepSkyBlue;
|
|
}
|
|
|
|
private void btnAddRow_Click(object sender, EventArgs e)
|
|
{
|
|
string message = txtMessage.Text.Trim();
|
|
if (message != "")
|
|
{
|
|
if (!message.Contains("保存成功"))
|
|
{
|
|
if (!message.Contains("该工序"))
|
|
{
|
|
DataTable dt = this.gridControlcc.DataSource as DataTable;
|
|
DataRow dr = dt.NewRow();
|
|
dr["id"] = AppConfig.GetGuid();
|
|
dt.Rows.Add(dr);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private void btnDelRow_Click(object sender, EventArgs e)
|
|
{
|
|
gridViewCC.PostEditor();
|
|
this.Validate();
|
|
if (gridViewCC.RowCount == 0)
|
|
return;
|
|
if (gridViewCC.FocusedRowHandle < 0)
|
|
return;
|
|
gridViewCC.DeleteRow(gridViewCC.FocusedRowHandle);
|
|
|
|
CheckResult();
|
|
}
|
|
|
|
private void CheckResult()
|
|
{
|
|
//重新判断检验结果
|
|
bool istrue = true;
|
|
|
|
for (int k = 0; k < gridViewCC.RowCount; k++)
|
|
{
|
|
string OK = gridViewCC.GetRowCellValue(k, CCOK).ToString();
|
|
string NG = gridViewCC.GetRowCellValue(k, CCNG).ToString();
|
|
|
|
if (!string.IsNullOrEmpty(OK) && OK == "True")
|
|
{
|
|
istrue = true;
|
|
}
|
|
else if (!string.IsNullOrEmpty(NG) && NG == "True")
|
|
{
|
|
istrue = false;
|
|
break;
|
|
}
|
|
|
|
}
|
|
if (istrue)
|
|
{
|
|
this.txtCCResult.Text = "OK";
|
|
this.txtCCResult.BackColor = Color.Blue;
|
|
}
|
|
else
|
|
{
|
|
this.txtCCResult.Text = "NG";
|
|
this.txtCCResult.BackColor = Color.Red;
|
|
}
|
|
}
|
|
|
|
|
|
#region 查询尺寸检验项目
|
|
private void CCGroupItemButtonEdit_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
|
|
{
|
|
ButtonEdit btn = (ButtonEdit)sender;
|
|
string sql = "";
|
|
DataTable data = null;
|
|
|
|
ButtonEdit buttonEdit = (sender as ButtonEdit);
|
|
|
|
sql = @"select CKGROUP as 检验项代码,CKGROUPDNAME as 检验项名称,CKGROUPDESC as 检验项描述
|
|
from ICSOQCCKGROUP where ISREF='是'";
|
|
sql = string.Format(sql);
|
|
data = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
|
|
|
|
FormDataRefer reForm = new FormDataRefer();
|
|
reForm.FormTitle = "检验项目信息";
|
|
DataTable menuData = data;
|
|
reForm.DataSource = menuData;
|
|
reForm.MSelectFlag = false;
|
|
reForm.RowIndexWidth = 35;
|
|
reForm.FormWidth = 500;
|
|
reForm.FormHeight = 500;
|
|
if (reForm.ShowDialog() == DialogResult.OK)
|
|
{
|
|
DataTable retData = reForm.ReturnData;
|
|
foreach (DataRow dr in retData.Rows)
|
|
{
|
|
buttonEdit.Text = dr["检验项代码"].ToString();
|
|
gridViewCC.SetRowCellValue(gridViewCC.FocusedRowHandle, colCKGROUPDESC, dr["检验项描述"].ToString());
|
|
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 查询外观检验项目
|
|
private void WGGroupItemButtonEdit_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
|
|
{
|
|
ButtonEdit btn = (ButtonEdit)sender;
|
|
string sql = "";
|
|
DataTable data = null;
|
|
|
|
ButtonEdit buttonEdit = (sender as ButtonEdit);
|
|
|
|
sql = @"select CKGROUP as 检验项代码,CKGROUPDNAME as 检验项名称,CKGROUPDESC as 检验项描述
|
|
from ICSOQCCKGROUP where ISREF='是'";
|
|
sql = string.Format(sql);
|
|
data = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
|
|
|
|
FormDataRefer reForm = new FormDataRefer();
|
|
reForm.FormTitle = "检验项目信息";
|
|
DataTable menuData = data;
|
|
reForm.DataSource = menuData;
|
|
reForm.MSelectFlag = false;
|
|
reForm.RowIndexWidth = 35;
|
|
reForm.FormWidth = 500;
|
|
reForm.FormHeight = 500;
|
|
if (reForm.ShowDialog() == DialogResult.OK)
|
|
{
|
|
DataTable retData = reForm.ReturnData;
|
|
foreach (DataRow dr in retData.Rows)
|
|
{
|
|
buttonEdit.Text = dr["检验项代码"].ToString();
|
|
gridView2.SetRowCellValue(gridView2.FocusedRowHandle, colCKGROUPDESC1, dr["检验项描述"].ToString());
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
private void btnAddRow2_Click(object sender, EventArgs e)
|
|
{
|
|
string message = txtMessage.Text.Trim();
|
|
if (message != "")
|
|
{
|
|
if (!message.Contains("保存成功"))
|
|
{
|
|
if (!message.Contains("该工序"))
|
|
{
|
|
DataTable dt = this.gridControl2.DataSource as DataTable;
|
|
DataRow dr = dt.NewRow();
|
|
dr["id"] = AppConfig.GetGuid();
|
|
dt.Rows.Add(dr);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private void btnDelRow2_Click(object sender, EventArgs e)
|
|
{
|
|
gridView2.PostEditor();
|
|
this.Validate();
|
|
if (gridView2.RowCount == 0)
|
|
return;
|
|
if (gridView2.FocusedRowHandle < 0)
|
|
return;
|
|
gridView2.DeleteRow(gridView2.FocusedRowHandle);
|
|
|
|
CheckResult1();
|
|
}
|
|
|
|
private void CheckResult1()
|
|
{
|
|
//重新判断检验结果
|
|
bool istrue = true;
|
|
|
|
for (int k = 0; k < gridView2.RowCount; k++)
|
|
{
|
|
string OK = gridView2.GetRowCellValue(k, colOK).ToString();
|
|
string NG = gridView2.GetRowCellValue(k, colNotOK).ToString();
|
|
|
|
if (!string.IsNullOrEmpty(OK) && OK == "True")
|
|
{
|
|
istrue = true;
|
|
}
|
|
else if (!string.IsNullOrEmpty(NG) && NG == "True")
|
|
{
|
|
istrue = false;
|
|
break;
|
|
}
|
|
|
|
}
|
|
if (istrue)
|
|
{
|
|
this.txtWGResult.Text = "OK";
|
|
this.txtWGResult.BackColor = Color.Blue;
|
|
}
|
|
else
|
|
{
|
|
this.txtWGResult.Text = "NG";
|
|
this.txtWGResult.BackColor = Color.Red;
|
|
}
|
|
}
|
|
|
|
private void OKItemCheckEdit2_EditValueChanged(object sender, EventArgs e)
|
|
{
|
|
gridView2.SetRowCellValue(gridView2.FocusedRowHandle, colNotOK, false);
|
|
gridView2.SetRowCellValue(gridView2.FocusedRowHandle, colOK, true);
|
|
}
|
|
|
|
private void NotOKItemCheckEdit2_EditValueChanged(object sender, EventArgs e)
|
|
{
|
|
gridView2.SetRowCellValue(gridView2.FocusedRowHandle, colOK, false);
|
|
gridView2.SetRowCellValue(gridView2.FocusedRowHandle, colNotOK, true);
|
|
}
|
|
|
|
private void LoadGroup()
|
|
{
|
|
try
|
|
{
|
|
string sql = @"select CKGROUP as 检验项代码,CKGROUPDNAME as 检验项名称,CKGROUPDESC as 检验项描述
|
|
from ICSOQCCKGROUP where ISREF='是'";
|
|
|
|
sql = string.Format(sql, AppConfig.WorkPointCode);
|
|
|
|
DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
|
|
//尺寸检验
|
|
CCCodeGridLookUpEdit.ValueMember = "检验项代码";
|
|
CCCodeGridLookUpEdit.DisplayMember = "检验项代码";
|
|
CCCodeGridLookUpEdit.DataSource = dt;
|
|
CCCodeGridLookUpEdit.NullText = "";//空时的值
|
|
CCCodeGridLookUpEdit.ImmediatePopup = true;//输入值是否马上弹出窗体
|
|
CCCodeGridLookUpEdit.ValidateOnEnterKey = true;//回车确认
|
|
CCCodeGridLookUpEdit.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;//要使用户可以输入,这里须设为Standard
|
|
CCCodeGridLookUpEdit.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; //可用Ctrl + Delete清空选择內容
|
|
CCCodeGridLookUpEdit.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
|
|
|
|
CCDescGridLookUpEdit.ValueMember = "检验项描述";
|
|
CCDescGridLookUpEdit.DisplayMember = "检验项描述";
|
|
CCDescGridLookUpEdit.DataSource = dt;
|
|
CCDescGridLookUpEdit.NullText = "";//空时的值
|
|
CCDescGridLookUpEdit.ImmediatePopup = true;//输入值是否马上弹出窗体
|
|
CCDescGridLookUpEdit.ValidateOnEnterKey = true;//回车确认
|
|
CCDescGridLookUpEdit.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;//要使用户可以输入,这里须设为Standard
|
|
CCDescGridLookUpEdit.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; //可用Ctrl + Delete清空选择內容
|
|
CCDescGridLookUpEdit.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
|
|
//外观检验
|
|
WGCodeGridLookUpEdit.ValueMember = "检验项代码";
|
|
WGCodeGridLookUpEdit.DisplayMember = "检验项代码";
|
|
WGCodeGridLookUpEdit.DataSource = dt;
|
|
WGCodeGridLookUpEdit.NullText = "";//空时的值
|
|
WGCodeGridLookUpEdit.ImmediatePopup = true;//输入值是否马上弹出窗体
|
|
WGCodeGridLookUpEdit.ValidateOnEnterKey = true;//回车确认
|
|
WGCodeGridLookUpEdit.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;//要使用户可以输入,这里须设为Standard
|
|
WGCodeGridLookUpEdit.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; //可用Ctrl + Delete清空选择內容
|
|
WGCodeGridLookUpEdit.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
|
|
|
|
WGDescGridLookUpEdit.ValueMember = "检验项描述";
|
|
WGDescGridLookUpEdit.DisplayMember = "检验项描述";
|
|
WGDescGridLookUpEdit.DataSource = dt;
|
|
WGDescGridLookUpEdit.NullText = "";//空时的值
|
|
WGDescGridLookUpEdit.ImmediatePopup = true;//输入值是否马上弹出窗体
|
|
WGDescGridLookUpEdit.ValidateOnEnterKey = true;//回车确认
|
|
WGDescGridLookUpEdit.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;//要使用户可以输入,这里须设为Standard
|
|
WGDescGridLookUpEdit.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; //可用Ctrl + Delete清空选择內容
|
|
WGDescGridLookUpEdit.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
SetMessage(ex.Message, Color.Red);
|
|
}
|
|
}
|
|
|
|
private void CCGroupGridLookUpEdit_EditValueChanged(object sender, EventArgs e)
|
|
{
|
|
GridLookUpEdit LookupEdit = sender as GridLookUpEdit;
|
|
DataRowView SelectedDataRow = (DataRowView)LookupEdit.GetSelectedDataRow();
|
|
if (string.IsNullOrWhiteSpace(LookupEdit.EditValue.ToString()))
|
|
{
|
|
|
|
}
|
|
else
|
|
{
|
|
gridViewCC.SetFocusedRowCellValue("CKGROUPCode", SelectedDataRow["检验项代码"].ToString());
|
|
}
|
|
|
|
}
|
|
|
|
private void WGGroupGridLookUpEdit_EditValueChanged(object sender, EventArgs e)
|
|
{
|
|
GridLookUpEdit LookupEdit = sender as GridLookUpEdit;
|
|
DataRowView SelectedDataRow = (DataRowView)LookupEdit.GetSelectedDataRow();
|
|
if (string.IsNullOrWhiteSpace(LookupEdit.EditValue.ToString()))
|
|
{
|
|
}
|
|
else
|
|
{
|
|
gridView2.SetFocusedRowCellValue("CKGROUPCode1", SelectedDataRow["检验项代码"].ToString());
|
|
|
|
}
|
|
}
|
|
|
|
private void gridViewCC_CellValueChanging(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void CCCodeGridLookUpEdit_EditValueChanged(object sender, EventArgs e)
|
|
{
|
|
GridLookUpEdit LookupEdit = sender as GridLookUpEdit;
|
|
DataRowView SelectedDataRow = (DataRowView)LookupEdit.GetSelectedDataRow();
|
|
if (string.IsNullOrWhiteSpace(LookupEdit.EditValue.ToString()))
|
|
{
|
|
|
|
}
|
|
else
|
|
{
|
|
gridViewCC.SetFocusedRowCellValue("CKGROUPDESC", SelectedDataRow["检验项描述"].ToString());
|
|
}
|
|
}
|
|
|
|
private void WGCodeGridLookUpEdit_EditValueChanged(object sender, EventArgs e)
|
|
{
|
|
GridLookUpEdit LookupEdit = sender as GridLookUpEdit;
|
|
DataRowView SelectedDataRow = (DataRowView)LookupEdit.GetSelectedDataRow();
|
|
if (string.IsNullOrWhiteSpace(LookupEdit.EditValue.ToString()))
|
|
{
|
|
}
|
|
else
|
|
{
|
|
gridView2.SetFocusedRowCellValue("CKGROUPDESC1", SelectedDataRow["检验项描述"].ToString());
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|