/// <summary> /// 增加一条数据 /// </summary> public int Add(BllPurchaseTable model) { return(dal.Add(model)); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(BllPurchaseTable model) { List <CommandInfo> listSql = new List <CommandInfo>(); StringBuilder strSql = null; int maxSlipNumber = CConvert.ToInt32(GetPurchaseMaxSlipNumber(model.COMPANY_CODE)); model.SLIP_NUMBER = model.COMPANY_CODE + "-" + model.SUPPLIER_CODE + "-" + CConvert.ToString(++maxSlipNumber).PadLeft(4, '0'); strSql = new StringBuilder(); strSql.Append("insert into BLL_PURCHASE("); strSql.Append("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)"); strSql.Append(" values ("); strSql.Append("@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)"); SqlParameter[] parameters = { new SqlParameter("@SLIP_NUMBER", SqlDbType.VarChar, 20), new SqlParameter("@SUPPLIER_CODE", SqlDbType.VarChar, 20), new SqlParameter("@INVOICE_NUMBER", SqlDbType.VarChar, 50), new SqlParameter("@INVOICE_NUMBER_LOCAL", SqlDbType.VarChar, 50), new SqlParameter("@SLIP_DATE", SqlDbType.DateTime), new SqlParameter("@PAYMENT_DATE", SqlDbType.DateTime), new SqlParameter("@INVOICE_AMOUNT", SqlDbType.Decimal, 9), new SqlParameter("@INVOICE_AMOUNT_LOCAL", SqlDbType.Decimal, 9), new SqlParameter("@PACKING_AMOUNT", SqlDbType.Decimal, 9), new SqlParameter("@STATUS_FLAG", SqlDbType.Int, 4), new SqlParameter("@CREATE_USER", SqlDbType.VarChar, 20), new SqlParameter("@CREATE_DATE_TIME", SqlDbType.DateTime), new SqlParameter("@LAST_UPDATE_TIME", SqlDbType.DateTime), new SqlParameter("@LAST_UPDATE_USER", SqlDbType.VarChar, 20), new SqlParameter("@COMPANY_CODE", SqlDbType.VarChar, 20) }; parameters[0].Value = model.SLIP_NUMBER; parameters[1].Value = model.SUPPLIER_CODE; parameters[2].Value = model.INVOICE_NUMBER; parameters[3].Value = model.INVOICE_NUMBER_LOCAL; parameters[4].Value = model.SLIP_DATE; parameters[5].Value = model.PAYMENT_DATE; parameters[6].Value = model.INVOICE_AMOUNT; parameters[7].Value = model.INVOICE_AMOUNT_LOCAL; parameters[8].Value = model.PACKING_AMOUNT; parameters[9].Value = model.STATUS_FLAG; parameters[10].Value = model.CREATE_USER; parameters[11].Value = model.CREATE_DATE_TIME; parameters[12].Value = model.LAST_UPDATE_TIME; parameters[13].Value = model.LAST_UPDATE_USER; parameters[14].Value = model.COMPANY_CODE; listSql.Add(new CommandInfo(strSql.ToString(), parameters)); //明细更新 foreach (BllPurchaseLineTable purchaseLineTable in model.Items) { strSql = new StringBuilder(); strSql.Append("insert into BLL_PURCHASE_LINE("); strSql.Append("SLIP_NUMBER,LINE_NUMBER,PURCHASE_ORDER_NUMBER,RECEIPT_SLIP_NUMBER,RECEIPT_LINE_NUMBER,INVOICE_AMOUNT,TAX_AMOUNT,PACKING_AMOUNT,CURRENCY_CODE,STATUS_FLAG)"); strSql.Append(" values ("); strSql.Append("@SLIP_NUMBER,@LINE_NUMBER,@PURCHASE_ORDER_NUMBER,@RECEIPT_SLIP_NUMBER,@RECEIPT_LINE_NUMBER,@INVOICE_AMOUNT,@TAX_AMOUNT,@PACKING_AMOUNT,@CURRENCY_CODE,@STATUS_FLAG)"); SqlParameter[] lineParameters = { new SqlParameter("@SLIP_NUMBER", SqlDbType.VarChar, 20), new SqlParameter("@LINE_NUMBER", SqlDbType.Int, 4), new SqlParameter("@PURCHASE_ORDER_NUMBER", SqlDbType.VarChar, 20), new SqlParameter("@RECEIPT_SLIP_NUMBER", SqlDbType.VarChar, 20), new SqlParameter("@RECEIPT_LINE_NUMBER", SqlDbType.Int, 4), new SqlParameter("@INVOICE_AMOUNT", SqlDbType.Decimal, 9), new SqlParameter("@TAX_AMOUNT", SqlDbType.Decimal, 9), new SqlParameter("@PACKING_AMOUNT", SqlDbType.Decimal, 9), new SqlParameter("@CURRENCY_CODE", SqlDbType.VarChar, 20), new SqlParameter("@STATUS_FLAG", SqlDbType.Int, 4) }; lineParameters[0].Value = model.SLIP_NUMBER; lineParameters[1].Value = purchaseLineTable.LINE_NUMBER; lineParameters[2].Value = purchaseLineTable.PURCHASE_ORDER_NUMBER; lineParameters[3].Value = purchaseLineTable.RECEIPT_SLIP_NUMBER; lineParameters[4].Value = purchaseLineTable.RECEIPT_LINE_NUMBER; lineParameters[5].Value = purchaseLineTable.INVOICE_AMOUNT; lineParameters[6].Value = purchaseLineTable.TAX_AMOUNT; lineParameters[7].Value = purchaseLineTable.PACKING_AMOUNT; lineParameters[8].Value = purchaseLineTable.CURRENCY_CODE; lineParameters[9].Value = purchaseLineTable.STATUS_FLAG; listSql.Add(new CommandInfo(strSql.ToString(), lineParameters)); //入库状态更新 strSql = new StringBuilder(); strSql.Append(" update BLL_RECEIPT set "); strSql.Append(" STATUS_FLAG=@STATUS_FLAG"); strSql.Append(" where SLIP_NUMBER=@RECEIPT_SLIP_NUMBER"); SqlParameter[] receiptParam = { new SqlParameter("@RECEIPT_SLIP_NUMBER", SqlDbType.VarChar, 20), new SqlParameter("@STATUS_FLAG", SqlDbType.Int, 4) }; receiptParam[0].Value = purchaseLineTable.RECEIPT_SLIP_NUMBER; receiptParam[1].Value = CConstant.NORMAL; listSql.Add(new CommandInfo(strSql.ToString(), receiptParam)); } return(DbHelperSQL.ExecuteSqlTran(listSql)); }
private void OperateInit() { BllPurchaseTable purchase = bPurchase.GetPurchaseModel(slipnumber); if (purchase != null) { txtSupplierCode.Text = purchase.SUPPLIER_CODE; if (!string.IsNullOrEmpty(purchase.SUPPLIER_CODE) && bCommon.GetBaseMaster("SUPPLIER", purchase.SUPPLIER_CODE) != null) { txtSupplierName.Text = bCommon.GetBaseMaster("SUPPLIER", purchase.SUPPLIER_CODE).Name; } txtInvoiceNo.Text = purchase.INVOICE_NUMBER; txtInvoiceAmount.Text = CConvert.ToString(purchase.INVOICE_AMOUNT); txtInvoiceNoLocal.Text = purchase.INVOICE_NUMBER_LOCAL; txtInvoiceAmountLocal.Text = CConvert.ToString(purchase.INVOICE_AMOUNT_LOCAL); txtPurchaseDate.Value = purchase.SLIP_DATE; txtPaymentDate.Value = purchase.PAYMENT_DATE; //txtPackAmount.Text = CConvert.ToString(purchase.PACKING_AMOUNT); #region dgvData明细确认初始化 int i = 1; dgvData.Rows.Clear(); string currentSupplier = ""; dgvData.SelectionMode = DataGridViewSelectionMode.RowHeaderSelect; dgvData.ReadOnly = true; foreach (BllPurchaseLineTable line in purchase.Items) { int currentRowIndex = dgvData.Rows.Add(1); DataGridViewRow row = dgvData.Rows[currentRowIndex]; row.Cells["No"].Value = i++; string SupplierCode = CConvert.ToString(row.Cells["SUPPLIER_CODE"].Value); if (currentSupplier == "" || currentSupplier != SupplierCode) { currentSupplier = SupplierCode; if (!string.IsNullOrEmpty(purchase.SUPPLIER_CODE)) { row.Cells["SUPPLIER_NAME"].Value = bCommon.GetBaseMaster("SUPPLIER", purchase.SUPPLIER_CODE).Name; } } row.Cells["PO_SLIP_NUMBER"].Value = line.PURCHASE_ORDER_NUMBER; row.Cells["SLIP_NUMBER"].Value = line.RECEIPT_SLIP_NUMBER; row.Cells["AMOUNT"].Value = line.INVOICE_AMOUNT; if (!string.IsNullOrEmpty(line.CURRENCY_CODE)) { row.Cells["CURRENCY_NAME"].Value = bCommon.GetBaseMaster("CURRENCY", line.CURRENCY_CODE).Name; } row.Cells["TAX_AMOUNT"].Value = line.TAX_AMOUNT; row.Cells["PACKAGE_AMOUNT"].Value = line.PACKING_AMOUNT; BllReceiptLineTable receiptLine = new BReceipt().GetLineModel(line.RECEIPT_SLIP_NUMBER, line.RECEIPT_LINE_NUMBER); if (receiptLine != null) { if (!string.IsNullOrEmpty(receiptLine.PRODUCT_CODE)) { row.Cells["PRODUCT_NAME"].Value = bCommon.GetBaseMaster("PRODUCT", receiptLine.PRODUCT_CODE).Name; } row.Cells["AMOUNT_INCLUDED_TAX"].Value = receiptLine.AMOUNT_INCLUDED_TAX; decimal InAmount = bPurchase.GetGetInvoiceAmount(line.RECEIPT_SLIP_NUMBER); if (receiptLine.AMOUNT_INCLUDED_TAX > 0 && InAmount > 0 && receiptLine.AMOUNT_INCLUDED_TAX >= InAmount) { row.Cells["UN_INVOICE_AMOUNT"].Value = receiptLine.AMOUNT_INCLUDED_TAX - InAmount; } else { row.Cells["UN_INVOICE_AMOUNT"].Value = 0; } } } #endregion } }
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); } } }