diff --git a/pom.xml b/pom.xml
index c1eb33a9c..f2778d9be 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,6 +47,16 @@
br.com.rjconsultores
jrimum-texgit
1.0.0
+
+
+ sun-jaxb-rj
+ jaxb-api
+
+
+ sun-jaxb-rj
+ jaxb-impl
+
+
diff --git a/src/com/rjconsultores/ventaboletos/blocos/santander/CabecalhoRemessaSantander.java b/src/com/rjconsultores/ventaboletos/blocos/santander/CabecalhoRemessaSantander.java
index 33e4e5b61..286babb4f 100644
--- a/src/com/rjconsultores/ventaboletos/blocos/santander/CabecalhoRemessaSantander.java
+++ b/src/com/rjconsultores/ventaboletos/blocos/santander/CabecalhoRemessaSantander.java
@@ -9,9 +9,10 @@ public class CabecalhoRemessaSantander implements CabecalhoRemessa {
private String codigoEmpresa;
private String nomeEmpresa;
private Date dataGravacao;
- private Integer codigoTransmissao;
+ private String codigoTransmissao;
private Integer numeroSequencialRemessa;
private Integer numeroSequencialRegistro;
+ private Integer numeroVersao;
public String getCodigoEmpresa() {
return codigoEmpresa;
@@ -37,11 +38,11 @@ public class CabecalhoRemessaSantander implements CabecalhoRemessa {
this.dataGravacao = dataGravacao;
}
- public Integer getCodigoTransmissao() {
+ public String getCodigoTransmissao() {
return codigoTransmissao;
}
- public void setCodigoTransmissao(Integer codigoTransmissao) {
+ public void setCodigoTransmissao(String codigoTransmissao) {
this.codigoTransmissao = codigoTransmissao;
}
@@ -59,5 +60,16 @@ public class CabecalhoRemessaSantander implements CabecalhoRemessa {
public void setNumeroSequencialRegistro(Integer numeroSequencialRegistro) {
this.numeroSequencialRegistro = numeroSequencialRegistro;
- }
+ }
+
+ public Integer getNumeroVersao() {
+ return numeroVersao;
+ }
+
+ public void setNumeroVersao(Integer numeroVersao) {
+ this.numeroVersao = numeroVersao;
+ }
+
+
+
}
diff --git a/src/com/rjconsultores/ventaboletos/blocos/santander/DetalheObrigatorioSantander.java b/src/com/rjconsultores/ventaboletos/blocos/santander/DetalheObrigatorioSantander.java
index 0ddba36a9..06026239e 100644
--- a/src/com/rjconsultores/ventaboletos/blocos/santander/DetalheObrigatorioSantander.java
+++ b/src/com/rjconsultores/ventaboletos/blocos/santander/DetalheObrigatorioSantander.java
@@ -12,14 +12,16 @@ public class DetalheObrigatorioSantander implements DetalheObrigatorio, Cloneabl
private Integer idBoletoFechamento;
private TipoInscricaoPagador tipoInscricao;
- private Long numeroInscricao;
- private Integer codigoTransmissao;
+ private String numeroInscricao;
+ private String codigoTransmissao;
private String numControleDoParticipante;
private String nossoNumeroComDigito;
private String carteira;
private String agencia;
+ private String agenciaCobradora;
private String contacorrente;
private String dvConta;
+ private String dvAgencia;
private Integer QtdPagamento = 0;
private Integer codigoDeOcorrencia = 0;
private Date dataOcorrencia;
@@ -49,6 +51,9 @@ public class DetalheObrigatorioSantander implements DetalheObrigatorio, Cloneabl
private Integer numeroSequencialRegistro;
private DadosBoleto dadosBoleto;
private RateioDeCredito rateioDeCredito;
+ private String numeroInscricaoSacado;
+ private String codigoEmpresa;
+
@Override
public void setIdBoletoFechamento(Integer id) {
@@ -71,16 +76,16 @@ public class DetalheObrigatorioSantander implements DetalheObrigatorio, Cloneabl
public void setTipoInscricao(TipoInscricaoPagador tipoInscricao) {
this.tipoInscricao = tipoInscricao;
}
- public Long getNumeroInscricao() {
+ public String getNumeroInscricao() {
return numeroInscricao;
}
- public void setNumeroInscricao(Long numeroInscricao) {
+ public void setNumeroInscricao(String numeroInscricao) {
this.numeroInscricao = numeroInscricao;
}
- public Integer getCodigoTransmissao() {
+ public String getCodigoTransmissao() {
return codigoTransmissao;
}
- public void setCodigoTransmissao(Integer codigoTransmissao) {
+ public void setCodigoTransmissao(String codigoTransmissao) {
this.codigoTransmissao = codigoTransmissao;
}
public String getNumControleDoParticipante() {
@@ -309,6 +314,30 @@ public class DetalheObrigatorioSantander implements DetalheObrigatorio, Cloneabl
public void setSacadorAvalista(String sacadorAvalista) {
this.sacadorAvalista = sacadorAvalista;
}
-
+ public String getNumeroInscricaoSacado() {
+ return numeroInscricaoSacado;
+ }
+ public void setNumeroInscricaoSacado(String numeroInscricaoSacado) {
+ this.numeroInscricaoSacado = numeroInscricaoSacado;
+ }
+ public String getAgenciaCobradora() {
+ return agenciaCobradora;
+ }
+ public void setAgenciaCobradora(String agenciaCobradora) {
+ this.agenciaCobradora = agenciaCobradora;
+ }
+ public String getDvAgencia() {
+ return dvAgencia;
+ }
+ public void setDvAgencia(String dvAgencia) {
+ this.dvAgencia = dvAgencia;
+ }
+ public String getCodigoEmpresa() {
+ return codigoEmpresa;
+ }
+ public void setCodigoEmpresa(String codigoEmpresa) {
+ this.codigoEmpresa = codigoEmpresa;
+ }
+
}
diff --git a/src/com/rjconsultores/ventaboletos/layouts/SantanderFlatFile.java b/src/com/rjconsultores/ventaboletos/layouts/SantanderFlatFile.java
index 4a17d22fa..dbaf58a85 100644
--- a/src/com/rjconsultores/ventaboletos/layouts/SantanderFlatFile.java
+++ b/src/com/rjconsultores/ventaboletos/layouts/SantanderFlatFile.java
@@ -1,5 +1,6 @@
package com.rjconsultores.ventaboletos.layouts;
+import java.math.BigDecimal;
import java.util.Collection;
import java.util.List;
@@ -19,9 +20,14 @@ import com.rjconsultores.ventaboletos.enuns.BancoLayout;
import com.rjconsultores.ventaboletos.utils.FormataUtil;
public class SantanderFlatFile extends AbstractFlatFile implements RemessaInterface {
+
+ private static BigDecimal valorTotal = BigDecimal.ZERO;
+ private static Integer quantidadeRegistro = 0;
public SantanderFlatFile() {
super(BancoLayout.SANTANDER_400_Envio);
+ valorTotal = BigDecimal.ZERO;
+ quantidadeRegistro = 0;
}
@Override
@@ -32,12 +38,14 @@ public class SantanderFlatFile extends AbstractFlatFile implements RemessaInterf
CabecalhoRemessaSantander cabecalhoRemessa = (CabecalhoRemessaSantander) cabecalhoRemessaParam;
header.setValue("CodigoDaEmpresa", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getCodigoEmpresa().toString(), 20));
- header.setValue("NomeDaEmpresa", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNomeEmpresa(), 30));
+ header.setValue("NomeCedente", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNomeEmpresa(), 30));
header.setValue("CodigoTransmissao", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getCodigoTransmissao().toString(), 20));
- header.setValue("DataGravacaoArquivo", FormataUtil.formataDataToString(cabecalhoRemessa.getDataGravacao(), "000000", "ddMMyy"));
+ header.setValue("DataGravacao", FormataUtil.formataDataToString(cabecalhoRemessa.getDataGravacao(), "000000", "ddMMyy"));
header.setValue("NumeroSequencialRemessa", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNumeroSequencialRemessa().toString(), 7));
header.setValue("NumeroSequencialRegistro", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNumeroSequencialRegistro().toString(), 6));
+ quantidadeRegistro = quantidadeRegistro + 1;
+
getFlatFile().addRecord(header);
}
@@ -49,14 +57,18 @@ public class SantanderFlatFile extends AbstractFlatFile implements RemessaInterf
DetalheObrigatorioSantander titulo = (DetalheObrigatorioSantander) tituloParam;
transacaoTitulos.setValue("TipoInscricao", FormataUtil.formatarValorPorTamanho(titulo.getTipoInscricao().toString(), 2));
- transacaoTitulos.setValue("NumeroInscricao", FormataUtil.formatarValorPorTamanho(titulo.getNumeroInscricao().toString(), 14));
+ transacaoTitulos.setValue("NumeroInscricao", FormataUtil.formatarValorPorTamanho(titulo.getNumeroInscricaoSacado().toString(), 14));
transacaoTitulos.setValue("CodigoTransmissao", FormataUtil.formatarValorPorTamanho(titulo.getCodigoTransmissao().toString(), 20));
transacaoTitulos.setValue("NumControleDoParticipante", FormataUtil.formatarValorPorTamanho(titulo.getNumControleDoParticipante(), 25));
- transacaoTitulos.setValue("NossoNumeroComDigito", FormataUtil.formatarValorPorTamanho(titulo.getNossoNumeroComDigito(), 9));
+ transacaoTitulos.setValue("NossoNumeroComDigito", FormataUtil.formatarValorPorTamanho(titulo.getNossoNumeroComDigito(), 8));
transacaoTitulos.setValue("Carteira", FormataUtil.formatarValorPorTamanho(titulo.getCarteira(), 3));
- transacaoTitulos.setValue("Agencia", FormataUtil.formatarValorPorTamanho(titulo.getAgencia(), 5));
- transacaoTitulos.setValue("Contacorrente", FormataUtil.formatarValorPorTamanho(titulo.getContacorrente(), 7));
+ transacaoTitulos.setValue("Agencia", FormataUtil.formatarValorPorTamanho(titulo.getAgencia(), 4));
+ transacaoTitulos.setValue("DVAgencia", FormataUtil.formatarValorPorTamanho(titulo.getDvAgencia(), 1));
+ transacaoTitulos.setValue("CodigoEmpresa", FormataUtil.formatarValorPorTamanho(titulo.getCodigoEmpresa(), 7));
+ transacaoTitulos.setValue("ContaCorrente", FormataUtil.formatarValorPorTamanho(titulo.getContacorrente(), 7));
transacaoTitulos.setValue("DvConta", FormataUtil.formatarValorPorTamanho(titulo.getDvConta(), 1));
+ transacaoTitulos.setValue("ContaCobrancaBeneficiario", FormataUtil.formatarValorPorTamanho(titulo.getContacorrente(), 8));
+ transacaoTitulos.setValue("DvContaCobrancaBeneficiario", FormataUtil.formatarValorPorTamanho(titulo.getDvConta(), 1));
transacaoTitulos.setValue("Filler1", FormataUtil.formatarValorPorTamanho("0", 8));
@@ -65,11 +77,15 @@ public class SantanderFlatFile extends AbstractFlatFile implements RemessaInterf
transacaoTitulos.setValue("Vencimento", FormataUtil.formataDataToString(titulo.getVencimento(), "000000", "ddMMyy"));
transacaoTitulos.setValue("Valor", titulo.getValor());
transacaoTitulos.setValue("EspecieDeTitulo", FormataUtil.formatarValorPorTamanho(titulo.getEspecieDeTitulo(), 2));
+ transacaoTitulos.setValue("NumeroInscricaoPagador", FormataUtil.formatarValorPorTamanho(titulo.getNumeroInscricao().toString(), 14));
+ transacaoTitulos.setValue("AgenciaCobradora", FormataUtil.formatarValorPorTamanho(titulo.getAgenciaCobradora(), 4));
+ transacaoTitulos.setValue("DVAgenciaCobradora", FormataUtil.formatarValorPorTamanho(titulo.getDvAgencia(), 1));
+
transacaoTitulos.setValue("Emissao", FormataUtil.formataDataToString(titulo.getEmissao(), "000000", "ddMMyy"));
transacaoTitulos.setValue("Instrucao1", FormataUtil.formatarValorPorTamanho(titulo.getInstrucao1(), 2));
transacaoTitulos.setValue("Instrucao2", FormataUtil.formatarValorPorTamanho(titulo.getInstrucao2(), 2));
transacaoTitulos.setValue("ValorAtraso", titulo.getValorAtraso());
- transacaoTitulos.setValue("DataLimiteDesconto", FormataUtil.formataData(titulo.getDataLimiteDesconto()));
+// transacaoTitulos.setValue("DataLimiteDesconto", FormataUtil.formataData(titulo.getDataLimiteDesconto()));
transacaoTitulos.setValue("ValorDesconto", titulo.getValorDesconto());
transacaoTitulos.setValue("ValorIOF", titulo.getValorIOF());
transacaoTitulos.setValue("ValorAbatimentoConcedido", titulo.getValorAbatimentoConcedido());
@@ -83,6 +99,10 @@ public class SantanderFlatFile extends AbstractFlatFile implements RemessaInterf
transacaoTitulos.setValue("Estado", FormataUtil.formatarValorPorTamanho(titulo.getEstado(), 2));
transacaoTitulos.setValue("SacadorAvalista", FormataUtil.formatarValorPorTamanho(titulo.getSacadorAvalista(), 30));
transacaoTitulos.setValue("NumeroSequencialRegistro", FormataUtil.formatarValorPorTamanho(titulo.getNumeroSequencialRegistro().toString(), 6));
+ transacaoTitulos.setValue("Complemento", FormataUtil.formatarValorPorTamanho(titulo.getContacorrente().substring(titulo.getContacorrente().length()-1, titulo.getContacorrente().length()).concat(titulo.getDvConta()),2));
+
+ valorTotal = valorTotal.add(titulo.getValor());
+ quantidadeRegistro = quantidadeRegistro + 1;
DadosBoleto dadosBoleto = titulo.getDadosBoleto();
@@ -118,9 +138,12 @@ public class SantanderFlatFile extends AbstractFlatFile implements RemessaInterf
Record trailer = getFlatFile().createRecord("Trailler");
- trailer.setValue("NumeroSequencialRegistro", FormataUtil.formatarValorPorTamanho(trailler.getNumeroSequencialRegistro().toString(), 6));
+ trailer.setValue("NumeroSequencialRegistro", FormataUtil.formatarValorPorTamanho(trailler.getNumeroSequencialRegistro().toString(), 6));
+ trailer.setValue("QuantidadeRegistro",quantidadeRegistro+1);
+ trailer.setValue("ValorTotal", valorTotal);
getFlatFile().addRecord(trailer);
+
}
@Override
diff --git a/src/layouts/LayoutBBCNAB240Envio.txg.xml b/src/layouts/LayoutBBCNAB240Envio.txg.xml
index d154d2450..2b58f2dcc 100644
--- a/src/layouts/LayoutBBCNAB240Envio.txg.xml
+++ b/src/layouts/LayoutBBCNAB240Envio.txg.xml
@@ -1,5 +1,7 @@
-
-
+
Arquivo-Remessa_BBCNAB240
Version 01, Published: 2012/05/25
diff --git a/src/layouts/LayoutBBCNAB400Envio.txg.xml b/src/layouts/LayoutBBCNAB400Envio.txg.xml
index a143336e1..c541e689f 100644
--- a/src/layouts/LayoutBBCNAB400Envio.txg.xml
+++ b/src/layouts/LayoutBBCNAB400Envio.txg.xml
@@ -1,5 +1,8 @@
-
-
+
+
Arquivo-Remessa_BBCNAB240
Version 01, Published: 2012/05/25
diff --git a/src/layouts/LayoutBradescoCNAB400Envio.txg.xml b/src/layouts/LayoutBradescoCNAB400Envio.txg.xml
index 0549592db..34993689a 100644
--- a/src/layouts/LayoutBradescoCNAB400Envio.txg.xml
+++ b/src/layouts/LayoutBradescoCNAB400Envio.txg.xml
@@ -1,9 +1,7 @@
-
-
-
+
Arquivo-Remessa_BradescoCNAB400
diff --git a/src/layouts/LayoutBradescoCNAB400Retorno.txg.xml b/src/layouts/LayoutBradescoCNAB400Retorno.txg.xml
index 2512eaf3d..b9be7f557 100644
--- a/src/layouts/LayoutBradescoCNAB400Retorno.txg.xml
+++ b/src/layouts/LayoutBradescoCNAB400Retorno.txg.xml
@@ -1,8 +1,7 @@
-
-
+
diff --git a/src/layouts/LayoutBradescoCNAB400RetornoParaLer.txg.xml b/src/layouts/LayoutBradescoCNAB400RetornoParaLer.txg.xml
index 9164b0f1f..95d014107 100644
--- a/src/layouts/LayoutBradescoCNAB400RetornoParaLer.txg.xml
+++ b/src/layouts/LayoutBradescoCNAB400RetornoParaLer.txg.xml
@@ -1,8 +1,7 @@
-
-
+
diff --git a/src/layouts/LayoutBradescoCNAB400RetornoParaReEscrever.txg.xml b/src/layouts/LayoutBradescoCNAB400RetornoParaReEscrever.txg.xml
index a79b4ae1e..4e5b40c5c 100644
--- a/src/layouts/LayoutBradescoCNAB400RetornoParaReEscrever.txg.xml
+++ b/src/layouts/LayoutBradescoCNAB400RetornoParaReEscrever.txg.xml
@@ -1,8 +1,7 @@
-
-
+
diff --git a/src/layouts/LayoutItauCNAB400Envio.txg.xml b/src/layouts/LayoutItauCNAB400Envio.txg.xml
index 4db6d63fc..180e8929c 100644
--- a/src/layouts/LayoutItauCNAB400Envio.txg.xml
+++ b/src/layouts/LayoutItauCNAB400Envio.txg.xml
@@ -1,9 +1,7 @@
-
-
-
+
Arquivo-Remessa_ItauCNAB400
diff --git a/src/layouts/LayoutItauCNAB400Retorno.txg.xml b/src/layouts/LayoutItauCNAB400Retorno.txg.xml
index 7ee46c1c7..963c17dd1 100644
--- a/src/layouts/LayoutItauCNAB400Retorno.txg.xml
+++ b/src/layouts/LayoutItauCNAB400Retorno.txg.xml
@@ -1,8 +1,7 @@
-
-
+
diff --git a/src/layouts/LayoutMercantilCNAB400Envio.txg.xml b/src/layouts/LayoutMercantilCNAB400Envio.txg.xml
index 28df03ca7..8eeb2cd91 100644
--- a/src/layouts/LayoutMercantilCNAB400Envio.txg.xml
+++ b/src/layouts/LayoutMercantilCNAB400Envio.txg.xml
@@ -1,8 +1,7 @@
-
-
+
diff --git a/src/layouts/LayoutSantanderCNAB400Envio.txg.xml b/src/layouts/LayoutSantanderCNAB400Envio.txg.xml
index 4c5643071..15f4eff91 100644
--- a/src/layouts/LayoutSantanderCNAB400Envio.txg.xml
+++ b/src/layouts/LayoutSantanderCNAB400Envio.txg.xml
@@ -1,8 +1,7 @@
-
-
+
@@ -36,14 +35,14 @@
-
+
-
-
-
+
+
+
@@ -52,36 +51,40 @@
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
+
-
-
-
+
+
+
+
-
-
+
+
-
+
-
-
+
+
@@ -91,20 +94,23 @@
-
+
-
+
+
+
+
-
-
-
+
+
+
diff --git a/src/layouts/LayoutSantanderCNAB400Retorno.txg.xml b/src/layouts/LayoutSantanderCNAB400Retorno.txg.xml
index 7ee46c1c7..963c17dd1 100644
--- a/src/layouts/LayoutSantanderCNAB400Retorno.txg.xml
+++ b/src/layouts/LayoutSantanderCNAB400Retorno.txg.xml
@@ -1,8 +1,7 @@
-
-
+
diff --git a/src/layouts/LayoutSicoobCNAB240Envio.txg.xml b/src/layouts/LayoutSicoobCNAB240Envio.txg.xml
index 512ffd880..f9cbeca48 100644
--- a/src/layouts/LayoutSicoobCNAB240Envio.txg.xml
+++ b/src/layouts/LayoutSicoobCNAB240Envio.txg.xml
@@ -1,4 +1,7 @@
-
+
Arquivo-Remessa_SicoobCNAB240