Пример #1
0
        public void Confirma()
        {
            try
            {
                DavCabecalhoVO DAVCabecalho = new DavCabecalhoVO();
                DAVCabecalho.IdEmpresa           = Constantes.EMPRESA_BALCAO;
                DAVCabecalho.IdPessoa            = Convert.ToInt32(editCodigoCliente.Text);
                DAVCabecalho.NomeDestinatario    = EditNome.Text;
                DAVCabecalho.CpfCnpjDestinatario = editCpfCnpj.Text;
                DAVCabecalho.DataEmissao         = DateTime.Now;
                DAVCabecalho.HoraEmissao         = DateTime.Now.ToString("HH:mm:ss");
                DAVCabecalho.Situacao            = "P";
                DAVCabecalho.TaxaAcrescimo       = 0;
                DAVCabecalho.Acrescimo           = 0;
                DAVCabecalho.TaxaDesconto        = 0;
                DAVCabecalho.Desconto            = 0;
                DAVCabecalho.Subtotal            = TotalGeral;
                DAVCabecalho.Valor = TotalGeral;

                DAVController.InsereDAV(DAVCabecalho, ListaDavDetalhe);

                if (MessageBox.Show("Deseja imprimir o DAV?", "Pergunta do Sistema", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    //TODO: Leitor - Analise o arquivo 'DAV.rep'. Relatório feito no ReportManager. Estude o ReportManager e veja como chamar o relatório.
                }

                MessageBox.Show("DAV gravado com sucesso!", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
            }
            catch (Exception eError)
            {
                Log.write(eError.ToString());
            }
        }
Пример #2
0
 public FDAV()
 {
     // Required for Windows Form Designer support
     InitializeComponent();
     DAVController     = new DAVController();
     ProdutoController = new ProdutoController();
     DavCabecalho      = new DavCabecalhoVO();
     ListaDavDetalhe   = new List <DavDetalheVO>();
     Item       = 1;
     TotalGeral = 0;
     GridItens.AutoGenerateColumns = false;
 }
Пример #3
0
        public DavCabecalhoVO ConsultaDAVId(int?pId)
        {
            ConsultaSQL =
                "select * from DAV_CABECALHO where ID = " + Convert.ToString(pId);

            try
            {
                comando = new MySqlCommand(ConsultaSQL, conexao);
                leitor  = comando.ExecuteReader();
                leitor.Read();

                DavCabecalhoVO DAVCabecalho = new DavCabecalhoVO();

                DAVCabecalho.Id                  = Convert.ToInt32(leitor["ID"]);
                DAVCabecalho.IdPessoa            = Convert.ToInt32(leitor["ID_PESSOA"]);
                DAVCabecalho.Ccf                 = Convert.ToInt32(leitor["CCF"]);
                DAVCabecalho.Coo                 = Convert.ToInt32(leitor["COO"]);
                DAVCabecalho.NumeroDav           = Convert.ToString(leitor["NUMERO_DAV"]);
                DAVCabecalho.NumeroEcf           = Convert.ToString(leitor["NUMERO_ECF"]);
                DAVCabecalho.NomeDestinatario    = Convert.ToString(leitor["NOME_DESTINATARIO"]);
                DAVCabecalho.CpfCnpjDestinatario = Convert.ToString(leitor["CPF_CNPJ_DESTINATARIO"]);
                DAVCabecalho.DataEmissao         = (DateTime)(leitor["DATA_EMISSAO"]);
                DAVCabecalho.HoraEmissao         = Convert.ToString(leitor["HORA_EMISSAO"]);
                DAVCabecalho.Situacao            = Convert.ToString(leitor["SITUACAO"]);
                DAVCabecalho.TaxaAcrescimo       = Convert.ToDecimal(leitor["TAXA_ACRESCIMO"]);
                DAVCabecalho.Acrescimo           = Convert.ToDecimal(leitor["ACRESCIMO"]);
                DAVCabecalho.TaxaDesconto        = Convert.ToDecimal(leitor["TAXA_DESCONTO"]);
                DAVCabecalho.Desconto            = Convert.ToDecimal(leitor["DESCONTO"]);
                DAVCabecalho.Subtotal            = Convert.ToDecimal(leitor["SUBTOTAL"]);
                DAVCabecalho.Valor               = Convert.ToDecimal(leitor["VALOR"]);
                DAVCabecalho.HashTripa           = Convert.ToString(leitor["HASH_TRIPA"]);
                DAVCabecalho.HashIncremento      = Convert.ToInt32(leitor["HASH_INCREMENTO"]);

                return(DAVCabecalho);
            }
            catch (Exception eError)
            {
                Log.write(eError.ToString());
                return(null);
            }
            finally
            {
                if (leitor != null)
                {
                    leitor.Close();
                }
            }
        }
Пример #4
0
        public List <DavCabecalhoVO> TabelaDavCabecalho()
        {
            List <DavCabecalhoVO> ListaDavCabecalho = new List <DavCabecalhoVO>();

            ConsultaSQL = " SELECT * FROM DAV_CABECALHO WHERE SITUACAO = 'P' ORDER BY ID";

            try
            {
                comando = new MySqlCommand(ConsultaSQL, conexao);
                leitor  = comando.ExecuteReader();
                while (leitor.Read())
                {
                    DavCabecalhoVO DavCabecalho = new DavCabecalhoVO();

                    DavCabecalho.Id                  = Convert.ToInt32(leitor["ID"]);
                    DavCabecalho.NumeroDav           = leitor["NUMERO_DAV"].ToString();
                    DavCabecalho.NomeDestinatario    = leitor["NOME_DESTINATARIO"].ToString();
                    DavCabecalho.CpfCnpjDestinatario = leitor["CPF_CNPJ_DESTINATARIO"].ToString();
                    DavCabecalho.DataEmissao         = Convert.ToDateTime(leitor["DATA_EMISSAO"]);
                    DavCabecalho.HoraEmissao         = leitor["HORA_EMISSAO"].ToString();
                    DavCabecalho.Valor               = Convert.IsDBNull(leitor["VALOR"]) ? 0 : Convert.ToDecimal(leitor["VALOR"]);

                    ListaDavCabecalho.Add(DavCabecalho);
                }
                return(ListaDavCabecalho);
            }

            catch (Exception eError)
            {
                Log.write(eError.ToString());
                return(null);
            }
            finally
            {
                if (leitor != null)
                {
                    leitor.Close();
                }
            }
        }
Пример #5
0
        //TODO: Leitor - Estude o DAVController do Caixa e grave os Hahs: HASH_TRIPA e HASH_INCREMENTO no procedimento abaixo.
        public void InsereDAV(DavCabecalhoVO DAVCabecalho, List <DavDetalheVO> ListaDAVDetalhe)
        {
            string Tripa, Hash;
            string NumeroUltimoDav, NumeroNovoDav;

            // insere o novo dav no cabecalho
            ConsultaSQL =
                "insert into DAV_CABECALHO (" +
                "NUMERO_DAV," +
                "ID_EMPRESA," +
                "NOME_DESTINATARIO," +
                "CPF_CNPJ_DESTINATARIO," +
                "DATA_EMISSAO," +
                "HORA_EMISSAO," +
                "SITUACAO," +
                "SUBTOTAL," +
                "VALOR" +
                ") values (" +
                "?pNumeroDav," +
                "?pIdEmpresa," +
                "?pDestinatario," +
                "?pCPFCNPJ," +
                "?pDataEmissao," +
                "?pHoraEmissao," +
                "?pSituacao," +
                "?pSubTotal," +
                "?pValor)";
            try
            {
                comando = new MySqlCommand("select NUMERO_DAV from DAV_CABECALHO where id = (select max(id) from dav_cabecalho)", conexao);
                leitor  = comando.ExecuteReader();
                leitor.Read();
                NumeroUltimoDav = Convert.ToString(leitor["NUMERO_DAV"]);

                if ((NumeroUltimoDav == "") || (NumeroUltimoDav == "9999999999"))
                {
                    NumeroNovoDav = "0000000001";
                }
                else
                {
                    NumeroNovoDav = (Convert.ToInt32(NumeroUltimoDav) + 1).ToString();
                    NumeroNovoDav = new string('0', 10 - NumeroNovoDav.Length) + NumeroNovoDav;
                }

                leitor.Close();

                comando = new MySqlCommand(ConsultaSQL, conexao);
                comando.Parameters.AddWithValue("?pNumeroDav", NumeroNovoDav);
                comando.Parameters.AddWithValue("?pIdEmpresa", DAVCabecalho.IdEmpresa);
                comando.Parameters.AddWithValue("?pDestinatario", DAVCabecalho.NomeDestinatario);
                comando.Parameters.AddWithValue("?pCPFCNPJ", DAVCabecalho.CpfCnpjDestinatario);
                comando.Parameters.AddWithValue("?pDataEmissao", DAVCabecalho.DataEmissao);
                comando.Parameters.AddWithValue("?pHoraEmissao", DAVCabecalho.HoraEmissao);
                comando.Parameters.AddWithValue("?pSituacao", DAVCabecalho.Situacao);
                comando.Parameters.AddWithValue("?pSubTotal", DAVCabecalho.Subtotal);
                comando.Parameters.AddWithValue("?pValor", DAVCabecalho.Valor);
                comando.ExecuteNonQuery();

                comando = new MySqlCommand("select max(ID) as ID from DAV_CABECALHO", conexao);
                leitor  = comando.ExecuteReader();
                leitor.Read();
                DAVCabecalho.Id = Convert.ToInt32(leitor["ID"]);
            }
            catch (Exception eError)
            {
                Log.write(eError.ToString());
            }
            finally
            {
                if (leitor != null)
                {
                    leitor.Close();
                }
            }


            // insere os dados na tabela de detalhes
            ConsultaSQL =
                "insert into DAV_DETALHE (" +
                "ID_PRODUTO," +
                "ID_DAV_CABECALHO," +
                "NUMERO_DAV," +
                "DATA_EMISSAO," +
                "ITEM," +
                "QUANTIDADE," +
                "VALOR_UNITARIO," +
                "VALOR_TOTAL," +
                "CANCELADO," +
                "MESCLA_PRODUTO," +
                "GTIN_PRODUTO," +
                "NOME_PRODUTO," +
                "TOTALIZADOR_PARCIAL," +
                "UNIDADE_PRODUTO) values (" +
                "?pIdProduto," +
                "?pIdDavCabecalho," +
                "?pNumeroDav," +
                "?pDataEmissao," +
                "?pItem," +
                "?pQuantidade," +
                "?pValorUnitario," +
                "?pValorTotal," +
                "?pCancelado," +
                "?pMesclaProduto," +
                "?pGtinProduto," +
                "?pNomeProduto," +
                "?pTOTALIZADOR_PARCIAL," +
                "?pUnidadeProduto)";
            try
            {
                for (int i = 0; i <= ListaDAVDetalhe.Count - 1; i++)
                {
                    comando = new MySqlCommand(ConsultaSQL, conexao);
                    comando.Parameters.AddWithValue("?pIdProduto", ListaDAVDetalhe[i].IdProduto);
                    comando.Parameters.AddWithValue("?pIdDavCabecalho", DAVCabecalho.Id);
                    comando.Parameters.AddWithValue("?pNumeroDav", ListaDAVDetalhe[i].NumeroDav);
                    comando.Parameters.AddWithValue("?pDataEmissao", new DateTime()); //DateTime.Now.ToString("yyyy-mm-dd")
                    comando.Parameters.AddWithValue("?pItem", ListaDAVDetalhe[i].Item);
                    comando.Parameters.AddWithValue("?pQuantidade", ListaDAVDetalhe[i].Quantidade);
                    comando.Parameters.AddWithValue("?pValorUnitario", ListaDAVDetalhe[i].ValorUnitario);
                    comando.Parameters.AddWithValue("?pValorTotal", ListaDAVDetalhe[i].ValorTotal);
                    comando.Parameters.AddWithValue("?pCancelado", ListaDAVDetalhe[i].Cancelado);
                    comando.Parameters.AddWithValue("?pMesclaProduto", ListaDAVDetalhe[i].MesclaProduto);
                    comando.Parameters.AddWithValue("?pGtinProduto", ListaDAVDetalhe[i].GtinProduto);
                    comando.Parameters.AddWithValue("?pNomeProduto", ListaDAVDetalhe[i].NomeProduto);
                    comando.Parameters.AddWithValue("?pUnidadeProduto", ListaDAVDetalhe[i].UnidadeProduto);
                    comando.Parameters.AddWithValue("?pTOTALIZADOR_PARCIAL", ListaDAVDetalhe[i].TotalizadorParcial);
                    comando.Parameters.AddWithValue("?pHashIncremento", 0);
                    comando.Parameters.AddWithValue("?pHashTripa", "");
                    comando.ExecuteNonQuery();
                }
            }
            catch (Exception eError)
            {
                Log.write(eError.ToString());
            }
            finally
            {
                if (leitor != null)
                {
                    leitor.Close();
                }
            }
        }
Пример #6
0
        public List <DavCabecalhoVO> ListaDAVPeriodo(string pDataInicio, string pDataFim)
        {
            int TotalRegistros;

            ConsultaSQL =
                "select count(*) AS TOTAL from DAV_CABECALHO where SITUACAO =" + Biblioteca.QuotedStr("E") + " and (DATA_EMISSAO between '" + pDataInicio + "' and '" + pDataFim + "')";
            try
            {
                comando = new MySqlCommand(ConsultaSQL, conexao);
                leitor  = comando.ExecuteReader();
                leitor.Read();
                TotalRegistros = Convert.ToInt32(leitor["TOTAL"]);
                leitor.Close();
                if (TotalRegistros > 0)
                {
                    List <DavCabecalhoVO> ListaDAV = new List <DavCabecalhoVO>();
                    ConsultaSQL =
                        "select * from DAV_CABECALHO where SITUACAO =" + Biblioteca.QuotedStr("E") + " and (DATA_EMISSAO between '" + pDataInicio + "' and '" + pDataFim + "')";

                    comando = new MySqlCommand(ConsultaSQL, conexao);
                    leitor  = comando.ExecuteReader();
                    while (leitor.Read())
                    {
                        DavCabecalhoVO DAVCabecalho = new DavCabecalhoVO();
                        DAVCabecalho.Id                  = Convert.ToInt32(leitor["ID"]);
                        DAVCabecalho.IdPessoa            = Convert.ToInt32(leitor["ID_PESSOA"]);
                        DAVCabecalho.Ccf                 = Convert.ToInt32(leitor["CCF"]);
                        DAVCabecalho.Coo                 = Convert.ToInt32(leitor["COO"]);
                        DAVCabecalho.NumeroDav           = Convert.ToString(leitor["NUMERO_DAV"]);
                        DAVCabecalho.NumeroEcf           = Convert.ToString(leitor["NUMERO_ECF"]);
                        DAVCabecalho.NomeDestinatario    = Convert.ToString(leitor["NOME_DESTINATARIO"]);
                        DAVCabecalho.CpfCnpjDestinatario = Convert.ToString(leitor["CPF_CNPJ_DESTINATARIO"]);
                        DAVCabecalho.DataEmissao         = (DateTime)(leitor["DATA_EMISSAO"]);
                        DAVCabecalho.HoraEmissao         = Convert.ToString(leitor["HORA_EMISSAO"]);
                        DAVCabecalho.Situacao            = Convert.ToString(leitor["SITUACAO"]);
                        DAVCabecalho.TaxaAcrescimo       = Convert.ToDecimal(leitor["TAXA_ACRESCIMO"]);
                        DAVCabecalho.Acrescimo           = Convert.ToDecimal(leitor["ACRESCIMO"]);
                        DAVCabecalho.TaxaDesconto        = Convert.ToDecimal(leitor["TAXA_DESCONTO"]);
                        DAVCabecalho.Desconto            = Convert.ToDecimal(leitor["DESCONTO"]);
                        DAVCabecalho.Subtotal            = Convert.ToDecimal(leitor["SUBTOTAL"]);
                        DAVCabecalho.Valor               = Convert.ToDecimal(leitor["VALOR"]);
                        DAVCabecalho.HashTripa           = Convert.ToString(leitor["HASH_TRIPA"]);
                        DAVCabecalho.HashIncremento      = Convert.ToInt32(leitor["HASH_INCREMENTO"]);
                        ListaDAV.Add(DAVCabecalho);
                    }
                    return(ListaDAV);
                }
                //  caso não exista a relacao, retorna um ponteiro nulo
                else
                {
                    return(null);
                }
            }
            catch (Exception eError)
            {
                Log.write(eError.ToString());
                return(null);
            }
            finally
            {
                if (leitor != null)
                {
                    leitor.Close();
                }
            }
        }
Пример #7
0
        public void MesclaDAV(List <DavCabecalhoVO> ListaDAVCabecalho, List <DavDetalheVO> ListaDAVDetalhe, decimal ValorNovoDav)
        {
            string Tripa, Hash;
            string NumeroUltimoDav, NumeroNovoDav;

            // inicia e configura o novo DAV
            DavCabecalhoVO NovoDAVCabecalho = new DavCabecalhoVO();

            NovoDAVCabecalho.IdPessoa            = ListaDAVCabecalho[0].IdPessoa;
            NovoDAVCabecalho.NomeDestinatario    = ListaDAVCabecalho[0].NomeDestinatario;
            NovoDAVCabecalho.CpfCnpjDestinatario = ListaDAVCabecalho[0].CpfCnpjDestinatario;
            NovoDAVCabecalho.DataEmissao         = new DateTime();
            NovoDAVCabecalho.HoraEmissao         = DateTime.Now.ToString("HH:mm:ss");
            NovoDAVCabecalho.Situacao            = "P";

            // atualiza a tabela de cabecalho
            for (int i = 0; i <= ListaDAVCabecalho.Count - 1; i++)
            {
                // altera a situacao do DAV selecionado para M de mesclado
                ConsultaSQL =
                    "update DAV_CABECALHO set " +
                    "SITUACAO=?pSituacao, " +
                    "HASH_TRIPA = ?pHashTripa, " +
                    "HASH_INCREMENTO = ?pHashIncremento " +
                    " where ID = ?pId";

                try
                {
                    // calcula e grava o hash
                    Tripa = Convert.ToString(ListaDAVCabecalho[i].Id) +
                            Convert.ToString(ListaDAVCabecalho[i].IdPessoa) +
                            Convert.ToString(ListaDAVCabecalho[i].Ccf) +
                            Convert.ToString(ListaDAVCabecalho[i].Coo) +
                            ListaDAVCabecalho[i].NomeDestinatario +
                            ListaDAVCabecalho[i].CpfCnpjDestinatario +
                            ListaDAVCabecalho[i].DataEmissao +
                            ListaDAVCabecalho[i].HoraEmissao +
                            "M" +   // Situacao
                            Biblioteca.FormataFloat("V", ListaDAVCabecalho[i].TaxaAcrescimo) +
                            Biblioteca.FormataFloat("V", ListaDAVCabecalho[i].Acrescimo) +
                            Biblioteca.FormataFloat("V", ListaDAVCabecalho[i].TaxaDesconto) +
                            Biblioteca.FormataFloat("V", ListaDAVCabecalho[i].Desconto) +
                            Biblioteca.FormataFloat("V", ListaDAVCabecalho[i].Subtotal) +
                            Biblioteca.FormataFloat("V", ListaDAVCabecalho[i].Valor) +
                            ListaDAVCabecalho[i].NumeroDav +
                            //UCaixa.ACBrECF.NumECF +
                            "0";

                    Hash = Biblioteca.MD5String(Tripa);

                    comando = new MySqlCommand(ConsultaSQL, conexao);
                    comando.Parameters.AddWithValue("?pId", ListaDAVCabecalho[i].Id);
                    comando.Parameters.AddWithValue("?pSituacao", "M");
                    comando.Parameters.AddWithValue("?pHashTripa", Hash);
                    comando.Parameters.AddWithValue("?pHashIncremento", -1);
                    comando.ExecuteNonQuery();
                }
                catch (Exception eError)
                {
                    Log.write(eError.ToString());
                }
                finally
                {
                }
            }


            // cria um novo dav
            ConsultaSQL =
                "insert into DAV_CABECALHO (" +
                "NUMERO_DAV," +
                "ID_EMPRESA," +
                "NOME_DESTINATARIO," +
                "CPF_CNPJ_DESTINATARIO," +
                "DATA_EMISSAO," +
                "HORA_EMISSAO," +
                "SITUACAO," +
                "SUBTOTAL," +
                "VALOR" +
                ") values (" +
                "?pNumeroDav," +
                "?pIdEmpresa," +
                "?pDestinatario," +
                "?pCPFCNPJ," +
                "?pDataEmissao," +
                "?pHoraEmissao," +
                "?pSituacao," +
                "?pSubTotal," +
                "?pValor)";
            try
            {
                comando = new MySqlCommand("select NUMERO_DAV from DAV_CABECALHO where id = (select max(id) from dav_cabecalho)", conexao);
                leitor  = comando.ExecuteReader();
                leitor.Read();
                NumeroUltimoDav = Convert.ToString(leitor["NUMERO_DAV"]);

                if ((NumeroUltimoDav == "") || (NumeroUltimoDav == "9999999999"))
                {
                    NumeroNovoDav = "0000000001";
                }
                else
                {
                    NumeroNovoDav = (Convert.ToInt32(NumeroUltimoDav) + 1).ToString();
                    NumeroNovoDav = new string('0', 10 - NumeroNovoDav.Length) + NumeroNovoDav;
                }

                leitor.Close();

                comando = new MySqlCommand(ConsultaSQL, conexao);
                comando.Parameters.AddWithValue("?pNumeroDav", NumeroNovoDav);
                comando.Parameters.AddWithValue("?pIdEmpresa", Constantes.EMPRESA_BALCAO);
                comando.Parameters.AddWithValue("?pDestinatario", NovoDAVCabecalho.NomeDestinatario);
                comando.Parameters.AddWithValue("?pCPFCNPJ", NovoDAVCabecalho.CpfCnpjDestinatario);
                comando.Parameters.AddWithValue("?pDataEmissao", NovoDAVCabecalho.DataEmissao);
                comando.Parameters.AddWithValue("?pHoraEmissao", NovoDAVCabecalho.HoraEmissao);
                comando.Parameters.AddWithValue("?pSituacao", NovoDAVCabecalho.Situacao);
                comando.Parameters.AddWithValue("?pSubTotal", ValorNovoDav);
                comando.Parameters.AddWithValue("?pValor", ValorNovoDav);
                comando.ExecuteNonQuery();

                comando = new MySqlCommand("select max(ID) as ID from DAV_CABECALHO", conexao);
                leitor  = comando.ExecuteReader();
                leitor.Read();
                NovoDAVCabecalho.Id = Convert.ToInt32(leitor["ID"]);
            }
            catch (Exception eError)
            {
                Log.write(eError.ToString());
            }
            finally
            {
                if (leitor != null)
                {
                    leitor.Close();
                }
            }


            try
            {
                int Item = 1;
                for (int i = 0; i <= ListaDAVDetalhe.Count - 1; i++)
                {
                    // atualizar o hash dos detalhes mesclados
                    ConsultaSQL =
                        "update DAV_DETALHE set " +
                        "HASH_TRIPA = ?pHashTripa, " +
                        "HASH_INCREMENTO = ?pHashIncremento " +
                        " where ID = ?pId";

                    Tripa = Convert.ToString(ListaDAVDetalhe[i].Id) +
                            Convert.ToString(ListaDAVDetalhe[i].IdDavCabecalho) +
                            Convert.ToString(ListaDAVDetalhe[i].IdProduto) +
                            ListaDAVDetalhe[i].NumeroDav +
                            ListaDAVDetalhe[i].DataEmissao +
                            Convert.ToString(ListaDAVDetalhe[i].Item) +
                            Biblioteca.FormataFloat("V", ListaDAVDetalhe[i].Quantidade) +
                            Biblioteca.FormataFloat("V", ListaDAVDetalhe[i].ValorUnitario) +
                            Biblioteca.FormataFloat("V", ListaDAVDetalhe[i].ValorTotal) +
                            ListaDAVDetalhe[i].Cancelado +
                            ListaDAVDetalhe[i].MesclaProduto +
                            ListaDAVDetalhe[i].GtinProduto +
                            ListaDAVDetalhe[i].NomeProduto +
                            ListaDAVDetalhe[i].TotalizadorParcial +
                            ListaDAVDetalhe[i].UnidadeProduto + "0";
                    Hash = Biblioteca.MD5String(Tripa);

                    comando = new MySqlCommand(ConsultaSQL, conexao);
                    comando.Parameters.AddWithValue("?pId", ListaDAVDetalhe[i].Id);
                    comando.Parameters.AddWithValue("?pHashTripa", Hash);
                    comando.Parameters.AddWithValue("?pHashIncremento", -1);
                    comando.ExecuteNonQuery();

                    // insere os novos detalhes
                    ConsultaSQL =
                        "insert into DAV_DETALHE (" +
                        "ID_PRODUTO," +
                        "ID_DAV_CABECALHO," +
                        "NUMERO_DAV," +
                        "DATA_EMISSAO," +
                        "ITEM," +
                        "QUANTIDADE," +
                        "VALOR_UNITARIO," +
                        "VALOR_TOTAL," +
                        "CANCELADO," +
                        "MESCLA_PRODUTO," +
                        "GTIN_PRODUTO," +
                        "NOME_PRODUTO," +
                        "TOTALIZADOR_PARCIAL," +
                        "HASH_TRIPA," +
                        "HASH_INCREMENTO," +
                        "UNIDADE_PRODUTO) values (" +
                        "?pIdProduto," +
                        "?pIdDavCabecalho," +
                        "?pNumeroDav," +
                        "?pDataEmissao," +
                        "?pItem," +
                        "?pQuantidade," +
                        "?pValorUnitario," +
                        "?pValorTotal," +
                        "?pCancelado," +
                        "?pMesclaProduto," +
                        "?pGtinProduto," +
                        "?pNomeProduto," +
                        "?pTOTALIZADOR_PARCIAL," +
                        "?pHashTripa," +
                        "?pHashIncremento," +
                        "?pUnidadeProduto)";

                    Tripa = Convert.ToString(ListaDAVDetalhe[i].Id) +
                            Convert.ToString(ListaDAVDetalhe[i].IdDavCabecalho) +
                            Convert.ToString(ListaDAVDetalhe[i].IdProduto) +
                            ListaDAVDetalhe[i].NumeroDav +
                            ListaDAVDetalhe[i].DataEmissao +
                            Convert.ToString(Item) +
                            Biblioteca.FormataFloat("V", ListaDAVDetalhe[i].Quantidade) +
                            Biblioteca.FormataFloat("V", ListaDAVDetalhe[i].ValorUnitario) +
                            Biblioteca.FormataFloat("V", ListaDAVDetalhe[i].ValorTotal) +
                            ListaDAVDetalhe[i].Cancelado +
                            ListaDAVDetalhe[i].MesclaProduto +
                            ListaDAVDetalhe[i].GtinProduto +
                            ListaDAVDetalhe[i].NomeProduto +
                            ListaDAVDetalhe[i].TotalizadorParcial +
                            ListaDAVDetalhe[i].UnidadeProduto + "0";
                    Hash = Biblioteca.MD5String(Tripa);


                    comando = new MySqlCommand(ConsultaSQL, conexao);
                    comando.Parameters.AddWithValue("?pIdProduto", ListaDAVDetalhe[i].IdProduto);
                    comando.Parameters.AddWithValue("?pIdDavCabecalho", NovoDAVCabecalho.Id);
                    comando.Parameters.AddWithValue("?pNumeroDav", ListaDAVDetalhe[i].NumeroDav);
                    comando.Parameters.AddWithValue("?pDataEmissao", new DateTime()); //DateTime.Now.ToString("yyyy-mm-dd")
                    comando.Parameters.AddWithValue("?pItem", Item);
                    comando.Parameters.AddWithValue("?pQuantidade", ListaDAVDetalhe[i].Quantidade);
                    comando.Parameters.AddWithValue("?pValorUnitario", ListaDAVDetalhe[i].ValorUnitario);
                    comando.Parameters.AddWithValue("?pValorTotal", ListaDAVDetalhe[i].ValorTotal);
                    comando.Parameters.AddWithValue("?pCancelado", ListaDAVDetalhe[i].Cancelado);
                    comando.Parameters.AddWithValue("?pMesclaProduto", ListaDAVDetalhe[i].MesclaProduto);
                    comando.Parameters.AddWithValue("?pGtinProduto", ListaDAVDetalhe[i].GtinProduto);
                    comando.Parameters.AddWithValue("?pNomeProduto", ListaDAVDetalhe[i].NomeProduto);
                    comando.Parameters.AddWithValue("?pUnidadeProduto", ListaDAVDetalhe[i].UnidadeProduto);
                    comando.Parameters.AddWithValue("?pTOTALIZADOR_PARCIAL", ListaDAVDetalhe[i].TotalizadorParcial);
                    comando.Parameters.AddWithValue("?pHashIncremento", 0);
                    comando.Parameters.AddWithValue("?pHashTripa", Hash);
                    comando.ExecuteNonQuery();

                    Item++;
                }
            }
            catch (Exception eError)
            {
                Log.write(eError.ToString());
            }
            finally
            {
                if (leitor != null)
                {
                    leitor.Close();
                }
            }

            FCaixa.CarregaDAV(Convert.ToString(NovoDAVCabecalho.Id));
        }
Пример #8
0
        public void FechaDAV(int?pId, int pCCF, int pCOO)
        {
            string Hash  = "";
            string Tripa = "";

            try
            {
                List <DavDetalheVO> ListaDAV = CarregaDAV(pId);
                for (int i = 0; i <= ListaDAV.Count - 1; i++)
                {
                    ConsultaSQL =
                        "update DAV_DETALHE set " +
                        "HASH_TRIPA = ?pHashTripa, " +
                        "HASH_INCREMENTO = ?pHashIncremento " +
                        " where ID = ?pId";

                    Tripa = Convert.ToString(ListaDAV[i].Id) +
                            Convert.ToString(ListaDAV[i].IdDavCabecalho) +
                            Convert.ToString(ListaDAV[i].IdProduto) +
                            ListaDAV[i].NumeroDav +
                            ListaDAV[i].DataEmissao +
                            Convert.ToString(ListaDAV[i].Item) +
                            Biblioteca.FormataFloat("V", ListaDAV[i].Quantidade) +
                            Biblioteca.FormataFloat("V", ListaDAV[i].ValorUnitario) +
                            Biblioteca.FormataFloat("V", ListaDAV[i].ValorTotal) +
                            ListaDAV[i].Cancelado +
                            ListaDAV[i].MesclaProduto +
                            ListaDAV[i].GtinProduto +
                            ListaDAV[i].NomeProduto +
                            ListaDAV[i].TotalizadorParcial +
                            ListaDAV[i].UnidadeProduto + "0";

                    Hash = Biblioteca.MD5String(Tripa);

                    comando = new MySqlCommand(ConsultaSQL, conexao);
                    comando.Parameters.AddWithValue("?pId", ListaDAV[i].Id);
                    comando.Parameters.AddWithValue("?pHashTripa", Hash);
                    comando.Parameters.AddWithValue("?pHashIncremento", -1);
                    comando.ExecuteNonQuery();
                }

                ConsultaSQL =
                    "update DAV_CABECALHO set " +
                    "SITUACAO=?pSituacao, " +
                    "CCF=?pCCF, " +
                    "NUMERO_ECF=?pNUMERO_ECF, " +
                    "COO=?pCOO " +
                    " where ID = ?pId";

                comando = new MySqlCommand(ConsultaSQL, conexao);
                comando.Parameters.AddWithValue("?pId", pId);
                comando.Parameters.AddWithValue("?pCCF", pCCF);
                comando.Parameters.AddWithValue("?pCOO", pCOO);
                comando.Parameters.AddWithValue("?pSituacao", "E");
                //todo_albert comando.Parameters.AddWithValue("?pNUMERO_ECF", UCaixa.ACBrECF.NumECF);
                comando.ExecuteNonQuery();

                // calcula e grava o hash do cabeçalho
                DavCabecalhoVO DAVCabecalho = ConsultaDAVId(pId);
                Tripa = Convert.ToString(DAVCabecalho.Id) +
                        Convert.ToString(DAVCabecalho.IdPessoa) +
                        Convert.ToString(DAVCabecalho.Ccf) +
                        Convert.ToString(DAVCabecalho.Coo) +
                        DAVCabecalho.NomeDestinatario +
                        DAVCabecalho.CpfCnpjDestinatario +
                        DAVCabecalho.DataEmissao +
                        DAVCabecalho.HoraEmissao +
                        DAVCabecalho.Situacao +
                        Biblioteca.FormataFloat("V", DAVCabecalho.TaxaAcrescimo) +
                        Biblioteca.FormataFloat("V", DAVCabecalho.Acrescimo) +
                        Biblioteca.FormataFloat("V", DAVCabecalho.TaxaDesconto) +
                        Biblioteca.FormataFloat("V", DAVCabecalho.Desconto) +
                        Biblioteca.FormataFloat("V", DAVCabecalho.Subtotal) +
                        Biblioteca.FormataFloat("V", DAVCabecalho.Valor) +
                        DAVCabecalho.NumeroDav +
                        //UCaixa.v.NumECF +
                        "0";

                Hash = Biblioteca.MD5String(Tripa);

                ConsultaSQL =
                    "update DAV_CABECALHO set " +
                    "HASH_TRIPA = ?pHashTripa, " +
                    "HASH_INCREMENTO = ?pHashIncremento " +
                    " where ID = ?pId";

                comando = new MySqlCommand(ConsultaSQL, conexao);
                comando.Parameters.AddWithValue("?pId", pId);
                comando.Parameters.AddWithValue("?pHashTripa", Hash);
                comando.Parameters.AddWithValue("?pHashIncremento", -1);
                comando.ExecuteNonQuery();
            }
            catch (Exception eError)
            {
                Log.write(eError.ToString());
            }
            finally
            {
            }
        }
Пример #9
0
        private void Confirma()
        {
            decimal ValorNovoDav = 0;

            if (MessageBox.Show("Tem certeza que deseja mesclar os DAV selecionados?", "Mesclar DAV", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                if (EditDestinatario.Text.Trim() == "")
                {
                    MessageBox.Show("Preencha o Nome do Destinatario!", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    EditDestinatario.Focus();
                    return;
                }
                if ((!Biblioteca.ValidaCPF(editCpfCnpj.Text)) && (!Biblioteca.ValidaCNPJ(editCpfCnpj.Text)))
                {
                    MessageBox.Show("Documento Invalido! Favor Corrigir", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    editCpfCnpj.Focus();
                    return;
                }

                FCaixa.LabelMensagens.Text = "Aguarde. Mesclando DAV!";
                List <DavCabecalhoVO> ListaDAVCabecalhoMescla = new List <DavCabecalhoVO>();
                List <DavDetalheVO>   ListaDAVDetalheMescla   = new List <DavDetalheVO>();
                DavCabecalhoVO        DAVCabecalho;
                DavDetalheVO          DAVDetalhe;

                for (int i = 0; i <= GridMestre.Rows.Count - 1; i++)
                {
                    if (ListaDavCabecalho[i].Situacao == "X")
                    {
                        DAVCabecalho    = new DavCabecalhoVO();
                        DAVCabecalho.Id = ListaDavCabecalho[i].Id;
                        DAVCabecalho.NomeDestinatario    = EditDestinatario.Text;
                        DAVCabecalho.CpfCnpjDestinatario = editCpfCnpj.Text;
                        DAVCabecalho.Valor = ListaDavCabecalho[i].Valor;
                        ListaDAVCabecalhoMescla.Add(DAVCabecalho);

                        for (int j = 0; j <= GridDetalhe.Rows.Count - 1; j++)
                        {
                            //TODO:  Observe que não temos todos esses itens na lista. Implemente isso no Controller ao carregar a tabela de detalhe.
                            DAVDetalhe = new DavDetalheVO();
                            DAVDetalhe.IdDavCabecalho     = DAVCabecalho.Id;
                            DAVDetalhe.Id                 = ListaDavDetalhe[j].Id;
                            DAVDetalhe.IdProduto          = ListaDavDetalhe[j].IdProduto;
                            DAVDetalhe.GtinProduto        = ListaDavDetalhe[j].GtinProduto;
                            DAVDetalhe.NomeProduto        = ListaDavDetalhe[j].NomeProduto;
                            DAVDetalhe.TotalizadorParcial = ListaDavDetalhe[j].TotalizadorParcial;
                            DAVDetalhe.UnidadeProduto     = ListaDavDetalhe[j].UnidadeProduto;
                            DAVDetalhe.Cancelado          = ListaDavDetalhe[j].Cancelado;
                            DAVDetalhe.Quantidade         = ListaDavDetalhe[j].Quantidade;
                            DAVDetalhe.ValorUnitario      = ListaDavDetalhe[j].ValorUnitario;
                            DAVDetalhe.ValorTotal         = ListaDavDetalhe[j].ValorTotal;
                            if (DAVDetalhe.Cancelado == "N")
                            {
                                ValorNovoDav = Biblioteca.TruncaValor(ValorNovoDav + DAVDetalhe.ValorTotal, Constantes.DECIMAIS_VALOR);
                            }
                            ListaDAVDetalheMescla.Add(DAVDetalhe);
                        }
                    }
                }


                if (ListaDAVDetalheMescla.Count < 1)
                {
                    MessageBox.Show("Nenhum item selecionado!", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    DAVController.MesclaDAV(ListaDAVCabecalhoMescla, ListaDAVDetalheMescla, ValorNovoDav);
                    FCaixa.LabelMensagens.Text = "Venda em andamento.";
                    this.Close();
                }
            }
        }