Exemplo n.º 1
0
 private void BtNovoItem_Click(object sender, EventArgs e)
 {
     LimpaCamposItem(true);
     buscaItem.Focus();
     itemSelecionado    = null;
     btInserirItem.Text = "Inserir";
 }
Exemplo n.º 2
0
 private void DgvItens_CurrentCellChanged(object sender, EventArgs e)
 {
     if (dgvItens.SelectedRows.Count > 0)
     {
         int             selectedRowIndex = dgvItens.SelectedCells[0].RowIndex;
         DataGridViewRow selectedRow      = dgvItens.Rows[selectedRowIndex];
         itemSelecionado    = itens.Find(i => i.Item.ItemID == Convert.ToInt32(selectedRow.Cells[0].Value));
         btInserirItem.Text = "Alterar";
         PreencheCamposItem(itemSelecionado);
         btExcluirItem.Enabled = true;
     }
 }
Exemplo n.º 3
0
 private void ExcluirItem()
 {
     if (itemSelecionado != null)
     {
         itens.RemoveAll(i => i.Item.ItemID == itemSelecionado.Item.ItemID);
         dgvItens.Rows.Clear();
         dgvItens.Refresh();
         LimpaCamposItem(false);
         PreencheGridItens();
         CalculaTotalDocumento();
         itemSelecionado       = null;
         btExcluirItem.Enabled = false;
         Editando(true);
     }
 }
Exemplo n.º 4
0
 private void LimpaCamposItem(bool focus)
 {
     buscaItem.Limpa();
     dbQuantidade.Valor       = 0.00m;
     dbValorUnitItem.Valor    = 0.00m;
     dbValorTotItem.Valor     = 0.00m;
     dbDescontoItemPorc.Valor = 0.00m;
     dbDescontoItem.Valor     = 0.00m;
     itemSelecionado          = null;
     btExcluirItem.Enabled    = false;
     btInserirItem.Text       = "Inserir";
     if (focus)
     {
         buscaItem.Focus();
     }
 }
Exemplo n.º 5
0
        public NotaFiscalPropria GerarNotaFiscal(Orcamento orcamento)
        {
            NotaFiscalPropria notafiscal = new NotaFiscalPropria();

            notafiscal.NotaFiscalPropriaID = notaFiscalDAO.BuscaProxCodigoDisponivel();

            notafiscal.Pessoa              = orcamento.Pessoa;
            notafiscal.DataEmissao         = DateTime.Now;
            notafiscal.DataEntradaSaida    = DateTime.Now;
            notafiscal.ValorTotalItens     = orcamento.ValorTotalItens;
            notafiscal.ValorTotalDocumento = orcamento.ValorTotalOrcamento;
            notafiscal.DescontoTotalItens  = orcamento.DescontoTotalItens;
            notafiscal.DescontoDocumento   = orcamento.DescontoOrcamento;

            foreach (OrcamentoItem oi in orcamento.OrcamentoItem)
            {
                NotaFiscalPropriaItem nfi = new NotaFiscalPropriaItem();
                nfi.Item          = oi.Item;
                nfi.NotaFiscal    = notafiscal;
                nfi.Quantidade    = oi.Quantidade;
                nfi.ValorUnitario = oi.ValorUnitario;
                nfi.ValorTotal    = oi.ValorTotal;
                nfi.DescontoPorc  = oi.DescontoPorc;
                nfi.Desconto      = oi.Desconto;
                notafiscal.NotaFiscalPropriaItem.Add(nfi);
            }

            int resultado = notaFiscalDAO.SalvaOuAtualiza(notafiscal);

            if (resultado == 1)
            {
                notaFiscalDAO.MovimentaEstoque(notafiscal);
            }
            if (resultado == 2)
            {
                notaFiscalDAO.LimpaRegistrosEstoque(notafiscal);
                notaFiscalDAO.MovimentaEstoque(notafiscal);
            }
            if (resultado > 0)
            {
                resultado = orcamentoDAO.VincularNotaAoOrcamento(orcamento, notafiscal);
            }
            return(resultado > 0 ? notafiscal : null);
        }
