/**
   * Dado um título, cria um campo livre para o padrão do Banco do Brasil que tenha o nosso número
   * de tamanho 11.
   *
   * @param titulo título com as informações para geração do campo livre
   */
  CLBancoDoBrasilNN11(Titulo titulo) {

    super(FIELDS_LENGTH);

    ContaBancaria conta = titulo.getContaBancaria();
    String nossoNumero = titulo.getNossoNumero();

    this.add(new Field<String>(nossoNumero, 11, Filler.ZERO_LEFT));

    this.add(new Field<Integer>(conta.getAgencia().getCodigo(), 4, Filler.ZERO_LEFT));
    this.add(new Field<Integer>(conta.getNumeroDaConta().getCodigoDaConta(), 8, Filler.ZERO_LEFT));

    this.add(new Field<Integer>(conta.getCarteira().getCodigo(), 2, Filler.ZERO_LEFT));
  }
  /**
   * Dado um título, cria o campo livre do Banco Itaú para carteiras especiais.
   *
   * @param titulo título com as informações para geração do campo livre
   */
  public CLItauComCarteirasEspeciais(Titulo titulo) {
    super(FIELDS_LENGTH);

    ContaBancaria conta = titulo.getContaBancaria();

    this.add(new Field<Integer>(conta.getCarteira().getCodigo(), 3, Filler.ZERO_LEFT));
    this.add(new Field<String>(titulo.getNossoNumero(), 8, Filler.ZERO_LEFT));
    this.add(new Field<String>(titulo.getNumeroDoDocumento(), 7, Filler.ZERO_LEFT));

    // Aqui é o código do cedente, simbolizado pelo código da conta bancária.
    this.add(new Field<Integer>(conta.getNumeroDaConta().getCodigoDaConta(), 5, Filler.ZERO_LEFT));

    this.add(
        new Field<Integer>(
            calculeDigitoDoCampoLivreEspecial(
                conta.getCarteira().getCodigo(),
                titulo.getNossoNumero(),
                titulo.getNumeroDoDocumento(),
                conta.getNumeroDaConta().getCodigoDaConta()),
            1));
    this.add(new Field<Integer>(0, 1));
  }
Exemplo n.º 3
0
  public static BoletoViewer gerarBoleto(Date vencimento, Double valor) {

    /*
     * INFORMANDO DADOS SOBRE O CEDENTE.
     */
    Cedente cedente = new Cedente("PROJETO JRimum", "00.000.208/0001-00");

    /*
     * INFORMANDO DADOS SOBRE O SACADO.
     */
    Sacado sacado = new Sacado("JavaDeveloper Pronto Para Férias", "222.222.222-22");

    // Informando o endereço do sacado.
    Endereco enderecoSac = new Endereco();
    enderecoSac.setUF(UnidadeFederativa.RN);
    enderecoSac.setLocalidade("Natal");
    enderecoSac.setCep(new CEP("59064-120"));
    enderecoSac.setBairro("Grande Centro");
    enderecoSac.setLogradouro("Rua poeta dos programas");
    enderecoSac.setNumero("1");
    sacado.addEndereco(enderecoSac);

    /*
     * INFORMANDO DADOS SOBRE O SACADOR AVALISTA.
     */
    SacadorAvalista sacadorAvalista =
        new SacadorAvalista("JRimum Enterprise", "00.000.000/0001-91");

    // Informando o endereço do sacador avalista.
    Endereco enderecoSacAval = new Endereco();
    enderecoSacAval.setUF(UnidadeFederativa.DF);
    enderecoSacAval.setLocalidade("Brasília");
    enderecoSacAval.setCep(new CEP("59000-000"));
    enderecoSacAval.setBairro("Grande Centro");
    enderecoSacAval.setLogradouro("Rua Eternamente Principal");
    enderecoSacAval.setNumero("001");
    sacadorAvalista.addEndereco(enderecoSacAval);

    /*
     * INFORMANDO OS DADOS SOBRE O TÍTULO.
     */

    // Informando dados sobre a conta bancária do título.
    ContaBancaria contaBancaria = new ContaBancaria(BancosSuportados.BANCO_DO_BRASIL.create());
    contaBancaria.setNumeroDaConta(new NumeroDaConta(123456, "0"));
    contaBancaria.setCarteira(new Carteira(30));
    contaBancaria.setAgencia(new Agencia(1234, "1"));

    Titulo titulo = new Titulo(contaBancaria, sacado, cedente, sacadorAvalista);
    titulo.setNumeroDoDocumento("123456");
    titulo.setNossoNumero("99345678912");
    titulo.setDigitoDoNossoNumero("5");
    titulo.setValor(BigDecimal.valueOf(valor));
    titulo.setDataDoDocumento(new Date());
    titulo.setDataDoVencimento(vencimento);
    titulo.setTipoDeDocumento(TipoDeTitulo.DM_DUPLICATA_MERCANTIL);
    titulo.setAceite(EnumAceite.A);
    titulo.setDesconto(new BigDecimal(0.05));
    titulo.setDeducao(BigDecimal.ZERO);
    titulo.setMora(BigDecimal.ZERO);
    titulo.setAcrecimo(BigDecimal.ZERO);
    titulo.setValorCobrado(BigDecimal.ZERO);

    /*
     * INFORMANDO OS DADOS SOBRE O BOLETO.
     */
    Boleto boleto = new Boleto(titulo);

    boleto.setLocalPagamento(
        "Pagável preferencialmente na Rede X ou em " + "qualquer Banco até o Vencimento.");
    boleto.setInstrucaoAoSacado(
        "Senhor sacado, sabemos sim que o valor "
            + "cobrado não é o esperado, aproveite o DESCONTÃO!");
    boleto.setInstrucao1("PARA PAGAMENTO 1 até Hoje não cobrar nada!");

    /*
     * GERANDO O BOLETO BANCÁRIO.
     */
    // Instanciando um objeto "BoletoViewer", classe responsável pela
    // geração do boleto bancário.
    BoletoViewer boletoViewer = new BoletoViewer(boleto);
    return boletoViewer;
  }