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; using Core.Mes.Client.Comm.Format; using Core.StlMes.Client.ZGMil.Common; namespace Core.StlMes.Client.ZGMil.Popup { public partial class FrmQADefect : FrmBase { OpeBase _ob = null; private string _JudgeStoveNo = ""; private string _proPlanId = "";//轧管订单编号 private string _gxPlanNo = "";//工序排产序号 private string _ResultNo = ""; private string _LotNo = ""; private int _OffLineFlag = 0; //下线 反线标识 int _QAFlag = 0; private string ColUser = ""; private string ColGroup = ""; private string ColShift = ""; private int _MatNum = 0; private double _Diameter = 0; //外径 private double _Thickness = 0; //壁厚 private double _Length = 0; //长度 private double _HeightRate = 1; //重量系数 private int _OffLineNum = 0; //下线支 private int _WasteNum = 0; //废品支 private double _DBHeight = 0; //单支管重量 = (外径 - 壁厚)* 壁厚 * 0.02466 * 长度 * 重量系数 private string _plineCode = ""; //产线 private string backPlanflag = "";//是否为正常计划 public string _ScrapNum //废品支数 用于传值到参数设定界面 { get { return umeScrapNum.Value.ToString(); } } public string _OffLineNumF //下线品支数 用于传值到参数设定界面 { get { return umeOffLineNum.Value.ToString(); } } public string _ZLXS //重量系数 用于传值到参数设定界面 { get { return this.uneZL.Value.ToString(); } } public FrmQADefect(string JudgeStoveNo, string ResultNo, string proPlanId, string gxPlanNo, string LotNo, int MatNum, double Diameter, double Thickness, double Length, int QaFlag, int OffLineFlag, string plineCode, string backFlag, OpeBase ob) { _JudgeStoveNo = JudgeStoveNo; _ResultNo = ResultNo; _proPlanId = proPlanId; _gxPlanNo = gxPlanNo; _LotNo = LotNo; _ob = ob; _Diameter = Diameter; _Thickness = Thickness; _Length = Length; _MatNum = MatNum; _QAFlag = QaFlag; _OffLineFlag = OffLineFlag; _plineCode = plineCode; backPlanflag = backFlag; InitializeComponent(); InitCol(); } /// /// 初始化 /// private void InitCol() { ultraGrid2.ClickCellButton += new CellEventHandler(ultraGrid2_ClickCellButton); //添加缺陷项 //ultraGrid1.ClickCellButton += new CellEventHandler(ultraGrid1_ClickCellButton); //删除缺陷项 dtItem.Clear(); cmbItemLevel.Items.Add("", " "); cmbItemLevel.Items.Add(0, "常用"); cmbItemLevel.Items.Add(1, "不常用"); txtItemCode.Text = ""; txtItemName.Text = ""; GetResult(); //查询已抽检过的废品支 下线支 重量系数 GetDefectItem(); //查询已登记的缺陷项 txtHeatNo.Text = BaseMethod.getJudgeStoveNo(_JudgeStoveNo); txtLotNo.Text = _LotNo; ColUser = UserInfo.GetUserName(); ColGroup = UserInfo.GetUserGroup(); ColShift = UserInfo.GetUserOrder(); uneZL.Value = _HeightRate; _DBHeight = (_Diameter - _Thickness) * _Thickness * 0.02466 * _Length * double.Parse(uneZL.Value.ToString()); umeScrapTon.Value = _DBHeight * int.Parse(umeScrapNum.Value.ToString()); GetDefectAll(); } /// /// 查询实绩参数 如果是质检过的 带来质检数据 重量系数 下线支 废品支 /// private void GetResult() { //查询该炉重量系数 下线支 废品支 DataTable dtZLXS = ServerHelper.GetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.GetQAResult", new object[] { _JudgeStoveNo, _ResultNo, _proPlanId, _gxPlanNo }, this._ob); if (dtZLXS.Rows.Count > 0) { //重量系数 if (!string.IsNullOrEmpty(dtZLXS.Rows[0]["HEIGHT_RATE"].ToString())) { _HeightRate = double.Parse(dtZLXS.Rows[0]["HEIGHT_RATE"].ToString()); } //if (_QAFlag == 1) //{ // //下线支 // if (!string.IsNullOrEmpty(dtZLXS.Rows[0]["OFFLINE_QUANTITY_F"].ToString())) // { // _OffLineNum = int.Parse(dtZLXS.Rows[0]["OFFLINE_QUANTITY_F"].ToString()); // } // //废品支 // if (!string.IsNullOrEmpty(dtZLXS.Rows[0]["WASTE_QUANTITY_F"].ToString())) // { // _WasteNum = int.Parse(dtZLXS.Rows[0]["WASTE_QUANTITY_F"].ToString()); // } //} //else //{ // //下线支 // if (!string.IsNullOrEmpty(dtZLXS.Rows[0]["OFFLINE_QUANTITY_S"].ToString())) // { // _OffLineNum = int.Parse(dtZLXS.Rows[0]["OFFLINE_QUANTITY_S"].ToString()); // } // //废品支 // if (!string.IsNullOrEmpty(dtZLXS.Rows[0]["WASTE_QUANTITY_S"].ToString())) // { // _WasteNum = int.Parse(dtZLXS.Rows[0]["WASTE_QUANTITY_S"].ToString()); // } //} } umeScrapNum.Value = _WasteNum; umeOffLineNum.Value = _OffLineNum; } /// /// 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 GetDefectItem() { string ItemName = ""; string Offline = ""; string WasteBrach = ""; string defectCode = ""; string jugeNo = ""; this.dtDefect.Clear(); int scarpNumTal = 0; int offlineTal = 0; double scrapTon = 0.0; DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.checkedDefectItemQuery", new object[] { _JudgeStoveNo, _ResultNo, _QAFlag }, this._ob); if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { ItemName = dt.Rows[i]["DEFECT_ITEM"].ToString(); WasteBrach = dt.Rows[i]["WASTE_BRANCH"].ToString(); Offline = dt.Rows[i]["OFFLINE_PRODUCT"].ToString(); defectCode = dt.Rows[i]["DEFECT_CODE"].ToString(); jugeNo = dt.Rows[i]["JUDGE_STOVE_NO"].ToString(); DataRow dr1 = dtDefect.NewRow(); dr1["DEFECT_ITEM"] = ItemName; dr1["WASTE_BRANCH"] = WasteBrach; dr1["OFFLINE_PRODUCT"] = Offline; dr1["DEFECT_CODE"] = defectCode; dr1["DELETE_ITEM"] = "移除"; dr1["JUDGE_STOVE_NO"] = jugeNo; dtDefect.Rows.Add(dr1); scarpNumTal = scarpNumTal + int.Parse(dt.Rows[i]["TWASTE_BRANCH"].ToString()); offlineTal = offlineTal + int.Parse(dt.Rows[i]["TOFFLINE_PRODUCT"].ToString()); scrapTon = scrapTon + double.Parse(dt.Rows[i]["TWASTE_TONS"].ToString()); } ultraGrid2.DataBind(); this.umeScrapNum.Value = scarpNumTal; this.umeScrapTon.Value = scrapTon; this.umeOffLineNum.Value = offlineTal; } else { this.umeScrapNum.Value = "0"; this.umeScrapTon.Value = "0.000"; this.umeOffLineNum.Value = "0"; } } private void GetDefectAll() { string ItemName = ""; string ItemLevel = ""; 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, ItemName }, this._ob); GridHelper.CopyDataToDatatable(ref dt, ref dtItem, true); } /// /// 缺陷项查询条件 /// /// /// private void ultraButton2_Click(object sender, EventArgs e) { GetDefectAll(); } /// /// 添加缺陷项 /// /// /// void ultraGrid2_ClickCellButton(object sender, CellEventArgs e) { if (e.Cell.Column.Key == "ADD_ITEM") { string ItemCode = e.Cell.Row.Cells["BASECODE"].Value.ToString(); string ItemName = e.Cell.Row.Cells["BASENAME"].Value.ToString(); foreach (DataRow dr in dtDefect.Rows) { if (dr["DEFECT_CODE"].ToString() == ItemCode) { MessageUtil.ShowWarning("缺陷项【" + ItemName + "】已添加"); return; } } DataRow dr1 = dtDefect.NewRow(); dr1["DEFECT_ITEM"] = ItemName; dr1["DEFECT_CODE"] = ItemCode; dr1["DELETE_ITEM"] = "移除"; dtDefect.Rows.Add(dr1); ultraGrid2.DataBind(); } // throw new NotImplementedException(); } private string StrNullTo0(string str) { return string.IsNullOrEmpty(str) ? "0" : str; } /// /// 数据检验 /// /// private bool DateCheck() { bool Check = true; int DefectScrapNumTotal = 0; //缺陷项总剔除支数 int DefectOffNumTotal = 0; //缺陷项总下线支数 if (_QAFlag == 1) { //废品支 下线支数据检验 if (string.IsNullOrEmpty(umeScrapNum.Value.ToString())) { MessageBox.Show("废品支不能为空!"); umeScrapNum.Focus(); return Check = false; } 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; } if (int.Parse(umeScrapNum.Value.ToString()) > _MatNum) { MessageBox.Show("下线支不能为大于现有炉次总支数!"); umeOffLineNum.Focus(); return Check = false; } } else { //查询该炉一次抽检下线支 DataTable dtQAOffNum = ServerHelper.GetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.GetQAResult", new object[] { _JudgeStoveNo, _ResultNo, _proPlanId, _gxPlanNo }, this._ob); int OffNum = int.Parse(dtQAOffNum.Rows[0]["OFFLINE_QUANTITY_F"].ToString()); //废品支 下线支数据检验 if (string.IsNullOrEmpty(umeScrapNum.Value.ToString())) { MessageBox.Show("废品支不能为空!"); umeScrapNum.Focus(); return Check = false; } if (string.IsNullOrEmpty(this.umeOffLineNum.Value.ToString())) { MessageBox.Show("下线支不能为空!"); umeOffLineNum.Focus(); return Check = false; } if ((int.Parse(umeScrapNum.Value.ToString()) + int.Parse(umeScrapNum.Value.ToString()) > OffNum)) { MessageBox.Show("废品支数和下线支数总和不能大于一检下线支数!一检下线支数:" + OffNum + ""); umeOffLineNum.Focus(); 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; } /// /// 确认按钮 /// /// /// private void btnOK_Click(object sender, EventArgs e) { //if (!DateCheck()) //{ // return; //} string strInbound = "800707";//入库类型 string strInMemo = ""; this.ultraGrid1.UpdateData(); int scrapNum = 0;//废品总支 int offLineNum = 0;//下线总支 int xxOfflineNum = 0; //交库点离线的支数 UltraGridRow uRow = this.ultraGrid1.ActiveRow; if (uRow == null) return; //IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); //if (checkMagRows.Count() == 0) //{ // MessageUtil.ShowTips("请勾选需要保存的缺陷项!"); // return; //} foreach (UltraGridRow inputRow in this.ultraGrid1.Rows) { if (StrNullTo0(inputRow.Cells["WASTE_BRANCH"].Value.ToString()).Equals("0") && StrNullTo0(inputRow.Cells["OFFLINE_PRODUCT"].Value.ToString()).Equals("0")) { MessageUtil.ShowTips("废品支数和下线支数同时为空的缺陷项,不允许登记!"); return; } } DataTable dtMemo = PipeManageClass.getComTypeInfo(strInbound, _ob); if (dtMemo.Rows.Count >= 1) { strInMemo = dtMemo.Rows[0]["MEMO"].ToString(); } DataTable sd = getStoreNo(_plineCode); if (sd == null) { MessageUtil.ShowTips("无轧管在线库基础信息,请维护!"); return; } ArrayList list = new ArrayList(); list.Add(sd.Rows[0]["STORAGE_NO"].ToString()); list.Add(sd.Rows[0]["STORAGE_NO"].ToString() + "10101"); list.Add(sd.Rows[0]["STORAGE_TYPE_NO"].ToString()); list.Add(sd.Rows[0]["STORAGE_TYPE_NAME"].ToString()); list.Add(this.UserInfo.GetDeptid()); list.Add(this.UserInfo.GetDepartment()); list.Add(this.UserInfo.GetDeptid()); list.Add(this.UserInfo.GetDepartment()); list.Add(this.UserInfo.GetUserOrder()); list.Add(this.UserInfo.GetUserGroup()); //list.Add(PipeManageClass.GetDepartIdBySectionId(this.UserInfo.GetDeptid(), this._ob)); //list.Add(PipeManageClass.GetDepartBySectionId(this.UserInfo.GetDeptid(), this._ob)); ArrayList ListCehckSize = new ArrayList(); foreach (UltraGridRow row in this.ultraGrid1.Rows) { MilCheckDeatilEntity CheckDetailSave = new MilCheckDeatilEntity(); CheckDetailSave.JudgeStoveNo = _JudgeStoveNo; CheckDetailSave.ResultNo = _ResultNo; CheckDetailSave.DefectCode = row.Cells["DEFECT_CODE"].Value.ToString(); CheckDetailSave.DefectItem = row.Cells["DEFECT_ITEM"].Value.ToString(); CheckDetailSave.WasteBranch = StrNullTo0(row.Cells["WASTE_BRANCH"].Value.ToString()); CheckDetailSave.OfflineProduct = StrNullTo0(row.Cells["OFFLINE_PRODUCT"].Value.ToString()); //CheckDetailSave.Flag = _QAFlag; string ss = JSONFormat.Format(CheckDetailSave); ListCehckSize.Add(ss); scrapNum = scrapNum + int.Parse(StrNullTo0(row.Cells["WASTE_BRANCH"].Value.ToString())); offLineNum = offLineNum + int.Parse(StrNullTo0(row.Cells["OFFLINE_PRODUCT"].Value.ToString())); } DataTable ds = new DataTable(); DataTable dt = new DataTable(); //if (backPlanflag == "0"||backPlanflag == "8") //{ // ds = ServerHelper.GetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.doQueryTestResult", new object[] { _ResultNo, _plineCode }, _ob); //} //else if (backPlanflag == "9") //{ // ds = ServerHelper.GetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.doQueryPlanBratch", new object[] { _ResultNo, _plineCode }, _ob); //} ds = ServerHelper.GetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.doQueryPort", new object[] { _ResultNo, _plineCode }, _ob); if (scrapNum + offLineNum >int.Parse(ds.Rows[0]["QUALIFIED_NUM"].ToString3())) { MessageUtil.ShowTips("质检缺陷项登记的总支数不能大于现有合格状态并且未交库的支数!"); return; } dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FrmOffLine.doQueryXxOfflinNum", new object[] { _JudgeStoveNo, _plineCode, _proPlanId, _gxPlanNo }, _ob); if (dt.Rows.Count > 0) { xxOfflineNum = int.Parse(dt.Rows[0]["OFFLINE_NUM"].ToString3()); if (scrapNum + offLineNum + xxOfflineNum > int.Parse(ds.Rows[0]["QUALIFIED_NUM"].ToString3())) { MessageBox.Show("交库点已交库和离线了" + xxOfflineNum + "支,请确认数据再做离线!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.zgmil.coup.SurfaceInspectionResult"; ccp.MethodName = "doInsetDefectData"; ccp.ServerParams = new object[] { ListCehckSize, scrapNum.ToString(), offLineNum.ToString(), this.UserInfo.GetUserName(), this.UserInfo.GetUserGroup(), this.UserInfo.GetUserOrder(), list, strInbound, strInMemo, _plineCode, _proPlanId, _gxPlanNo }; ccp = _ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("缺陷项登记成功!")) { GetDefectItem(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } ////插入炉次对应缺陷项下线支、废品支 //int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.insertDefectData", new object[] { ListCehckSize, _JudgeStoveNo, _ResultNo, _QAFlag }, this._ob); //Random Ran = new Random(); //int ScrapRanSeq = _MatNum - int.Parse(_OffLineNumF) - int.Parse(_ScrapNum) + 1; ////int ScrapRanSeq = Ran.Next(1, _MatNum - int.Parse(umeScrapNum.Value.ToString()) - int.Parse(umeOffLineNum.Value.ToString())); //废品随机起始支 下线品起始支=废品起始支+废品总支数 ////1-删除缺陷管号 2-修改管号状态 最终下线-正常、剔除-正常 3-删除管号剔除表记录 //int count3 = ServerHelper.SetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.deleteDefectMat", new object[] { _JudgeStoveNo, _ResultNo, _QAFlag }, this._ob); ////1-插入缺陷管号 2-修改管号一次下线状态 正常-一次下线、正常-剔除 3-新增管号剔除表记录 //int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.insertDefectMat", new object[] { _JudgeStoveNo, _ResultNo, ScrapRanSeq, int.Parse(umeScrapNum.Value.ToString()), int.Parse(umeOffLineNum.Value.ToString()), ColUser, ColShift, ColGroup, _QAFlag }, this._ob); ////管号插入缺陷项 //int count2 = ServerHelper.SetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.inserDefectCheck", new object[] { _JudgeStoveNo, _ResultNo, ScrapRanSeq, int.Parse(umeScrapNum.Value.ToString()), int.Parse(umeOffLineNum.Value.ToString()), _QAFlag }, this._ob); this.DialogResult = DialogResult.OK; } /// /// 查询仓库信息 /// /// /// private DataTable getStoreNo(string plineCode) { DataTable ds = ServerHelper.GetData("com.steering.mes.signature.FrmInOnlineStore.doQueryStoreNo", new object[] { plineCode }, _ob); if (ds.Rows.Count > 0) { return ds; } else { return null; } } /// /// 根据重量系数 剔除支数算出废品吨 /// /// /// private void umeScrapNum_ValueChanged(object sender, EventArgs e) { _DBHeight = (_Diameter - _Thickness) * _Thickness * 0.02466 * _Length * double.Parse(uneZL.Value.ToString()); umeScrapTon.Value = _DBHeight * int.Parse(umeScrapNum.Value.ToString()); } private 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]["CHK"].ToString() == "True") // { // if (dtDefect.Rows[i]["DEFECT_ITEM"].ToString() == e.Cell.Row.Cells["DEFECT_ITEM"].Value.ToString()) // { // dtDefect.Rows.RemoveAt(i); // i--; // break; // //this.ultraGrid1.Rows[0].Delete(); // } // } //} //for (int i = 0; i < this.ultraGrid1.Rows.Count;i++ ) //{ // if (this.ultraGrid1.Rows[i].Cells["CHK"].Value.ToString() == "True") // { // this.ultraGrid1.Rows[i].Delete(); // i--; // break; // } //} DataTable ds = ServerHelper.GetData("com.steering.mes.zgmil.coup.SurfaceInspectionResult.getCheckDetail", new object[] { _JudgeStoveNo, this.ultraGrid1.ActiveRow.Cells["DEFECT_CODE"].Value.ToString2() }, _ob); if (ds.Rows.Count > 0) { doDeleteDefect(); } if (this.ultraGrid1.ActiveRow == null) return; this.ultraGrid1.ActiveRow.Delete(); GetDefectItem(); } } /// /// 删除缺陷项 /// private void doDeleteDefect() { this.ultraGrid1.UpdateData(); UltraGridRow uRow = this.ultraGrid1.ActiveRow; if (uRow == null) return; ArrayList parm = new ArrayList(); parm.Add(uRow.Cells["JUDGE_STOVE_NO"].Value.ToString()); parm.Add(uRow.Cells["DEFECT_CODE"].Value.ToString()); parm.Add(string.IsNullOrEmpty(uRow.Cells["OFFLINE_PRODUCT"].Value.ToString()) ? "0" : uRow.Cells["OFFLINE_PRODUCT"].Value.ToString()); parm.Add(string.IsNullOrEmpty(uRow.Cells["WASTE_BRANCH"].Value.ToString()) ? "0" : uRow.Cells["WASTE_BRANCH"].Value.ToString()); if (MessageUtil.ShowYesNoAndQuestion("是否确认删除此缺陷项?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.zgmil.coup.SurfaceInspectionResult"; ccp.MethodName = "doDeleteDefect"; ccp.ServerParams = new object[] { parm }; ccp = _ob.ExecuteNonQuery(ccp,CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("缺陷项删除成功!")) { //GetDefectItem(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } private void FrmQADefect_FormClosed(object sender, FormClosedEventArgs e) { this.DialogResult = DialogResult.OK; } } }