private void tlb_M_Delete_Click(object sender, EventArgs e) { if (bdsMain.Count == 0) { MessageBox.Show("对不起,无数据可删除!"); return; } DataRowView drvX = (DataRowView)bdsMain.Current; if (drvX == null) { return; } string sBNo = drvX["cBNo"].ToString(); if (drvX["bIsChecked"].ToString() == "1") { MessageBox.Show("对不起,改单已经审核,不能删除!"); return; } if (MessageBox.Show("您确定要删除该单号:" + sBNo + " 吗 ?", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.No) { return; } string sErr = ""; if (!DBFuns.DoExecSql(AppInformation.SvrSocket, "delete TWB_BillMergePltDtl where cBNo='" + sBNo + "'", "", out sErr)) { MessageBox.Show("删除单据明细数据失败:" + sErr); return; } if (!DBFuns.DoExecSql(AppInformation.SvrSocket, "delete TWB_BillMergePlt where cBNo='" + sBNo + "'", "", out sErr)) { MessageBox.Show("删除单据数据失败:" + sErr); return; } MessageBox.Show("删除单据数据成功!"); btnQry_Click(null, null); }
private void btn_OK_Click(object sender, EventArgs e) { if (!bCheckIsOK()) { return; } string sPosFrom = ""; string sPosTo = ""; string sPltFrom = ""; string sPltTo = ""; #region DataRowView drvX = null; drvX = (DataRowView)bds_Pos_From.Current; if (drvX != null) { sPosFrom = drvX["cPosId"].ToString(); sPltFrom = drvX["nPalletId"].ToString();; } drvX = (DataRowView)bds_Pos_To.Current; if (drvX != null) { sPosTo = drvX["cPosId"].ToString(); sPltTo = drvX["nPalletId"].ToString();; } if (sPosFrom.Trim() == "" || sPltFrom.Trim() == "" || sPosTo.Trim() == "" || sPltTo.Trim() == "") { MessageBox.Show("对不起,合盘操作的源货位和托盘或者目标货位和托盘数据不能为空!"); return; } if (sPltFrom.Trim() == sPltTo.Trim()) { MessageBox.Show("对不起,合盘操作的源货位和目标货位不能相同!"); return; } if (MessageBox.Show("您确定将 " + sPosFrom + " 里的所选物料合盘到 " + sPosTo + " 里去吗?", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.No) { return; } #endregion #region StringBuilder sSql = new StringBuilder(""); #region 主表 //获取单号 string sErr = ""; string sBNo = ""; sBNo = DBFuns.GetNewId(AppInformation.SvrSocket, "TWB_BillMergePlt", "cBNo", 12, ("BMP" + DateTime.Now.ToString("yyMMdd")), out sErr); if (sErr.Trim() != "" && sErr.Trim() != "0") { MessageBox.Show(sErr); return; } if (sBNo.Trim() == "") { MessageBox.Show("对不起,获取单号失败!"); return; } sSql.Append("insert into TWB_BillMergePlt(cBNo,nBClass, cPosIdFrom, cPosIdTo, nPalletIdFrom, nPalletIdTo,"); sSql.Append(" nWorkIdFrom, nWorkIdTo, nWkTskFromIsEmptyOut, nWorkFromStatus, nWorkToStatus, cCreatorId,"); sSql.Append(" cCreator, dCreateDate, bIsChecked, dCheckDate, cChecker, bIsFinished)"); sSql.Append("Values('" + sBNo + "',12,'" + sPosFrom + "','" + sPosTo + "','" + sPltFrom + "','" + sPltTo + "',"); sSql.Append("0,0,0,0,0,'" + UserInformation.UserId + "','" + UserInformation.UserName + "',getdate(),0,null,'',0 ) "); if (!DBFuns.DoExecSql(AppInformation.SvrSocket, sSql.ToString(), "dCreateDate,dCheckDate", out sErr)) { MessageBox.Show("新建主表数据时,失败:" + sErr); return; } #endregion #region 明细表 int nX = 0; grd_StockDtl_From.EndEdit(); foreach (DataGridViewRow grdvr in grd_StockDtl_From.Rows) { object objX = null; objX = grdvr.Cells[col_From_Selected.Name].Value; if (Convert.ToBoolean(objX)) { nX++; sSql.Remove(0, sSql.Length); sSql.Append("insert into TWB_BillMergePltDtl(cBNo,nItem,nPalletId,cPosId,cBoxId,cMNo,cBatchNo,cBNoIn,nItemIn,dProdDate,nQCStatus,"); sSql.Append("dValiDate,cUNit,bIsSample,cCSId,cSuppler,cDtlRemark,nStatus,cWHIdErp,cWHId,fQty,fFinished,bIsOut,cRemark)"); sSql.Append("select '" + sBNo + "'," + nX.ToString() + ",nPalletId,cPosId,cBoxId,cMNo,cBatchNo,cBNoIn,nItemIn,dProdDate,nQCStatus,"); sSql.Append("dBadDate,cUnit,0,cDtlCSId,cDtlSupplier,cDtlRemark,1,cWHIdErp,cWHId,fQty,0,1,'' cRemark from V_StoreItemList "); sSql.Append(" where nPalletId='" + sPltFrom.Trim() + "' and cPosId='" + sPosFrom.Trim() + "' and cMNo='" + grdvr.Cells[col_From_MNo.Name].Value.ToString() + "'"); sSql.Append(" and cBNoIn='" + grdvr.Cells[col_From_BNOIn.Name].Value.ToString() + "' "); sSql.Append(" and nItemIn=" + grdvr.Cells[col_From_ItemIn.Name].Value.ToString()); if (!DBFuns.DoExecSql(AppInformation.SvrSocket, sSql.ToString(), "", out sErr)) { MessageBox.Show("新建明细表数据时,失败:" + sErr); MessageBox.Show("成功增加了 " + (nX - 1).ToString() + " 条明细数据!"); return; } } } #endregion #endregion MessageBox.Show("保存合盘单据数据成功!"); Close(); }