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