fixes bug#20438
dev: Valdir qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/GeneradorBoletosCNAB/trunk@104722 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
b59fb7b7c7
commit
9ccd275805
|
@ -0,0 +1,45 @@
|
|||
package com.rjconsultores.ventaboletos.blocos.sicoob;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.rjconsultores.ventaboletos.ArquivoRemessaItem;
|
||||
import com.rjconsultores.ventaboletos.blocos.CabecalhoRemessa;
|
||||
import com.rjconsultores.ventaboletos.blocos.DetalheObrigatorio;
|
||||
import com.rjconsultores.ventaboletos.blocos.RodapeRemessa;
|
||||
import com.rjconsultores.ventaboletos.blocos.RodapeRemessaPadrao;
|
||||
|
||||
public class ArquivoRemessaSicoob extends ArquivoRemessaItem {
|
||||
|
||||
@Override
|
||||
public void setCabecalhoRemessa(CabecalhoRemessa cabecalhoRemessa) {
|
||||
|
||||
if(cabecalhoRemessa instanceof CabecalhoRemessaSicoob){
|
||||
super.setCabecalhoRemessa(cabecalhoRemessa);
|
||||
}else{
|
||||
throw new ClassCastException("Somente cabecalho tipo: " + CabecalhoRemessaSicoob.class.getName());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addTitulo(DetalheObrigatorio titulo){
|
||||
if(this.titulos == null){
|
||||
this.titulos = new ArrayList<DetalheObrigatorio>();
|
||||
}
|
||||
|
||||
if(titulo instanceof DetalheObrigatorioSicoob){
|
||||
|
||||
titulo.setNumeroSequencialRegistro(titulos.size() + 2);
|
||||
|
||||
this.titulos.add(titulo);
|
||||
}else{
|
||||
throw new ClassCastException("Somente cabecalho tipo: " + DetalheObrigatorioSicoob.class.getName());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public RodapeRemessa getRodapeRemessa() {
|
||||
this.rodapeRemessa = this.rodapeRemessa == null ? new RodapeRemessaPadrao() : this.rodapeRemessa;
|
||||
rodapeRemessa.setNumeroSequencialRegistro(titulos.size() + 2);
|
||||
return rodapeRemessa;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,162 @@
|
|||
package com.rjconsultores.ventaboletos.blocos.sicoob;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.rjconsultores.ventaboletos.blocos.CabecalhoRemessa;
|
||||
|
||||
public class CabecalhoLoteRemessaSicoob implements CabecalhoRemessa{
|
||||
|
||||
private Integer codComp;
|
||||
private Integer loteServico;
|
||||
private Integer cpfCnpj;
|
||||
private String numCpfCnpj;
|
||||
private String numConvenio;
|
||||
private String numCarteira;
|
||||
private String numVarCarteira;
|
||||
private String remessaTeste;
|
||||
private String numAgencia;
|
||||
private String digAgencia;
|
||||
private String numContaCorrente;
|
||||
private String digContaCorrente;
|
||||
private String digAgenciaConta;
|
||||
private String nomeEmpresa;
|
||||
private String mensagem1;
|
||||
private String mensagem2;
|
||||
private Integer numeroRemessa;
|
||||
private Date dataGeracao;
|
||||
private Date dataCredito;
|
||||
|
||||
public Integer getCpfCnpj() {
|
||||
return cpfCnpj;
|
||||
}
|
||||
public void setCpfCnpj(Integer cpfCnpj) {
|
||||
this.cpfCnpj = cpfCnpj;
|
||||
}
|
||||
public String getNumCpfCnpj() {
|
||||
return numCpfCnpj;
|
||||
}
|
||||
public void setNumCpfCnpj(String numCpfCnpj) {
|
||||
this.numCpfCnpj = numCpfCnpj;
|
||||
}
|
||||
public String getNumConvenio() {
|
||||
return numConvenio;
|
||||
}
|
||||
public void setNumConvenio(String numConvenio) {
|
||||
this.numConvenio = numConvenio;
|
||||
}
|
||||
public String getNumCarteira() {
|
||||
return numCarteira;
|
||||
}
|
||||
public void setNumCarteira(String numCarteira) {
|
||||
this.numCarteira = numCarteira;
|
||||
}
|
||||
public String getNumVarCarteira() {
|
||||
return numVarCarteira;
|
||||
}
|
||||
public void setNumVarCarteira(String numVarCarteira) {
|
||||
this.numVarCarteira = numVarCarteira;
|
||||
}
|
||||
public String getRemessaTesteID() {
|
||||
return remessaTeste;
|
||||
}
|
||||
public void setRemessaTesteID(String remessaTeste) {
|
||||
this.remessaTeste = remessaTeste;
|
||||
}
|
||||
public String getNumAgencia() {
|
||||
return numAgencia;
|
||||
}
|
||||
public void setNumAgencia(String numAgencia) {
|
||||
this.numAgencia = numAgencia;
|
||||
}
|
||||
public String getDigAgencia() {
|
||||
return digAgencia;
|
||||
}
|
||||
public void setDigAgencia(String digAgencia) {
|
||||
this.digAgencia = digAgencia;
|
||||
}
|
||||
public String getNumContaCorrente() {
|
||||
return numContaCorrente;
|
||||
}
|
||||
public void setNumContaCorrente(String numContaCorrente) {
|
||||
this.numContaCorrente = numContaCorrente;
|
||||
}
|
||||
public String getDigContaCorrente() {
|
||||
return digContaCorrente;
|
||||
}
|
||||
public void setDigContaCorrente(String digContaCorrente) {
|
||||
this.digContaCorrente = digContaCorrente;
|
||||
}
|
||||
public String getDigAgenciaConta() {
|
||||
return digAgenciaConta;
|
||||
}
|
||||
public void setDigAgenciaConta(String digAgenciaConta) {
|
||||
this.digAgenciaConta = digAgenciaConta;
|
||||
}
|
||||
public String getNomeEmpresa() {
|
||||
return nomeEmpresa;
|
||||
}
|
||||
public void setNomeEmpresa(String nomeEmpresa) {
|
||||
this.nomeEmpresa = nomeEmpresa;
|
||||
}
|
||||
public String getMensagem1() {
|
||||
return mensagem1;
|
||||
}
|
||||
public void setMensagem1(String mensagem1) {
|
||||
this.mensagem1 = mensagem1;
|
||||
}
|
||||
public String getMensagem2() {
|
||||
return mensagem2;
|
||||
}
|
||||
public void setMensagem2(String mensagem2) {
|
||||
this.mensagem2 = mensagem2;
|
||||
}
|
||||
public Integer getNumeroRemessa() {
|
||||
return numeroRemessa;
|
||||
}
|
||||
public void setNumeroRemessa(Integer numeroRemessa) {
|
||||
this.numeroRemessa = numeroRemessa;
|
||||
}
|
||||
public Date getDataGeracao() {
|
||||
return dataGeracao;
|
||||
}
|
||||
public void setDataGeracao(Date dataGeracao) {
|
||||
this.dataGeracao = dataGeracao;
|
||||
}
|
||||
public Date getDataCredito() {
|
||||
return dataCredito;
|
||||
}
|
||||
public void setDataCredito(Date dataCredito) {
|
||||
this.dataCredito = dataCredito;
|
||||
}
|
||||
public Integer getCodComp() {
|
||||
return codComp;
|
||||
}
|
||||
public void setCodComp(Integer codComp) {
|
||||
this.codComp = codComp;
|
||||
}
|
||||
public Integer getLoteServico() {
|
||||
return loteServico;
|
||||
}
|
||||
public void setLoteServico(Integer loteServico) {
|
||||
this.loteServico = loteServico;
|
||||
}
|
||||
@Override
|
||||
public Integer getNumeroSequencialRemessa() {
|
||||
return numeroRemessa;
|
||||
}
|
||||
@Override
|
||||
public void setNumeroSequencialRemessa(Integer numeroSequencialRemessa) {
|
||||
numeroRemessa = numeroSequencialRemessa;
|
||||
|
||||
}
|
||||
@Override
|
||||
public Integer getNumeroSequencialRegistro() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
@Override
|
||||
public void setNumeroSequencialRegistro(Integer numeroSequencialRegistro) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,146 @@
|
|||
package com.rjconsultores.ventaboletos.blocos.sicoob;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.rjconsultores.ventaboletos.blocos.CabecalhoRemessa;
|
||||
|
||||
public class CabecalhoRemessaSicoob implements CabecalhoRemessa {
|
||||
|
||||
private String codigoEmpresa;
|
||||
private String nomeEmpresa;
|
||||
private Date dataGravacao;
|
||||
private Integer numeroSequencialRemessa;
|
||||
private Integer numeroSequencialRegistro;
|
||||
private Integer loteServico;
|
||||
private Integer cpfCnpj;
|
||||
private String numCpfCnpj;
|
||||
private String numConvenio;
|
||||
private String numAgencia;
|
||||
private String digAgencia;
|
||||
private String numContaCorrente;
|
||||
private String digContaCorrente;
|
||||
private Integer numRemessa;
|
||||
|
||||
private CabecalhoLoteRemessaSicoob cabecalhoLoteRemessaSicoob;
|
||||
|
||||
public String getCodigoEmpresa() {
|
||||
return codigoEmpresa;
|
||||
}
|
||||
|
||||
public void setCodigoEmpresa(String codigoEmpresa) {
|
||||
this.codigoEmpresa = codigoEmpresa;
|
||||
}
|
||||
|
||||
public String getNomeEmpresa() {
|
||||
return nomeEmpresa;
|
||||
}
|
||||
|
||||
public void setNomeEmpresa(String nomeEmpresa) {
|
||||
this.nomeEmpresa = nomeEmpresa;
|
||||
}
|
||||
|
||||
public Date getDataGravacao() {
|
||||
return dataGravacao;
|
||||
}
|
||||
|
||||
public void setDataGravacao(Date dataGravacao) {
|
||||
this.dataGravacao = dataGravacao;
|
||||
}
|
||||
|
||||
public Integer getNumeroSequencialRemessa() {
|
||||
return numeroSequencialRemessa;
|
||||
}
|
||||
|
||||
public void setNumeroSequencialRemessa(Integer numeroSequencialRemessa) {
|
||||
this.numeroSequencialRemessa = numeroSequencialRemessa;
|
||||
}
|
||||
|
||||
public Integer getNumeroSequencialRegistro() {
|
||||
return numeroSequencialRegistro;
|
||||
}
|
||||
|
||||
public void setNumeroSequencialRegistro(Integer numeroSequencialRegistro) {
|
||||
this.numeroSequencialRegistro = numeroSequencialRegistro;
|
||||
}
|
||||
|
||||
public Integer getLoteServico() {
|
||||
return loteServico;
|
||||
}
|
||||
|
||||
public void setLoteServico(Integer loteServico) {
|
||||
this.loteServico = loteServico;
|
||||
}
|
||||
|
||||
public Integer getCpfCnpj() {
|
||||
return cpfCnpj;
|
||||
}
|
||||
|
||||
public void setCpfCnpj(Integer cpfCnpj) {
|
||||
this.cpfCnpj = cpfCnpj;
|
||||
}
|
||||
|
||||
public String getNumCpfCnpj() {
|
||||
return numCpfCnpj;
|
||||
}
|
||||
|
||||
public void setNumCpfCnpj(String numCpfCnpj) {
|
||||
this.numCpfCnpj = numCpfCnpj;
|
||||
}
|
||||
|
||||
public String getNumConvenio() {
|
||||
return numConvenio;
|
||||
}
|
||||
|
||||
public void setNumConvenio(String numConvenio) {
|
||||
this.numConvenio = numConvenio;
|
||||
}
|
||||
|
||||
public String getNumAgencia() {
|
||||
return numAgencia;
|
||||
}
|
||||
|
||||
public void setNumAgencia(String numAgencia) {
|
||||
this.numAgencia = numAgencia;
|
||||
}
|
||||
|
||||
public String getDigAgencia() {
|
||||
return digAgencia;
|
||||
}
|
||||
|
||||
public void setDigAgencia(String digAgencia) {
|
||||
this.digAgencia = digAgencia;
|
||||
}
|
||||
|
||||
public String getNumContaCorrente() {
|
||||
return numContaCorrente;
|
||||
}
|
||||
|
||||
public void setNumContaCorrente(String numContaCorrente) {
|
||||
this.numContaCorrente = numContaCorrente;
|
||||
}
|
||||
|
||||
public String getDigContaCorrente() {
|
||||
return digContaCorrente;
|
||||
}
|
||||
|
||||
public void setDigContaCorrente(String digContaCorrente) {
|
||||
this.digContaCorrente = digContaCorrente;
|
||||
}
|
||||
|
||||
public Integer getNumRemessa() {
|
||||
return numRemessa;
|
||||
}
|
||||
|
||||
public void setNumRemessa(Integer numRemessa) {
|
||||
this.numRemessa = numRemessa;
|
||||
}
|
||||
|
||||
public CabecalhoLoteRemessaSicoob getCabecalhoLoteRemessaSicoob() {
|
||||
return cabecalhoLoteRemessaSicoob;
|
||||
}
|
||||
|
||||
public void setCabecalhoLoteRemessaSicoob(CabecalhoLoteRemessaSicoob cabecalhoLoteRemessaSicoob) {
|
||||
this.cabecalhoLoteRemessaSicoob = cabecalhoLoteRemessaSicoob;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,173 @@
|
|||
package com.rjconsultores.ventaboletos.blocos.sicoob;
|
||||
|
||||
import com.rjconsultores.ventaboletos.blocos.DetalheObrigatorio;
|
||||
|
||||
public class DetalheObrigatorioDadosPagadorSicoob implements DetalheObrigatorio, Cloneable{
|
||||
|
||||
|
||||
private Integer loteServico;
|
||||
private Integer codigoRemessa;
|
||||
private Integer numSeqRegistro;
|
||||
private Integer tipoInscricaoSacado;
|
||||
private String numeroInscricaoSacado;
|
||||
private String nomeSacado;
|
||||
private String logradouroSacado;
|
||||
private String bairroSacado;
|
||||
private Integer cepSacado;
|
||||
private Integer sufixoCep;
|
||||
private String cidade;
|
||||
private String estado;
|
||||
private Integer tipoSacadorAvalista;
|
||||
private Integer sacadorAvalista;
|
||||
private String nomeSacadorAvalista;
|
||||
private Integer codBancoCorresp;
|
||||
private String nossoNumeroNoBancoCorresp;
|
||||
private Integer idBoletoFechamento;
|
||||
|
||||
@Override
|
||||
public void setIdBoletoFechamento(Integer id) {
|
||||
idBoletoFechamento = id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getIdBoletoFechamento() {
|
||||
return idBoletoFechamento;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNumeroSequencialRegistro(Integer numeroSequencialRegistro) {
|
||||
numSeqRegistro = numeroSequencialRegistro;
|
||||
}
|
||||
|
||||
public Integer getNumeroSequencialRegistro() {
|
||||
return numSeqRegistro;
|
||||
}
|
||||
|
||||
public Integer getTipoInscricaoSacado() {
|
||||
return tipoInscricaoSacado;
|
||||
}
|
||||
|
||||
public void setTipoInscricaoSacado(Integer tipoInscricaoSacado) {
|
||||
this.tipoInscricaoSacado = tipoInscricaoSacado;
|
||||
}
|
||||
|
||||
public String getNumeroInscricaoSacado() {
|
||||
return numeroInscricaoSacado;
|
||||
}
|
||||
|
||||
public void setNumeroInscricaoSacado(String numeroInscricaoSacado) {
|
||||
this.numeroInscricaoSacado = numeroInscricaoSacado;
|
||||
}
|
||||
|
||||
public String getNomeSacado() {
|
||||
return nomeSacado;
|
||||
}
|
||||
|
||||
public void setNomeSacado(String nomeSacado) {
|
||||
this.nomeSacado = nomeSacado;
|
||||
}
|
||||
|
||||
public String getLogradouroSacado() {
|
||||
return logradouroSacado;
|
||||
}
|
||||
|
||||
public void setLogradouroSacado(String logradouroSacado) {
|
||||
this.logradouroSacado = logradouroSacado;
|
||||
}
|
||||
|
||||
public String getBairroSacado() {
|
||||
return bairroSacado;
|
||||
}
|
||||
|
||||
public void setBairroSacado(String bairroSacado) {
|
||||
this.bairroSacado = bairroSacado;
|
||||
}
|
||||
|
||||
public Integer getCepSacado() {
|
||||
return cepSacado;
|
||||
}
|
||||
|
||||
public void setCepSacado(Integer cepSacado) {
|
||||
this.cepSacado = cepSacado;
|
||||
}
|
||||
|
||||
public Integer getSufixoCep() {
|
||||
return sufixoCep;
|
||||
}
|
||||
|
||||
public void setSufixoCep(Integer sufixoCep) {
|
||||
this.sufixoCep = sufixoCep;
|
||||
}
|
||||
|
||||
public String getCidade() {
|
||||
return cidade;
|
||||
}
|
||||
|
||||
public void setCidade(String cidade) {
|
||||
this.cidade = cidade;
|
||||
}
|
||||
|
||||
public String getEstado() {
|
||||
return estado;
|
||||
}
|
||||
|
||||
public void setEstado(String estado) {
|
||||
this.estado = estado;
|
||||
}
|
||||
|
||||
public Integer getTipoSacadorAvalista() {
|
||||
return tipoSacadorAvalista;
|
||||
}
|
||||
|
||||
public void setTipoSacadorAvalista(Integer tipoSacadorAvalista) {
|
||||
this.tipoSacadorAvalista = tipoSacadorAvalista;
|
||||
}
|
||||
|
||||
public Integer getSacadorAvalista() {
|
||||
return sacadorAvalista;
|
||||
}
|
||||
|
||||
public void setSacadorAvalista(Integer sacadorAvalista) {
|
||||
this.sacadorAvalista = sacadorAvalista;
|
||||
}
|
||||
|
||||
public String getNomeSacadorAvalista() {
|
||||
return nomeSacadorAvalista;
|
||||
}
|
||||
|
||||
public void setNomeSacadorAvalista(String nomeSacadorAvalista) {
|
||||
this.nomeSacadorAvalista = nomeSacadorAvalista;
|
||||
}
|
||||
|
||||
public Integer getCodBancoCorresp() {
|
||||
return codBancoCorresp;
|
||||
}
|
||||
|
||||
public void setCodBancoCorresp(Integer codBancoCorresp) {
|
||||
this.codBancoCorresp = codBancoCorresp;
|
||||
}
|
||||
|
||||
public String getNossoNumeroNoBancoCorresp() {
|
||||
return nossoNumeroNoBancoCorresp;
|
||||
}
|
||||
|
||||
public void setNossoNumeroNoBancoCorresp(String nossoNumeroNoBancoCorresp) {
|
||||
this.nossoNumeroNoBancoCorresp = nossoNumeroNoBancoCorresp;
|
||||
}
|
||||
|
||||
public Integer getLoteServico() {
|
||||
return loteServico;
|
||||
}
|
||||
|
||||
public void setLoteServico(Integer loteServico) {
|
||||
this.loteServico = loteServico;
|
||||
}
|
||||
|
||||
public Integer getCodigoRemessa() {
|
||||
return codigoRemessa;
|
||||
}
|
||||
|
||||
public void setCodigoRemessa(Integer codigoRemessa) {
|
||||
this.codigoRemessa = codigoRemessa;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,352 @@
|
|||
package com.rjconsultores.ventaboletos.blocos.sicoob;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.rjconsultores.ventaboletos.blocos.DetalheObrigatorio;
|
||||
import com.rjconsultores.ventaboletos.enuns.AceiteBB;
|
||||
|
||||
public class DetalheObrigatorioSicoob implements DetalheObrigatorio, Cloneable {
|
||||
|
||||
private Integer loteServico;
|
||||
private Integer numSeqRegistro;
|
||||
private String numAgencia;
|
||||
private String digAgencia;
|
||||
private String numContaCorrente;
|
||||
private String digContaCorrente;
|
||||
private String digAgenciaConta;
|
||||
private String nossoNumero;
|
||||
private Integer codCarteira;
|
||||
private String formaCadTituloBanco;
|
||||
private String tipoDocumento;
|
||||
private String identEmissaoBloqueto;
|
||||
private String identDistribuicao;
|
||||
private String numeroDoDocumento;
|
||||
private Date vencimento;
|
||||
private BigDecimal valor;
|
||||
private String agenciaCobradora;
|
||||
private String digAgenciaCobradora;
|
||||
private AceiteBB aceite;
|
||||
private Date emissao;
|
||||
private Integer codMora;
|
||||
private Date dataMora;
|
||||
private BigDecimal jurosDeMora;
|
||||
private Integer codigoDesconto;
|
||||
private Date dataDesconto;
|
||||
private BigDecimal descontoConcedido;
|
||||
private BigDecimal iofDevido;
|
||||
private BigDecimal abatimentoConcedido;
|
||||
private String nossoNumeroEmp;
|
||||
private Integer codigoProtesto;
|
||||
private Integer diasProtesto;
|
||||
private Integer codigoBaixa;
|
||||
private Integer diasBaixa;
|
||||
private Integer numeroContrato;
|
||||
private String usoExclusivo;
|
||||
private Integer idBoletoFechamento;
|
||||
|
||||
private DetalheObrigatorioDadosPagadorSicoob detalheObrigatorioDadosPagadorSicoob;
|
||||
|
||||
public Integer getLoteServico() {
|
||||
return loteServico;
|
||||
}
|
||||
|
||||
public void setLoteServico(Integer loteServico) {
|
||||
this.loteServico = loteServico;
|
||||
}
|
||||
|
||||
public Integer getNumSeqRegistro() {
|
||||
return numSeqRegistro;
|
||||
}
|
||||
|
||||
public void setNumSeqRegistro(Integer numSeqRegistro) {
|
||||
this.numSeqRegistro = numSeqRegistro;
|
||||
}
|
||||
|
||||
public String getNumAgencia() {
|
||||
return numAgencia;
|
||||
}
|
||||
|
||||
public void setNumAgencia(String numAgencia) {
|
||||
this.numAgencia = numAgencia;
|
||||
}
|
||||
|
||||
public String getDigAgencia() {
|
||||
return digAgencia;
|
||||
}
|
||||
|
||||
public void setDigAgencia(String digAgencia) {
|
||||
this.digAgencia = digAgencia;
|
||||
}
|
||||
|
||||
public String getNumContaCorrente() {
|
||||
return numContaCorrente;
|
||||
}
|
||||
|
||||
public void setNumContaCorrente(String numContaCorrente) {
|
||||
this.numContaCorrente = numContaCorrente;
|
||||
}
|
||||
|
||||
public String getDigContaCorrente() {
|
||||
return digContaCorrente;
|
||||
}
|
||||
|
||||
public void setDigContaCorrente(String digContaCorrente) {
|
||||
this.digContaCorrente = digContaCorrente;
|
||||
}
|
||||
|
||||
public String getDigAgenciaConta() {
|
||||
return digAgenciaConta;
|
||||
}
|
||||
|
||||
public void setDigAgenciaConta(String digAgenciaConta) {
|
||||
this.digAgenciaConta = digAgenciaConta;
|
||||
}
|
||||
|
||||
public String getNossoNumero() {
|
||||
return nossoNumero;
|
||||
}
|
||||
|
||||
public void setNossoNumero(String nossoNumero) {
|
||||
this.nossoNumero = nossoNumero;
|
||||
}
|
||||
|
||||
public Integer getCodCarteira() {
|
||||
return codCarteira;
|
||||
}
|
||||
|
||||
public void setCodCarteira(Integer codCarteira) {
|
||||
this.codCarteira = codCarteira;
|
||||
}
|
||||
|
||||
public String getFormaCadTituloBanco() {
|
||||
return formaCadTituloBanco;
|
||||
}
|
||||
|
||||
public void setFormaCadTituloBanco(String formaCadTituloBanco) {
|
||||
this.formaCadTituloBanco = formaCadTituloBanco;
|
||||
}
|
||||
|
||||
public String getTipoDocumento() {
|
||||
return tipoDocumento;
|
||||
}
|
||||
|
||||
public void setTipoDocumento(String tipoDocumento) {
|
||||
this.tipoDocumento = tipoDocumento;
|
||||
}
|
||||
|
||||
public String getIdentEmissaoBloqueto() {
|
||||
return identEmissaoBloqueto;
|
||||
}
|
||||
|
||||
public void setIdentEmissaoBloqueto(String identEmissaoBloqueto) {
|
||||
this.identEmissaoBloqueto = identEmissaoBloqueto;
|
||||
}
|
||||
|
||||
public String getIdentDistribuicao() {
|
||||
return identDistribuicao;
|
||||
}
|
||||
|
||||
public void setIdentDistribuicao(String identDistribuicao) {
|
||||
this.identDistribuicao = identDistribuicao;
|
||||
}
|
||||
|
||||
public String getNumeroDoDocumento() {
|
||||
return numeroDoDocumento;
|
||||
}
|
||||
|
||||
public void setNumeroDoDocumento(String numeroDoDocumento) {
|
||||
this.numeroDoDocumento = numeroDoDocumento;
|
||||
}
|
||||
|
||||
public Date getVencimento() {
|
||||
return vencimento;
|
||||
}
|
||||
|
||||
public void setVencimento(Date vencimento) {
|
||||
this.vencimento = vencimento;
|
||||
}
|
||||
|
||||
public BigDecimal getValor() {
|
||||
return valor;
|
||||
}
|
||||
|
||||
public void setValor(BigDecimal valor) {
|
||||
this.valor = valor;
|
||||
}
|
||||
|
||||
public String getAgenciaCobradora() {
|
||||
return agenciaCobradora;
|
||||
}
|
||||
|
||||
public void setAgenciaCobradora(String agenciaCobradora) {
|
||||
this.agenciaCobradora = agenciaCobradora;
|
||||
}
|
||||
|
||||
public String getDigAgenciaCobradora() {
|
||||
return digAgenciaCobradora;
|
||||
}
|
||||
|
||||
public void setDigAgenciaCobradora(String digAgenciaCobradora) {
|
||||
this.digAgenciaCobradora = digAgenciaCobradora;
|
||||
}
|
||||
|
||||
public AceiteBB getAceite() {
|
||||
return aceite;
|
||||
}
|
||||
|
||||
public void setAceite(AceiteBB aceite) {
|
||||
this.aceite = aceite;
|
||||
}
|
||||
|
||||
public Date getEmissao() {
|
||||
return emissao;
|
||||
}
|
||||
|
||||
public void setEmissao(Date emissao) {
|
||||
this.emissao = emissao;
|
||||
}
|
||||
|
||||
public Integer getCodMora() {
|
||||
return codMora;
|
||||
}
|
||||
|
||||
public void setCodMora(Integer codMora) {
|
||||
this.codMora = codMora;
|
||||
}
|
||||
|
||||
public Date getDataMora() {
|
||||
return dataMora;
|
||||
}
|
||||
|
||||
public void setDataMora(Date dataMora) {
|
||||
this.dataMora = dataMora;
|
||||
}
|
||||
|
||||
public BigDecimal getJurosDeMora() {
|
||||
return jurosDeMora;
|
||||
}
|
||||
|
||||
public void setJurosDeMora(BigDecimal jurosDeMora) {
|
||||
this.jurosDeMora = jurosDeMora;
|
||||
}
|
||||
|
||||
public Integer getCodigoDesconto() {
|
||||
return codigoDesconto;
|
||||
}
|
||||
|
||||
public void setCodigoDesconto(Integer codigoDesconto) {
|
||||
this.codigoDesconto = codigoDesconto;
|
||||
}
|
||||
|
||||
public Date getDataDesconto() {
|
||||
return dataDesconto;
|
||||
}
|
||||
|
||||
public void setDataDesconto(Date dataDesconto) {
|
||||
this.dataDesconto = dataDesconto;
|
||||
}
|
||||
|
||||
public BigDecimal getDescontoConcedido() {
|
||||
return descontoConcedido;
|
||||
}
|
||||
|
||||
public void setDescontoConcedido(BigDecimal descontoConcedido) {
|
||||
this.descontoConcedido = descontoConcedido;
|
||||
}
|
||||
|
||||
public BigDecimal getAbatimentoConcedido() {
|
||||
return abatimentoConcedido;
|
||||
}
|
||||
|
||||
public void setAbatimentoConcedido(BigDecimal abatimentoConcedido) {
|
||||
this.abatimentoConcedido = abatimentoConcedido;
|
||||
}
|
||||
|
||||
public String getNossoNumeroEmp() {
|
||||
return nossoNumeroEmp;
|
||||
}
|
||||
|
||||
public void setNossoNumeroEmp(String nossoNumeroEmp) {
|
||||
this.nossoNumeroEmp = nossoNumeroEmp;
|
||||
}
|
||||
|
||||
public Integer getCodigoProtesto() {
|
||||
return codigoProtesto;
|
||||
}
|
||||
|
||||
public void setCodigoProtesto(Integer codigoProtesto) {
|
||||
this.codigoProtesto = codigoProtesto;
|
||||
}
|
||||
|
||||
public Integer getDiasProtesto() {
|
||||
return diasProtesto;
|
||||
}
|
||||
|
||||
public void setDiasProtesto(Integer diasProtesto) {
|
||||
this.diasProtesto = diasProtesto;
|
||||
}
|
||||
|
||||
public Integer getCodigoBaixa() {
|
||||
return codigoBaixa;
|
||||
}
|
||||
|
||||
public void setCodigoBaixa(Integer codigoBaixa) {
|
||||
this.codigoBaixa = codigoBaixa;
|
||||
}
|
||||
|
||||
public Integer getDiasBaixa() {
|
||||
return diasBaixa;
|
||||
}
|
||||
|
||||
public void setDiasBaixa(Integer diasBaixa) {
|
||||
this.diasBaixa = diasBaixa;
|
||||
}
|
||||
|
||||
public Integer getNumeroContrato() {
|
||||
return numeroContrato;
|
||||
}
|
||||
|
||||
public void setNumeroContrato(Integer numeroContrato) {
|
||||
this.numeroContrato = numeroContrato;
|
||||
}
|
||||
|
||||
public String getUsoExclusivo() {
|
||||
return usoExclusivo;
|
||||
}
|
||||
|
||||
public void setUsoExclusivo(String usoExclusivo) {
|
||||
this.usoExclusivo = usoExclusivo;
|
||||
}
|
||||
|
||||
public Integer getIdBoletoFechamento() {
|
||||
return idBoletoFechamento;
|
||||
}
|
||||
|
||||
public void setIdBoletoFechamento(Integer idBoletoFechamento) {
|
||||
this.idBoletoFechamento = idBoletoFechamento;
|
||||
}
|
||||
|
||||
public DetalheObrigatorioDadosPagadorSicoob getDetalheObrigatorioDadosPagadorSicoob() {
|
||||
return detalheObrigatorioDadosPagadorSicoob;
|
||||
}
|
||||
|
||||
public void setDetalheObrigatorioDadosPagadorSicoob(
|
||||
DetalheObrigatorioDadosPagadorSicoob detalheObrigatorioDadosPagadorSicoob) {
|
||||
this.detalheObrigatorioDadosPagadorSicoob = detalheObrigatorioDadosPagadorSicoob;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNumeroSequencialRegistro(Integer numeroSequencialRegistro) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public BigDecimal getIofDevido() {
|
||||
return iofDevido;
|
||||
}
|
||||
|
||||
public void setIofDevido(BigDecimal iofDevido) {
|
||||
this.iofDevido = iofDevido;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
package com.rjconsultores.ventaboletos.blocos.sicoob;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.rjconsultores.ventaboletos.blocos.RodapeRemessa;
|
||||
import com.rjconsultores.ventaboletos.blocos.RodapeRemessaPadrao;
|
||||
|
||||
public class RodapeRemessaLoteSicoob extends RodapeRemessaPadrao implements RodapeRemessa {
|
||||
|
||||
private Integer loteServico;
|
||||
private BigDecimal valorRegistros;
|
||||
|
||||
public Integer getQtdRegistros(){
|
||||
return getNumeroSequencialRegistro();
|
||||
}
|
||||
|
||||
public Integer getLoteServico() {
|
||||
return loteServico;
|
||||
}
|
||||
|
||||
public void setLoteServico(Integer loteServico) {
|
||||
this.loteServico = loteServico;
|
||||
}
|
||||
|
||||
public BigDecimal getValorRegistros() {
|
||||
return valorRegistros;
|
||||
}
|
||||
|
||||
public void setValorRegistros(BigDecimal valorRegistros) {
|
||||
this.valorRegistros = valorRegistros;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,53 @@
|
|||
package com.rjconsultores.ventaboletos.blocos.sicoob;
|
||||
|
||||
import com.rjconsultores.ventaboletos.blocos.RodapeRemessa;
|
||||
import com.rjconsultores.ventaboletos.blocos.RodapeRemessaPadrao;
|
||||
|
||||
public class RodapeRemessaSicoob extends RodapeRemessaPadrao implements RodapeRemessa {
|
||||
|
||||
private Integer loteServico;
|
||||
private Integer qtdLotes;
|
||||
private Integer qtdArquivos;
|
||||
private Integer qtdContas;
|
||||
private RodapeRemessaLoteSicoob rodapeRemessaLoteSicoob;
|
||||
|
||||
public Integer getQtdLotes() {
|
||||
return qtdLotes;
|
||||
}
|
||||
|
||||
public void setQtdLotes(Integer qtdLotes) {
|
||||
this.qtdLotes = qtdLotes;
|
||||
}
|
||||
|
||||
public Integer getQtdArquivos() {
|
||||
return qtdArquivos;
|
||||
}
|
||||
|
||||
public void setQtdArquivos(Integer qtdArquivos) {
|
||||
this.qtdArquivos = qtdArquivos;
|
||||
}
|
||||
|
||||
public Integer getQtdContas() {
|
||||
return qtdContas;
|
||||
}
|
||||
|
||||
public void setQtdContas(Integer qtdContas) {
|
||||
this.qtdContas = qtdContas;
|
||||
}
|
||||
|
||||
public RodapeRemessaLoteSicoob getRodapeRemessaLoteSicoob() {
|
||||
return rodapeRemessaLoteSicoob;
|
||||
}
|
||||
|
||||
public void setRodapeRemessaLoteSicoob(RodapeRemessaLoteSicoob rodapeRemessaLoteSicoob) {
|
||||
this.rodapeRemessaLoteSicoob = rodapeRemessaLoteSicoob;
|
||||
}
|
||||
|
||||
public Integer getLoteServico() {
|
||||
return loteServico;
|
||||
}
|
||||
|
||||
public void setLoteServico(Integer loteServico) {
|
||||
this.loteServico = loteServico;
|
||||
}
|
||||
}
|
|
@ -4,6 +4,7 @@ public enum BancoLayout {
|
|||
BRADESCO_400_Envio("237", false, "/layouts/LayoutBradescoCNAB400Envio.txg.xml"),
|
||||
ITAU_400_Envio("341", false, "/layouts/LayoutItauCNAB400Envio.txg.xml"),
|
||||
BB_240_Envio("001", false, "/layouts/LayoutBBCNAB240Envio.txg.xml"),
|
||||
SICOOB_240_Envio("756", false, "/layouts/LayoutSicoobCNAB240Envio.txg.xml"),
|
||||
SANTANDER_400_Envio("033", false, "/layouts/LayoutSantanderCNAB400Envio.txg.xml"),
|
||||
MERCANTIL_400_Envio("389", false, "/layouts/LayoutMercantilCNAB400Envio.txg.xml"),
|
||||
SANTANDER_400_Retorno("033", true, "/layouts/LayoutSantanderCNAB400Retorno.txg.xml"),
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
package com.rjconsultores.ventaboletos.enuns;
|
||||
|
||||
public enum CarteiraSicoob {
|
||||
|
||||
ELETRONICA_REGISTRO(1,"ELETRÔNICA COM REGISTRO"),
|
||||
CAUCIONADA_ELETRONICA(3,"CAUCIONADA ELETRÔNICA"),
|
||||
COBRANÇA_SEM_REGISTRO(4,"COBRANÇA SEM REGISTRO"),
|
||||
RAPIDA_COM_REGISTRO(5,"RÁPIDA COM REGISTRO"), //(BLOQUETE EMITIDO PELO CLIENTE)
|
||||
CAUCIONADA_RAPIDA(6,"CAUCIONADA RAPIDA"),
|
||||
DESCONTADA_ELETRONICA(7,"DESCONTADA ELETRÔNICA");
|
||||
|
||||
private CarteiraSicoob(Integer id, String label){
|
||||
this.id = id;
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
private Integer id;
|
||||
private String label;
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
|
||||
public static CarteiraSicoob getInstance(String id){
|
||||
|
||||
for(CarteiraSicoob o : CarteiraSicoob.values()){
|
||||
|
||||
if(o.getId().equals(id)){
|
||||
return o;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
}
|
|
@ -18,6 +18,8 @@ public class CNABFactory {
|
|||
return new ItauFlatFile();
|
||||
case BB_240_Envio:
|
||||
return new BancoBrasilFlatFile();
|
||||
case SICOOB_240_Envio:
|
||||
return new SicoobFlatFile();
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,197 @@
|
|||
package com.rjconsultores.ventaboletos.layouts;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
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.DetalheObrigatorio;
|
||||
import com.rjconsultores.ventaboletos.blocos.DetalheRetorno;
|
||||
import com.rjconsultores.ventaboletos.blocos.RateioDeCredito;
|
||||
import com.rjconsultores.ventaboletos.blocos.RodapeRemessa;
|
||||
import com.rjconsultores.ventaboletos.blocos.RodapeRetorno;
|
||||
import com.rjconsultores.ventaboletos.blocos.sicoob.CabecalhoLoteRemessaSicoob;
|
||||
import com.rjconsultores.ventaboletos.blocos.sicoob.CabecalhoRemessaSicoob;
|
||||
import com.rjconsultores.ventaboletos.blocos.sicoob.DetalheObrigatorioDadosPagadorSicoob;
|
||||
import com.rjconsultores.ventaboletos.blocos.sicoob.DetalheObrigatorioSicoob;
|
||||
import com.rjconsultores.ventaboletos.blocos.sicoob.RodapeRemessaLoteSicoob;
|
||||
import com.rjconsultores.ventaboletos.blocos.sicoob.RodapeRemessaSicoob;
|
||||
import com.rjconsultores.ventaboletos.enuns.BancoLayout;
|
||||
import com.rjconsultores.ventaboletos.utils.FormataUtil;
|
||||
|
||||
public class SicoobFlatFile extends AbstractFlatFile implements RemessaInterface {
|
||||
|
||||
public SicoobFlatFile() {
|
||||
super(BancoLayout.SICOOB_240_Envio);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createHeader(CabecalhoRemessa cabecalhoRemessaParam) {
|
||||
|
||||
Record header = getFlatFile().createRecord("HeaderArquivo");
|
||||
|
||||
CabecalhoRemessaSicoob cabecalhoRemessa = (CabecalhoRemessaSicoob) cabecalhoRemessaParam;
|
||||
|
||||
header.setValue("CpfCnpj", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getCpfCnpj().toString(), 1));
|
||||
header.setValue("NumCpfCnpj", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNumCpfCnpj(), 14));
|
||||
header.setValue("NumAgencia", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNumAgencia(), 5));
|
||||
header.setValue("DigAgencia", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getDigAgencia(), 1));
|
||||
header.setValue("NumContaCorrente", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNumContaCorrente(), 12));
|
||||
header.setValue("DigContaCorrente", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getDigContaCorrente(), 1));
|
||||
header.setValue("NomeEmpresa", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNomeEmpresa(), 30));
|
||||
header.setValue("NumeroRemessa", FormataUtil.formatarValorPorTamanhoZeroEsquerda(cabecalhoRemessa.getNumRemessa().toString(), 8));
|
||||
header.setValue("DataGeracao", FormataUtil.formataDataToString(cabecalhoRemessa.getDataGravacao(), "000000", "ddMMyy"));
|
||||
header.setValue("HoraGeracao", FormataUtil.formataDataToString(cabecalhoRemessa.getDataGravacao(), "000000", "HHmmss"));
|
||||
|
||||
getFlatFile().addRecord(header);
|
||||
|
||||
createHeaderLote(cabecalhoRemessa.getCabecalhoLoteRemessaSicoob());
|
||||
}
|
||||
|
||||
private void createHeaderLote(CabecalhoLoteRemessaSicoob cabecalhoLote) {
|
||||
|
||||
Record header = getFlatFile().createRecord("HeaderLote");
|
||||
|
||||
if(cabecalhoLote.getLoteServico() != null){
|
||||
header.setValue("LoteServico", FormataUtil.formatarValorPorTamanhoZeroEsquerda(cabecalhoLote.getLoteServico().toString(), 4));
|
||||
}
|
||||
|
||||
header.setValue("NumCpfCnpj", FormataUtil.formatarValorPorTamanho(cabecalhoLote.getNumCpfCnpj(), 15));
|
||||
header.setValue("NumAgencia", FormataUtil.formatarValorPorTamanho(cabecalhoLote.getNumAgencia(), 5));
|
||||
header.setValue("DigAgencia", FormataUtil.formatarValorPorTamanho(cabecalhoLote.getDigAgencia(), 1));
|
||||
header.setValue("NumContaCorrente", FormataUtil.formatarValorPorTamanho(cabecalhoLote.getNumContaCorrente(), 12));
|
||||
header.setValue("DigContaCorrente", FormataUtil.formatarValorPorTamanho(cabecalhoLote.getDigContaCorrente(), 1));
|
||||
header.setValue("NomeEmpresa", FormataUtil.formatarValorPorTamanho(cabecalhoLote.getNomeEmpresa(), 30));
|
||||
header.setValue("NumeroRemessa", FormataUtil.formatarValorPorTamanhoZeroEsquerda(cabecalhoLote.getNumeroRemessa().toString(), 8));
|
||||
header.setValue("DataGeracao", FormataUtil.formataData(cabecalhoLote.getDataGeracao()));
|
||||
header.setValue("DataCredito", FormataUtil.formataData(cabecalhoLote.getDataCredito()));
|
||||
|
||||
getFlatFile().addRecord(header);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createTransacaoTitulos(DetalheObrigatorio tituloParam) {
|
||||
|
||||
Record transacaoTitulos = getFlatFile().createRecord("SegmentoP");
|
||||
|
||||
DetalheObrigatorioSicoob dadosTitulos = (DetalheObrigatorioSicoob) tituloParam;
|
||||
|
||||
if(dadosTitulos.getLoteServico() != null){
|
||||
transacaoTitulos.setValue("LoteServico", FormataUtil.formatarValorPorTamanhoZeroEsquerda(dadosTitulos.getLoteServico().toString(), 4));
|
||||
}
|
||||
transacaoTitulos.setValue("NumSeqRegistro", FormataUtil.formatarValorPorTamanhoZeroEsquerda(dadosTitulos.getNumSeqRegistro().toString(), 5));
|
||||
transacaoTitulos.setValue("NumAgencia", FormataUtil.formatarValorPorTamanho(dadosTitulos.getNumAgencia(), 5));
|
||||
transacaoTitulos.setValue("DigAgencia", FormataUtil.formatarValorPorTamanho(dadosTitulos.getDigAgencia(), 1));
|
||||
transacaoTitulos.setValue("NumContaCorrente", FormataUtil.formatarValorPorTamanho(dadosTitulos.getNumContaCorrente(), 12));
|
||||
transacaoTitulos.setValue("DigContaCorrente", FormataUtil.formatarValorPorTamanho(dadosTitulos.getDigContaCorrente(), 1));
|
||||
transacaoTitulos.setValue("NossoNumero", FormataUtil.formatarValorPorTamanho(dadosTitulos.getNossoNumero(), 20));
|
||||
transacaoTitulos.setValue("NumeroDoDocumento", FormataUtil.formatarValorPorTamanho(dadosTitulos.getNumeroDoDocumento(), 15));
|
||||
transacaoTitulos.setValue("Vencimento", FormataUtil.formataData(dadosTitulos.getVencimento()));
|
||||
transacaoTitulos.setValue("Valor", dadosTitulos.getValor());
|
||||
transacaoTitulos.setValue("Emissao", FormataUtil.formataData(dadosTitulos.getEmissao()));
|
||||
transacaoTitulos.setValue("CodMora", FormataUtil.formatarValorPorTamanho(dadosTitulos.getCodMora().toString(), 1));
|
||||
transacaoTitulos.setValue("DataMora", FormataUtil.formataDataToString(dadosTitulos.getDataMora(), "00000000"));
|
||||
transacaoTitulos.setValue("JurosDeMora", dadosTitulos.getJurosDeMora());
|
||||
transacaoTitulos.setValue("CodigoDesconto", FormataUtil.formatarValorPorTamanho(dadosTitulos.getCodigoDesconto().toString(), 1));
|
||||
transacaoTitulos.setValue("DataDesconto", FormataUtil.formataDataToString(dadosTitulos.getDataDesconto(), "00000000"));
|
||||
transacaoTitulos.setValue("DescontoConcedido", dadosTitulos.getDescontoConcedido());
|
||||
transacaoTitulos.setValue("IOF_Devido", dadosTitulos.getIofDevido());
|
||||
transacaoTitulos.setValue("AbatimentoConcedido", dadosTitulos.getAbatimentoConcedido());
|
||||
transacaoTitulos.setValue("NossoNumeroEmp", FormataUtil.formatarValorPorTamanho(dadosTitulos.getNossoNumeroEmp(), 25));
|
||||
transacaoTitulos.setValue("CodigoProtesto", FormataUtil.formatarValorPorTamanho(dadosTitulos.getCodigoProtesto().toString(), 1));
|
||||
transacaoTitulos.setValue("DiasProtesto", FormataUtil.formatarValorPorTamanho(dadosTitulos.getDiasProtesto().toString(), 2));
|
||||
transacaoTitulos.setValue("NumeroContrato", FormataUtil.formatarValorPorTamanhoZeroEsquerda(dadosTitulos.getNumeroContrato().toString(), 10));
|
||||
|
||||
getFlatFile().addRecord(transacaoTitulos);
|
||||
createTransacaoTitulosSeguimentoQ(transacaoTitulos, dadosTitulos.getDetalheObrigatorioDadosPagadorSicoob());
|
||||
|
||||
}
|
||||
|
||||
private void createTransacaoTitulosSeguimentoQ(Record recordFather, DetalheObrigatorioDadosPagadorSicoob dadosPagadorSicoobl) {
|
||||
|
||||
Record transacaoTitulos = getFlatFile().createRecord("SegmentoQ");
|
||||
|
||||
if(dadosPagadorSicoobl.getLoteServico() != null){
|
||||
transacaoTitulos.setValue("LoteServico", FormataUtil.formatarValorPorTamanhoZeroEsquerda(dadosPagadorSicoobl.getLoteServico().toString(), 4));
|
||||
}
|
||||
|
||||
transacaoTitulos.setValue("NumSeqRegistro", FormataUtil.formatarValorPorTamanhoZeroEsquerda(dadosPagadorSicoobl.getNumeroSequencialRegistro().toString(), 5));
|
||||
transacaoTitulos.setValue("TipoInscricaoSacado", FormataUtil.formatarValorPorTamanho(dadosPagadorSicoobl.getTipoInscricaoSacado().toString(), 1));
|
||||
transacaoTitulos.setValue("NumeroInscricaoSacado", FormataUtil.formatarValorPorTamanho(dadosPagadorSicoobl.getNumeroInscricaoSacado(), 15));
|
||||
transacaoTitulos.setValue("NomeSacado", FormataUtil.formatarValorPorTamanho(dadosPagadorSicoobl.getNomeSacado(), 40));
|
||||
transacaoTitulos.setValue("LogradouroSacado", FormataUtil.formatarValorPorTamanho(dadosPagadorSicoobl.getLogradouroSacado(), 40));
|
||||
transacaoTitulos.setValue("BairroSacado", FormataUtil.formatarValorPorTamanho(dadosPagadorSicoobl.getBairroSacado(), 15));
|
||||
transacaoTitulos.setValue("CepSacado", FormataUtil.formatarValorPorTamanhoZeroEsquerda(dadosPagadorSicoobl.getCepSacado().toString(), 5));
|
||||
transacaoTitulos.setValue("SufixoCep", FormataUtil.formatarValorPorTamanhoZeroEsquerda(dadosPagadorSicoobl.getSufixoCep().toString(), 3));
|
||||
transacaoTitulos.setValue("Cidade", FormataUtil.formatarValorPorTamanho(dadosPagadorSicoobl.getCidade(), 15));
|
||||
transacaoTitulos.setValue("Estado", FormataUtil.formatarValorPorTamanho(dadosPagadorSicoobl.getEstado(), 2));
|
||||
|
||||
try{
|
||||
transacaoTitulos.setValue("CodBancoCorresp", FormataUtil.formatarValorPorTamanho(dadosPagadorSicoobl.getCodBancoCorresp().toString(), 3));
|
||||
}catch(Exception e){
|
||||
|
||||
}
|
||||
transacaoTitulos.setValue("NossoNumeroNoBancoCorresp", FormataUtil.formatarValorPorTamanho(dadosPagadorSicoobl.getNossoNumeroNoBancoCorresp(), 20));
|
||||
|
||||
recordFather.addInnerRecord(transacaoTitulos);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createTrailler(RodapeRemessa trailler){
|
||||
|
||||
RodapeRemessaSicoob rodapeRemessaSicoob = (RodapeRemessaSicoob) trailler;
|
||||
|
||||
createTraillerLote(rodapeRemessaSicoob.getRodapeRemessaLoteSicoob());
|
||||
|
||||
Record traillerArquivo = getFlatFile().createRecord("TraillerArquivo");
|
||||
|
||||
traillerArquivo.setValue("QtdLotes", FormataUtil.formatarValorPorTamanhoZeroEsquerda(rodapeRemessaSicoob.getQtdLotes().toString(), 6));
|
||||
traillerArquivo.setValue("QtdArquivos", FormataUtil.formatarValorPorTamanhoZeroEsquerda(rodapeRemessaSicoob.getQtdArquivos().toString(), 6));
|
||||
traillerArquivo.setValue("QtdContas", FormataUtil.formatarValorPorTamanhoZeroEsquerda(rodapeRemessaSicoob.getQtdContas().toString(), 6));
|
||||
|
||||
getFlatFile().addRecord(traillerArquivo);
|
||||
}
|
||||
|
||||
private void createTraillerLote(RodapeRemessaLoteSicoob rodapeRemessaLoteSicoob) {
|
||||
|
||||
|
||||
Record traillerArquivo = getFlatFile().createRecord("TraillerLote");
|
||||
|
||||
if(rodapeRemessaLoteSicoob.getLoteServico() != null){
|
||||
traillerArquivo.setValue("LoteServico", FormataUtil.formatarValorPorTamanhoZeroEsquerda(rodapeRemessaLoteSicoob.getLoteServico().toString(), 4));
|
||||
}
|
||||
|
||||
traillerArquivo.setValue("QtdTitulosSimples", FormataUtil.formatarValorPorTamanhoZeroEsquerda(rodapeRemessaLoteSicoob.getQtdRegistros().toString(), 6));
|
||||
traillerArquivo.setValue("ValorTitulosSimples", FormataUtil.formatarValorPorTamanhoZeroEsquerda(rodapeRemessaLoteSicoob.getValorRegistros().toString(), 15) );
|
||||
|
||||
getFlatFile().addRecord(traillerArquivo);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected CabecalhoRetorno readHeader(Record header) {
|
||||
throw new UnsupportedOperationException("Somente classe de Retorno.");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<DetalheRetorno> readTransacaoTitulos(Collection<Record> registrosDeTransacoes) {
|
||||
throw new UnsupportedOperationException("Somente classe de Retorno.");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RodapeRetorno readTrailler(Record trailler) {
|
||||
throw new UnsupportedOperationException("Somente classe de Retorno.");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Record createDadosBoletos(DadosBoleto boleto) {
|
||||
throw new UnsupportedOperationException("Não necessário...");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Record createRateioDeCredito(RateioDeCredito rateioDeCredito) {
|
||||
throw new UnsupportedOperationException("Não necessário...");
|
||||
}
|
||||
}
|
|
@ -34,6 +34,10 @@ public class NossoNumeroUtils {
|
|||
return StringUtils.right("0000000" + nossoNumero, 7)+dacSantander( nossoNumero.toString() );
|
||||
}
|
||||
|
||||
public static String calcularNossoNumeroSicoob(Integer numCooperativa, Integer codCliente, BigInteger nossoNumero){
|
||||
return StringUtils.right("00000000" + nossoNumero, 8)+dacSicoob(numCooperativa, codCliente, nossoNumero.toString() );
|
||||
}
|
||||
|
||||
public static String calcularNossoNumeroMercantil(Integer agencia, BigInteger nossoNumero){
|
||||
return StringUtils.right("0000000000" + nossoNumero, 10)+dacMercantil( agencia, nossoNumero );
|
||||
}
|
||||
|
@ -104,6 +108,37 @@ public class NossoNumeroUtils {
|
|||
|
||||
}
|
||||
|
||||
public static String dacSicoob(Integer numCooperativa, Integer codCliente, String nossoNumero){
|
||||
|
||||
int multiplicadores[] = {3,1,9,7,3,1,9,7,3,1,9,7,3,1,9,7,3,1,9,7,3};
|
||||
int multiplicandos[] = new int[21];
|
||||
|
||||
String cooperativa = StringUtils.right("0000" + numCooperativa, 4);
|
||||
String cliente = StringUtils.right("0000000000" + codCliente, 10);
|
||||
String nNumero = StringUtils.right("0000000" + nossoNumero, 7);
|
||||
|
||||
String base = cooperativa + cliente + nNumero;
|
||||
|
||||
for (int i = 0; i < multiplicandos.length; i++) {
|
||||
String d = base.charAt(i) + "";
|
||||
multiplicandos[i] = Integer.valueOf(d) * multiplicadores[i];
|
||||
}
|
||||
|
||||
int dac = 0;
|
||||
|
||||
for(Integer v : multiplicandos){
|
||||
dac += v;
|
||||
}
|
||||
|
||||
dac = dac % 11;
|
||||
|
||||
if( dac == 0 || dac == 1)
|
||||
return "0";
|
||||
|
||||
return (11 - dac) + "";
|
||||
|
||||
}
|
||||
|
||||
public static String dacMercantil(Integer agencia, BigInteger nossoNumero){
|
||||
|
||||
int multiplicadores[] = {7,6,5,4,3,2,9,8,7,6,5,4,3,2};
|
||||
|
@ -302,6 +337,10 @@ public class NossoNumeroUtils {
|
|||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
if(BancoLayout.SICOOB_240_Envio.equals(bancoLayout) && nossoNumero.length() == 10 ){
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
return Boolean.FALSE;
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,181 @@
|
|||
<txg:Texgit xmlns:txg="http://gilmatryx.googlepages.com/Texgit" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://gilmatryx.googlepages.com/Texgit file:////home/gilmar/NFM/WORKSPACE/TexgitSchema.xsd" version="1.0-academic">
|
||||
<FlatFile>
|
||||
<layout>
|
||||
<name>Arquivo-Remessa_SicoobCNAB240</name>
|
||||
<version>Version 01, Published: 2020/03/18</version>
|
||||
<description>
|
||||
Layout para Cobrança.
|
||||
Arquivo texto - padrão CNAB Meio de Registro Transmissão de Dados Descrição de Registro - Tamanho 240 Bytes
|
||||
Organização Sequencial ARQUIVO FORMATO CNAB REMESSA,
|
||||
REGISTROS:
|
||||
0 - Header do Arquivo
|
||||
1 - Header do Lote
|
||||
3 - Segmento P
|
||||
3 - Segmento Q
|
||||
5 - Trailler Lote
|
||||
9 - Trailler Arquivo
|
||||
</description>
|
||||
</layout>
|
||||
<GroupOfRecords>
|
||||
<Record name="HeaderArquivo" description="Header do arquivo">
|
||||
<GroupOfFields>
|
||||
<IdType name="CodComp" value="756" length="3" position="1"/>
|
||||
<Field name="LoteServico" value="0000" length="4" padding="ZERO_LEFT"/>
|
||||
<Field name="TipoRegistro" value="0" length="1"/>
|
||||
<Field name="CNAB" length="9" blankAccepted="true"/>
|
||||
<Field name="CpfCnpj" length="1" type="INTEGER"/>
|
||||
<Field name="NumCpfCnpj" length="14" type="CHARACTER" padding="ZERO_LEFT"/>
|
||||
<Field name="NumConvenio" length="20" blankAccepted="true"/>
|
||||
<Field name="NumAgencia" length="5" type="CHARACTER" padding="ZERO_LEFT"/>
|
||||
<Field name="DigAgencia" length="1" type="CHARACTER"/>
|
||||
<Field name="NumContaCorrente" length="12" type="CHARACTER" padding="ZERO_LEFT"/>
|
||||
<Field name="DigContaCorrente" length="1" type="CHARACTER"/>
|
||||
<Field name="DigAgenciaConta" length="1" value="0" />
|
||||
<Field name="NomeEmpresa" length="30" type="CHARACTER" />
|
||||
<Field name="NomeBanco" length="30" type="CHARACTER" value="SICOOB" />
|
||||
<Field name="Brancos3" length="10" blankAccepted="true"/>
|
||||
<Field name="RemessaRetorno" value="1" type="INTEGER" length="1"/>
|
||||
<Field name="DataGeracao" length="8" type="DATE" format="DATE_DDMMYYYY" padding="ZERO_LEFT"/>
|
||||
<Field name="HoraGeracao" length="6" type="INTEGER" padding="ZERO_LEFT"/>
|
||||
<Field name="NumRemessa" type="INTEGER" length="6" padding="ZERO_LEFT"/>
|
||||
<Field name="NumeroVersaoLayout" length="3" value="081"/>
|
||||
<Field name="DensidadeArquivo" length="5" value="00000"/>
|
||||
<Field name="Brancos4" length="20" blankAccepted="true"/>
|
||||
<Field name="Brancos5" length="20" blankAccepted="true"/>
|
||||
<Field name="Brancos6" length="29" blankAccepted="true"/>
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
<Record name="HeaderLote" description="Header do lote">
|
||||
<GroupOfFields>
|
||||
<IdType name="CodComp" value="756" length="3" position="1"/>
|
||||
<Field name="LoteServico" value="0001" length="4" padding="ZERO_LEFT"/>
|
||||
<Field name="TipoRegistro" value="1" length="1"/>
|
||||
<Field name="TipoOperacao" value="R" length="1"/>
|
||||
<Field name="TipoServico" value="01" length="2"/>
|
||||
<Field name="UsoExclusivo" length="2" blankAccepted="true"/>
|
||||
<Field name="NumeroVersaoLote" length="3" value="040" blankAccepted="true"/>
|
||||
<Field name="UsoExclusivo1" length="1" blankAccepted="true"/>
|
||||
<Field name="CpfCnpj" length="2" type="INTEGER"/>
|
||||
<Field name="NumCpfCnpj" length="15" type="CHARACTER" padding="ZERO_LEFT"/>
|
||||
<Field name="NumConvenio" length="20" blankAccepted="true"/>
|
||||
<Field name="NumAgencia" length="5" type="CHARACTER" padding="ZERO_LEFT"/>
|
||||
<Field name="DigAgencia" length="1" type="CHARACTER"/>
|
||||
<Field name="NumContaCorrente" length="12" type="CHARACTER" padding="ZERO_LEFT"/>
|
||||
<Field name="DigContaCorrente" length="1" type="CHARACTER"/>
|
||||
<Field name="DigAgenciaConta" length="1" blankAccepted="true"/>
|
||||
<Field name="NomeEmpresa" length="30" type="CHARACTER"/>
|
||||
<Field name="Mensagem1" length="40" blankAccepted="true"/>
|
||||
<Field name="Mensagem2" length="40" blankAccepted="true"/>
|
||||
<Field name="NumeroRemessa" length="8" type="INTEGER" padding="ZERO_LEFT"/>
|
||||
<Field name="DataGeracao" length="8" type="DATE" format="DATE_DDMMYYYY" padding="ZERO_LEFT"/>
|
||||
<Field name="DataCredito" length="8" type="DATE" format="DATE_DDMMYYYY" padding="ZERO_LEFT" blankAccepted="true"/>
|
||||
<Field name="UsoExclusivo2" length="33" type="CHARACTER" blankAccepted="true"/>
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
<Record name="SegmentoP" repeatable="true" description="Dados do título">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="756" length="3" position="1"/>
|
||||
<Field name="LoteServico" value="0001" length="4" padding="ZERO_LEFT"/>
|
||||
<Field name="TipoRegistro" value="3" length="1"/>
|
||||
<Field name="NumSeqRegistro" type="INTEGER" length="5" padding="ZERO_LEFT"/>
|
||||
<Field name="CodSegmento" length="1" value="P"/>
|
||||
<Field name="Brancos1" length="1" value=" " blankAccepted="true"/>
|
||||
<Field name="CodigoMovimento" length="2" value="01"/>
|
||||
<Field name="NumAgencia" length="5" type="CHARACTER" padding="ZERO_LEFT"/>
|
||||
<Field name="DigAgencia" length="1" type="CHARACTER"/>
|
||||
<Field name="NumContaCorrente" length="12" type="CHARACTER" padding="ZERO_LEFT"/>
|
||||
<Field name="DigContaCorrente" length="1" type="CHARACTER"/>
|
||||
<Field name="DigAgenciaConta" length="1" blankAccepted="true"/>
|
||||
<Field name="NossoNumero" length="20" type="CHARACTER"/>
|
||||
<Field name="CodCarteira" length="1" type="INTEGER" value="7"/>
|
||||
<Field name="Cadastramento" length="1" value="0"/>
|
||||
<Field name="TipoDocumento" length="1" blankAccepted="true"/>
|
||||
<Field name="IdentEmissaoBloqueto" length="1" value="2"/>
|
||||
<Field name="IdentDistribuicao" length="1" value="2"/>
|
||||
<Field name="NumeroDoDocumento" length="15" type="CHARACTER"/>
|
||||
<Field name="Vencimento" length="8" type="DATE" format="DATE_DDMMYYYY" padding="ZERO_LEFT"/>
|
||||
<Field name="Valor" length="15" type="BIGDECIMAL" value="0" format="DECIMAL_DD" padding="ZERO_LEFT"/>
|
||||
<Field name="AgenciaCobradora" length="5" value="00000" padding="ZERO_LEFT"/>
|
||||
<Field name="DigAgenciaCobradora" value=" " length="1" blankAccepted="true"/>
|
||||
<Field name="EspecieDeTitulo" length="2" padding="ZERO_LEFT" value="02"/>
|
||||
<Field name="Aceite" length="1" type="CHARACTER" value="N"/>
|
||||
<Field name="Emissao" length="8" type="DATE" format="DATE_DDMMYYYY" padding="ZERO_LEFT"/>
|
||||
<Field name="CodMora" length="1" type="INTEGER"/>
|
||||
<Field name="DataMora" length="8" type="DATE" format="DATE_DDMMYYYY" padding="ZERO_LEFT"/>
|
||||
<Field name="JurosDeMora" type="BIGDECIMAL" length="15" value="0" format="DECIMAL_DD" padding="ZERO_LEFT"/>
|
||||
<Field name="CodigoDesconto" type="INTEGER" length="1" value="0"/>
|
||||
<Field name="DataDesconto" length="8" type="CHARACTER" padding="ZERO_LEFT"/>
|
||||
<Field name="DescontoConcedido" type="BIGDECIMAL" length="15" value="0" format="DECIMAL_DD" padding="ZERO_LEFT"/>
|
||||
<Field name="IOF_Devido" type="BIGDECIMAL" length="15" value="0" format="DECIMAL_DD" padding="ZERO_LEFT"/>
|
||||
<Field name="AbatimentoConcedido" type="BIGDECIMAL" length="15" value="0" format="DECIMAL_DD" padding="ZERO_LEFT"/>
|
||||
<Field name="NossoNumeroEmp" type="CHARACTER" length="25"/>
|
||||
<Field name="CodigoProtesto" length="1" type="INTEGER" padding="ZERO_LEFT" value="3"/>
|
||||
<Field name="DiasProtesto" length="2" type="INTEGER" padding="ZERO_LEFT"/>
|
||||
<Field name="CodigoBaixa" length="1" type="INTEGER" value="0"/>
|
||||
<Field name="DiasBaixa" length="3" type="INTEGER" blankAccepted="true" />
|
||||
<Field name="Moeda" length="2" type="INTEGER" value="09" padding="ZERO_LEFT"/>
|
||||
<Field name="NumeroContrato" length="10" type="INTEGER" padding="ZERO_LEFT"/>
|
||||
<Field name="UsoExclusivo" length="1" blankAccepted="true"/>
|
||||
</GroupOfFields>
|
||||
<GroupOfInnerRecords>
|
||||
<Record name="SegmentoQ" repeatable="true" description="Dados do Pagador">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="756" length="3" position="1"/>
|
||||
<Field name="LoteServico" value="0001" length="4" padding="ZERO_LEFT"/>
|
||||
<Field name="TipoRegistro" value="3" length="1"/>
|
||||
<Field name="NumSeqRegistro" type="INTEGER" length="5" padding="ZERO_LEFT"/>
|
||||
<Field name="CodSegmento" length="1" value="Q"/>
|
||||
<Field name="Brancos1" length="1" value=" " blankAccepted="true"/>
|
||||
<Field name="CodigoRemessa" length="2" value="01"/>
|
||||
<Field name="TipoInscricaoSacado" length="2" type="INTEGER"/>
|
||||
<Field name="NumeroInscricaoSacado" length="15" type="INTEGER" padding="ZERO_LEFT"/>
|
||||
<Field name="NomeSacado" length="40" type="CHARACTER"/>
|
||||
<Field name="LogradouroSacado" length="40" type="CHARACTER"/>
|
||||
<Field name="BairroSacado" length="15" type="CHARACTER"/>
|
||||
<Field name="CepSacado" length="5" type="INTEGER"/>
|
||||
<Field name="SufixoCep" length="3" type="INTEGER"/>
|
||||
<Field name="Cidade" length="15" type="CHARACTER"/>
|
||||
<Field name="Estado" length="2" type="CHARACTER"/>
|
||||
<Field name="TipoSacadorAvalista" length="1" value="0"/>
|
||||
<Field name="SacadorAvalista" length="15" type="INTEGER" padding="ZERO_LEFT"/>
|
||||
<Field name="NomeSacadorAvalista" length="40" type="CHARACTER"/>
|
||||
<Field name="CodBancoCorresp" length="3" type="INTEGER" padding="ZERO_LEFT"/>
|
||||
<Field name="NossoNumeroNoBancoCorresp" length="20"/>
|
||||
<Field name="UsoExclusivo" length="8"/>
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
</GroupOfInnerRecords>
|
||||
</Record>
|
||||
<Record name="TraillerLote">
|
||||
<GroupOfFields>
|
||||
<IdType name="CodComp" value="756" length="3" position="1"/>
|
||||
<Field name="LoteServico" value="0001" length="4" padding="ZERO_LEFT"/>
|
||||
<Field name="TipoRegistro" value="5" length="1"/>
|
||||
<Field name="CNAB" length="9" blankAccepted="true"/>
|
||||
<Field name="QtdTitulosSimples" length="6" type="INTEGER" padding="ZERO_LEFT"/>
|
||||
<Field name="ValorTitulosSimples" length="15" type="BIGDECIMAL" value="0" format="DECIMAL_DD" padding="ZERO_LEFT"/>
|
||||
<Field name="QtdTitulosVinculada" length="6" type="INTEGER" padding="ZERO_LEFT"/>
|
||||
<Field name="ValorTitulosVinculada" length="15" type="INTEGER" padding="ZERO_LEFT"/>
|
||||
<Field name="QtdTitulosCaucionada" length="6" type="INTEGER" padding="ZERO_LEFT"/>
|
||||
<Field name="ValorTitulosCaucionada" length="15" type="INTEGER" padding="ZERO_LEFT"/>
|
||||
<Field name="QtdTitulosDescontada" length="6" type="INTEGER" padding="ZERO_LEFT"/>
|
||||
<Field name="ValorTitulosDescontada" length="15" type="INTEGER" padding="ZERO_LEFT"/>
|
||||
<Field name="UsoExclusivo1" length="8" blankAccepted="true"/>
|
||||
<Field name="UsoExclusivo2" length="217" blankAccepted="true"/>
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
<Record name="TraillerArquivo">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="756" length="3" position="1"/>
|
||||
<Field name="LoteServico" value="9999" length="4"/>
|
||||
<Field name="TipoRegistro" value="9" length="1"/>
|
||||
<Field name="UsoExclusivo1" length="9" blankAccepted="true"/>
|
||||
<Field name="QtdLotes" length="6" type="INTEGER" padding="ZERO_LEFT"/>
|
||||
<Field name="QtdArquivos" length="6" type="INTEGER" padding="ZERO_LEFT"/>
|
||||
<Field name="QtdContas" length="6" value="000000" />
|
||||
<Field name="UsoExclusivo2" length="205"/>
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
</GroupOfRecords>
|
||||
</FlatFile>
|
||||
</txg:Texgit>
|
Loading…
Reference in New Issue