华恒Mes鼎捷代码
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.

3950 lines
164 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;
using ICSSoft.Frame.Common;
namespace ICSSoft.Frame.APP
{
public partial class FormICSIPQCAGVHH : 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 FormICSIPQCAGVHH()
{
InitializeComponent();
this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
this.WindowState = FormWindowState.Maximized;
checkboxGX.Checked = true;
}
#endregion
#region 构造函数
public FormICSIPQCAGVHH(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 FormICSIPQCAGVHH(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.ACTIONRESULT
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 ICSLOTONWIP 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("保存成功");
bool Islastop = ICSAGVBLL.IsLastOP(LotNo, this.txtOPCode.Text.Trim(), AppConfig.AppConnectString, AppConfig.WorkPointCode);
if (ICSAGVBLL.IsCanToAGV(LotNo, this.txtOPCode.Text.Trim(), "AGV是否开启", AppConfig.AppConnectString, AppConfig.WorkPointCode) && !Islastop && ICSLOTONWIPCheck.Result == "合格")
{
try
{
ICSAGVTASKLOG Log = new ICSAGVTASKLOG();
Log.ID = AppConfig.GetGuid();
Log.Lotno = LotNo;
Log.Opcode = this.txtOPCode.Text.Trim(); ;
Log.Itemcode = ItemCode;
bool NextOpIsWW = ICSAGVBLL.NextOPisWW(LotNo, Log.Opcode, AppConfig.AppConnectString, AppConfig.WorkPointCode);
bool NextOpIsWG = ICSAGVBLL.NextOPisWG(LotNo, Log.Opcode, AppConfig.AppConnectString, AppConfig.WorkPointCode);
string Area = "";
string CArea = "";
if (!(NextOpIsWW && checkboxWW.Checked && NextOpIsWG))
{
if (ICSLOTONWIPCheck.Result == "合格")
{
//if (Islastop)
//{
// FormICSAGVAreaChoose Choose = new FormICSAGVAreaChoose(true);
// Choose.ShowDialog();
// Area = ICSAGVBLL.GetAreaCode("00088", "4", AppConfig.AppConnectString, AppConfig.WorkPointCode);
// CArea = Choose.AreaCode;
// Log.TaskType = "成品检合格HH";
//}
//需要注意连续委外逻辑,当前工序和下道工序为连续委外,当前工序不触发AGV
if (NextOpIsWW)
{
Area = ICSAGVBLL.GetAreaCode("00088", "6", AppConfig.AppConnectString, AppConfig.WorkPointCode);
Log.TaskType = "质检合格下工序委外HH";
}
else
{
Area = ICSAGVBLL.GetAreaCode("00088", "2", AppConfig.AppConnectString, AppConfig.WorkPointCode);
Log.TaskType = "质检合格HH";
}
}
else
{
Area = ICSAGVBLL.GetAreaCode("00088", "3", AppConfig.AppConnectString, AppConfig.WorkPointCode);
Log.TaskType = "质检不合格HH";
}
string BeginArea = Area.Split('@')[0].Split(':')[0];
string EndArea = Area.Split('@')[1].Split(':')[0];
AGVCreateTaskModel model = new AGVCreateTaskModel();
model.area = EndArea.Split(':')[0];
model.qty = (int)Convert.ToDecimal(txtLotQty.Text);
//model.station = BeginArea.Split(':')[0];
model.type = "false";
model.materialCode = ItemCode;
model.materialName = txtPriductName.Text;
model.trackingNumber = Log.Lotno;
model.orderCode = txtMOCode.Text;
model.warehouseCode = "KS0001";
Log.LocationCode = BeginArea;
Log.EndArea = EndArea;
Log.Mtime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
Log.MuserName = AppConfig.UserName;
FormICSAGVContainer container = new FormICSAGVContainer(model, Log);
container.ShowDialog();
}
}
catch (Exception ex)
{
ICSBaseSimpleCode.AppshowMessageBox("AGV任务异常:" + ex.Message);
}
}
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;
}
FormICSLLAGVHH form = new FormICSLLAGVHH(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,c.ORDERNO 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();
txtOrderNo.Text= dt.Rows[0]["ORDERNO"].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 = "";
txtOrderNo.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());
}
}
}
}