132 lines
7.6 KiB
Java
132 lines
7.6 KiB
Java
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çãoo", 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.");
|
|
}
|
|
}
|