/// <summary> /// 添加按钮 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSave_Click(object sender, EventArgs e) { DataTable dt = DGpro.DataSource as DataTable; if (dt != null) { this.btnSave.Enabled = false; DataRow row = dt.Rows[selectRow]; //获取选中的行 string sql = string.Empty; if (this.ckwg.Checked) //完工 { sql = String.Format("UPDATE {0}WOR1 SET U_SFWG = 'Y',U_SHQty = U_SHQty + {1} WHERE DocEntry={2} AND LineNum={3}", ConnModel.commonDB + "..", Convert.ToDouble(tb_Quantity.Text.Trim()), cmbPro.Text, row["订单行号"]); if (SqlHelper.ExecuteNonquery(sql, CommandType.Text) <= 0) { MessageBox.Show("更新SAP数据超时,请稍后重试..."); this.btnSave.Enabled = true; return; } } else//未点选完工 { sql = String.Format("UPDATE {0}WOR1 SET U_SHQty = U_SHQty + {1} WHERE DocEntry={2} AND LineNum={3}", ConnModel.commonDB + "..", Convert.ToDouble(tb_Quantity.Text.Trim()), cmbPro.Text, row["订单行号"]); if (SqlHelper.ExecuteNonquery(sql, CommandType.Text) <= 0) { MessageBox.Show("更新SAP数据超时,请稍后重试..."); this.btnSave.Enabled = true; return; } } //往临时库添加数据 sql = string.Format("INSERT INTO ProduHair(PlanNum,ProOrderNum,LineNum,ItemCode,ItemName,Quantity,BatchNum,WhsCode) VALUES ('{0}','{1}',{2},'{3}','{4}',{5},'{6}','{7}')", cmbProPlan.Text, cmbPro.Text, row["订单行号"], row["物料编码"], row["物料名称"], tb_Quantity.Text.Trim(), txtTraceNo.Text.Trim(), row["仓库"]); if (SqlHelper.ExecuteNonquery(sql, CommandType.Text) > 0) { if (this.ckwg.Checked) //完工,移除行数据 { dt.Rows.RemoveAt(selectRow); } else { row["已发"] = (Convert.ToDouble(row["已发"].ToString()) + (Convert.ToDouble(tb_Quantity.Text.Trim()))).ToString(); row["未发"] = (Convert.ToDouble(row["计划"].ToString()) - Convert.ToDouble(row["已发"].ToString())).ToString(); } DGpro.DataSource = dt; for (int i = 0; i < dt.Rows.Count; i++) { DGpro.UnSelect(i); } MessageBox.Show("数据添加已完成..."); this.txtTraceNo.Text = ""; this.tb_Quantity.Text = ""; ckwg.Checked = false; selectRow = 0; } else { MessageBox.Show("添加数据超时,请稍后重试..."); this.btnSave.Enabled = true; } } }
/// <summary> /// 物料编码文本发生改变 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void txtTraceNo_TextChanged(object sender, EventArgs e) { string val = txtTraceNo.Text.Trim(); if (val == "") { return; } DataTable dt = ((DataTable)DGpro.DataSource); if (dt != null) { for (int i = 0; i < dt.Rows.Count; i++) { if (val == dt.Rows[i]["物料编码"].ToString()) { selectRow = i; DGpro.Select(i); this.btnSave.Enabled = true; break; } } } }