Ejemplo n.º 1
0
        private void OperateInit()
        {
            try
            {
                BllSalesTable sales = bSales.GetModel(_slipNumber);
                if (sales != null)
                {
                    txtInvoiceNo.Text          = sales.INVOICE_NUMBER;
                    txtInvoiceAmount.Text      = CConvert.ToString(sales.INVOICE_AMOUNT);
                    txtCustomerClaimDate.Value = sales.CUSTOMER_CLAIM_DATE;
                    txtCustomerCode.Text       = sales.CUSTOMER_CLAIM_CODE;
                    txtCustomerName.Text       = sales.CUSTOMER_CLAIM_NAME;
                    txtSalesDate.Value         = sales.SLIP_DATE;

                    int i = 1;
                    dgvData.ReadOnly = true;
                    dgvData.Rows.Clear();
                    dgvData.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                    foreach (BllSalesLineTable line in sales.Items)
                    {
                        int             currentRowIndex = dgvData.Rows.Add(1);
                        DataGridViewRow dgvr            = dgvData.Rows[currentRowIndex];
                        dgvr.Cells["No"].Value              = i++;
                        dgvr.Cells["CUSTOMER_NAME"].Value   = sales.CUSTOMER_CLAIM_NAME;
                        dgvr.Cells["ORDER_NUMBER"].Value    = line.ORDER_SLIP_NUMBER;
                        dgvr.Cells["ORDER_AMOUNT"].Value    = line.ORDER_AMOUNT;
                        dgvr.Cells["SHIPMENT_NUMBER"].Value = line.SHIPMENT_SLIP_NUMBER;
                        dgvr.Cells["SERIAL_NUMBER"].Value   = line.SERIAL_NUMBER;
                        dgvr.Cells["SHIPMENT_AMOUNT"].Value = line.SHIPMENT_AMOUNT;
                        dgvr.Cells["CURRENCY_NAME"].Value   = line.CURRENCY_NAME;
                        dgvr.Cells["AMOUNT"].Value          = line.INVOICE_AMOUNT;
                        decimal InAmount = bSales.GetInvoiceAmount(line.SHIPMENT_SLIP_NUMBER);
                        dgvr.Cells["UN_INVOICE_AMOUNT"].Value = line.SHIPMENT_AMOUNT - InAmount;

                        dgvr.Cells["AMOUNT"].Style.BackColor = System.Drawing.SystemColors.Info;
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error("销售发票详细页面加载失败:", ex);
                MessageBox.Show("销售发票详细页面加载失败,请重试或与管理员联系。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                this.Close();
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        public int Add(BllSalesTable salesTable)
        {
            List <CommandInfo> listSql = new List <CommandInfo>();
            StringBuilder      strSql  = null;
            //TODO:
            int maxSlipNumber = CConvert.ToInt32(GetSalesMaxSlipNumber(salesTable.COMPANY_CODE));

            salesTable.SLIP_NUMBER = salesTable.COMPANY_CODE + "-" + CConvert.ToString(++maxSlipNumber).PadLeft(4, '0');
            strSql = new StringBuilder();

            strSql.Append("insert into BLL_SALES(");
            strSql.Append("SLIP_NUMBER,CUSTOMER_CLAIM_CODE,INVOICE_NUMBER,SLIP_DATE,CUSTOMER_CLAIM_DATE,INVOICE_AMOUNT,STATUS_FLAG,CREATE_USER,CREATE_DATE_TIME,LAST_UPDATE_TIME,LAST_UPDATE_USER,COMPANY_CODE)");
            strSql.Append(" values (");
            strSql.Append("@SLIP_NUMBER,@CUSTOMER_CLAIM_CODE,@INVOICE_NUMBER,@SLIP_DATE,@CUSTOMER_CLAIM_DATE,@INVOICE_AMOUNT,@STATUS_FLAG,@CREATE_USER,GETDATE(),GETDATE(),@LAST_UPDATE_USER,@COMPANY_CODE)");
            SqlParameter[] salesParam =
            {
                new SqlParameter("@SLIP_NUMBER",         SqlDbType.VarChar,   20),
                new SqlParameter("@CUSTOMER_CLAIM_CODE", SqlDbType.VarChar,   20),
                new SqlParameter("@INVOICE_NUMBER",      SqlDbType.VarChar,   50),
                new SqlParameter("@SLIP_DATE",           SqlDbType.DateTime),
                new SqlParameter("@CUSTOMER_CLAIM_DATE", SqlDbType.DateTime),
                new SqlParameter("@INVOICE_AMOUNT",      SqlDbType.Decimal,   15),
                new SqlParameter("@STATUS_FLAG",         SqlDbType.Int,        4),
                new SqlParameter("@CREATE_USER",         SqlDbType.VarChar,   20),
                new SqlParameter("@LAST_UPDATE_USER",    SqlDbType.VarChar,   20),
                new SqlParameter("@COMPANY_CODE",        SqlDbType.VarChar, 20)
            };
            salesParam[0].Value = salesTable.SLIP_NUMBER;
            salesParam[1].Value = salesTable.CUSTOMER_CLAIM_CODE;
            salesParam[2].Value = salesTable.INVOICE_NUMBER;
            salesParam[3].Value = salesTable.SLIP_DATE;
            salesParam[4].Value = salesTable.CUSTOMER_CLAIM_DATE;
            salesParam[5].Value = salesTable.INVOICE_AMOUNT;
            salesParam[6].Value = salesTable.STATUS_FLAG;
            salesParam[7].Value = salesTable.CREATE_USER;
            salesParam[8].Value = salesTable.LAST_UPDATE_USER;
            salesParam[9].Value = salesTable.COMPANY_CODE;
            listSql.Add(new CommandInfo(strSql.ToString(), salesParam));

            //明细更新
            foreach (BllSalesLineTable salesLineTable in salesTable.Items)
            {
                //明细的保存
                strSql = new StringBuilder();
                strSql.Append("insert into BLL_SALES_LINE(");
                strSql.Append("SLIP_NUMBER,LINE_NUMBER,ORDER_SLIP_NUMBER,SHIPMENT_SLIP_NUMBER,INVOICE_AMOUNT,CURRENCY_CODE,STATUS_FLAG)");
                strSql.Append(" values (");
                strSql.Append("@SLIP_NUMBER,@LINE_NUMBER,@ORDER_SLIP_NUMBER,@SHIPMENT_SLIP_NUMBER,@INVOICE_AMOUNT,@CURRENCY_CODE,@STATUS_FLAG)");
                SqlParameter[] salesLineParam =
                {
                    new SqlParameter("@SLIP_NUMBER",          SqlDbType.VarChar, 20),
                    new SqlParameter("@LINE_NUMBER",          SqlDbType.Int,      4),
                    new SqlParameter("@ORDER_SLIP_NUMBER",    SqlDbType.VarChar, 20),
                    new SqlParameter("@SHIPMENT_SLIP_NUMBER", SqlDbType.VarChar, 20),
                    new SqlParameter("@INVOICE_AMOUNT",       SqlDbType.Decimal, 15),
                    new SqlParameter("@CURRENCY_CODE",        SqlDbType.VarChar, 20),
                    new SqlParameter("@STATUS_FLAG",          SqlDbType.Int, 4)
                };
                salesLineParam[0].Value = salesTable.SLIP_NUMBER;
                salesLineParam[1].Value = salesLineTable.LINE_NUMBER;
                salesLineParam[2].Value = salesLineTable.ORDER_SLIP_NUMBER;
                salesLineParam[3].Value = salesLineTable.SHIPMENT_SLIP_NUMBER;
                salesLineParam[4].Value = salesLineTable.INVOICE_AMOUNT;
                salesLineParam[5].Value = salesLineTable.CURRENCY_CODE;
                salesLineParam[6].Value = salesLineTable.STATUS_FLAG;
                listSql.Add(new CommandInfo(strSql.ToString(), salesLineParam));

                //出库状态更新
                strSql = new StringBuilder();
                strSql.Append(" update BLL_SHIPMENT set ");
                strSql.Append(" STATUS_FLAG=@STATUS_FLAG");
                strSql.Append(" where SLIP_NUMBER=@SHIPMENT_SLIP_NUMBER");

                SqlParameter[] shipmentParam =
                {
                    new SqlParameter("@SHIPMENT_SLIP_NUMBER", SqlDbType.VarChar, 20),
                    new SqlParameter("@STATUS_FLAG",          SqlDbType.Int, 4)
                };
                shipmentParam[0].Value = salesLineTable.SHIPMENT_SLIP_NUMBER;
                shipmentParam[1].Value = CConstant.NORMAL_STATUS;
                listSql.Add(new CommandInfo(strSql.ToString(), shipmentParam));
            }

            return(DbHelperSQL.ExecuteSqlTran(listSql));
        }
Ejemplo n.º 4
0
        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);
                }
            }
        }
Ejemplo n.º 5
0
 public int Add(BllSalesTable salesTable)
 {
     return(dal.Add(salesTable));
 }