Exemple #1
0
        public int DevolucaoCancelamento(CaixaLancamento caixaLancamento)
        {
            var 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.clearParams();
                sql.addParam("@data", caixaLancamento.Data);
                sql.addParam("@valor", caixaLancamento.Valor);
                sql.addParam("@tipomovimento", caixaLancamento.TipoMovimento);
                sql.addParam("@tipodocumento", caixaLancamento.TipoDocumento);
                sql.addParam("@lancamento", caixaLancamento.Lancamento);
                sql.addParam("@documento", caixaLancamento.Documento);
                sql.addParam("@idcaixa", caixaLancamento.Caixa.CaixaID);
                sql.addParam("@idcaixa_plano_contas", caixaLancamento.PlanoConta.PlanoContaID);
                retorno += sql.insertQuery();
                sql.clearParams();
                sql.Commit();
            }
            return(retorno);
        }
Exemple #2
0
 private void LimparDados()
 {
     caixaLancamento = null;
     dtpData.Value   = DateTime.Now;
     tbDocumento.Clear();
     dbValor.Valor = 0;
     Editando(false);
 }
Exemple #3
0
        private CaixaLancamento LeDadosReader(Dictionary <string, object> data)
        {
            var caixaLancamento = new CaixaLancamento();

            caixaLancamento.CaixaLancamentoID = Convert.ToInt32(data["idcaixa_lancamento"]);
            caixaLancamento.Data          = (DateTime)data["data"];
            caixaLancamento.Valor         = (decimal)data["valor"];
            caixaLancamento.TipoMovimento = Convert.ToInt32(data["tipomovimento"]);
            caixaLancamento.TipoDocumento = Convert.ToInt32(data["tipodocumento"]);
            caixaLancamento.Lancamento    = Convert.ToInt32(data["lancamento"]);
            caixaLancamento.Documento     = (string)data["documento"];
            return(caixaLancamento);
        }
