public BllPurchaseTable GetPurchaseModel(string SLIP_NUMBER) { StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 SLIP_NUMBER,SUPPLIER_CODE,INVOICE_NUMBER,INVOICE_NUMBER_LOCAL,SLIP_DATE,PAYMENT_DATE,INVOICE_AMOUNT,INVOICE_AMOUNT_LOCAL,PACKING_AMOUNT,STATUS_FLAG,CREATE_USER,CREATE_DATE_TIME,LAST_UPDATE_TIME,LAST_UPDATE_USER,COMPANY_CODE from BLL_PURCHASE "); strSql.Append(" where SLIP_NUMBER = @SLIP_NUMBER"); SqlParameter[] parameters = { new SqlParameter("@SLIP_NUMBER", SqlDbType.VarChar, 20) }; parameters[0].Value = SLIP_NUMBER; BllPurchaseTable model = new BllPurchaseTable(); DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { model.SLIP_NUMBER = ds.Tables[0].Rows[0]["SLIP_NUMBER"].ToString(); model.SUPPLIER_CODE = ds.Tables[0].Rows[0]["SUPPLIER_CODE"].ToString(); model.INVOICE_NUMBER = ds.Tables[0].Rows[0]["INVOICE_NUMBER"].ToString(); model.INVOICE_NUMBER_LOCAL = ds.Tables[0].Rows[0]["INVOICE_NUMBER_LOCAL"].ToString(); if (ds.Tables[0].Rows[0]["SLIP_DATE"].ToString() != "") { model.SLIP_DATE = DateTime.Parse(ds.Tables[0].Rows[0]["SLIP_DATE"].ToString()); } if (ds.Tables[0].Rows[0]["PAYMENT_DATE"].ToString() != "") { model.PAYMENT_DATE = DateTime.Parse(ds.Tables[0].Rows[0]["PAYMENT_DATE"].ToString()); } if (ds.Tables[0].Rows[0]["INVOICE_AMOUNT"].ToString() != "") { model.INVOICE_AMOUNT = decimal.Parse(ds.Tables[0].Rows[0]["INVOICE_AMOUNT"].ToString()); } if (ds.Tables[0].Rows[0]["INVOICE_AMOUNT_LOCAL"].ToString() != "") { model.INVOICE_AMOUNT_LOCAL = decimal.Parse(ds.Tables[0].Rows[0]["INVOICE_AMOUNT_LOCAL"].ToString()); } if (ds.Tables[0].Rows[0]["PACKING_AMOUNT"].ToString() != "") { model.PACKING_AMOUNT = decimal.Parse(ds.Tables[0].Rows[0]["PACKING_AMOUNT"].ToString()); } if (ds.Tables[0].Rows[0]["STATUS_FLAG"].ToString() != "") { model.STATUS_FLAG = int.Parse(ds.Tables[0].Rows[0]["STATUS_FLAG"].ToString()); } model.CREATE_USER = ds.Tables[0].Rows[0]["CREATE_USER"].ToString(); if (ds.Tables[0].Rows[0]["CREATE_DATE_TIME"].ToString() != "") { model.CREATE_DATE_TIME = DateTime.Parse(ds.Tables[0].Rows[0]["CREATE_DATE_TIME"].ToString()); } if (ds.Tables[0].Rows[0]["LAST_UPDATE_TIME"].ToString() != "") { model.LAST_UPDATE_TIME = DateTime.Parse(ds.Tables[0].Rows[0]["LAST_UPDATE_TIME"].ToString()); } model.LAST_UPDATE_USER = ds.Tables[0].Rows[0]["LAST_UPDATE_USER"].ToString(); model.COMPANY_CODE = ds.Tables[0].Rows[0]["COMPANY_CODE"].ToString(); strSql = new StringBuilder(); strSql.Append("select * from BLL_PURCHASE_LINE "); strSql.Append(" where SLIP_NUMBER = @SLIP_NUMBER "); strSql.AppendFormat(" and STATUS_FLAG <> {0}", CConstant.DELETE); SqlParameter[] lineParam = { new SqlParameter("@SLIP_NUMBER", SqlDbType.VarChar, 50) }; lineParam[0].Value = SLIP_NUMBER; ds = DbHelperSQL.Query(strSql.ToString(), lineParam); BllPurchaseLineTable line = null; foreach (DataRow row in ds.Tables[0].Rows) { line = new BllPurchaseLineTable(); line.SLIP_NUMBER = CConvert.ToString(row["SLIP_NUMBER"]); line.LINE_NUMBER = CConvert.ToInt32(row["LINE_NUMBER"]); line.PURCHASE_ORDER_NUMBER = CConvert.ToString(row["PURCHASE_ORDER_NUMBER"]); line.RECEIPT_SLIP_NUMBER = CConvert.ToString(row["RECEIPT_SLIP_NUMBER"]); line.RECEIPT_LINE_NUMBER = CConvert.ToInt32(row["RECEIPT_LINE_NUMBER"]); line.INVOICE_AMOUNT = CConvert.ToDecimal(row["INVOICE_AMOUNT"]); line.TAX_AMOUNT = CConvert.ToDecimal(row["TAX_AMOUNT"]); line.PACKING_AMOUNT = CConvert.ToDecimal(row["PACKING_AMOUNT"]); line.CURRENCY_CODE = CConvert.ToString(row["CURRENCY_CODE"]); line.STATUS_FLAG = CConvert.ToInt32(row["STATUS_FLAG"]); if (!string.IsNullOrEmpty(line.SLIP_NUMBER)) { model.AddItems(line); } } return(model); } else { return(null); } }
private void btnSave_Click(object sender, EventArgs e) { if (saveCheck()) { List <BllPurchaseTable> datas = new List <BllPurchaseTable>(); BllPurchaseTable purchaseTable = new BllPurchaseTable(); DateTime currentDate = DateTime.Now; decimal packing_amount = 0; //表头信息的保存 //付款公司编号 purchaseTable.SUPPLIER_CODE = this.txtSupplierCode.Text.Trim(); //国外发票编 purchaseTable.INVOICE_NUMBER = this.txtInvoiceNo.Text.Trim(); //国内发票编号 purchaseTable.INVOICE_NUMBER_LOCAL = this.txtInvoiceNoLocal.Text.Trim(); //开票日期 purchaseTable.SLIP_DATE = this.txtPurchaseDate.Value; //付款预定日 purchaseTable.PAYMENT_DATE = this.txtPaymentDate.Value; //国外发票金额 purchaseTable.INVOICE_AMOUNT = CConvert.ToDecimal(this.txtInvoiceAmount.Text.Trim()); //国内发票金额 purchaseTable.INVOICE_AMOUNT_LOCAL = CConvert.ToDecimal(this.txtInvoiceAmountLocal.Text.Trim()); //包装费金额 //purchaseTable.PACKING_AMOUNT = CConvert.ToDecimal(this.txtPackAmount.Text.Trim()); //状态 purchaseTable.STATUS_FLAG = CConstant.INIT; //创建人 purchaseTable.CREATE_USER = UserTable.CODE; //创建时间 purchaseTable.CREATE_DATE_TIME = currentDate; //最后更新人 purchaseTable.LAST_UPDATE_USER = UserTable.CODE; //最后更新时间 purchaseTable.LAST_UPDATE_TIME = currentDate; // 公司 purchaseTable.COMPANY_CODE = UserTable.COMPANY_CODE; //明细信息保存 int lineNo = 1; foreach (DataGridViewRow row in dgvData.Rows) { decimal amount = CConvert.ToDecimal(CConvert.ToString(row.Cells["AMOUNT"].Value)); if (amount == 0) { continue; } BllPurchaseLineTable purchaseLineTable = new BllPurchaseLineTable(); //明细编号 purchaseLineTable.LINE_NUMBER = lineNo; lineNo++; //采购订单 purchaseLineTable.PURCHASE_ORDER_NUMBER = CConvert.ToString(row.Cells["PO_SLIP_NUMBER"].Value); //入库编号 purchaseLineTable.RECEIPT_SLIP_NUMBER = CConvert.ToString(row.Cells["SLIP_NUMBER"].Value); //入库明细单号 purchaseLineTable.RECEIPT_LINE_NUMBER = CConvert.ToInt32(row.Cells["RECEIPT_LINE_NUMBER"].Value); //开票金额 purchaseLineTable.INVOICE_AMOUNT = amount; //关税 purchaseLineTable.TAX_AMOUNT = CConvert.ToDecimal(row.Cells["TAX_AMOUNT"].Value); //包装费用 purchaseLineTable.PACKING_AMOUNT = CConvert.ToDecimal(row.Cells["PACKAGE_AMOUNT"].Value); packing_amount += purchaseLineTable.PACKING_AMOUNT; //货币编号 purchaseLineTable.CURRENCY_CODE = CConvert.ToString(row.Cells["CURRENCY_CODE"].Value); //状态 purchaseLineTable.STATUS_FLAG = CConstant.INIT; //存入表头 purchaseTable.Items.Add(purchaseLineTable); } //包装费金额 purchaseTable.PACKING_AMOUNT = packing_amount; if (purchaseTable.Items.Count == 0) { MessageBox.Show("请输入入库明细的发票金额。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); } int result = 0; try { result = bPurchase.Add(purchaseTable); 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("采购发票保存失败,系统错误,请与管理员联系。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); Logger.Error("采购发票保存失败!!!!!", ex); MessageBox.Show(ex.Message); } } }