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; } } }