Exemplo n.º 1
0
        private void lblcaixa_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            FCaixa f = new FCaixa();

            //FRCaixa f = new FRCaixa();
            f.ShowDialog();
            if (f.ok)
            {
                FRCaixa fr = new FRCaixa(f.idcaixa);
                fr.ShowDialog();
            }
        }
Exemplo n.º 2
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));
        }
Exemplo n.º 3
0
        private void button3_Click_1(object sender, EventArgs e)
        {
            FCaixa FCaixa = new FCaixa();

            FCaixa.ShowDialog();
        }
Exemplo n.º 4
0
        public void MesclaPreVenda(List <PreVendaCabecalhoVO> ListaPreVendaCabecalho, List <PreVendaDetalheVO> ListaPreVendaDetalhe)
        {
            decimal TotalNovaPreVenda;
            // inicia e configura a nova Pre-Venda
            PreVendaCabecalhoVO NovaPreVenda = new PreVendaCabecalhoVO();

            NovaPreVenda.IdPessoa            = ListaPreVendaCabecalho[0].IdPessoa;
            NovaPreVenda.NomeDestinatario    = ListaPreVendaCabecalho[0].NomeDestinatario;
            NovaPreVenda.CpfCnpjDestinatario = ListaPreVendaCabecalho[0].CpfCnpjDestinatario;
            NovaPreVenda.DataEmissao         = DateTime.Now;
            NovaPreVenda.HoraEmissao         = DateTime.Now.ToString("HH:mm:ss");
            NovaPreVenda.Situacao            = "P";
            TotalNovaPreVenda = 0;

            // atualiza a tabela de cabecalho
            for (int i = 0; i <= ListaPreVendaCabecalho.Count - 1; i++)
            {
                // altera a situacao da PV selecionada para M de mesclada
                ConsultaSQL =
                    "update PRE_VENDA_CABECALHO set " +
                    "SITUACAO=?pSituacao " +
                    " where ID = ?pId";

                TotalNovaPreVenda = Biblioteca.TruncaValor(TotalNovaPreVenda, Constantes.DECIMAIS_VALOR) +
                                    Biblioteca.TruncaValor(ListaPreVendaCabecalho[i].SubTotal, Constantes.DECIMAIS_VALOR);
                try
                {
                    comando = new MySqlCommand(ConsultaSQL, conexao);
                    comando.Parameters.AddWithValue("?pId", ListaPreVendaCabecalho[i].Id);
                    comando.Parameters.AddWithValue("?pSituacao", "M");
                    comando.ExecuteNonQuery();
                }
                catch (Exception eError)
                {
                    Log.write(eError.ToString());
                }
            }

            // cria uma nova PV
            ConsultaSQL =
                "insert into PRE_VENDA_CABECALHO (" +
                "NOME_DESTINATARIO," +
                "CPF_CNPJ_DESTINATARIO," +
                "SUBTOTAL," +
                "DATA_PV," +
                "HORA_PV," +
                "SITUACAO, ID_PESSOA) values (" +
                "?pDestinatario," +
                "?pCPFCNPJ," +
                "?pSubTotal," +
                "?pDataEmissao," +
                "?pHoraEmissao," +
                "?psituacao, ?pIdPessoa)";
            try
            {
                comando = new MySqlCommand(ConsultaSQL, conexao);
                comando.Parameters.AddWithValue("?pDestinatario", NovaPreVenda.NomeDestinatario);
                comando.Parameters.AddWithValue("?pCPFCNPJ", NovaPreVenda.CpfCnpjDestinatario);
                comando.Parameters.AddWithValue("?pDataEmissao", NovaPreVenda.DataEmissao);
                comando.Parameters.AddWithValue("?pHoraEmissao", NovaPreVenda.HoraEmissao);
                comando.Parameters.AddWithValue("?pSituacao", NovaPreVenda.Situacao);
                comando.Parameters.AddWithValue("?pSubTotal", TotalNovaPreVenda);
                comando.Parameters.AddWithValue("?pIdPessoa", NovaPreVenda.IdPessoa);
                comando.ExecuteNonQuery();

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

            // atualiza a tabela de detalhes
            ConsultaSQL =
                "insert into PRE_VENDA_DETALHE (" +
                "ID_PRODUTO," +
                "ID_PRE_VENDA_CABECALHO," +
                "ITEM," +
                "QUANTIDADE," +
                "CANCELADO," +
                "GTIN_PRODUTO," +
                "NOME_PRODUTO," +
                "UNIDADE_PRODUTO," +
                "ECF_ICMS_ST," +
                "VALOR_UNITARIO," +
                "VALOR_TOTAL) " +
                " values (" +
                "?pID_PRODUTO," +
                "?pID_PRE_VENDA_CABECALHO," +
                "?pITEM," +
                "?pQUANTIDADE," +
                "?pCANCELADO," +
                "?pGTIN_PRODUTO," +
                "?pNOME_PRODUTO," +
                "?pUNIDADE_PRODUTO," +
                "?pECF_ICMS_ST," +
                "?pVALOR_UNITARIO," +
                "?pVALOR_TOTAL)";
            try
            {
                for (int i = 0; i <= ListaPreVendaDetalhe.Count - 1; i++)
                {
                    comando = new MySqlCommand(ConsultaSQL, conexao);
                    comando.Parameters.AddWithValue("?pID_PRODUTO", ListaPreVendaDetalhe[i].IdProduto);
                    comando.Parameters.AddWithValue("?pID_PRE_VENDA_CABECALHO", NovaPreVenda.Id);
                    comando.Parameters.AddWithValue("?pITEM", ListaPreVendaDetalhe[i].Item);
                    comando.Parameters.AddWithValue("?pQUANTIDADE", ListaPreVendaDetalhe[i].Quantidade);
                    comando.Parameters.AddWithValue("?pCANCELADO", ListaPreVendaDetalhe[i].Cancelado);
                    comando.Parameters.AddWithValue("?pGTIN_PRODUTO", ListaPreVendaDetalhe[i].GtinProduto);
                    comando.Parameters.AddWithValue("?pNOME_PRODUTO", ListaPreVendaDetalhe[i].NomeProduto);
                    comando.Parameters.AddWithValue("?pUNIDADE_PRODUTO", ListaPreVendaDetalhe[i].UnidadeProduto);
                    comando.Parameters.AddWithValue("?pECF_ICMS_ST", ListaPreVendaDetalhe[i].ECFICMS);
                    comando.Parameters.AddWithValue("?pVALOR_UNITARIO", ListaPreVendaDetalhe[i].ValorUnitario);
                    comando.Parameters.AddWithValue("?pVALOR_TOTAL", ListaPreVendaDetalhe[i].ValorTotal);
                    comando.ExecuteNonQuery();
                }
            }

            catch (Exception eError)
            {
                Log.write(eError.ToString());
            }

            CancelaPreVendasPendentes(ListaPreVendaCabecalho, ListaPreVendaDetalhe);

            FCaixa.CarregaPreVenda(Convert.ToString(NovaPreVenda.Id));
        }