public BllSalesTable GetModel(string SLIP_NUMBER) { StringBuilder strSql = new StringBuilder(); strSql.Append("select *from bll_sales_search_view "); strSql.Append(" where SLIP_NUMBER=@SLIP_NUMBER "); SqlParameter[] parameters = { new SqlParameter("@SLIP_NUMBER", SqlDbType.VarChar, 50) }; parameters[0].Value = SLIP_NUMBER; DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters); bool isFirst = true; BllSalesTable model = null; foreach (DataRow dr in ds.Tables[0].Rows) { if (isFirst) { model = new BllSalesTable(); model.SLIP_NUMBER = dr["SLIP_NUMBER"].ToString(); model.CUSTOMER_CLAIM_CODE = dr["CUSTOMER_CLAIM_CODE"].ToString(); model.CUSTOMER_CLAIM_NAME = CConvert.ToString(dr["CUSTOMER_CLAIM_NAME"]); model.INVOICE_NUMBER = dr["INVOICE_NUMBER"].ToString(); if (dr["SLIP_DATE"].ToString() != "") { model.SLIP_DATE = DateTime.Parse(dr["SLIP_DATE"].ToString()); } if (dr["CUSTOMER_CLAIM_DATE"].ToString() != "") { model.CUSTOMER_CLAIM_DATE = DateTime.Parse(dr["CUSTOMER_CLAIM_DATE"].ToString()); } if (dr["INVOICE_AMOUNT"].ToString() != "") { model.INVOICE_AMOUNT = decimal.Parse(dr["INVOICE_AMOUNT"].ToString()); } if (dr["STATUS_FLAG"].ToString() != "") { model.STATUS_FLAG = int.Parse(dr["STATUS_FLAG"].ToString()); } model.CREATE_USER = dr["CREATE_USER"].ToString(); if (dr["CREATE_DATE_TIME"].ToString() != "") { model.CREATE_DATE_TIME = DateTime.Parse(dr["CREATE_DATE_TIME"].ToString()); } if (dr["LAST_UPDATE_TIME"].ToString() != "") { model.LAST_UPDATE_TIME = DateTime.Parse(dr["LAST_UPDATE_TIME"].ToString()); } model.LAST_UPDATE_USER = dr["LAST_UPDATE_USER"].ToString(); model.COMPANY_CODE = dr["COMPANY_CODE"].ToString(); isFirst = false; } BllSalesLineTable line = new BllSalesLineTable(); line.SLIP_NUMBER = CConvert.ToString(dr["SLIP_NUMBER"]); line.LINE_NUMBER = CConvert.ToInt32(dr["LINE_NUMBER"]); line.ORDER_SLIP_NUMBER = CConvert.ToString(dr["ORDER_SLIP_NUMBER"]); line.SHIPMENT_SLIP_NUMBER = CConvert.ToString(dr["SHIPMENT_SLIP_NUMBER"]); line.INVOICE_AMOUNT = CConvert.ToDecimal(dr["INVOICE_AMOUNT"]); line.CURRENCY_CODE = CConvert.ToString(dr["CURRENCY_CODE"]); line.CURRENCY_NAME = CConvert.ToString(dr["CURRENCY_NAME"]); line.STATUS_FLAG = CConvert.ToInt32(dr["LINE_STATUS_FLAG"]); line.ORDER_AMOUNT = CConvert.ToDecimal(dr["ORDER_AMOUNT"]); line.SERIAL_NUMBER = CConvert.ToString(dr["SERIAL_NUMBER"]); line.SHIPMENT_AMOUNT = CConvert.ToDecimal(dr["SHIPMENT_AMOUNT"]); model.AddItems(line); } return(model); }
private void btnSave_Click(object sender, EventArgs e) { if (Incheck() && AmountCheck()) { List <BllSalesTable> datas = new List <BllSalesTable>(); BllSalesTable salesTable = new BllSalesTable(); DateTime currentDate = DateTime.Now; //表头信息的保存 //发票号码 salesTable.INVOICE_NUMBER = this.txtInvoiceNo.Text.Trim(); //开票日期 salesTable.SLIP_DATE = this.txtSalesDate.Value; //收款预定日 salesTable.CUSTOMER_CLAIM_DATE = this.txtCustomerClaimDate.Value; //发票金额 salesTable.INVOICE_AMOUNT = CConvert.ToDecimal(this.txtInvoiceAmount.Text.Trim()); //状态 salesTable.STATUS_FLAG = CConstant.INIT_STATUS; //创建人 salesTable.CREATE_USER = UserTable.CODE; //创建时间 salesTable.CREATE_DATE_TIME = currentDate; //最后更新人 salesTable.LAST_UPDATE_USER = UserTable.CODE; //最后更新时间 salesTable.LAST_UPDATE_TIME = currentDate; // 公司 salesTable.COMPANY_CODE = UserTable.COMPANY_CODE; //明细信息保存 int lineNumber = 1; foreach (DataGridViewRow dgvr in dgvData.Rows) { decimal amount = CConvert.ToDecimal(CConvert.ToString(dgvr.Cells["AMOUNT"].Value)); if (amount == 0) { continue; } //请款公司编号 salesTable.CUSTOMER_CLAIM_CODE = CConvert.ToString(dgvr.Cells["CUSTOMER_CLAIM_CODE"].Value); BllSalesLineTable salesLineTable = new BllSalesLineTable(); //发票内部编号 salesLineTable.SLIP_NUMBER = salesTable.SLIP_NUMBER; //明细编号 salesLineTable.LINE_NUMBER = lineNumber++; //订单编号 salesLineTable.ORDER_SLIP_NUMBER = CConvert.ToString(dgvr.Cells["ORDER_NUMBER"].Value); //出库编号 salesLineTable.SHIPMENT_SLIP_NUMBER = CConvert.ToString(dgvr.Cells["SHIPMENT_NUMBER"].Value); //开票金额 salesLineTable.INVOICE_AMOUNT = amount; //货币编号 salesLineTable.CURRENCY_CODE = CConvert.ToString(dgvr.Cells["CURRENCY_CODE"].Value); //状态 salesLineTable.STATUS_FLAG = CConstant.INIT_STATUS; //存入表头 salesTable.Items.Add(salesLineTable); } if (salesTable.Items.Count == 0) { MessageBox.Show("请输入出库明细的发票金额。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); } int result = 0; try { result = bSales.Add(salesTable); if (result <= 0) { MessageBox.Show("销售发票保存失败,请重试或与管理员联系。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("销售发票保存成功。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); initPage(); } } catch (Exception ex) { MessageBox.Show(ex.Message); MessageBox.Show("销售发票保存失败,系统错误,请与管理员联系。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); Logger.Error("销售发票保存失败!!!!!", ex); } } }