using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using CoreFS.CA06;
using Core.Mes.Client.Comm.Server;
using Core.Mes.Client.Comm.Control;
using Infragistics.Win.UltraWinGrid;
using Infragistics.Win;
using com.steering.mes.zgmil.entity;
using System.Collections;
using Core.Mes.Client.Comm.Tool;
namespace Core.StlMes.Client.ZGMil.Popup
{
public partial class FrmQADetail : FrmBase
{
OpeBase ob = null;
double[] q_db_chkargs = null;
bool bupdatecell = true;
DataTable dtMIL_SIZE_CHECK_DEATIL = null;
int MatNum = 0; //总检支数
int CJNum = 0; //抽检支数
double MatHeight = 0; //单支重量
public string _ScrapNum //废品支数 用于传值到参数设定界面
{
get { return umeScrapNum.Value.ToString(); }
}
public string _OffLineNum //下线品支数 用于传值到参数设定界面
{
get { return umeOffLineNum.Value.ToString(); }
}
string JudgeStoveNo = "";
private string proPlanId = "";//轧管订单编号
private string gxPlanNo = "";//工序排产序号
string PlineCode = ""; //产线代码
string ItemLevel = ""; //缺陷项等级
string ItemCode = ""; //缺陷项代码
string ItemName = ""; //缺陷项名称
public FrmQADetail(string _JudgeStoveNo, string _LotNo, double _MatHeight, int _MatNum, int _CJNum, string _proPlanId, string _gxPlanNo, OpeBase arg_ob)
{
InitializeComponent();
ultraGrid2.ClickCellButton += new CellEventHandler(ultraGrid2_ClickCellButton); //添加缺陷项
ultraGrid1.ClickCellButton += new CellEventHandler(ultraGrid1_ClickCellButton); //删除缺陷项
MatNum = _MatNum;
CJNum = _CJNum;
MatHeight = _MatHeight;
JudgeStoveNo = _JudgeStoveNo;
proPlanId = _proPlanId;
gxPlanNo = _gxPlanNo;
dtItem.Clear();
this.ob = arg_ob;
cmbItemLevel.Items.Add("", " ");
cmbItemLevel.Items.Add(0, "常用");
cmbItemLevel.Items.Add(1, "不常用");
txtHeatNo.Text = _JudgeStoveNo;
txtLotNo.Text = _LotNo;
SizeCheckQuery(_JudgeStoveNo);
DefectItemQuery();
txtItemCode.Text = "";
txtItemName.Text = "";
}
#region 注释行
/*
# region
/////
///// 获取质检跟踪表
/////
/////
//public void getDefect(string strJUDGE_STOVE_NO, OpeBase arg_ob)
//{
// //dtDefect.Clear();
// //DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.getDefect", new object[] { strJUDGE_STOVE_NO }, arg_ob);
// ////添加缺陷项列
// //for (int i = 0; i < dt.Rows.Count; i++)
// //{
// // Infragistics.Win.ValueList valueList = new Infragistics.Win.ValueList();
// // valueList.ValueListItems.Add("1", "合格");
// // valueList.ValueListItems.Add("0", "不合格");
// // if (i == dt.Rows.Count - 1)
// // {
// // //添加最后一个缺陷项到表列
// // DataColumn dcol_1 = new DataColumn();
// // dcol_1.ColumnName = "DEFECT" + (i);
// // dcol_1.Caption = dt.Rows[i]["DEFECT"].ToString();
// // dcol_1.DataType = typeof(String);
// // dtDefect.Columns.Add(dcol_1);
// // ultraGrid1.DisplayLayout.Bands[0].Columns[dcol_1.ColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
// // ultraGrid1.DisplayLayout.Bands[0].Columns[dcol_1.ColumnName].ValueList = valueList;
// // break;
// // }
// // if (dt.Rows[i]["SAMPLE_PIPE_SEQ"].ToString() == dt.Rows[i + 1]["SAMPLE_PIPE_SEQ"].ToString())
// // {
// // //添加缺陷项到表列
// // DataColumn dcol = new DataColumn();
// // dcol.ColumnName = "DEFECT" + (i);
// // dcol.Caption = dt.Rows[i]["DEFECT"].ToString();
// // dcol.DataType = typeof(String);
// // dtDefect.Columns.Add(dcol);
// // ultraGrid1.DisplayLayout.Bands[0].Columns[dcol.ColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
// // ultraGrid1.DisplayLayout.Bands[0].Columns[dcol.ColumnName].ValueList = valueList;
// // }
// // else
// // {
// // //添加最后一个缺陷项到表列
// // DataColumn dcol = new DataColumn();
// // dcol.ColumnName = "DEFECT" + (i);
// // dcol.Caption = dt.Rows[i]["DEFECT"].ToString();
// // dcol.DataType = typeof(String);
// // dtDefect.Columns.Add(dcol);
// // ultraGrid1.DisplayLayout.Bands[0].Columns[dcol.ColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
// // ultraGrid1.DisplayLayout.Bands[0].Columns[dcol.ColumnName].ValueList = valueList;
// // break;
// // }
// //}
// //GridHelper.CopyDataToDatatable(ref dt, ref dtDefect, true);
// ////删除相同序号行
// //for (int i = 0, j = 1; i < dt.Rows.Count; )
// //{
// // if (i == dt.Rows.Count - 1)//最后一行退出
// // {
// // dtDefect.Rows[i]["DEFECT0"] = dt.Rows[i]["IS_QUELIFIED"];//最后一序号的第一行质检结果绑定
// // break;
// // }
// // if (dt.Rows[i]["SAMPLE_PIPE_SEQ"].ToString() == dt.Rows[i + 1]["SAMPLE_PIPE_SEQ"].ToString())
// // {
// // dtDefect.Rows[i]["DEFECT" + j] = dt.Rows[i + 1]["IS_QUELIFIED"];//质检结果绑定
// // j++;
// // dtDefect.Rows.RemoveAt(i + 1);
// // dt.Rows.RemoveAt(i + 1);//删除相同序号行
// // }
// // else//跳转下一序号时
// // {
// // dtDefect.Rows[i]["DEFECT0"] = dt.Rows[i]["IS_QUELIFIED"];//跳转下一序号时给相同序号的第一行质检结果绑定
// // j = 1;
// // i++;
// // }
// //}
//}
/////
///// 下拉列表选择事件
/////
/////
/////
//private void ultraGrid1_CellChange(object sender, CellEventArgs e)
//{
// //ultraGrid1.UpdateData();
// //com.steering.mes.zgmil.entity.MIL_QA_DEFECT_Entity MIL_QADEFECTEntity = new com.steering.mes.zgmil.entity.MIL_QA_DEFECT_Entity();
// //UltraGridRow ugr = ultraGrid1.ActiveRow;
// //MIL_QADEFECTEntity.JudgeStoveNo = this.txtHeatNo.Text;
// //MIL_QADEFECTEntity.SamplePipeSeq = ugr.Cells["SAMPLE_PIPE_SEQ"].Value.ToString();
// //MIL_QADEFECTEntity.IsQuelified = ultraGrid1.ActiveCell.Value.ToString();
// //MIL_QADEFECTEntity.Defect = ultraGrid1.ActiveCell.Column.Header.Caption;
// //int num = ServerHelper.SetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.UpdMIL_QA_DEFECT", new object[] { MIL_QADEFECTEntity }, arg_ob);
// //if (num > 0)
// //{
// // getDefect_statistics(this.txtHeatNo.Text);
// //}
//}
/////
///// 统计抽检结果
/////
//public void getDefect_statistics(string strJUDGE_STOVE_NO)
//{
// //DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.getDefect_statistics", new object[] { strJUDGE_STOVE_NO }, arg_ob);
// //GridHelper.CopyDataToDatatable(ref dt, ref dtCountDefect, true);
//}
#endregion
#region
///
/// 获取抽检缺陷项表
///
/// 炉号
public void getMIL_CHECK_DEATIL(string strJUDGE_STOVE_NO)
{
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.getMIL_CHECK_DEATIL", new object[] { strJUDGE_STOVE_NO }, arg_ob);
GridHelper.CopyDataToDatatable(ref dt, ref dtDefect, true);
//ultraGrid1.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
}
///
/// 保存抽检缺陷项表
///
public void SaveMIL_CHECK_DEATIL()
{
ultraGrid1.UpdateData();
if (ultraGrid1.Rows.Count < 1)
{
return;
}
ultraGrid1.UpdateData();
ArrayList AL_MilSizeCheckDeatil_Entity = new ArrayList();
for (int i = 0; i < ultraGrid1.Rows.Count; i++)
{
MilCheckDeatilEntity MilCheckDeatilEntity = new MilCheckDeatilEntity();
MilCheckDeatilEntity.JudgeStoveNo = this.txtHeatNo.Text;
MilCheckDeatilEntity.DefectItem = ultraGrid1.Rows[i].Cells["DEFECT_ITEM"].Value.ToString();
MilCheckDeatilEntity.WasteBranch = ultraGrid1.Rows[i].Cells["WASTE_BRANCH"].Value.ToString();
MilCheckDeatilEntity.WasteTons = ultraGrid1.Rows[i].Cells["WASTE_TONS"].Value.ToString();
MilCheckDeatilEntity.OfflineProduct = ultraGrid1.Rows[i].Cells["OFFLINE_PRODUCT"].Value.ToString();
AL_MilSizeCheckDeatil_Entity.Add(MilCheckDeatilEntity);
}
int num = ServerHelper.SetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.SaveMIL_CHECK_DEATIL", new object[] { AL_MilSizeCheckDeatil_Entity }, arg_ob);
}
#endregion
#region 尺寸抽查记录
///
/// 查询几何尺寸抽查记录
///
public void getMIL_SIZE_CHECK_DEATIL(string strJUDGE_STOVE_NO)
{
Infragistics.Win.ValueList valueList = new Infragistics.Win.ValueList();
valueList.ValueListItems.Add("0", "管段");
valueList.ValueListItems.Add("1", "管体");
ultraGrid3.DisplayLayout.Bands[0].Columns["LOCATION"].ValueList = valueList;
MilSizeCheckDeatilEntity en_MilSizeCheckDeatilEntity = new MilSizeCheckDeatilEntity();
en_MilSizeCheckDeatilEntity.JudgeStoveNo = strJUDGE_STOVE_NO;
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.getMIL_SIZE_CHECK_DEATIL", new object[] { en_MilSizeCheckDeatilEntity }, arg_ob);
GridHelper.CopyDataToDatatable(ref dt, ref dtPipeSize,true);
//上一次的抽检管号保存的值更新到这个表来
if (dtMIL_SIZE_CHECK_DEATIL != null)
{
for (int m = 0; m < (dtPipeSize.Rows.Count <= dtMIL_SIZE_CHECK_DEATIL.Rows.Count ? dtPipeSize.Rows.Count : dtMIL_SIZE_CHECK_DEATIL.Rows.Count); m++)
{
for (int n = 0; n < (dtPipeSize.Rows.Count <= dtMIL_SIZE_CHECK_DEATIL.Rows.Count ? dtPipeSize.Rows.Count : dtMIL_SIZE_CHECK_DEATIL.Rows.Count); n++)
{
dtPipeSize.Rows[m]["D1"] = dtMIL_SIZE_CHECK_DEATIL.Rows[m]["D1"];
dtPipeSize.Rows[m]["D2"] = dtMIL_SIZE_CHECK_DEATIL.Rows[m]["D2"];
dtPipeSize.Rows[m]["S1"] = dtMIL_SIZE_CHECK_DEATIL.Rows[m]["S1"];
dtPipeSize.Rows[m]["S2"] = dtMIL_SIZE_CHECK_DEATIL.Rows[m]["S2"];
dtPipeSize.Rows[m]["S3"] = dtMIL_SIZE_CHECK_DEATIL.Rows[m]["S3"];
dtPipeSize.Rows[m]["S4"] = dtMIL_SIZE_CHECK_DEATIL.Rows[m]["S4"];
dtPipeSize.Rows[m]["LOCATION"] = dtMIL_SIZE_CHECK_DEATIL.Rows[m]["LOCATION"];
}
}
}
//ultraGrid3.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
}
///
/// 保存几何尺寸抽查记录
///
public void SaveMIL_SIZE_CHECK_DEATIL()
{
if (ultraGrid3.Rows.Count < 1)
{
return;
}
ultraGrid3.UpdateData();
ArrayList AL_MilSizeCheckDeatil_Entity = new ArrayList();
for (int i = 0; i < dtPipeSize.Rows.Count; i++)
{
MilSizeCheckDeatilEntity MilSizeCheckDeatil_Entity = new MilSizeCheckDeatilEntity();
MilSizeCheckDeatil_Entity.JudgeStoveNo = txtHeatNo.Text;
MilSizeCheckDeatil_Entity.SamplePipeSeq = ultraGrid3.Rows[i].Cells["SAMPLE_PIPE_SEQ"].Value.ToString();
MilSizeCheckDeatil_Entity.SamplePipeNo = ultraGrid3.Rows[i].Cells["SAMPLE_PIPE_NO"].Value.ToString();
MilSizeCheckDeatil_Entity.D1 = ultraGrid3.Rows[i].Cells["D1"].Value.ToString();
MilSizeCheckDeatil_Entity.D2 = ultraGrid3.Rows[i].Cells["D2"].Value.ToString();
MilSizeCheckDeatil_Entity.S1 = ultraGrid3.Rows[i].Cells["S1"].Value.ToString();
MilSizeCheckDeatil_Entity.S2 = ultraGrid3.Rows[i].Cells["S2"].Value.ToString();
MilSizeCheckDeatil_Entity.S3 = ultraGrid3.Rows[i].Cells["S3"].Value.ToString();
MilSizeCheckDeatil_Entity.S4 = ultraGrid3.Rows[i].Cells["S4"].Value.ToString();
MilSizeCheckDeatil_Entity.Location = ultraGrid3.Rows[i].Cells["LOCATION"].Value.ToString();
AL_MilSizeCheckDeatil_Entity.Add(MilSizeCheckDeatil_Entity);
}
int num = ServerHelper.SetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.Upd_MIL_SIZE_CHECK_DEATIL", new object[] { AL_MilSizeCheckDeatil_Entity }, arg_ob);
}
#endregion
///
/// 确定按钮_保存几何尺寸抽查记录
///
///
///
private void btnOK_Click(object sender, EventArgs e)
{
this.Close();
}
//更新废品支自动改变废品吨
private void ultraGrid1_AfterCellUpdate(object sender, CellEventArgs e)
{
ultraGrid1.UpdateData();
if (bupdatecell)
{
DataTable dt_mt = null;
if (UserInfo.GetDeptid() == "250机组-C008" || UserInfo.GetDeptid() == "258机组-C009" || UserInfo.GetDeptid() == "168机组-C010")
{
dt_mt = ServerHelper.GetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.getMIL_MT_RESULT", new object[] { txtHeatNo.Text }, arg_ob);
}
else
{
dt_mt = ServerHelper.GetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.getMIL_ET_RESULT", new object[] { txtHeatNo.Text }, this.arg_ob);
}
if (ultraGrid1.ActiveCell.Value.ToString() != "" && dt_mt.Rows.Count > 0 && int.Parse(ultraGrid1.ActiveCell.Value.ToString()) > int.Parse(dt_mt.Rows[0][0].ToString()))
{
MessageBox.Show("输入的废品支数不能大于总检量", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
UltraGridCell ulgc = ultraGrid1.ActiveCell;
UltraGridRow ulgr = ultraGrid1.ActiveRow;
if (ulgc == ulgr.Cells["WASTE_BRANCH"])
{
if (Math.Round(double.Parse(ulgr.Cells["WASTE_BRANCH"].Value.ToString().Trim() == "" ? "0" : ulgr.Cells["WASTE_BRANCH"].Value.ToString()) * ((q_db_chkargs[0] - q_db_chkargs[1]) * q_db_chkargs[1] * 0.02466 * q_db_chkargs[2] * q_db_chkargs[3]), 3) > 99999.999)
{
MessageBox.Show("计算出的废品吨不能大于99999.999,请重新输入支数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
ulgr.Cells["WASTE_BRANCH"].Activate();
return;
}
else
{
bupdatecell = false;
ulgr.Cells["WASTE_TONS"].Value = Math.Round(double.Parse(ulgr.Cells["WASTE_BRANCH"].Value.ToString().Trim() == "" ? "0" : ulgr.Cells["WASTE_BRANCH"].Value.ToString()) * ((q_db_chkargs[0] - q_db_chkargs[1]) * q_db_chkargs[1] * 0.02466 * q_db_chkargs[2] * q_db_chkargs[3]), 3);
}
}
}
else
{
bupdatecell = true;
}
}
*/
#endregion
//关闭窗体事件
private void FrmQADetail_FormClosed(object sender, FormClosedEventArgs e)
{
//SaveMIL_SIZE_CHECK_DEATIL();
//SaveMIL_CHECK_DEATIL();
}
///
/// 缺陷项查询
///
private void DefectItemQuery()
{
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.defectItemQuery", new object[] { ItemLevel, ItemCode, ItemName }, this.ob);
GridHelper.CopyDataToDatatable(ref dt, ref dtItem, true);
}
///
/// 查询抽检管记录
///
///
private void SizeCheckQuery(string JudgeStoveNo)
{
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.sizeCheckQuery", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
GridHelper.CopyDataToDatatable(ref dt, ref dtPipeSize, true);
Infragistics.Win.ValueList valueList = new Infragistics.Win.ValueList();
valueList.ValueListItems.Add("0", "管端");
valueList.ValueListItems.Add("1", "管体");
ultraGrid3.DisplayLayout.Bands[0].Columns["LOCATION"].ValueList = valueList;
}
///
/// chk事件
///
///
///
private void chkItemLevel_CheckedChanged(object sender, EventArgs e)
{
if (this.chkItemLevel.Checked)
{
cmbItemLevel.Enabled = true;
}
else
{
cmbItemLevel.Enabled = false;
}
if (chkItemCode.Checked)
{
txtItemCode.Enabled = true;
}
else
{
txtItemCode.Enabled = false;
}
if (chkItemName.Checked)
{
txtItemName.Enabled = true;
}
else
{
txtItemName.Enabled = false;
}
}
///
/// 缺陷项查询条件
///
///
///
private void cmbItemLevel_ValueChanged(object sender, EventArgs e)
{
if (this.chkItemLevel.Checked)
{
ItemLevel = cmbItemLevel.Value.ToString();
}
else
{
ItemLevel = "";
}
if (chkItemCode.Checked)
{
ItemCode = txtItemCode.Text.ToUpper();
}
else
{
ItemCode = "";
}
if (chkItemName.Checked)
{
ItemName = txtItemName.Text;
}
else
{
ItemName = "";
}
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.defectItemQuery", new object[] { ItemLevel, ItemCode, ItemName }, this.ob);
GridHelper.CopyDataToDatatable(ref dt, ref dtItem, true);
}
///
/// 数据检验
///
///
private bool DateCheck()
{
bool Check = true;
int DefectScrapNumTotal = 0; //缺陷项总剔除支数
int DefectOffNumTotal = 0; //缺陷项总下线支数
//废品支 下线支数据检验
if (string.IsNullOrEmpty(umeScrapNum.Value.ToString()))
{
MessageBox.Show("废品支不能为空!");
umeScrapNum.Focus();
return Check = false;
}
else if (int.Parse(umeScrapNum.Value.ToString()) > MatNum)
{
MessageBox.Show("废品支不能为大于现有炉次总支数!");
umeScrapNum.Focus();
return Check = false;
}
if (string.IsNullOrEmpty(this.umeOffLineNum.Value.ToString()))
{
MessageBox.Show("下线支不能为空!");
umeOffLineNum.Focus();
return Check = false;
}
else if (int.Parse(umeScrapNum.Value.ToString()) > MatNum)
{
MessageBox.Show("下线支不能为大于现有炉次总支数!");
umeOffLineNum.Focus();
return Check = false;
}
// 抽检管记录检验
for (int i = 0; i < ultraGrid3.Rows.Count; i++)
{
for (int j = 0; j < ultraGrid3.Rows[i].Cells.Count; j++)
{
if (string.IsNullOrEmpty(ultraGrid3.Rows[i].Cells[j].Value.ToString()))
{
MessageBox.Show("抽检管记录不能为空!");
ultraGrid3.Rows[i].Cells[j].Activated = true;
return Check = false;
}
}
}
//缺陷项记录检验
//缺陷项废品支不能大于总废品支,缺陷项下线支不能大于总下线支
//所有缺陷项下线品/废品支之和需要大于下线总支数/废品总支数
for (int i = 0; i < ultraGrid1.Rows.Count; i++)
{
if (string.IsNullOrEmpty(ultraGrid1.Rows[i].Cells["WASTE_BRANCH"].Value.ToString()))
{
MessageBox.Show("");
ultraGrid1.Rows[i].Cells["WASTE_BRANCH"].Activated = true;
return Check = false;
}
else
{
if (int.Parse(ultraGrid1.Rows[i].Cells["WASTE_BRANCH"].Value.ToString()) > int.Parse(umeScrapNum.Value.ToString()))
{
MessageBox.Show("缺陷项废品支不能大于总废品支!!!");
ultraGrid1.Rows[i].Cells["WASTE_BRANCH"].Activated = true;
return Check = false;
}
else
{
DefectScrapNumTotal += int.Parse(ultraGrid1.Rows[i].Cells["WASTE_BRANCH"].Value.ToString());
}
}
if (string.IsNullOrEmpty(ultraGrid1.Rows[i].Cells["OFFLINE_PRODUCT"].Value.ToString()))
{
MessageBox.Show("");
ultraGrid1.Rows[i].Cells["OFFLINE_PRODUCT"].Activated = true;
return Check = false;
}
else
{
if (int.Parse(ultraGrid1.Rows[i].Cells["OFFLINE_PRODUCT"].Value.ToString()) > int.Parse(umeOffLineNum.Value.ToString()))
{
MessageBox.Show("缺陷项下线支不能大于总下线支!!!");
ultraGrid1.Rows[i].Cells["OFFLINE_PRODUCT"].Activated = true;
return Check = false;
}
else
{
DefectOffNumTotal += int.Parse(ultraGrid1.Rows[i].Cells["OFFLINE_PRODUCT"].Value.ToString());
}
}
}
if (DefectScrapNumTotal < int.Parse(umeScrapNum.Value.ToString()))
{
MessageBox.Show("缺陷项废品总支数小于管号废品总支数!!");
return Check = false;
}
if (DefectOffNumTotal < int.Parse(umeOffLineNum.Value.ToString()))
{
MessageBox.Show("缺陷项下线总支数小于管号下线总支数!!");
return Check = false;
}
return Check;
}
///
/// 添加缺陷项
///
///
///
void ultraGrid2_ClickCellButton(object sender, CellEventArgs e)
{
if (e.Cell.Column.Key == "ADD_ITEM")
{
string ItemCode = e.Cell.Row.Cells["DEFECT_ITEM_CODE"].Value.ToString();
string ItemName = e.Cell.Row.Cells["DEFECT_ITEM_NAME"].Value.ToString();
foreach (DataRow dr in dtDefect.Rows)
{
if (dr["DEFECT_ITEM_CODE"].ToString() == ItemCode)
{
MessageUtil.ShowWarning("缺陷项【" + ItemName + "】已添加");
return;
}
}
DataRow dr1 = dtDefect.NewRow();
dr1["DEFECT_ITEM"] = ItemName;
dr1["DEFECT_ITEM_CODE"] = ItemCode;
dr1["DELETE_ITEM"] = "移除";
dtDefect.Rows.Add(dr1);
ultraGrid2.DataBind();
}
// throw new NotImplementedException();
}
///
/// 移除缺陷项
///
///
///
void ultraGrid1_ClickCellButton(object sender, CellEventArgs e)
{
if (e.Cell.Column.Key == "DELETE_ITEM")
{
for (int i = 0; i < dtDefect.Rows.Count; i++)
{
if (dtDefect.Rows[i]["DEFECT_ITEM_CODE"].ToString() == e.Cell.Row.Cells["DEFECT_ITEM_CODE"].Value.ToString())
{
dtDefect.Rows.RemoveAt(i);
break;
}
}
ultraGrid1.DataBind();
}
//throw new NotImplementedException();
}
///
/// 确认保存按钮
///
///
///
/// 1-保存缺陷项具体支数信息
/// 2-将缺陷项的支数
private void btnOK_Click(object sender, EventArgs e)
{
string ColUser = UserInfo.GetUserName();
string ColGroup = UserInfo.GetUserGroup();
string ColShift = UserInfo.GetUserOrder();
ArrayList ListEntity = new ArrayList();
ArrayList ListCehckSize = new ArrayList();
//数据检验
if (!DateCheck())
{
return;
}
if (ultraGrid1.Rows.Count > 0)
{
//保存缺陷项信息
for (int i = 0; i < ultraGrid1.Rows.Count; i++)
{
MilCheckDeatilEntity CheckDetailSave = new MilCheckDeatilEntity();
CheckDetailSave.JudgeStoveNo = JudgeStoveNo;
CheckDetailSave.DefectCode = ultraGrid1.Rows[i].Cells["DEFECT_ITEM_CODE"].Value.ToString();
CheckDetailSave.DefectItem = ultraGrid1.Rows[i].Cells["DEFECT_ITEM"].Value.ToString();
CheckDetailSave.WasteBranch = ultraGrid1.Rows[i].Cells["WASTE_BRANCH"].Value.ToString();
CheckDetailSave.OfflineProduct = ultraGrid1.Rows[i].Cells["OFFLINE_PRODUCT"].Value.ToString();
ListEntity.Add(CheckDetailSave);
}
//删除炉次对应缺陷项
//int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.deleteDefectData", new object[] { JudgeStoveNo }, this.ob);
//插入炉次对应缺陷项下线支、废品支
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.insertDefectData", new object[] { ListEntity, JudgeStoveNo, }, this.ob);
if (count > 0)
{
Random Ran = new Random();
int ScrapRanSeq = Ran.Next(1, MatNum - int.Parse(umeScrapNum.Value.ToString()) - int.Parse(umeOffLineNum.Value.ToString())); //废品随机起始支 下线品起始支=废品起始支+废品总支数
//1-删除缺陷管号 2-修改管号状态 最终下线-正常、剔除-正常 3-删除管号剔除表记录
int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.deleteDefectMat", new object[] { JudgeStoveNo }, this.ob);
//1-插入缺陷管号 2-修改管号状态 正常-最终下线、正常-剔除 3-新增管号剔除表记录
count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.insertDefectMat", new object[] { JudgeStoveNo, ScrapRanSeq, int.Parse(umeScrapNum.Value.ToString()), int.Parse(umeOffLineNum.Value.ToString()), ColUser, ColShift, ColGroup }, this.ob);
if (count1 == 1)
{
//管号插入缺陷项
int count2 = ServerHelper.SetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.inserDefectCheck", new object[] { JudgeStoveNo, ScrapRanSeq, int.Parse(umeScrapNum.Value.ToString()), int.Parse(umeOffLineNum.Value.ToString()) }, this.ob);
//插入几何抽检尺寸
for (int i = 0; i < ultraGrid3.Rows.Count; i++)
{
MilSizeCheckDeatilEntity CheckSizeEntity = new MilSizeCheckDeatilEntity();
CheckSizeEntity.SamplePipeNo = ultraGrid3.Rows[i].Cells["SAMPLE_PIPE_NO"].Value.ToString();
CheckSizeEntity.JudgeStoveNo = JudgeStoveNo;
CheckSizeEntity.D1 = ultraGrid3.Rows[i].Cells["D1"].Value.ToString();
CheckSizeEntity.D2 = ultraGrid3.Rows[i].Cells["D2"].Value.ToString();
CheckSizeEntity.S1 = ultraGrid3.Rows[i].Cells["S1"].Value.ToString();
CheckSizeEntity.S2 = ultraGrid3.Rows[i].Cells["S2"].Value.ToString();
CheckSizeEntity.S3 = ultraGrid3.Rows[i].Cells["S3"].Value.ToString();
CheckSizeEntity.S4 = ultraGrid3.Rows[i].Cells["S4"].Value.ToString();
string Location = ultraGrid3.Rows[i].Cells["LOCATION"].Value.ToString();
if (Location == "管端")
{
Location = "0";
}
else
{
Location = "1";
}
CheckSizeEntity.Location = Location;
ListCehckSize.Add(CheckSizeEntity);
}
count2 = ServerHelper.SetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.insertMatSize", new object[] { ListCehckSize }, this.ob);
}
}
}
//_ScrapNum = umeScrapNum.Value.ToString();
//_OffLineNum = umeOffLineNum.Value.ToString();
//int QaNum = MatNum - int.Parse(_ScrapNum) - int.Parse(_OffLineNum);
this.DialogResult = DialogResult.OK;
}
///
/// 输入废品支 自动计算出废品吨
///
///
///
private void umeScrapNum_ValueChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(umeScrapNum.Value.ToString()))
{
umeScrapTon.Value = int.Parse(umeScrapNum.Value.ToString()) * MatHeight;
}
}
private void ultraButton1_Click(object sender, EventArgs e)
{
this.Close();
//this.DialogResult = DialogResult.OK;
}
}
}