fixes bug#14158
dev: Wallace qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/GeneradorBoletosCNAB/trunk@94488 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
947898873f
commit
60c4385bdb
|
@ -5,64 +5,57 @@ import java.math.BigDecimal;
|
|||
import java.util.Date;
|
||||
|
||||
import com.rjconsultores.ventaboletos.blocos.RodapeRemessaPadrao;
|
||||
import com.rjconsultores.ventaboletos.blocos.santander.ArquivoRemessaSantander;
|
||||
import com.rjconsultores.ventaboletos.blocos.santander.CabecalhoRemessaSantander;
|
||||
import com.rjconsultores.ventaboletos.blocos.santander.DetalheObrigatorioSantander;
|
||||
import com.rjconsultores.ventaboletos.blocos.mercantil.ArquivoRemessaMercantil;
|
||||
import com.rjconsultores.ventaboletos.blocos.mercantil.CabecalhoRemessaMercantil;
|
||||
import com.rjconsultores.ventaboletos.blocos.mercantil.DetalheObrigatorioMercantil;
|
||||
import com.rjconsultores.ventaboletos.enuns.BancoLayout;
|
||||
import com.rjconsultores.ventaboletos.enuns.TipoInscricaoPagador;
|
||||
import com.rjconsultores.ventaboletos.layouts.MercantilFlatFile;
|
||||
import com.rjconsultores.ventaboletos.layouts.RemessaInterface;
|
||||
import com.rjconsultores.ventaboletos.layouts.SantanderFlatFile;
|
||||
|
||||
public class Main {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
ArquivoRemessaItem arquivoRemessaItem = new ArquivoRemessaSantander();
|
||||
ArquivoRemessaItem arquivoRemessaItem = new ArquivoRemessaMercantil();
|
||||
|
||||
CabecalhoRemessaSantander cabecalhoRemessa = new CabecalhoRemessaSantander();
|
||||
CabecalhoRemessaMercantil cabecalhoRemessa = new CabecalhoRemessaMercantil();
|
||||
|
||||
//cabecalhoRemessa.setCodigoBanco("123");
|
||||
cabecalhoRemessa.setCodigoEmpresa("123456");
|
||||
//cabecalhoRemessa.setCodigoServico("1222");
|
||||
//cabecalhoRemessa.setLiteralRemessa("REMESSA");
|
||||
cabecalhoRemessa.setAgenciaOrigem("0555");
|
||||
cabecalhoRemessa.setDataGravacao(new Date());
|
||||
//cabecalhoRemessa.setLiteralServico("COBRANCA");
|
||||
cabecalhoRemessa.setCnpj(new Long("1452265658222"));
|
||||
cabecalhoRemessa.setNumeroSequencialRemessa(1);
|
||||
cabecalhoRemessa.setNumeroSequencialRegistro(9);
|
||||
cabecalhoRemessa.setCodigoTransmissao(1234567890);
|
||||
cabecalhoRemessa.setNomeEmpresa("RJ Consultores");
|
||||
|
||||
arquivoRemessaItem.setCabecalhoRemessa(cabecalhoRemessa);
|
||||
|
||||
DetalheObrigatorioSantander tituloSantander = new DetalheObrigatorioSantander();
|
||||
|
||||
tituloSantander.setValor(new BigDecimal("4567.88"));
|
||||
tituloSantander.setVencimento(new Date());
|
||||
tituloSantander.setTipoInscricao(TipoInscricaoPagador.getInstanceByName("cpf"));
|
||||
tituloSantander.setNumeroInscricao(new Long(1452265658));
|
||||
tituloSantander.setCepSacado("32015");
|
||||
tituloSantander.setComplementoCepSacado("490");
|
||||
tituloSantander.setNumeroDoDocumento("555666777");
|
||||
tituloSantander.setAgencia("0555");
|
||||
tituloSantander.setEmissao( new Date() );
|
||||
//tituloSantander.setOrigemDoPagamento(999);
|
||||
DetalheObrigatorioMercantil titulo = new DetalheObrigatorioMercantil();
|
||||
|
||||
titulo.setValorTitulo(new BigDecimal("4567.88"));
|
||||
titulo.setVencimento(new Date());
|
||||
titulo.setCnpj(new Long("1452265658222"));
|
||||
titulo.setCepPrefixo("32015");
|
||||
titulo.setCepSufixo("490");
|
||||
titulo.setNumeroDoDocumento("555666777");
|
||||
titulo.setAgenciaOrigem("0555");
|
||||
titulo.setEmissao( new Date() );
|
||||
|
||||
try {
|
||||
arquivoRemessaItem.addTitulo(tituloSantander.clone());
|
||||
arquivoRemessaItem.addTitulo(tituloSantander.clone());
|
||||
arquivoRemessaItem.addTitulo(tituloSantander.clone());
|
||||
arquivoRemessaItem.addTitulo(tituloSantander.clone());
|
||||
arquivoRemessaItem.addTitulo(tituloSantander.clone());
|
||||
arquivoRemessaItem.addTitulo(tituloSantander.clone());
|
||||
arquivoRemessaItem.addTitulo(tituloSantander.clone());
|
||||
arquivoRemessaItem.addTitulo(titulo.clone());
|
||||
arquivoRemessaItem.addTitulo(titulo.clone());
|
||||
arquivoRemessaItem.addTitulo(titulo.clone());
|
||||
arquivoRemessaItem.addTitulo(titulo.clone());
|
||||
arquivoRemessaItem.addTitulo(titulo.clone());
|
||||
arquivoRemessaItem.addTitulo(titulo.clone());
|
||||
arquivoRemessaItem.addTitulo(titulo.clone());
|
||||
} catch (CloneNotSupportedException e1) {
|
||||
// TODO Auto-generated catch block
|
||||
e1.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
RemessaInterface remessaInterface = new SantanderFlatFile();
|
||||
RemessaInterface remessaInterface = new MercantilFlatFile();
|
||||
|
||||
RodapeRemessaPadrao rodapeRemessa = new RodapeRemessaPadrao();
|
||||
rodapeRemessa.setNumeroSequencialRegistro(9999);
|
||||
|
@ -71,7 +64,7 @@ public class Main {
|
|||
|
||||
File arquivoRemessaFisico = new File("C:\\Fabio\\fabio.txt");
|
||||
|
||||
ArquivoRemessa arquivoRemessa = new ArquivoRemessa(BancoLayout.SANTANDER_400_Envio);
|
||||
ArquivoRemessa arquivoRemessa = new ArquivoRemessa(BancoLayout.MERCANTIL_400_Envio);
|
||||
|
||||
try {
|
||||
arquivoRemessa.addItem(arquivoRemessaItem.clone());
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
package com.rjconsultores.ventaboletos.blocos.mercantil;
|
||||
|
||||
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 ArquivoRemessaMercantil extends ArquivoRemessaItem {
|
||||
|
||||
@Override
|
||||
public void setCabecalhoRemessa(CabecalhoRemessa cabecalhoRemessa) {
|
||||
|
||||
if(cabecalhoRemessa instanceof CabecalhoRemessaMercantil){
|
||||
super.setCabecalhoRemessa(cabecalhoRemessa);
|
||||
}else{
|
||||
throw new ClassCastException("Somente cabecalho tipo: " + CabecalhoRemessaMercantil.class.getName());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addTitulo(DetalheObrigatorio titulo){
|
||||
if(this.titulos == null){
|
||||
this.titulos = new ArrayList<DetalheObrigatorio>();
|
||||
}
|
||||
|
||||
if(titulo instanceof DetalheObrigatorioMercantil){
|
||||
titulo.setNumeroSequencialRegistro(titulos.size() + 2);
|
||||
this.titulos.add(titulo);
|
||||
}else{
|
||||
throw new ClassCastException("Somente cabecalho tipo: " + DetalheObrigatorioMercantil.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,73 @@
|
|||
package com.rjconsultores.ventaboletos.blocos.mercantil;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.rjconsultores.ventaboletos.blocos.CabecalhoRemessa;
|
||||
|
||||
public class CabecalhoRemessaMercantil implements CabecalhoRemessa {
|
||||
|
||||
private String agenciaOrigem;
|
||||
private Long cnpj;
|
||||
private String codigoEmpresa;
|
||||
private String nomeEmpresa;
|
||||
private Date dataGravacao;
|
||||
private Integer numeroSequencialRemessa;
|
||||
private Integer numeroSequencialRegistro;
|
||||
|
||||
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 Long getCnpj() {
|
||||
return cnpj;
|
||||
}
|
||||
|
||||
public void setCnpj(Long cnpj) {
|
||||
this.cnpj = cnpj;
|
||||
}
|
||||
|
||||
public String getAgenciaOrigem() {
|
||||
return agenciaOrigem;
|
||||
}
|
||||
|
||||
public void setAgenciaOrigem(String agenciaOrigem) {
|
||||
this.agenciaOrigem = agenciaOrigem;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,391 @@
|
|||
package com.rjconsultores.ventaboletos.blocos.mercantil;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.rjconsultores.ventaboletos.blocos.DadosBoleto;
|
||||
import com.rjconsultores.ventaboletos.blocos.DetalheObrigatorio;
|
||||
import com.rjconsultores.ventaboletos.enuns.TipoInscricaoPagador;
|
||||
|
||||
public class DetalheObrigatorioMercantil implements DetalheObrigatorio, Cloneable {
|
||||
|
||||
private Integer idBoletoFechamento;
|
||||
private String agenciaOrigem;
|
||||
private String numeroControleDoParticipante;
|
||||
private String nossoNumero;
|
||||
private String digitoVerificador;
|
||||
private Long cnpj;
|
||||
private Integer QtdPagamento = 0;
|
||||
private Integer codigoDeOcorrencia = 0;
|
||||
private Date dataOcorrencia;
|
||||
private String numeroDoDocumento;
|
||||
private Date vencimento;
|
||||
private BigDecimal ValorTitulo;
|
||||
private String especieDeTitulo;
|
||||
private Date emissao;
|
||||
private String instrucao1;
|
||||
private String instrucao2;
|
||||
private BigDecimal valorAtraso = BigDecimal.ZERO;
|
||||
private Date dataLimiteDesconto;
|
||||
private BigDecimal valorDesconto = BigDecimal.ZERO;
|
||||
private BigDecimal valorIOF = BigDecimal.ZERO;
|
||||
private BigDecimal valorAbatimentoConcedido = BigDecimal.ZERO;
|
||||
private TipoInscricaoPagador tipoInscricaoPagador;
|
||||
private Long numeroInscricaoPagador;
|
||||
private String nomePagador;
|
||||
private String enderecoCompletoPagador;
|
||||
private String bairro;
|
||||
private String cidade;
|
||||
private String estado;
|
||||
private String mensagem1;
|
||||
private String cepPrefixo;
|
||||
private String cepSufixo;
|
||||
private String sacadorAvalistaMensagem2;
|
||||
private Integer numeroSequencialRegistro;
|
||||
private Integer multaPercentual;
|
||||
private Integer numeroContrato;
|
||||
private Integer seuNumero;
|
||||
|
||||
|
||||
/*
|
||||
|
||||
MultaPercentual"
|
||||
MultaData"
|
||||
"
|
||||
IdentificacaoTitulo"
|
||||
AgenciaOrigem"
|
||||
DigitoVerificador"
|
||||
|
||||
CNPJ"
|
||||
QuantidadeMoeda"
|
||||
CodigoOperacao"
|
||||
CodigoMovimentacao"
|
||||
SeuNumero"
|
||||
DataVencimento"
|
||||
|
||||
CodigoBanco"
|
||||
Agencia"
|
||||
Aceite"
|
||||
JurosDeMora"
|
||||
DataLimiteDesconto"
|
||||
DescontoConcedido"
|
||||
IOF_Devido"
|
||||
AbatimentoConcedido"
|
||||
TipoInscricaoSacado"
|
||||
NumeroInscricaoSacado"
|
||||
NomeSacado"
|
||||
EnderecoSacado"
|
||||
BairroSacado"
|
||||
CepSacado"
|
||||
ComplementoCepSacado"
|
||||
Cidade"
|
||||
Estado"
|
||||
SacadorAvalista"
|
||||
|
||||
CodigoMoeda"
|
||||
*/
|
||||
|
||||
private DadosBoleto dadosBoleto;
|
||||
|
||||
@Override
|
||||
public void setIdBoletoFechamento(Integer id) {
|
||||
this.idBoletoFechamento = id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getIdBoletoFechamento(){
|
||||
return this.idBoletoFechamento;
|
||||
}
|
||||
|
||||
public DetalheObrigatorio clone() throws CloneNotSupportedException {
|
||||
return (DetalheObrigatorio) super.clone();
|
||||
}
|
||||
|
||||
public String getAgenciaOrigem() {
|
||||
return agenciaOrigem;
|
||||
}
|
||||
|
||||
public void setAgenciaOrigem(String agenciaOrigem) {
|
||||
this.agenciaOrigem = agenciaOrigem;
|
||||
}
|
||||
|
||||
public String getNumeroControleDoParticipante() {
|
||||
return numeroControleDoParticipante;
|
||||
}
|
||||
|
||||
public void setNumeroControleDoParticipante(String numeroControleDoParticipante) {
|
||||
this.numeroControleDoParticipante = numeroControleDoParticipante;
|
||||
}
|
||||
|
||||
public String getNossoNumero() {
|
||||
return nossoNumero;
|
||||
}
|
||||
|
||||
public void setNossoNumero(String nossoNumero) {
|
||||
this.nossoNumero = nossoNumero;
|
||||
}
|
||||
|
||||
public String getDigitoVerificador() {
|
||||
return digitoVerificador;
|
||||
}
|
||||
|
||||
public void setDigitoVerificador(String digitoVerificador) {
|
||||
this.digitoVerificador = digitoVerificador;
|
||||
}
|
||||
|
||||
public Integer getQtdPagamento() {
|
||||
return QtdPagamento;
|
||||
}
|
||||
|
||||
public void setQtdPagamento(Integer qtdPagamento) {
|
||||
QtdPagamento = qtdPagamento;
|
||||
}
|
||||
|
||||
public Integer getCodigoDeOcorrencia() {
|
||||
return codigoDeOcorrencia;
|
||||
}
|
||||
|
||||
public void setCodigoDeOcorrencia(Integer codigoDeOcorrencia) {
|
||||
this.codigoDeOcorrencia = codigoDeOcorrencia;
|
||||
}
|
||||
|
||||
public Date getDataOcorrencia() {
|
||||
return dataOcorrencia;
|
||||
}
|
||||
|
||||
public void setDataOcorrencia(Date dataOcorrencia) {
|
||||
this.dataOcorrencia = dataOcorrencia;
|
||||
}
|
||||
|
||||
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 getValorTitulo() {
|
||||
return ValorTitulo;
|
||||
}
|
||||
|
||||
public void setValorTitulo(BigDecimal valorTitulo) {
|
||||
ValorTitulo = valorTitulo;
|
||||
}
|
||||
|
||||
public String getEspecieDeTitulo() {
|
||||
return especieDeTitulo;
|
||||
}
|
||||
|
||||
public void setEspecieDeTitulo(String especieDeTitulo) {
|
||||
this.especieDeTitulo = especieDeTitulo;
|
||||
}
|
||||
|
||||
public Date getEmissao() {
|
||||
return emissao;
|
||||
}
|
||||
|
||||
public void setEmissao(Date emissao) {
|
||||
this.emissao = emissao;
|
||||
}
|
||||
|
||||
public String getInstrucao1() {
|
||||
return instrucao1;
|
||||
}
|
||||
|
||||
public void setInstrucao1(String instrucao1) {
|
||||
this.instrucao1 = instrucao1;
|
||||
}
|
||||
|
||||
public String getInstrucao2() {
|
||||
return instrucao2;
|
||||
}
|
||||
|
||||
public void setInstrucao2(String instrucao2) {
|
||||
this.instrucao2 = instrucao2;
|
||||
}
|
||||
|
||||
public BigDecimal getValorAtraso() {
|
||||
return valorAtraso;
|
||||
}
|
||||
|
||||
public void setValorAtraso(BigDecimal valorAtraso) {
|
||||
this.valorAtraso = valorAtraso;
|
||||
}
|
||||
|
||||
public Date getDataLimiteDesconto() {
|
||||
return dataLimiteDesconto;
|
||||
}
|
||||
|
||||
public void setDataLimiteDesconto(Date dataLimiteDesconto) {
|
||||
this.dataLimiteDesconto = dataLimiteDesconto;
|
||||
}
|
||||
|
||||
public BigDecimal getValorDesconto() {
|
||||
return valorDesconto;
|
||||
}
|
||||
|
||||
public void setValorDesconto(BigDecimal valorDesconto) {
|
||||
this.valorDesconto = valorDesconto;
|
||||
}
|
||||
|
||||
public BigDecimal getValorIOF() {
|
||||
return valorIOF;
|
||||
}
|
||||
|
||||
public void setValorIOF(BigDecimal valorIOF) {
|
||||
this.valorIOF = valorIOF;
|
||||
}
|
||||
|
||||
public BigDecimal getValorAbatimentoConcedido() {
|
||||
return valorAbatimentoConcedido;
|
||||
}
|
||||
|
||||
public void setValorAbatimentoConcedido(BigDecimal valorAbatimentoConcedido) {
|
||||
this.valorAbatimentoConcedido = valorAbatimentoConcedido;
|
||||
}
|
||||
|
||||
public TipoInscricaoPagador getTipoInscricaoPagador() {
|
||||
return tipoInscricaoPagador;
|
||||
}
|
||||
|
||||
public void setTipoInscricaoPagador(TipoInscricaoPagador tipoInscricaoPagador) {
|
||||
this.tipoInscricaoPagador = tipoInscricaoPagador;
|
||||
}
|
||||
|
||||
public Long getNumeroInscricaoPagador() {
|
||||
return numeroInscricaoPagador;
|
||||
}
|
||||
|
||||
public void setNumeroInscricaoPagador(Long numeroInscricaoPagador) {
|
||||
this.numeroInscricaoPagador = numeroInscricaoPagador;
|
||||
}
|
||||
|
||||
public String getNomePagador() {
|
||||
return nomePagador;
|
||||
}
|
||||
|
||||
public void setNomePagador(String nomePagador) {
|
||||
this.nomePagador = nomePagador;
|
||||
}
|
||||
|
||||
public String getEnderecoCompletoPagador() {
|
||||
return enderecoCompletoPagador;
|
||||
}
|
||||
|
||||
public void setEnderecoCompletoPagador(String enderecoCompletoPagador) {
|
||||
this.enderecoCompletoPagador = enderecoCompletoPagador;
|
||||
}
|
||||
|
||||
public String getMensagem1() {
|
||||
return mensagem1;
|
||||
}
|
||||
|
||||
public void setMensagem1(String mensagem1) {
|
||||
this.mensagem1 = mensagem1;
|
||||
}
|
||||
|
||||
public String getSacadorAvalistaMensagem2() {
|
||||
return sacadorAvalistaMensagem2;
|
||||
}
|
||||
|
||||
public void setSacadorAvalistaMensagem2(String sacadorAvalistaMensagem2) {
|
||||
this.sacadorAvalistaMensagem2 = sacadorAvalistaMensagem2;
|
||||
}
|
||||
|
||||
public Integer getNumeroSequencialRegistro() {
|
||||
return numeroSequencialRegistro;
|
||||
}
|
||||
|
||||
public void setNumeroSequencialRegistro(Integer numeroSequencialRegistro) {
|
||||
this.numeroSequencialRegistro = numeroSequencialRegistro;
|
||||
}
|
||||
|
||||
public DadosBoleto getDadosBoleto() {
|
||||
return dadosBoleto;
|
||||
}
|
||||
|
||||
public void setDadosBoleto(DadosBoleto dadosBoleto) {
|
||||
this.dadosBoleto = dadosBoleto;
|
||||
}
|
||||
|
||||
public Integer getMultaPercentual() {
|
||||
return multaPercentual;
|
||||
}
|
||||
|
||||
public void setMultaPercentual(Integer multaPercentual) {
|
||||
this.multaPercentual = multaPercentual;
|
||||
}
|
||||
|
||||
public String getCepPrefixo() {
|
||||
return cepPrefixo;
|
||||
}
|
||||
|
||||
public void setCepPrefixo(String cepPrefixo) {
|
||||
this.cepPrefixo = cepPrefixo;
|
||||
}
|
||||
|
||||
public String getCepSufixo() {
|
||||
return cepSufixo;
|
||||
}
|
||||
|
||||
public void setCepSufixo(String cepSufixo) {
|
||||
this.cepSufixo = cepSufixo;
|
||||
}
|
||||
|
||||
public Long getCnpj() {
|
||||
return cnpj;
|
||||
}
|
||||
|
||||
public void setCnpj(Long cnpj) {
|
||||
this.cnpj = cnpj;
|
||||
}
|
||||
|
||||
public Integer getNumeroContrato() {
|
||||
return numeroContrato;
|
||||
}
|
||||
|
||||
public void setNumeroContrato(Integer numeroContrato) {
|
||||
this.numeroContrato = numeroContrato;
|
||||
}
|
||||
|
||||
public Integer getSeuNumero() {
|
||||
return seuNumero;
|
||||
}
|
||||
|
||||
public void setSeuNumero(Integer seuNumero) {
|
||||
this.seuNumero = seuNumero;
|
||||
}
|
||||
|
||||
public String getBairro() {
|
||||
return bairro;
|
||||
}
|
||||
|
||||
public void setBairro(String bairro) {
|
||||
this.bairro = bairro;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
|
@ -5,6 +5,7 @@ public enum BancoLayout {
|
|||
ITAU_400_Envio("341", false, "/layouts/LayoutItauCNAB400Envio.txg.xml"),
|
||||
BB_240_Envio("001", false, "/layouts/LayoutBBCNAB240Envio.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"),
|
||||
BRADESCO_400_Retorno("237", true, "/layouts/LayoutBradescoCNAB400Retorno.txg.xml"),
|
||||
ITAU_400_Retorno("341", true, ""),
|
||||
|
@ -14,13 +15,11 @@ public enum BancoLayout {
|
|||
this.codBanco = codBanco;
|
||||
this.retorno = retorno;
|
||||
this.path = path;
|
||||
this.valido = true;
|
||||
}
|
||||
|
||||
private String codBanco;
|
||||
private boolean retorno;
|
||||
private String path;
|
||||
private boolean valido = true;
|
||||
|
||||
public String getCodBanco() {
|
||||
return codBanco;
|
||||
|
@ -38,14 +37,6 @@ public enum BancoLayout {
|
|||
return path.substring(path.lastIndexOf("/"));
|
||||
}
|
||||
|
||||
public boolean isValido() {
|
||||
return valido;
|
||||
}
|
||||
|
||||
public void setValido(boolean valido) {
|
||||
this.valido = valido;
|
||||
}
|
||||
|
||||
public static BancoLayout getInstanceByCodBanco(String codBanco){
|
||||
|
||||
for(BancoLayout o : BancoLayout.values()){
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
package com.rjconsultores.ventaboletos.enuns;
|
||||
|
||||
public enum OcorrenciaMercantil {
|
||||
|
||||
EntNor("01","REMESSA – ENTRADA NORMAL"),
|
||||
PedCli("02","BAIXA – PEDIDO DO CLIENTE"),
|
||||
ConAba("04","ALTERAÇÃO – CONCESSÃO DE ABATIMENTO"),
|
||||
CanAba("05","ALTERAÇÃO – CANCELAMENTO DE ABATIMENTO"),
|
||||
ProVen("06","ALTERAÇÃO – PRORROGAÇÃO DE VENCIMENTO"),
|
||||
ConDes("07","CONCEDER DESCONTO DE R$"),
|
||||
ProAvi("09","PROTESTAR SEM MAIS AVISO CONSULTA");
|
||||
|
||||
private OcorrenciaMercantil(String id, String label){
|
||||
this.id = id;
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
private String id;
|
||||
private String label;
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
|
||||
public static OcorrenciaMercantil getInstance(String id){
|
||||
|
||||
for(OcorrenciaMercantil o : OcorrenciaMercantil.values()){
|
||||
|
||||
if(o.getId().equals(id)){
|
||||
return o;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
}
|
|
@ -12,6 +12,8 @@ public class CNABFactory {
|
|||
return new BradescoFlatFile();
|
||||
case SANTANDER_400_Envio:
|
||||
return new SantanderFlatFile();
|
||||
case MERCANTIL_400_Envio:
|
||||
return new MercantilFlatFile();
|
||||
case ITAU_400_Envio:
|
||||
return new ItauFlatFile();
|
||||
case BB_240_Envio:
|
||||
|
@ -20,7 +22,6 @@ public class CNABFactory {
|
|||
break;
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -35,7 +36,6 @@ public class CNABFactory {
|
|||
break;
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,131 @@
|
|||
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.mercantil.CabecalhoRemessaMercantil;
|
||||
import com.rjconsultores.ventaboletos.blocos.mercantil.DetalheObrigatorioMercantil;
|
||||
import com.rjconsultores.ventaboletos.enuns.BancoLayout;
|
||||
import com.rjconsultores.ventaboletos.utils.FormataUtil;
|
||||
|
||||
public class MercantilFlatFile extends AbstractFlatFile implements RemessaInterface {
|
||||
|
||||
public MercantilFlatFile() {
|
||||
super(BancoLayout.MERCANTIL_400_Envio);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createHeader(CabecalhoRemessa cabecalhoRemessaParam) {
|
||||
|
||||
Record header = getFlatFile().createRecord("Header");
|
||||
|
||||
CabecalhoRemessaMercantil cabecalhoRemessa = (CabecalhoRemessaMercantil) cabecalhoRemessaParam;
|
||||
|
||||
header.setValue("AgenciaOrigem", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getAgenciaOrigem(), 4));
|
||||
header.setValue("Cliente", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getCnpj().toString(), 15));
|
||||
header.setValue("NomeDaEmpresa", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNomeEmpresa(), 30));
|
||||
header.setValue("DataGravacaoArquivo", FormataUtil.formataDataToString(cabecalhoRemessa.getDataGravacao(), "000000", "ddMMyy"));
|
||||
header.setValue("NumeroSequencialRegistro", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNumeroSequencialRegistro().toString(), 5));
|
||||
header.setValue("NumeroSequencialRemessa", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNumeroSequencialRemessa().toString(), 6));
|
||||
|
||||
getFlatFile().addRecord(header);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createTransacaoTitulos(DetalheObrigatorio tituloParam) {
|
||||
|
||||
Record transacaoTitulos = getFlatFile().createRecord("TransacaoTitulo");
|
||||
|
||||
DetalheObrigatorioMercantil titulo = (DetalheObrigatorioMercantil) tituloParam;
|
||||
|
||||
transacaoTitulos.setValue("AgenciaOrigem", FormataUtil.formatarValorPorTamanho(titulo.getAgenciaOrigem(), 5));
|
||||
transacaoTitulos.setValue("MultaPercentual", FormataUtil.formatarValorPorTamanho(titulo.getMultaPercentual(), 2));
|
||||
transacaoTitulos.setValue("CNPJ", FormataUtil.formatarValorPorTamanho(titulo.getCnpj().toString(), 15));
|
||||
transacaoTitulos.setValue("NumeroContrato", FormataUtil.formatarValorPorTamanho(titulo.getNumeroContrato(), 9));
|
||||
transacaoTitulos.setValue("NumeroControleDoParticipante", FormataUtil.formatarValorPorTamanho(titulo.getNumeroControleDoParticipante(), 25));
|
||||
transacaoTitulos.setValue("Filler1", FormataUtil.formatarValorPorTamanho("0", 8));
|
||||
transacaoTitulos.setValue("NossoNumero", FormataUtil.formatarValorPorTamanho(titulo.getNossoNumero(), 10));
|
||||
transacaoTitulos.setValue("DigitoVerificador", FormataUtil.formatarValorPorTamanho(titulo.getDigitoVerificador(), 1));
|
||||
transacaoTitulos.setValue("SeuNumero", FormataUtil.formatarValorPorTamanho(titulo.getSeuNumero(), 10));
|
||||
transacaoTitulos.setValue("DadosIgnorados2", FormataUtil.formatarValorPorTamanho("", 25));
|
||||
transacaoTitulos.setValue("QtdPagamento", FormataUtil.formatarValorPorTamanho(titulo.getQtdPagamento(), 25));
|
||||
//transacaoTitulos.setValue("CodigoDeOcorrencia", FormataUtil.formatarValorPorTamanho(titulo.getCodigoDeOcorrencia().toString(), 2));
|
||||
transacaoTitulos.setValue("NumeroDoDocumento", FormataUtil.formatarValorPorTamanho(titulo.getNumeroDoDocumento(), 10));
|
||||
transacaoTitulos.setValue("Vencimento", FormataUtil.formataDataToString(titulo.getVencimento(), "000000", "ddMMyy"));
|
||||
transacaoTitulos.setValue("ValorTitulo", titulo.getValorTitulo());
|
||||
//transacaoTitulos.setValue("BancoCobranca", FormataUtil.formatarValorPorTamanho("0", 3));
|
||||
//transacaoTitulos.setValue("AgenciaAgencia", FormataUtil.formatarValorPorTamanho("0", 5));
|
||||
transacaoTitulos.setValue("EspecieDeTitulo", FormataUtil.formatarValorPorTamanho(titulo.getEspecieDeTitulo(), 2));
|
||||
//transacaoTitulos.setValue("Identificação", FormataUtil.formatarValorPorTamanho("N", 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("ValorDesconto", titulo.getValorDesconto());
|
||||
transacaoTitulos.setValue("ValorIOF", titulo.getValorIOF());
|
||||
transacaoTitulos.setValue("ValorAbatimentoConcedido", titulo.getValorAbatimentoConcedido());
|
||||
transacaoTitulos.setValue("NomePagador", FormataUtil.formatarValorPorTamanho(titulo.getNomePagador(), 40));
|
||||
transacaoTitulos.setValue("EnderecoCompletoPagador", FormataUtil.formatarValorPorTamanho(titulo.getEnderecoCompletoPagador(), 40));
|
||||
transacaoTitulos.setValue("Mensagem1", FormataUtil.formatarValorPorTamanho(titulo.getMensagem1(), 12));
|
||||
transacaoTitulos.setValue("CEPPrefixo", FormataUtil.formatarValorPorTamanho(titulo.getCepPrefixo(), 5));
|
||||
transacaoTitulos.setValue("CEPSufixo", FormataUtil.formatarValorPorTamanho(titulo.getCepSufixo(), 3));
|
||||
transacaoTitulos.setValue("BairroSacado", FormataUtil.formatarValorPorTamanho(titulo.getBairro(), 12));
|
||||
transacaoTitulos.setValue("Cidade", FormataUtil.formatarValorPorTamanho(titulo.getCidade(), 15));
|
||||
transacaoTitulos.setValue("Estado", FormataUtil.formatarValorPorTamanho(titulo.getEstado(), 2));
|
||||
transacaoTitulos.setValue("Sacador_Avalista_Mensagem2", FormataUtil.formatarValorPorTamanho(titulo.getSacadorAvalistaMensagem2(), 60));
|
||||
transacaoTitulos.setValue("NumeroSequencialRegistro", FormataUtil.formatarValorPorTamanho(titulo.getNumeroSequencialRegistro().toString(), 6));
|
||||
|
||||
DadosBoleto dadosBoleto = titulo.getDadosBoleto();
|
||||
|
||||
try{
|
||||
if(dadosBoleto != null){
|
||||
transacaoTitulos.addInnerRecord(createDadosBoletos(dadosBoleto));
|
||||
}
|
||||
}catch(UnsupportedOperationException e){ }
|
||||
|
||||
getFlatFile().addRecord(transacaoTitulos);
|
||||
}
|
||||
|
||||
@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...");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createTrailler(RodapeRemessa trailler){
|
||||
Record trailer = getFlatFile().createRecord("Trailler");
|
||||
trailer.setValue("NumeroSequencialRegistro", FormataUtil.formatarValorPorTamanho(trailler.getNumeroSequencialRegistro().toString(), 6));
|
||||
getFlatFile().addRecord(trailer);
|
||||
}
|
||||
|
||||
@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.");
|
||||
}
|
||||
}
|
|
@ -16,6 +16,13 @@ public class FormataUtil {
|
|||
return value;
|
||||
}
|
||||
|
||||
public static String formatarValorPorTamanho(Integer valor, int tamanho) {
|
||||
|
||||
String value = valor == null ? "" : valor.toString();
|
||||
|
||||
return formatarValorPorTamanho(value, tamanho) ;
|
||||
}
|
||||
|
||||
public static String formatarValorPorTamanhoZeroEsquerda(String value, int tamanho) {
|
||||
|
||||
value = value == null ? "" : value;
|
||||
|
|
|
@ -30,11 +30,14 @@ public class NossoNumeroUtils {
|
|||
return StringUtils.right("00000000" + nossoNumero, 8) + dacItau(codAgencia, numConta, numCarteira, nossoNumero);
|
||||
}
|
||||
|
||||
|
||||
public static String calcularNossoNumeroSantander(BigInteger nossoNumero){
|
||||
return StringUtils.right("0000000" + nossoNumero, 7)+dacSantander( nossoNumero.toString() );
|
||||
}
|
||||
|
||||
public static String calcularNossoNumeroMercantil(Integer agencia, BigInteger nossoNumero){
|
||||
return StringUtils.right("0000000000" + nossoNumero, 10)+dacMercantil( agencia, nossoNumero );
|
||||
}
|
||||
|
||||
/**
|
||||
* Devolve o nosso numero do BB com o DV calculado (Tamanho 20)...
|
||||
* @param convenioBanco
|
||||
|
@ -105,6 +108,31 @@ public class NossoNumeroUtils {
|
|||
|
||||
}
|
||||
|
||||
public static String dacMercantil(Integer agencia, BigInteger nossoNumero){
|
||||
|
||||
int multiplicadores[] = {7,6,5,4,3,2,9,8,7,6,5,4,3,2};
|
||||
|
||||
String agenciaformatada = StringUtils.right("0000" + agencia, 4);
|
||||
String nNumero = StringUtils.right("00000000000" + nossoNumero, 10);
|
||||
|
||||
String base = agenciaformatada + nNumero;
|
||||
|
||||
int soma = 0;
|
||||
|
||||
for (int i = 0; i < base.length(); i++) {
|
||||
String d = base.charAt(i)+"";
|
||||
soma = Integer.valueOf(d) * multiplicadores[i];
|
||||
}
|
||||
|
||||
int mod = soma % 11;
|
||||
|
||||
if( mod == 0 || mod == 1 ) {
|
||||
return "0";
|
||||
}
|
||||
|
||||
return String.valueOf(11 - mod);
|
||||
}
|
||||
|
||||
/**
|
||||
* Calcula do DV para o Itau
|
||||
* @param codAgencia
|
||||
|
@ -185,7 +213,6 @@ public class NossoNumeroUtils {
|
|||
return mod + "";
|
||||
}
|
||||
|
||||
|
||||
public static String dacSantander(String nossoNumero){
|
||||
|
||||
int multiplicador = 2;
|
||||
|
@ -216,7 +243,6 @@ public class NossoNumeroUtils {
|
|||
return String.valueOf(11 - mod);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Calcula do DV para o Itau (Numero Documento)
|
||||
* @param codAgencia
|
||||
|
@ -255,8 +281,6 @@ public class NossoNumeroUtils {
|
|||
|
||||
dac = 10 - (dac % 10);
|
||||
|
||||
|
||||
|
||||
return dac + "";
|
||||
}
|
||||
|
||||
|
@ -270,6 +294,10 @@ public class NossoNumeroUtils {
|
|||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
if(BancoLayout.MERCANTIL_400_Envio.equals(bancoLayout) && nossoNumero.length() == 12 ){
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
if(BancoLayout.SANTANDER_400_Envio.equals(bancoLayout) && nossoNumero.length() == 9 ){
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
@ -281,10 +309,9 @@ public class NossoNumeroUtils {
|
|||
return Boolean.FALSE;
|
||||
}
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
System.out.println( calcularNossoNumeroSantander( new BigInteger("2457800") ));
|
||||
System.out.println( calcularNossoNumeroMercantil( 89, new BigInteger("0032861174") ));
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,114 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<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_SantanderCNAB400</name>
|
||||
<version>Version 2,0, Published: outubro/2009</version>
|
||||
<description>
|
||||
Layout para Cobrança.
|
||||
|
||||
Arquivo texto - padrão CNAB
|
||||
Meio de Registro Transmissão de Dados
|
||||
Descrição de Registro - Tamanho 400 Bytes
|
||||
Organização Sequencial
|
||||
|
||||
ARQUIVO FORMATO CNAB REMESSA, REGISTROS:
|
||||
|
||||
0 = Header
|
||||
1 = Registro de Movimento
|
||||
2 = Mensagem Variável por Título (Opcional)
|
||||
4 = Mensagem Variável por Título (Opcional)
|
||||
5 = Mensagem Variável por Título (Opcional)
|
||||
6 = Mensagem Variável por Título (Opcional)
|
||||
7 = Mensagem Variável por Título (Opcional)
|
||||
9 = Trailler
|
||||
</description>
|
||||
</layout>
|
||||
<GroupOfRecords>
|
||||
<Record name="Header" description="Protocolo de comunicação" repeatable="true">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" length="1" value="0" position="1" />
|
||||
<Field name="IdentificacaoRemessa" length="1" value="1" />
|
||||
<Field name="LiteralRemessa" length="7" value="REMESSA" />
|
||||
<Field name="CodigoDeServico" length="2" value="01" />
|
||||
<Field name="LiteralServico" length="8" value="COBRANCA" />
|
||||
<Field name="Brancos" length="7" blankAccepted="true" />
|
||||
<Field name="AgenciaOrigem" length="4" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="Cliente" length="15" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="Brancos" length="1" blankAccepted="true" />
|
||||
<Field name="NomeDaEmpresa" length="30" type="CHARACTER" />
|
||||
<Field name="CodigoBanco" length="3" value="389" />
|
||||
<Field name="NomeBanco" length="15" value="BANCANTIL" />
|
||||
<Field name="DataGravacaoArquivo" length="6" type="DATE" format="DATE_DDMMYY" />
|
||||
<Field name="Brancos" length="281" blankAccepted="true" />
|
||||
<Field name="Densidade" length="5" value="01600" />
|
||||
<Field name="BPI" length="3" blankAccepted="true" />
|
||||
<Field name="NumeroSequencialRegistro" length="5" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="NumeroSequencialRemessa" length="6" value="000001" />
|
||||
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
|
||||
<Record name="TransacaoTitulo" repeatable="true">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" length="1" position="1" value="1"/>
|
||||
<Field name="IndicadorMulta" length="2" value="00" />
|
||||
<Field name="CodigoMulta" length="1" value="0" />
|
||||
<Field name="MultaPercentual" length="13" type="BIGDECIMAL" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="MultaData" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" />
|
||||
<Field name="Brancos1" length="5" type="CHARACTER" blankAccepted="true" />
|
||||
<Field name="NumeroContrato" length="9" type="INTEGER" />
|
||||
<Field name="IdentificacaoTitulo" length="25" type="CHARACTER" />
|
||||
<Field name="AgenciaOrigem" length="4" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="NossoNumero" length="10" type="INTEGER" />
|
||||
<Field name="DigitoVerificador" length="1" type="INTEGER" />
|
||||
<Field name="Brancos2" length="5" type="CHARACTER" blankAccepted="true" />
|
||||
<Field name="CNPJ" length="15" type="INTEGER" />
|
||||
<Field name="QuantidadeMoeda" length="10" type="INTEGER" />
|
||||
<Field name="CodigoOperacao" length="1" value="1" />
|
||||
<Field name="CodigoMovimentacao" length="2" type="INTEGER" />
|
||||
<Field name="SeuNumero" length="10" type="INTEGER" />
|
||||
<Field name="DataVencimento" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" />
|
||||
<Field name="ValorTitulo" length="13" type="BIGDECIMAL" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="CodigoBanco" length="3" type="INTEGER" value="389"/>
|
||||
<Field name="Agencia" length="5" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="EspecieDeTitulo" length="2" type="CHARACTER" padding="ZERO_LEFT" />
|
||||
<Field name="Aceite" length="1" type="CHARACTER" value="N" />
|
||||
<Field name="Emissao" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" />
|
||||
<Field name="Instrucao1" length="2" type="CHARACTER" />
|
||||
<Field name="Instrucao2" length="2" type="CHARACTER" />
|
||||
<Field name="JurosDeMora" length="13" type="BIGDECIMAL" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="DataLimiteDesconto" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" />
|
||||
<Field name="DescontoConcedido" length="13" type="BIGDECIMAL" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="IOF_Devido" length="13" type="BIGDECIMAL" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="AbatimentoConcedido" length="13" type="BIGDECIMAL" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="TipoInscricaoSacado" length="2" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="NumeroInscricaoSacado" length="14" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="NomeSacado" length="40" type="CHARACTER" />
|
||||
<Field name="EnderecoSacado" length="40" type="CHARACTER" />
|
||||
<Field name="BairroSacado" length="12" type="CHARACTER" />
|
||||
<Field name="CEPPrefixo" length="5" type="INTEGER" />
|
||||
<Field name="CEPSufixo" length="3" type="INTEGER" />
|
||||
<Field name="Cidade" length="15" type="CHARACTER" />
|
||||
<Field name="Estado" length="2" type="CHARACTER" />
|
||||
<Field name="SacadorAvalista" length="30" type="CHARACTER" />
|
||||
<Field name="Brancos3" length="12" type="CHARACTER" blankAccepted="true" />
|
||||
<Field name="CodigoMoeda" length="1" type="INTEGER" />
|
||||
<Field name="NumeroSequencialRegistro" length="6" type="INTEGER" padding="ZERO_LEFT" />
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
<Record name="Trailler">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" length="1" value="9" position="1" />
|
||||
<Field name="Filler" length="393" />
|
||||
<Field name="NumeroSequencialRegistro" length="6" type="INTEGER" padding="ZERO_LEFT" />
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
</GroupOfRecords>
|
||||
</FlatFile>
|
||||
|
||||
</txg:Texgit>
|
Loading…
Reference in New Issue