Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
                }
            }
        }