Exemplo n.º 6
0
        private void InserirItem()
        {
            if (buscaItem.item == null)
            {
                MessageBox.Show("Item não encontrado no banco de dados",
                                "Item não encontrado",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
                buscaItem.Focus();
                return;
            }

            NotaFiscalPropriaItem item = null;

            if (itemSelecionado == null)
            {
                item               = new NotaFiscalPropriaItem();
                item.Item          = buscaItem.item;
                item.Quantidade    = dbQuantidade.Valor;
                item.ValorUnitario = dbValorUnitItem.Valor;
                item.ValorTotal    = dbValorTotItem.Valor;
                item.DescontoPorc  = dbDescontoItemPorc.Valor;
                item.Desconto      = dbDescontoItem.Valor;
                itens.Add(item);
                btNovoItem.PerformClick();
            }
            else
            {
                item               = itemSelecionado;
                item.Quantidade    = dbQuantidade.Valor;
                item.ValorUnitario = dbValorUnitItem.Valor;
                item.ValorTotal    = dbValorTotItem.Valor;
                item.DescontoPorc  = dbDescontoItemPorc.Valor;
                item.Desconto      = dbDescontoItem.Valor;
                itens[itens.FindIndex(i => i.Item.ItemID == item.Item.ItemID)] = item;
            }
            CalculaTotalDocumento();
            btExcluirItem.Enabled = false;
            LimpaCamposItem(true);
            PreencheGridItens();
        }
Exemplo n.º 7
0
        private void PreencheCamposItem(NotaFiscalPropriaItem item)
        {
            if (item != null)
            {
                ignoracheckevent = true;
                buscaItem.PreencheCampos(item.Item);
                dbValorUnitItem.Valor    = item.Item.ValorUnitario;
                dbQuantidade.Valor       = item.Quantidade;
                dbValorTotItem.Valor     = item.ValorTotal;
                dbDescontoItemPorc.Valor = item.DescontoPorc;
                dbDescontoItem.Valor     = item.Desconto;

                ignoracheckevent = false;
            }
            else
            {
                MessageBox.Show("Item não encontrado no banco de dados",
                                "Item não encontrado",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
                buscaItem.Focus();
            }
        }
Exemplo n.º 8
0
        private void BuscaItem()
        {
            if (buscaItem.item == null)
            {
                return;
            }
            var item = new NotaFiscalPropriaItem();
            var dr   = dgvItens.Rows.Cast <DataGridViewRow>().Where(r => (int)r.Cells[0].Value == buscaItem.item.ItemID).FirstOrDefault();

            if (dr == null)
            {
                item.Item             = buscaItem.item;
                btInserirItem.Text    = "Inserir";
                btExcluirItem.Enabled = false;
            }
            else
            {
                item = itens.Find(i => i.Item.ItemID == buscaItem.item.ItemID);
                btInserirItem.Text    = "Alterar";
                btExcluirItem.Enabled = true;
            }
            PreencheCamposItem(item);
        }
Exemplo n.º 9
0
        //public void LimpaRegistrosCaixaSaida(NotaFiscalPropria nota)
        //{
        //    using (MySQLConn sql = new MySQLConn(Configuracao.Conecta))
        //    {
        //        sql.addParam("@documento", nota.NotaFiscalPropriaID.ToString());

        //        sql.Query = @"DELETE FROM caixa_lancamento_sai
        //                      WHERE idnotafiscal = @documento";
        //        sql.deleteQuery();

        //        sql.Query = @"DELETE FROM caixa_lancamento
        //                    WHERE documento = @documento";
        //        sql.deleteQuery();
        //    }
        //}

        //public int MovimentaCaixaEntradaDeDinheiro(NotaFiscalPropria nota)
        //{
        //    int retorno = 0;

        //    using (MySQLConn sql = new MySQLConn(Configuracao.Conecta))
        //    {

        //        sql.beginTransaction();
        //        sql.Query = @"INSERT INTO caixa_lancamento
        //                    (data, valor, tipomovimento, tipodocumento, lancamento, documento, idcaixa, idcaixa_plano_contas)
        //                    VALUES
        //                    (@data, @valor, @tipomovimento, @tipodocumento, @lancamento, @documento, @idcaixa, @idcaixa_plano_contas)";
        //        sql.addParam("@data", nota.DataEntradaSaida);
        //        sql.addParam("@valor", nota.ValorTotalDocumento);
        //        sql.addParam("@tipomovimento", 0);
        //        sql.addParam("@tipodocumento", 2);
        //        sql.addParam("@lancamento", 1);
        //        sql.addParam("@documento", nota.NotaFiscalPropriaID);
        //        //sql.addParam("@idcaixa", nota.Caixa.CaixaID);
        //        //sql.addParam("@idcaixa_plano_contas", nota.PlanoDeConta.PlanoContaID);
        //        retorno = sql.insertQuery();


        //        if (retorno > 0)
        //        {
        //            sql.Query = "SELECT LAST_INSERT_ID() AS idcaixalancamento;";
        //            var data = sql.selectQueryForSingleRecord();
        //            int idcaixalancamento = Convert.ToInt32(data["idcaixalancamento"]);

        //            sql.Query = @"DELETE FROM caixa_lancamento_sai
        //                          WHERE idnotafiscal = @idnotafiscal
        //                          AND idcaixa_lancamento = @idcaixa_lancamento";

        //            sql.clearParams();
        //            sql.addParam("@idcaixa_lancamento", idcaixalancamento);
        //            sql.addParam("@idnotafiscal", nota.NotaFiscalPropriaID);

        //            sql.deleteQuery();

        //            sql.Query = @"INSERT INTO caixa_lancamento_sai (idcaixa_lancamento, idnotafiscal)
        //                        VALUES
        //                        (@idcaixa_lancamento, @idnotafiscal)";

        //            sql.clearParams();
        //            sql.addParam("@idcaixa_lancamento", idcaixalancamento);
        //            sql.addParam("@idnotafiscal", nota.NotaFiscalPropriaID);
        //            sql.insertQuery();

        //        }

        //        sql.Commit();
        //    }

        //    return retorno;
        //}

        private NotaFiscalPropria LeDadosReader(List <Dictionary <string, object> > data)
        {
            if (data.Count == 0)
            {
                return(null);
            }
            var notaFiscalItens = new List <NotaFiscalPropriaItem>();

            var notaFiscalPropria = new NotaFiscalPropria();

            notaFiscalPropria.NotaFiscalPropriaID = Convert.ToInt32(data[0]["idnotafiscal"]);
            notaFiscalPropria.Descricao           = (string)data[0]["descricao"];
            notaFiscalPropria.DataEmissao         = (DateTime)data[0]["data_emissao"];
            notaFiscalPropria.DataEntradaSaida    = (DateTime)data[0]["data_entradasaida"];
            notaFiscalPropria.ValorTotalItens     = (decimal)data[0]["valor_total_itens"];
            notaFiscalPropria.ValorTotalDocumento = (decimal)data[0]["valor_documento"];
            notaFiscalPropria.DescontoTotalItens  = (decimal)data[0]["desconto_total_itens"];
            notaFiscalPropria.DescontoDocumento   = (decimal)data[0]["desconto_documento"];
            var contareceber = new ContaReceber();

            contareceber.ContaReceberID    = Convert.ToInt32(data[0]["idconta_receber"]);
            notaFiscalPropria.ContaReceber = contareceber;
            var pessoa = new Pessoa();

            pessoa.PessoaID = Convert.ToInt32(data[0]["idpessoa"]);
            var vendedor = new Pessoa();

            vendedor.PessoaID          = Convert.ToInt32(data[0]["idpessoa_vendedor"]);
            notaFiscalPropria.Pessoa   = pessoa;
            notaFiscalPropria.Vendedor = vendedor;


            foreach (var d in data)
            {
                var item = new Item();
                item.ItemID            = Convert.ToInt32(d["iditem"]);
                item.CodigoInterno     = (string)d["codigointerno"];
                item.Descricao         = (string)d["descitem"];
                item.DescCompra        = (string)d["denominacaocompra"];
                item.TipoItem          = (string)d["tipo"];
                item.Referencia        = (string)d["referencia"];
                item.ValorEntrada      = (decimal)d["valorentrada"];
                item.ValorUnitario     = (decimal)d["valorsaida"];
                item.Estoquenecessario = (decimal)d["estoquenecessario"];
                item.Quantidade        = (decimal)d["quantidade"];
                item.Custo             = (decimal)d["custo"];


                var nfi = new NotaFiscalPropriaItem();
                nfi.Quantidade    = (decimal)d["quantidadenfhi"];
                nfi.ValorUnitario = (decimal)d["valor_unitario"];
                nfi.ValorTotal    = (decimal)d["valor_total"];
                nfi.DescontoPorc  = (decimal)d["desconto_porc"];
                nfi.Desconto      = (decimal)d["desconto"];
                nfi.Item          = item;
                notaFiscalItens.Add(nfi);
            }
            notaFiscalPropria.NotaFiscalPropriaItem = notaFiscalItens;

            return(notaFiscalPropria);
        }
Exemplo n.º 10
0
        public IEnumerable <NotaFiscalPropria> BuscaParaRelatorio(fmRltNotasSaida.Filtros f)
        {
            var notaFiscalProprias = new List <NotaFiscalPropria>();
            var wherePessoa        = f.usaFiltroClientes ? " AND nf.idpessoa BETWEEN @idpessoa_inicial AND @idpessoa_final" : "";
            var whereCidade        = f.usaFiltroCidades ? " AND p.idcidade BETWEEN @idcidade_inicial AND @idcidade_final" : "";
            var whereDataEmissao   = f.usaFiltroDataEmissao ? " AND nf.data_emissao BETWEEN @data_emissao_inicial AND @data_emissao_final" : "";
            var whereDataSaida     = f.usaFiltroDataSaida ? " AND nf.data_entradasaida BETWEEN @data_saida_inicial AND @data_saida_final" : "";
            var whereValor         = f.usaFiltroValor ? " AND nf.valor_documento BETWEEN @valor_inicial AND @valor_final" : "";

            using (MySQLConn sql = new MySQLConn(Configuracao.Conecta))
            {
                sql.Query = $@"SELECT 
                            nf.idnotafiscal AS nf_idnotafiscal, nf.data_emissao AS nf_data_emissao, nf.data_entradasaida AS nf_entradasaida, nf.tiponf AS nf_tiponf, nf.valor_total_itens AS nf_valor_total_itens, nf.valor_documento AS nf_valor_documento,  nf.desconto_total_itens AS nf_desconto_total_itens, nf.desconto_documento AS nf_desconto_documento, 
                            p.idpessoa AS p_idpessoa, p.nome AS p_nome, p.fantasia AS p_fantasia, p.tipo_pessoa, p.atuacao, p.situacao, p.rua AS p_rua, p.numero AS p_numero, p.bairro AS p_bairro, p.complemento AS p_complemento, p.cpf AS p_cpf, p.cnpj AS p_cnpj, p.endereco AS p_endereco, p.telefone AS p_telefone, p.email AS p_email, p.cep AS p_cep
                            c.idcidade AS c_idcidade, c.nome AS c_nome,
                            sbp.idsubgrupopessoa AS sbp_idsubgrupopessoa, sbp.nome AS sbp_nome,
                            gp.idgrupopessoa AS gp_idgrupopessoa, gp.nome AS gp_nome,
                            nfhi.quantidade AS nfhi_quantidade, nfhi.valor_unitario AS nfhi_valorunitario, nfhi.valor_total AS nfhi_valortotal, nfhi.desconto_porc AS nfhi_descontoporc, nfhi.desconto AS nfhi_desconto,
                            i.iditem AS i_iditem, i.descitem AS i_desc, i.denominacaocompra AS i_desccompra, i.tipo AS i_tipo, i.referencia AS i_referencia, i.valorentrada AS i_valorentrada, i.valorsaida AS i_valorsaida, i.estoquenecessario AS i_estoquenecessario, i.quantidade AS i_quantidade,
                            uni.idunimedida AS uni_idunimedida, uni.sigla AS uni_sigla, uni.descricao AS uni_descricao,
                            sbi.idsubgrupoitem AS sbi_idsubgrupoitem, sbi.codigo AS sbi_codigo, sbi.nome AS sbi_nome,
                            gi.idgrupoitem AS gi_idgrupoitem, gi.nome AS gi_nome
                            FROM
                            notafiscal nf 
                            LEFT JOIN pessoa p
	                            ON nf.idpessoa = p.idpessoa
                            LEFT JOIN cidade c
	                            ON p.idcidade = c.idcidade
                            LEFT JOIN subgrupopessoa sbp
	                            ON sbp.idsubgrupopessoa = p.idsubgrupopessoa
                            LEFT JOIN grupopessoa gp
	                            ON gp.idgrupopessoa = sbp.idgrupopessoa
                            LEFT JOIN notafiscal_has_item nfhi
	                            ON nfhi.idnotafiscal = nf.idnotafiscal
                            LEFT JOIN item i
	                            ON nfhi.iditem = i.iditem
                            LEFT JOIN unimedida uni
	                            ON i.idunimedida = uni.idunimedida
                            LEFT JOIN subgrupoitem sbi
	                            ON  i.idsubgrupoitem = sbi.idsubgrupoitem
                            LEFT JOIN grupoitem gi
	                            ON sbi.idgrupoitem = gi.idgrupoitem
                            WHERE 1 = 1 
                            {wherePessoa}
                            {whereCidade}
                            {whereDataEmissao}
                            {whereDataSaida}
                            {whereValor}
                            ORDER BY nf.idnotafiscal";
                if (f.usaFiltroClientes)
                {
                    sql.addParam("@idpessoa_inicial", f.pessoaInicial.PessoaID);
                    sql.addParam("@idpessoa_final", f.pessoaFinal.PessoaID);
                }
                if (f.usaFiltroCidades)
                {
                    sql.addParam("@idcidade_inicial", f.cidadeInicial.CidadeID);
                    sql.addParam("@idcidade_final", f.cidadeFinal.CidadeID);
                }
                if (f.usaFiltroDataEmissao)
                {
                    sql.addParam("@data_emissao_inicial", f.dataEmissaoInicial);
                    sql.addParam("@data_emissao_final", f.dataEmissaoFinal);
                }
                if (f.usaFiltroDataSaida)
                {
                    sql.addParam("@data_saida_inicial", f.dataSaidaInicial);
                    sql.addParam("@data_saida_final", f.dataSaidaFinal);
                }
                if (f.usaFiltroValor)
                {
                    sql.addParam("@valor_inicial", f.valorInicial);
                    sql.addParam("@valor_final", f.valorFinal);
                }
                var data = sql.selectQuery();
                var i    = 0;
                NotaFiscalPropria notaFiscalPropria = null;
                foreach (var d in data)
                {
                    var grupoItem = new GrupoItem();
                    grupoItem.GrupoItemID = Convert.ToInt32(d["gi_idgrupoitem"]);
                    grupoItem.Nome        = (string)d["gi_nome"];

                    var subGrupoItem = new SubGrupoItem();
                    subGrupoItem.SubGrupoItemID = Convert.ToInt32(d["sbi_idsubgrupoitem"]);
                    subGrupoItem.Nome           = (string)d["sbi_nome"];
                    subGrupoItem.Codigo         = Convert.ToInt32(d["sbi_codigo"]);
                    subGrupoItem.GrupoItem      = grupoItem;

                    var uniMedida = new Unimedida();
                    uniMedida.UnimedidaID = Convert.ToInt32(d["uni_idunimedida"]);
                    uniMedida.Sigla       = (string)d["uni_sigla"];
                    uniMedida.Descricao   = (string)d["uni_descricao"];

                    var item = new Item();
                    item.ItemID            = Convert.ToInt32(d["i_iditem"]);
                    item.Descricao         = (string)d["i_desc"];
                    item.DescCompra        = (string)d["i_desccompra"];
                    item.TipoItem          = (string)d["i_tipo"];
                    item.Referencia        = (string)d["i_referencia"];
                    item.ValorEntrada      = (decimal)d["i_valorentrada"];
                    item.ValorUnitario     = (decimal)d["i_valorsaida"];
                    item.Estoquenecessario = (decimal)d["i_estoquenecessario"];
                    item.Unimedida         = uniMedida;
                    item.SubGrupoItem      = subGrupoItem;
                    item.Quantidade        = (decimal)d["i_quantidade"];

                    var nfi = new NotaFiscalPropriaItem();
                    nfi.NotaFiscal    = notaFiscalPropria;
                    nfi.Item          = item;
                    nfi.Quantidade    = (decimal)d["nfhi_quantidade"];
                    nfi.ValorUnitario = (decimal)d["nfhi_valorunitario"];
                    nfi.ValorTotal    = (decimal)d["nfhi_valortotal"];
                    nfi.DescontoPorc  = (decimal)d["nfhi_descontoporc"];
                    nfi.Desconto      = (decimal)d["nfhi_desconto"];

                    if (Convert.ToInt32(d["nf_idnotafiscal"]) != i)
                    {
                        notaFiscalProprias.Add(notaFiscalPropria);
                        i = Convert.ToInt32(d["nf_idnotafiscal"]);


                        var grupoPessoa = new GrupoPessoa();
                        grupoPessoa.GrupoPessoaID = Convert.ToInt32(d["gp_idgrupopessoa"]);
                        grupoPessoa.Nome          = (string)d["gp_nome"];

                        var subGrupoPessoa = new SubGrupoPessoa();
                        subGrupoPessoa.SubGrupoPessoaID = Convert.ToInt32(d["sbp_idsubgrupopessoa"]);
                        subGrupoPessoa.Nome             = (string)d["sbp_nome"];
                        subGrupoPessoa.GrupoPessoa      = grupoPessoa;

                        var cidade = new Cidade();
                        cidade.CidadeID = Convert.ToInt32(d["c_idcidade"]);
                        cidade.Nome     = (string)d["c_nome"];

                        var pessoa = new Pessoa();
                        pessoa.PessoaID    = Convert.ToInt32(d["p_idpessoa"]);
                        pessoa.Nome        = (string)d["p_nome"];
                        pessoa.Fantasia    = (string)d["p_fantasia"];
                        pessoa.TipoPessoa  = (string)d["tipo_pessoa"];
                        pessoa.Atuacao     = (string)d["atuacao"];
                        pessoa.Situacao    = (string)d["situacao"];
                        pessoa.Rua         = (string)d["p_rua"];
                        pessoa.Numero      = (string)d["p_numero"];
                        pessoa.Bairro      = (string)d["p_bairro"];
                        pessoa.Cep         = (string)d["p_cep"];
                        pessoa.Complemento = (string)d["p_complemento"];
                        pessoa.Cidade      = cidade;

                        if (pessoa.TipoPessoa == "J")
                        {
                            pessoa.CpfCnpj = (string)d["p_cnpj"];
                        }
                        else
                        {
                            pessoa.CpfCnpj = (string)d["p_cpf"];
                        }

                        pessoa.Telefone       = (string)d["p_endereco"];
                        pessoa.Email          = (string)d["p_telefone"];
                        pessoa.SubGrupoPessoa = subGrupoPessoa;


                        notaFiscalPropria = new NotaFiscalPropria();
                        notaFiscalPropria.NotaFiscalPropriaID = Convert.ToInt32(d["nf_idnotafiscal"]);
                        notaFiscalPropria.DataEmissao         = (DateTime)d["nf_data_emissao"];
                        notaFiscalPropria.DataEntradaSaida    = (DateTime)d["nf_entradasaida"];
                        notaFiscalPropria.TipoNf              = (string)d["nf_tiponf"];
                        notaFiscalPropria.ValorTotalItens     = (decimal)d["nf_valor_total_itens"];
                        notaFiscalPropria.ValorTotalDocumento = (decimal)d["nf_valor_documento"];
                        notaFiscalPropria.DescontoTotalItens  = (decimal)d["nf_desconto_total_itens"];
                        notaFiscalPropria.DescontoDocumento   = (decimal)d["nf_desconto_documento"];
                        notaFiscalPropria.Pessoa              = pessoa;
                    }
                    notaFiscalPropria.NotaFiscalPropriaItem.Add(nfi);
                }
                notaFiscalProprias.Add(notaFiscalPropria);
            }
            notaFiscalProprias.RemoveAt(0);
            return(notaFiscalProprias);
        }