private void btnSave_Click(object sender, EventArgs e) { try { try { gridView1.FocusedRowHandle -= 1; gridView1.FocusedRowHandle += 1; } catch { } int iCou = 0; string sErr = ""; string s_Guid = Guid.NewGuid().ToString(); SqlConnection conn = new SqlConnection(DbHelperSQL.connectionString); conn.Open(); //启用事务 SqlTransaction tran = conn.BeginTransaction(); try { int iCode = 0; string sSQL = ""; if (txt单据号.Text.Trim() != "") { sSQL = @" select * from [dbo].[_高开返利单] where cCode = '{0}' "; sSQL = string.Format(sSQL, txt单据号.Text.Trim()); DataTable dt = DbHelperSQL.ExecuteDataset(tran, CommandType.Text, sSQL).Tables[0]; if (dt == null || dt.Rows.Count == 0) { iCode = 0; } else { if (dt.Rows[0]["auditUid"].ToString().Trim() != "") { throw new Exception("单据已经审核"); } sSQL = @" delete [_高开返利单] where cCode = '{0}' "; sSQL = string.Format(sSQL, txt单据号.Text.Trim()); DbHelperSQL.ExecuteNonQuery(tran, CommandType.Text, sSQL); } } sSQL = @" select max(cCode) as cCodeMax from [dbo].[_高开返利单] where cCode like '{0}%' "; sSQL = string.Format(sSQL, dtm.DateTime.ToString("yyyyMM")); DataTable dtCode = DbHelperSQL.ExecuteDataset(tran, CommandType.Text, sSQL).Tables[0]; if (dtCode == null || dtCode.Rows.Count == 0 || dtCode.Rows[0]["cCodeMax"].ToString().Trim() == "") { iCode = 1; } else { string sCodeTemp = dtCode.Rows[0]["cCodeMax"].ToString().Trim(); string stemp = sCodeTemp.Substring(6); iCode = BaseFunction.ReturnInt(stemp) + 1; } string sCode = iCode.ToString().Trim(); sCode = dtm.DateTime.ToString("yyyyMM") + sCode.PadLeft(4, '0'); for (int i = 0; i < gridView1.RowCount; i++) { if (!BaseFunction.ReturnBool(gridView1.GetRowCellValue(i, gridCol选择))) { continue; } bool bRed = BaseFunction.ReturnBool(gridView1.GetRowCellValue(i, gridColbRed)); decimal d发货单价 = BaseFunction.ReturnDecimal(gridView1.GetRowCellValue(i, gridCol发货单价)); if (d发货单价 <= 0 && !bRed) { sErr = sErr + "行" + (i + 1).ToString() + "发货单价不正确\n"; continue; } Model._高开返利单 mod = new UFIDA.U8.UAP.CustomApp.ControlForm.Model._高开返利单(); mod.cCode = sCode; mod.dtmDate = dtm.DateTime; mod.FPIDs = BaseFunction.ReturnInt(gridView1.GetRowCellValue(i, gridCol发票表体ID)); mod.cSBVCode = gridView1.GetRowCellValue(i, gridCol发票号).ToString().Trim(); mod.dDate = BaseFunction.ReturnDate(gridView1.GetRowCellValue(i, gridCol发票日期)); mod.cPersonCode = gridView1.GetRowCellValue(i, gridColcPersonCode).ToString().Trim(); mod.cPersonName = gridView1.GetRowCellValue(i, gridColcPersonName).ToString().Trim(); //mod.cPersonCode = lookUpEditcPersonCode.EditValue.ToString().Trim(); //mod.cPersonName = lookUpEditcPersonName.Text.Trim(); mod.cDepCode = gridView1.GetRowCellValue(i, gridCol部门编号).ToString().Trim(); mod.cDepName = gridView1.GetRowCellValue(i, gridCol部门名称).ToString().Trim(); mod.cCusCode = gridView1.GetRowCellValue(i, gridCol客户编码).ToString().Trim(); mod.cCusName = gridView1.GetRowCellValue(i, gridCol客户名称).ToString().Trim(); mod.cCusAbbName = gridView1.GetRowCellValue(i, gridCol客户简称).ToString().Trim(); mod.cInvCode = gridView1.GetRowCellValue(i, gridCol存货编码).ToString().Trim(); mod.cInvName = gridView1.GetRowCellValue(i, gridCol存货名称).ToString().Trim(); mod.cInvStd = gridView1.GetRowCellValue(i, gridCol规格型号).ToString().Trim(); mod.iTaxUnitPrice = BaseFunction.ReturnDecimal(gridView1.GetRowCellValue(i, gridCol单价)); mod.iQuantity = BaseFunction.ReturnDecimal(gridView1.GetRowCellValue(i, gridCol数量)); mod.iSum = BaseFunction.ReturnDecimal(gridView1.GetRowCellValue(i, gridCol金额)); mod.cDLCode = gridView1.GetRowCellValue(i, gridCol发货单号).ToString().Trim(); mod.iTaxUnitPriceFH = BaseFunction.ReturnDecimal(gridView1.GetRowCellValue(i, gridCol发货单价)); mod.iTaxRateCJ = BaseFunction.ReturnDecimal(gridView1.GetRowCellValue(i, gridCol差价税率)); mod.iTaxCJ = BaseFunction.ReturnDecimal(gridView1.GetRowCellValue(i, gridCol差价税额)); mod.iMoneyFL = BaseFunction.ReturnDecimal(gridView1.GetRowCellValue(i, gridCol返利金额)); mod.createUid = sUserID; mod.dtmCreate = BaseFunction.ReturnDate(sLogDate); mod.Remark = txt备注.Text.Trim(); mod.DLS = gridView1.GetRowCellValue(i, gridCol代理商编码).ToString().Trim(); mod.DLSName = gridView1.GetRowCellValue(i, gridCol代理商).ToString().Trim(); mod.sGUID = s_Guid; mod.bRed = BaseFunction.ReturnBool(gridView1.GetRowCellValue(i, gridColbRed)); DAL._高开返利单 dal = new UFIDA.U8.UAP.CustomApp.ControlForm.DAL._高开返利单(); sSQL = dal.Add(mod); iCou += DbHelperSQL.ExecuteNonQuery(tran, CommandType.Text, sSQL); txt单据号.Text = mod.cCode; lookUpEdit_cPersonCode.EditValue = mod.cPersonCode; //int iFoc = gridView1.FocusedRowHandle; //GetGrid(tran); //gridView1.FocusedRowHandle = iFoc; } if (sErr.Length > 0) { throw new Exception(sErr.Trim()); } if (iCou > 0) { tran.Commit(); MessageBox.Show("保存成功\n单据号:" + sCode); SetEnable(false); } else { throw new Exception("请选择需要保存的数据"); } } catch (Exception error) { tran.Rollback(); throw new Exception(error.Message); } } catch (Exception ee) { FrmMsgBox f = new FrmMsgBox(); f.Text = "保存失败"; f.richTextBox1.Text = ee.Message; f.ShowDialog(); } }
private void btnDel_Click(object sender, EventArgs e) { try { try { gridView1.FocusedRowHandle -= 1; gridView1.FocusedRowHandle += 1; } catch { } string sErr = ""; int iCou = 0; SqlConnection conn = new SqlConnection(DbHelperSQL.connectionString); conn.Open(); //启用事务 SqlTransaction tran = conn.BeginTransaction(); try { if (txt单据号.Text.Trim() == "") { throw new Exception("请选择单据"); } string sSQL = @" select * from [dbo].[_高开返利单] where cCode = '{0}' "; sSQL = string.Format(sSQL, txt单据号.Text.Trim()); DataTable dt = DbHelperSQL.ExecuteDataset(tran, CommandType.Text, sSQL).Tables[0]; if (dt == null || dt.Rows.Count == 0) { throw new Exception("单据不存在"); } if (dt.Rows[0]["auditUid"].ToString().Trim() != "") { throw new Exception("单据已经审核"); } DAL._高开返利单 dal = new UFIDA.U8.UAP.CustomApp.ControlForm.DAL._高开返利单(); sSQL = dal.Delete(txt单据号.Text.Trim()); iCou = DbHelperSQL.ExecuteNonQuery(tran, CommandType.Text, sSQL); tran.Commit(); if (iCou > 0) { MessageBox.Show("删除成功"); SetNull(); SetEnable(true); } } catch (Exception error) { tran.Rollback(); throw new Exception(error.Message); } } catch (Exception ee) { FrmMsgBox f = new FrmMsgBox(); f.Text = "删除失败"; f.richTextBox1.Text = ee.Message; f.ShowDialog(); } }