From 8562fb2c00f5d72353126bbf32924984d93fb978 Mon Sep 17 00:00:00 2001 From: "fabio.fbarreto" Date: Mon, 6 Nov 2023 12:19:39 -0300 Subject: [PATCH] =?UTF-8?q?Adi=C3=A7=C3=A3o=20de=20multa=20itau=20feat=20b?= =?UTF-8?q?ug#AL-3283?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../ventaboletos/blocos/DetalheMulta.java | 63 +++++++++++++++++++ .../blocos/itau/DetalheObrigatorioItau.java | 9 +++ .../ventaboletos/layouts/ItauFlatFile.java | 24 +++++-- src/layouts/LayoutCaixaCNAB400Envio.txg.xml | 2 +- src/layouts/LayoutItauCNAB400Envio.txg.xml | 28 +++------ 6 files changed, 102 insertions(+), 26 deletions(-) create mode 100644 src/com/rjconsultores/ventaboletos/blocos/DetalheMulta.java diff --git a/pom.xml b/pom.xml index 75f04c5b1..404264a1d 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ br.com.rjconsultores GeneradorBoletosCNAB - 1.1.2 + 1.2.0 GeneradorBoletosCNAB diff --git a/src/com/rjconsultores/ventaboletos/blocos/DetalheMulta.java b/src/com/rjconsultores/ventaboletos/blocos/DetalheMulta.java new file mode 100644 index 000000000..b2397ef3e --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/blocos/DetalheMulta.java @@ -0,0 +1,63 @@ +package com.rjconsultores.ventaboletos.blocos; + +import java.math.BigDecimal; +import java.util.Date; + +public class DetalheMulta { + + private Integer tipoRegistro; + private String codigoMulta; + private Date dataMulta; + private BigDecimal valorMulta; + private BigDecimal percentualMulta; + private Integer numeroSequencial; + + public Integer getTipoRegistro() { + return tipoRegistro; + } + + public void setTipoRegistro(Integer tipoRegistro) { + this.tipoRegistro = tipoRegistro; + } + + public String getCodigoMulta() { + return codigoMulta; + } + + public void setCodigoMulta(String codigoMulta) { + this.codigoMulta = codigoMulta; + } + + public Date getDataMulta() { + return dataMulta; + } + + public void setDataMulta(Date dataMulta) { + this.dataMulta = dataMulta; + } + + public BigDecimal getValorMulta() { + return valorMulta; + } + public void setValorMulta(BigDecimal valorMulta) { + this.valorMulta = valorMulta; + } + + public BigDecimal getPercentualMulta() { + return percentualMulta; + } + + public void setPercentualMulta(BigDecimal percentualMulta) { + this.percentualMulta = percentualMulta; + } + + public Integer getNumeroSequencial() { + return numeroSequencial; + } + + public void setNumeroSequencial(Integer numeroSequencial) { + this.numeroSequencial = numeroSequencial; + } + + +} diff --git a/src/com/rjconsultores/ventaboletos/blocos/itau/DetalheObrigatorioItau.java b/src/com/rjconsultores/ventaboletos/blocos/itau/DetalheObrigatorioItau.java index 304920d50..04fa24dbf 100644 --- a/src/com/rjconsultores/ventaboletos/blocos/itau/DetalheObrigatorioItau.java +++ b/src/com/rjconsultores/ventaboletos/blocos/itau/DetalheObrigatorioItau.java @@ -4,6 +4,7 @@ import java.math.BigDecimal; import java.util.Date; import com.rjconsultores.ventaboletos.blocos.DadosBoleto; +import com.rjconsultores.ventaboletos.blocos.DetalheMulta; import com.rjconsultores.ventaboletos.blocos.DetalheObrigatorio; import com.rjconsultores.ventaboletos.blocos.RateioDeCredito; import com.rjconsultores.ventaboletos.enuns.TipoInscricaoPagador; @@ -61,6 +62,8 @@ public class DetalheObrigatorioItau implements DetalheObrigatorio{ private RateioDeCredito rateioDeCredito; + private DetalheMulta detalheMulta; + public DadosBoleto getDadosBoleto() { return dadosBoleto; } @@ -362,6 +365,12 @@ public class DetalheObrigatorioItau implements DetalheObrigatorio{ public void setNumCpfCnpj(String numCpfCnpj) { this.numCpfCnpj = numCpfCnpj; } + public DetalheMulta getDetalheMulta() { + return detalheMulta; + } + public void setDetalheMulta(DetalheMulta detalheMulta) { + this.detalheMulta = detalheMulta; + } public DetalheObrigatorioItau clone() throws CloneNotSupportedException { return (DetalheObrigatorioItau) super.clone(); } diff --git a/src/com/rjconsultores/ventaboletos/layouts/ItauFlatFile.java b/src/com/rjconsultores/ventaboletos/layouts/ItauFlatFile.java index f053859b6..5ac1e116c 100644 --- a/src/com/rjconsultores/ventaboletos/layouts/ItauFlatFile.java +++ b/src/com/rjconsultores/ventaboletos/layouts/ItauFlatFile.java @@ -8,6 +8,7 @@ import org.jrimum.texgit.Record; import com.rjconsultores.ventaboletos.blocos.CabecalhoRemessa; import com.rjconsultores.ventaboletos.blocos.CabecalhoRetorno; import com.rjconsultores.ventaboletos.blocos.DadosBoleto; +import com.rjconsultores.ventaboletos.blocos.DetalheMulta; import com.rjconsultores.ventaboletos.blocos.DetalheObrigatorio; import com.rjconsultores.ventaboletos.blocos.DetalheRetorno; import com.rjconsultores.ventaboletos.blocos.RateioDeCredito; @@ -112,11 +113,11 @@ public class ItauFlatFile extends AbstractFlatFile implements RemessaInterface { } }catch(UnsupportedOperationException e){ } - RateioDeCredito rateioDeCredito = titulo.getRateioDeCredito(); + DetalheMulta detalheMulta = titulo.getDetalheMulta(); try{ - if(dadosBoleto != null){ - transacaoTitulos.addInnerRecord(createRateioDeCredito(rateioDeCredito)); + if(detalheMulta != null){ + transacaoTitulos.addInnerRecord(createDetalheMulta(detalheMulta)); } }catch(UnsupportedOperationException e){ } @@ -128,9 +129,15 @@ public class ItauFlatFile extends AbstractFlatFile implements RemessaInterface { throw new UnsupportedOperationException("Não necessário..."); } - @Override - protected Record createRateioDeCredito(RateioDeCredito rateioDeCredito) { - throw new UnsupportedOperationException("Não necessário..."); + protected Record createDetalheMulta(DetalheMulta detalheMulta) { + Record detalhe = getFlatFile().createRecord("DetalheMulta"); + + detalhe.setValue("CodigoMulta", FormataUtil.formatarValorPorTamanho(detalheMulta.getCodigoMulta(), 1)); + detalhe.setValue("DataMulta", FormataUtil.formataData( detalheMulta.getDataMulta()) ); + detalhe.setValue("ValorMulta", FormataUtil.formatarValorPorTamanho(detalheMulta.getPercentualMulta(), 13)); + detalhe.setValue("NumeroSequencialRegistro", FormataUtil.formatarValorPorTamanho(detalheMulta.getNumeroSequencial(), 6)); + + return detalhe; } @Override @@ -157,4 +164,9 @@ public class ItauFlatFile extends AbstractFlatFile implements RemessaInterface { protected RodapeRetorno readTrailler(Record trailler) { throw new UnsupportedOperationException("Somente classe de Retorno."); } + + @Override + protected Record createRateioDeCredito(RateioDeCredito rateioDeCredito) { + throw new UnsupportedOperationException("Não necessário..."); + } } diff --git a/src/layouts/LayoutCaixaCNAB400Envio.txg.xml b/src/layouts/LayoutCaixaCNAB400Envio.txg.xml index 9260e7e3a..7c6c0e5fe 100644 --- a/src/layouts/LayoutCaixaCNAB400Envio.txg.xml +++ b/src/layouts/LayoutCaixaCNAB400Envio.txg.xml @@ -1,5 +1,5 @@ diff --git a/src/layouts/LayoutItauCNAB400Envio.txg.xml b/src/layouts/LayoutItauCNAB400Envio.txg.xml index 4c7196e84..2008a7e37 100644 --- a/src/layouts/LayoutItauCNAB400Envio.txg.xml +++ b/src/layouts/LayoutItauCNAB400Envio.txg.xml @@ -1,6 +1,6 @@ @@ -95,27 +95,19 @@ - +