From 38545993eef97f1b88f5c60f65291d37779d0b54 Mon Sep 17 00:00:00 2001 From: fdalsotto Date: Fri, 3 Mar 2017 21:00:34 +0000 Subject: [PATCH 1/3] Adding Bank of America --- .../com/caelum/stella/boleto/bancos/BofA.java | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 stella-boleto/src/main/java/br/com/caelum/stella/boleto/bancos/BofA.java diff --git a/stella-boleto/src/main/java/br/com/caelum/stella/boleto/bancos/BofA.java b/stella-boleto/src/main/java/br/com/caelum/stella/boleto/bancos/BofA.java new file mode 100644 index 000000000..b83d61625 --- /dev/null +++ b/stella-boleto/src/main/java/br/com/caelum/stella/boleto/bancos/BofA.java @@ -0,0 +1,91 @@ +package br.com.caelum.stella.boleto.bancos; +/* + * --------------------------------------------------------------------------------------------------------------------- + * Class: BofA.java + * --------------------------------------------------------------------------------------------------------------------- + * + * Team: BizApps International + * + * Description: This class needs to be stored under the package br.com.caelum.stella.boleto.Banco because it extends a + * java class that is package protected. + * This class won't actually be used directly as we will generate a jar file and store it under + * $XXFB_TOP/jar + * + * --------------------------------------------------------------------------------------------------------------------- + * Change History + * --------------------------------------------------------------------------------------------------------------------- + * Version Date Task Number Author Description of Change + * --------------------------------------------------------------------------------------------------------------------- + * 0.1 21-Oct-2016 12297224 Fernando DalSotto Initial Version + * --------------------------------------------------------------------------------------------------------------------- + * + */ +import br.com.caelum.stella.boleto.Banco; +import br.com.caelum.stella.boleto.Beneficiario; +import br.com.caelum.stella.boleto.Boleto; +import br.com.caelum.stella.boleto.bancos.AbstractBanco; +import br.com.caelum.stella.boleto.bancos.CodigoDeBarrasBuilder; +import br.com.caelum.stella.boleto.utils.StellaStringUtils; +import java.net.URL; + +public class BofA +extends AbstractBanco +implements Banco { + private static final long serialVersionUID = 1; + private static final String NUMERO_BOFA = "755"; + private static final String DIGITO_NUMERO_BOFA = "2"; + + public String geraCodigoDeBarrasPara(Boleto boleto) { + Beneficiario beneficiario = boleto.getBeneficiario(); + + StringBuilder cdb = new StringBuilder(); + cdb.append(NUMERO_BOFA); + cdb.append(boleto.getCodigoEspecieMoeda()); + cdb.append(boleto.getFatorVencimento()); + cdb.append(boleto.getValorFormatado()); + cdb.append("000"); + cdb.append(this.getCodigoBeneficiarioFormatado(beneficiario)); + cdb.append(getNossoNumeroFormatado(beneficiario)); + cdb.append(StellaStringUtils.leftPadWithZeros((String)beneficiario.getCarteira(), (int)2)).append("4"); + + String digit = String.valueOf(this.getGeradorDeDigito().geraDigitoMod11(cdb.toString())); + cdb.insert(4, digit); + + return cdb.toString(); + } + + public String getNumeroFormatadoComDigito() { + StringBuilder builder = new StringBuilder(); + builder.append(this.getNumeroFormatado()).append("-"); + return builder.append("2").toString(); + } + + public String getNumeroFormatado() { + return NUMERO_BOFA; + } + + public URL getImage() { + String arquivo = "/br/com/caelum/stella/boleto/img/%s.png"; + String imagem = String.format(arquivo, this.getNumeroFormatado()); + return this.getClass().getResource(imagem); + } + + public String getCodigoBeneficiarioFormatado(Beneficiario beneficiario) { + return StellaStringUtils.leftPadWithZeros((String)beneficiario.getCodigoBeneficiario(), (int)9); + } + + public String getCarteiraFormatado(Beneficiario beneficiario) { + return StellaStringUtils.leftPadWithZeros((String)beneficiario.getCarteira(), (int)2); + } + + public String getNossoNumeroFormatado(Beneficiario beneficiario) { + return StellaStringUtils.leftPadWithZeros((String)beneficiario.getNossoNumero(), (int)10); + } + + public String getNossoNumeroECodigoDocumento(Boleto boleto) { + Beneficiario beneficiario = boleto.getBeneficiario(); + StringBuilder builder = new StringBuilder().append(this.getNossoNumeroFormatado(beneficiario)); + return builder.append(" ").append(StellaStringUtils.leftPadWithZeros((String)beneficiario.getCarteira(), (int)2)).append("4").toString(); + } +} + From 25d103df726a6b2534abd03f8612f690af5d61a0 Mon Sep 17 00:00:00 2001 From: fdalsotto Date: Fri, 3 Mar 2017 21:03:49 +0000 Subject: [PATCH 2/3] Add files via upload --- .../com/caelum/stella/boleto/bancos/BofA.java | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 stella-boleto/src/test/java/br/com/caelum/stella/boleto/bancos/BofA.java diff --git a/stella-boleto/src/test/java/br/com/caelum/stella/boleto/bancos/BofA.java b/stella-boleto/src/test/java/br/com/caelum/stella/boleto/bancos/BofA.java new file mode 100644 index 000000000..5f61680b4 --- /dev/null +++ b/stella-boleto/src/test/java/br/com/caelum/stella/boleto/bancos/BofA.java @@ -0,0 +1,70 @@ +package br.com.caelum.stella.boleto.bancos; + +import br.com.caelum.stella.boleto.Banco; +import br.com.caelum.stella.boleto.Beneficiario; +import br.com.caelum.stella.boleto.Boleto; +import br.com.caelum.stella.boleto.bancos.AbstractBanco; +import br.com.caelum.stella.boleto.bancos.CodigoDeBarrasBuilder; +import br.com.caelum.stella.boleto.utils.StellaStringUtils; +import java.net.URL; + +public class BofA +extends AbstractBanco +implements Banco { + private static final long serialVersionUID = 1; + private static final String NUMERO_BOFA = "755"; + private static final String DIGITO_NUMERO_BOFA = "2"; + + public String geraCodigoDeBarrasPara(Boleto boleto) { + Beneficiario beneficiario = boleto.getBeneficiario(); + + StringBuilder cdb = new StringBuilder(); + cdb.append(NUMERO_BOFA); + cdb.append(boleto.getCodigoEspecieMoeda()); + cdb.append(boleto.getFatorVencimento()); + cdb.append(boleto.getValorFormatado()); + cdb.append("000"); + cdb.append(this.getCodigoBeneficiarioFormatado(beneficiario)); + cdb.append(getNossoNumeroFormatado(beneficiario)); + cdb.append(StellaStringUtils.leftPadWithZeros((String)beneficiario.getCarteira(), (int)2)).append("4"); + + String digit = String.valueOf(this.getGeradorDeDigito().geraDigitoMod11(cdb.toString())); + cdb.insert(4, digit); + + return cdb.toString(); + } + + public String getNumeroFormatadoComDigito() { + StringBuilder builder = new StringBuilder(); + builder.append(this.getNumeroFormatado()).append("-"); + return builder.append("2").toString(); + } + + public String getNumeroFormatado() { + return NUMERO_BOFA; + } + + public URL getImage() { + String arquivo = "/br/com/caelum/stella/boleto/img/%s.png"; + String imagem = String.format(arquivo, this.getNumeroFormatado()); + return this.getClass().getResource(imagem); + } + + public String getCodigoBeneficiarioFormatado(Beneficiario beneficiario) { + return StellaStringUtils.leftPadWithZeros((String)beneficiario.getCodigoBeneficiario(), (int)9); + } + + public String getCarteiraFormatado(Beneficiario beneficiario) { + return StellaStringUtils.leftPadWithZeros((String)beneficiario.getCarteira(), (int)2); + } + + public String getNossoNumeroFormatado(Beneficiario beneficiario) { + return StellaStringUtils.leftPadWithZeros((String)beneficiario.getNossoNumero(), (int)10); + } + + public String getNossoNumeroECodigoDocumento(Boleto boleto) { + Beneficiario beneficiario = boleto.getBeneficiario(); + StringBuilder builder = new StringBuilder().append(this.getNossoNumeroFormatado(beneficiario)); + return builder.append(" ").append(StellaStringUtils.leftPadWithZeros((String)beneficiario.getCarteira(), (int)2)).append("4").toString(); + } +} From ab748c3ac2678abe32befc21ec0b85b189a1aa10 Mon Sep 17 00:00:00 2001 From: fdalsotto Date: Fri, 3 Mar 2017 21:09:43 +0000 Subject: [PATCH 3/3] Add files via upload --- .../com/caelum/stella/boleto/bancos/BofA.java | 31 +++---------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/stella-boleto/src/main/java/br/com/caelum/stella/boleto/bancos/BofA.java b/stella-boleto/src/main/java/br/com/caelum/stella/boleto/bancos/BofA.java index b83d61625..5f61680b4 100644 --- a/stella-boleto/src/main/java/br/com/caelum/stella/boleto/bancos/BofA.java +++ b/stella-boleto/src/main/java/br/com/caelum/stella/boleto/bancos/BofA.java @@ -1,25 +1,5 @@ package br.com.caelum.stella.boleto.bancos; -/* - * --------------------------------------------------------------------------------------------------------------------- - * Class: BofA.java - * --------------------------------------------------------------------------------------------------------------------- - * - * Team: BizApps International - * - * Description: This class needs to be stored under the package br.com.caelum.stella.boleto.Banco because it extends a - * java class that is package protected. - * This class won't actually be used directly as we will generate a jar file and store it under - * $XXFB_TOP/jar - * - * --------------------------------------------------------------------------------------------------------------------- - * Change History - * --------------------------------------------------------------------------------------------------------------------- - * Version Date Task Number Author Description of Change - * --------------------------------------------------------------------------------------------------------------------- - * 0.1 21-Oct-2016 12297224 Fernando DalSotto Initial Version - * --------------------------------------------------------------------------------------------------------------------- - * - */ + import br.com.caelum.stella.boleto.Banco; import br.com.caelum.stella.boleto.Beneficiario; import br.com.caelum.stella.boleto.Boleto; @@ -47,10 +27,10 @@ public String geraCodigoDeBarrasPara(Boleto boleto) { cdb.append(this.getCodigoBeneficiarioFormatado(beneficiario)); cdb.append(getNossoNumeroFormatado(beneficiario)); cdb.append(StellaStringUtils.leftPadWithZeros((String)beneficiario.getCarteira(), (int)2)).append("4"); - + String digit = String.valueOf(this.getGeradorDeDigito().geraDigitoMod11(cdb.toString())); - cdb.insert(4, digit); - + cdb.insert(4, digit); + return cdb.toString(); } @@ -81,11 +61,10 @@ public String getCarteiraFormatado(Beneficiario beneficiario) { public String getNossoNumeroFormatado(Beneficiario beneficiario) { return StellaStringUtils.leftPadWithZeros((String)beneficiario.getNossoNumero(), (int)10); } - + public String getNossoNumeroECodigoDocumento(Boleto boleto) { Beneficiario beneficiario = boleto.getBeneficiario(); StringBuilder builder = new StringBuilder().append(this.getNossoNumeroFormatado(beneficiario)); return builder.append(" ").append(StellaStringUtils.leftPadWithZeros((String)beneficiario.getCarteira(), (int)2)).append("4").toString(); } } -