Exemple #4
0
        private void Quitar()
        {
            if (parcelasContaReceberSelecionadas.Count <= 0)
            {
                MessageBox.Show("Nenhuma parcela seleciona!",
                                "Erro",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
                return;
            }
            var formTroco = new fmTroco(dbValorTotal.Valor);

            formTroco.ShowDialog();
            if (!formTroco.pago)
            {
                return;
            }

            int retorno = parcelaContaReceberDAO.QuitarParcelas(parcelasContaReceberSelecionadas);

            if (retorno == 1)
            {
                MessageBox.Show("Parcelas selecionadas quitadas!");
                caixaLancamentos = new List <CaixaLancamento>();
                foreach (var parc in parcelasContaReceberSelecionadas)
                {
                    var caixaLancamento = new CaixaLancamento();
                    caixaLancamento.Caixa               = buscaCaixa.caixa;
                    caixaLancamento.PlanoConta          = buscaPlanoContaCaixa.conta;
                    caixaLancamento.Data                = DateTime.Now;
                    caixaLancamento.Documento           = parc.ParcelaContaReceberID.ToString();
                    caixaLancamento.TipoDocumento       = 0;
                    caixaLancamento.TipoMovimento       = 0;
                    caixaLancamento.Lancamento          = 1;
                    caixaLancamento.Valor               = parc.ValorFinal;
                    caixaLancamento.ParcelaContaReceber = parc;
                    caixaLancamentos.Add(caixaLancamento);
                }
                caixaLancamentoDAO.NovosCar(caixaLancamentos);
                parcelasContaReceberSelecionadas.Clear();
                Limpar();
                btPesquisar.PerformClick();
            }
            else
            {
                MessageBox.Show("Houve problema ao quitar as parcelas!");
            }
        }
Exemple #5
0
        public CaixaLancamento BuscaByDocumento(string documento)
        {
            var caixaLancamentos = new CaixaLancamento();

            using (MySQLConn sql = new MySQLConn(Configuracao.Conecta))
            {
                sql.Query = @"SELECT *, c.codigo AS caixa_codigo, cpc.codigo AS cpc_codigo  
                            FROM caixa_lancamento cl 
                            LEFT JOIN caixa_plano_contas cpc ON cl.idcaixa_plano_contas = cpc.idcaixa_plano_contas 
                            LEFT JOIN caixa c ON cl.idcaixa = c.idcaixa
                            WHERE documento = @documento";
                sql.addParam("@documento", documento);
                var data = sql.selectQueryForSingleRecord();
                if (data == null)
                {
                    return(null);
                }
                caixaLancamentos = LeDadosReaderComPlanos(data);
            }
            return(caixaLancamentos);
        }
Exemple #6
0
        private void Salvar()
        {
            if (!editando)
            {
                return;
            }

            if (caixaLancamento == null)
            {
                caixaLancamento = new CaixaLancamento();
            }

            caixaLancamento.Caixa         = buscaCaixa.caixa;
            caixaLancamento.Data          = dtpData.Value;
            caixaLancamento.Documento     = tbDocumento.Text;
            caixaLancamento.Lancamento    = 0; // lançamento manual
            caixaLancamento.Valor         = dbValor.Valor;
            caixaLancamento.TipoMovimento = rbCredito.Checked ? 0 : 1;
            caixaLancamento.TipoDocumento = 0;
            caixaLancamento.PlanoConta    = buscaPlanoContaCaixa.conta;
            int retorno = caixaLancamentoDAO.Novo(caixaLancamento);

            if (retorno == 0)
            {
                MessageBox.Show("Houve um problema ao inserir a nova conta!",
                                "Problema ao inserir conta",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
                return;
            }
            else
            {
                MessageBox.Show("Conta inserida com sucesso!",
                                "Sucesso",
                                MessageBoxButtons.OK);
                tbDocumento.Focus();
            }
            LimparDados();
        }
Exemple #7
0
        private void Quitar()
        {
            var formTroco = new fmTroco(dbValorTotal.Valor);

            formTroco.ShowDialog();
            if (formTroco.pago)
            {
                int retorno = parcelaContaPagarDAO.QuitarParcelas(parcelasContaPagarSelecionadas);
                if (retorno == 1)
                {
                    MessageBox.Show("Parcelas selecionadas quitadas!");
                    caixaLancamentos = new List <CaixaLancamento>();
                    foreach (var parc in parcelasContaPagarSelecionadas)
                    {
                        var caixaLancamento = new CaixaLancamento();
                        caixaLancamento.Caixa             = buscaCaixa.caixa;
                        caixaLancamento.PlanoConta        = buscaPlanoContaCaixa.conta;
                        caixaLancamento.Data              = DateTime.Now;
                        caixaLancamento.Documento         = parc.ParcelaContaPagarID.ToString();
                        caixaLancamento.TipoDocumento     = 1;
                        caixaLancamento.TipoMovimento     = 1;
                        caixaLancamento.Lancamento        = 1;
                        caixaLancamento.Valor             = parc.ValorFinal;
                        caixaLancamento.ParcelaContaPagar = parc;
                        caixaLancamentos.Add(caixaLancamento);
                    }
                    caixaLancamentoDAO.NovosCap(caixaLancamentos);
                    parcelasContaPagarSelecionadas.Clear();
                    Limpar();
                    btPesquisar.PerformClick();
                }
                else
                {
                    MessageBox.Show("Houve problema ao quitar as parcelas!");
                }
            }
        }
Exemple #8
0
        private CaixaLancamento LeDadosReaderComPlanos(Dictionary <string, object> data)
        {
            var planoConta = new PlanoConta();

            planoConta.PlanoContaID   = Convert.ToInt32(data["idcaixa_plano_contas"]);
            planoConta.Codigo         = Convert.ToInt32(data["cpc_codigo"]);
            planoConta.Level          = Convert.ToInt32(data["level"]);
            planoConta.PaiID          = Convert.ToInt32(data["paiid"]);
            planoConta.Descricao      = (string)data["descricao"];
            planoConta.CodigoCompleto = (string)data["codigo_completo"];

            var caixa = new Caixa();

            caixa.CaixaID = Convert.ToInt32(data["idcaixa"]);
            caixa.Codigo  = Convert.ToInt32(data["caixa_codigo"]);
            caixa.Nome    = (string)data["nome"];

            var parcelaCAR          = new ParcelaContaReceber();
            var parcelaCAP          = new ParcelaContaPagar();
            var notafiscalpropria   = new NotaFiscalPropria();
            var notafiscalterceiros = new NotaFiscalTerceiros();

            var caixaLancamento = new CaixaLancamento();

            caixaLancamento.PlanoConta        = planoConta;
            caixaLancamento.Caixa             = caixa;
            caixaLancamento.CaixaLancamentoID = Convert.ToInt32(data["idcaixa_lancamento"]);
            caixaLancamento.Data          = (DateTime)data["data"];
            caixaLancamento.Valor         = (decimal)data["valor"];
            caixaLancamento.TipoMovimento = Convert.ToInt32(data["tipomovimento"]);
            caixaLancamento.TipoDocumento = Convert.ToInt32(data["tipodocumento"]);
            caixaLancamento.Lancamento    = Convert.ToInt32(data["lancamento"]);
            caixaLancamento.Documento     = (string)data["documento"];


            return(caixaLancamento);
        }
Exemple #9
0
 private void PreencheCaixaEPlano(NotaFiscalTerceiros notafiscal)
 {
     caixalancamento = caixalancamentoDAO.BuscaByDocumento(notafiscal.NotaFiscalTerceirosID.ToString());
     buscaCaixa.PreencheCampos(caixalancamento?.Caixa);
     buscaPlanoDeConta.PreencheCampos(caixalancamento?.PlanoConta);
 }
Exemple #10
0
        private void CancelarNota()
        {
            decimal Pago = 0, Aberto = 0, Devolucao = 0;

            multacancelamento = (notaFiscalPropria.ValorTotalDocumento * multacancelamento) / 100;

            foreach (var p in notaFiscalPropria.ContaReceber.Parcelas)
            {
                switch (p.Situacao)
                {
                case "Pago":
                    Pago += p.ValorFinal;
                    break;

                case "Aberto":
                    Aberto += p.ValorFinal;
                    break;
                }
            }

            Devolucao = Pago - multacancelamento;


            if (Devolucao > 0)
            {
                MessageBox.Show("Escolha o caixa em que o lançamento será realizado", "Aviso",
                                MessageBoxButtons.OK, MessageBoxIcon.Information);

                Caixa caixa      = new Caixa();
                var   buscaCaixa = new fmCaiBuscaCaixa();
                buscaCaixa.ShowDialog();
                if (buscaCaixa.caixaSelecionada == null)
                {
                    MessageBox.Show("Caixa não selecionado, operação interrompida!", "Erro",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                caixa = buscaCaixa.caixaSelecionada;

                PlanoContaDAO planocontaDAO = new PlanoContaDAO();
                PlanoConta    planoconta    = new PlanoConta();
                planoconta = planocontaDAO.BuscaByID(2);

                caixalancemnto = new CaixaLancamento
                {
                    Data          = DateTime.Today,
                    Valor         = Devolucao,
                    TipoMovimento = 1,
                    TipoDocumento = 6,
                    Lancamento    = 1,
                    Caixa         = caixa,
                    PlanoConta    = planoconta
                };

                var resultado = caixalancamentoDAO.DevolucaoCancelamento(caixalancemnto);

                if (resultado > 0)
                {
                    MessageBox.Show("Lançamento realizado com sucesso!",
                                    "Conta gerada",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("Problema ao realizar lançamento",
                                    "Problema ao gerar",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Warning);
                }
            }
            if (Devolucao < 0)
            {
                //Gerar conta a receber com valor MULTA POR CANCELAMENTO DE NOTA

                Devolucao = Devolucao * -1;

                var par = new ParcelaContaReceber
                {
                    Sequencia      = 1,
                    DataVencimento = DateTime.Today.AddDays(30),
                    Multa          = 0.00m,
                    Juros          = 0,
                    Valor          = Devolucao,
                    Acrescimo      = 0,
                    Desconto       = 0,
                    Descricao      = "Multa por cancelamento de nota",
                    Situacao       = "Aberto"
                };

                List <ParcelaContaReceber> parcelasmulta = new List <ParcelaContaReceber>();
                parcelasmulta.Add(par);

                var contaReceberMulta = new ContaReceber
                {
                    ContaReceberID = contaReceberDAO.BuscaProxCodigoDisponivel(),
                    DataCadastro   = DateTime.Today,
                    DataConta      = dtpSaida.Value,
                    Pessoa         = buscaPessoa.pessoa,
                    Operacao       = buscaOperacao.operacao,
                    ValorOriginal  = Devolucao,
                    Multa          = 0m,
                    Juros          = 0m,
                    ValorFinal     = Devolucao,
                    Acrescimo      = 0m,
                    Desconto       = 0m,
                    Situacao       = "Aberto",
                    Descricao      = "Multa por cancelamento de nota",
                    Entrada        = 0m,
                    Parcelas       = parcelas
                };

                int resultado = contaReceberDAO.SalvaOuAtualiza(contaReceberMulta);

                if (resultado > 0)
                {
                    MessageBox.Show("Conta a Receber gerada com sucesso!",
                                    "Conta gerada",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("Problema ao gerar conta a receber",
                                    "Problema ao gerar",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Warning);
                }
            }

            var retorno = notaFiscalPropriaDAO.CancelarNota(notaFiscalPropria);

            if (retorno > 0)
            {
                MessageBox.Show("Nota cancelada com sucesso!",
                                "Conta gerada",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("Problema ao cancelar nota",
                                "Problema ao gerar",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
            }
        }