コード例 #1
0
ファイル: Main.java プロジェクト: RMCampos/MyGoodMoney
  private void confirmarIncluirLancamento() {
    if (!Mensagem.confirmacao("Confirma incluir o lançamento?", this.frame)
        || !validarCamposLancamento()) {
      return;
    }

    Lancamento lancamento = this.frame.getLancamentoTela();

    // tratar recorrencia
    if (this.frame.getMovRecorrencia() == 'S') {
      ArrayList<Integer> datasVencimento =
          DateTools.calcularVencimentos(
              lancamento.getDataVencimento(),
              this.frame.getItfNumVezes(),
              (this.frame.getItfNumPeriodo() * this.frame.getCbxPeriodo().getIDias()));

      for (Integer data : datasVencimento) {
        Lancamento provisao = new Lancamento();

        provisao.setDataEmissao(lancamento.getDataEmissao());
        provisao.setDataVencimento(data);

        if (lancamento.getDataQuitacao() > 0) {
          provisao.setDataQuitacao(data);
        } else {
          provisao.setDataQuitacao(0);
        }

        provisao.setDescricao(lancamento.getDescricao());
        provisao.setValor(lancamento.getValor());
        provisao.setConta(lancamento.getConta());
        provisao.setCaixa(lancamento.getCaixa());

        this.lancamentoDAO.inserir(provisao);

        if (provisao.getDataQuitacao() > 0) {
          if (lancamento.getConta().getTipo() == 'D') {
            this.caixaDAO.subtrairDoSaldo(
                lancamento.getCaixa().getCodCaixa(), lancamento.getValor());
          } else {
            this.caixaDAO.adicionarAoSaldo(
                lancamento.getCaixa().getCodCaixa(), lancamento.getValor());
          }
        }
      }
    } else {
      this.lancamentoDAO.inserir(lancamento);

      if (lancamento.getDataQuitacao() > 0) {
        if (lancamento.getConta().getTipo() == 'D') {
          this.caixaDAO.subtrairDoSaldo(lancamento.getCaixa().getCodCaixa(), lancamento.getValor());
        } else {
          this.caixaDAO.adicionarAoSaldo(
              lancamento.getCaixa().getCodCaixa(), lancamento.getValor());
        }
      }
    }

    this.frame.mudarEstado("Lancamento", "NAVEGACAO");
    recarregarDoBancoDeDados("Lancamentos");
    recarregarDoBancoDeDados("Caixas");
  }