前几天修改现场的一个bug,觉得很有意思,特此分享
1.具体bug问题:将数字分别添加到DataSet相应的列中,但现场出现数字叠加,没有相应填入。
int num = 0;
if (drowsv.Length > 0)
{//sushimao 20180302 注释
用于判断当前条码是否被导入过
//DataRow[] issdrow = dsMaterialReady1.VP_MATERIELCOMPLETELY.Select("WORKNO = '" + strworkno + "' and materialcode = '" + drow["drawcode"].ToString() + "' and '" + strbarCode + "' in ('" + drowsv[0]["ZSMNO"].ToString() + "')");
//if (issdrow.Length > 0)
//{
// UserMessages.ShowInfoBox("当前订单已经导入,请核对需要导入的信息!");
// return;
//}
if (drowsv[num]["ISREADY3"].ToString() == "是")//zhuang20181014
{
UserMessages.ShowInfoBox("该配送单已经进行过齐套");
return;
}
else
{
gVMate.BeginDataUpdate();
if (drowsv[0]["ARRIVEAMOUNT"] == System.DBNull.Value)
{
drowsv[0]["ARRIVEAMOUNT"] = 0;
}
if (drow["amount"] == System.DBNull.Value)
{
drow["amount"] = 0;
}
//yehy 20181019 增加判断条件
string strIsselect = drowsv[num]["ISSELECT"].ToString();
if (strIsselect != "True")
{
if (drowsv[num]["ARRIVEAMOUNT"] == System.DBNull.Value)
{
drowsv[num]["ARRIVEAMOUNT"] = 0 + System.Convert.ToDecimal(drow["amount"]);
}
else
{
drowsv[num]["ARRIVEAMOUNT"] = System.Convert.ToDecimal(drowsv[num]["ARRIVEAMOUNT"]) + System.Convert.ToDecimal(drow["amount"]);
}
drowsv[num]["ISREADY3"] = "是";//zhuang20181014
drowsv[num]["ZSMNO"] = drowsv[0]["ZSMNO"].ToString() + "','" + strBarCode;
drowsv[num]["ISSELECT"] = true;
}
num++;
//yehy 20181019 对数量进行控制
if (num==drowsv.Length)
{
num = 0;
}
gVMate.EndDataUpdate();
}
}