git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/GeneradorBoletosCNAB/trunk@76219 d1611594-4594-4d17-8e1d-87c2c4800839
parent
b5dc24aa9a
commit
7055b75a36
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
<attribute name="org.eclipse.jst.component.nondependency" value=""/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry including="**/*.java" kind="src" output="target/classes" path="src">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
|
@ -0,0 +1,36 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>GeneradorBoletosCNAB</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.wst.common.project.facet.core.builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.wst.validation.validationbuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
|
||||
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -0,0 +1,13 @@
|
|||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||
org.eclipse.jdt.core.compiler.source=1.6
|
|
@ -0,0 +1,4 @@
|
|||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
|
@ -0,0 +1,95 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>br.com.rjconsultores</groupId>
|
||||
<artifactId>GeneradorBoletosCNAB</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
|
||||
<build>
|
||||
<sourceDirectory>src</sourceDirectory>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src</directory>
|
||||
<excludes>
|
||||
<exclude>**/*.java</exclude>
|
||||
</excludes>
|
||||
</resource>
|
||||
</resources>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.3</version>
|
||||
<configuration>
|
||||
<source>1.6</source>
|
||||
<target>1.6</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-assembly-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>single</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<descriptorRefs>
|
||||
<descriptorRef>jar-with-dependencies</descriptorRef>
|
||||
</descriptorRefs>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<finalName>${project.artifactId}</finalName>
|
||||
</build>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-api</artifactId>
|
||||
<version>2.9.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-core</artifactId>
|
||||
<version>2.9.0</version>
|
||||
</dependency>
|
||||
<!-- <dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-log4j12</artifactId>
|
||||
<version>1.6.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-lang3</artifactId>
|
||||
<version>3.6</version>
|
||||
</dependency> -->
|
||||
<dependency>
|
||||
<groupId>commons-lang</groupId>
|
||||
<artifactId>commons-lang</artifactId>
|
||||
<version>2.4</version>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
|
||||
<dependency>
|
||||
<groupId>commons-io</groupId>
|
||||
<artifactId>commons-io</artifactId>
|
||||
<version>1.4</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.itextpdf</groupId>
|
||||
<artifactId>itextpdf</artifactId>
|
||||
<version>5.0.6</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>br.com.rjconsultores</groupId>
|
||||
<artifactId>JRimum-Bopepo</artifactId>
|
||||
<version>0.2.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>br.com.rjconsultores</groupId>
|
||||
<artifactId>JRimum-Texgit</artifactId>
|
||||
<version>0.2.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
|
@ -0,0 +1,49 @@
|
|||
package com.rjconsultores.ventaboletos;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.rjconsultores.ventaboletos.enuns.BancoLayout;
|
||||
|
||||
public class ArquivoRemessa {
|
||||
|
||||
private BancoLayout bancoLayout;
|
||||
private String nomeArquivo;
|
||||
private List<ArquivoRemessaItemInteface> itens;
|
||||
|
||||
public ArquivoRemessa(BancoLayout bancoLayout) {
|
||||
this.bancoLayout = bancoLayout;
|
||||
}
|
||||
|
||||
public BancoLayout getBancoLayout() {
|
||||
return bancoLayout;
|
||||
}
|
||||
|
||||
public String getNomeArquivo() {
|
||||
return nomeArquivo;
|
||||
}
|
||||
|
||||
public void setNomeArquivo(String nomeArquivo) {
|
||||
this.nomeArquivo = nomeArquivo;
|
||||
}
|
||||
|
||||
public List<ArquivoRemessaItemInteface> getItens() {
|
||||
return itens;
|
||||
}
|
||||
|
||||
public void setItens(List<ArquivoRemessaItemInteface> itens) {
|
||||
this.itens = itens;
|
||||
}
|
||||
|
||||
public void addItem(ArquivoRemessaItemInteface item) {
|
||||
|
||||
if(this.itens == null){
|
||||
this.itens = new ArrayList<ArquivoRemessaItemInteface>();
|
||||
}
|
||||
|
||||
item.getCabecalhoRemessa().setNumeroSequencialRegistro(itens.size() + 1);
|
||||
|
||||
this.itens.add(item);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
package com.rjconsultores.ventaboletos;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.rjconsultores.ventaboletos.blocos.CabecalhoRemessa;
|
||||
import com.rjconsultores.ventaboletos.blocos.DetalheObrigatorio;
|
||||
import com.rjconsultores.ventaboletos.blocos.RodapeRemessa;
|
||||
|
||||
public abstract class ArquivoRemessaItem implements ArquivoRemessaItemInteface, Cloneable{
|
||||
|
||||
protected CabecalhoRemessa cabecalhoRemessa;
|
||||
protected List<DetalheObrigatorio> titulos;
|
||||
protected RodapeRemessa rodapeRemessa;
|
||||
|
||||
|
||||
public CabecalhoRemessa getCabecalhoRemessa() {
|
||||
return cabecalhoRemessa;
|
||||
}
|
||||
public void setCabecalhoRemessa(CabecalhoRemessa cabecalhoRemessa) {
|
||||
this.cabecalhoRemessa = cabecalhoRemessa;
|
||||
}
|
||||
public List<DetalheObrigatorio> getTitulos() {
|
||||
return titulos;
|
||||
}
|
||||
public RodapeRemessa getRodapeRemessa() {
|
||||
this.rodapeRemessa = this.rodapeRemessa == null ? new RodapeRemessa() : this.rodapeRemessa;
|
||||
rodapeRemessa.setNumeroSequencialRegistro(titulos.size());
|
||||
return rodapeRemessa;
|
||||
}
|
||||
public void setRodapeRemessa(RodapeRemessa rodapeRemessa) {
|
||||
this.rodapeRemessa = rodapeRemessa == null ? new RodapeRemessa() : rodapeRemessa;
|
||||
this.rodapeRemessa = rodapeRemessa;
|
||||
}
|
||||
|
||||
public abstract void addTitulo(DetalheObrigatorio titulo);
|
||||
|
||||
|
||||
public ArquivoRemessaItemInteface clone() throws CloneNotSupportedException {
|
||||
// TODO Auto-generated method stub
|
||||
return (ArquivoRemessaItemInteface) super.clone();
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package com.rjconsultores.ventaboletos;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.rjconsultores.ventaboletos.blocos.CabecalhoRemessa;
|
||||
import com.rjconsultores.ventaboletos.blocos.DetalheObrigatorio;
|
||||
import com.rjconsultores.ventaboletos.blocos.RodapeRemessa;
|
||||
|
||||
public interface ArquivoRemessaItemInteface {
|
||||
|
||||
public void setCabecalhoRemessa(CabecalhoRemessa cabecalhoRemessa);
|
||||
|
||||
public void addTitulo(DetalheObrigatorio titulo);
|
||||
|
||||
public void setRodapeRemessa(RodapeRemessa rodapeRemessa);
|
||||
|
||||
public CabecalhoRemessa getCabecalhoRemessa();
|
||||
|
||||
public List<DetalheObrigatorio> getTitulos();
|
||||
|
||||
public RodapeRemessa getRodapeRemessa();
|
||||
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
package com.rjconsultores.ventaboletos;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ArquivoRetorno {
|
||||
|
||||
private List<ArquivoRetornoItemInteface> itens;
|
||||
|
||||
public List<ArquivoRetornoItemInteface> getItens() {
|
||||
return itens;
|
||||
}
|
||||
|
||||
public void setItens(List<ArquivoRetornoItemInteface> itens) {
|
||||
this.itens = itens;
|
||||
}
|
||||
|
||||
public void addItem(ArquivoRetornoItemInteface item) {
|
||||
|
||||
if(this.itens == null){
|
||||
this.itens = new ArrayList<ArquivoRetornoItemInteface>();
|
||||
}
|
||||
|
||||
this.itens.add(item);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
package com.rjconsultores.ventaboletos;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.rjconsultores.ventaboletos.blocos.CabecalhoRetorno;
|
||||
import com.rjconsultores.ventaboletos.blocos.DetalheRetorno;
|
||||
import com.rjconsultores.ventaboletos.blocos.RodapeRetorno;
|
||||
|
||||
public class ArquivoRetornoItem implements ArquivoRetornoItemInteface, Cloneable {
|
||||
|
||||
|
||||
private CabecalhoRetorno cabecalhoRetorno;
|
||||
protected List<DetalheRetorno> titulos;
|
||||
protected RodapeRetorno rodapeRetorno;
|
||||
|
||||
|
||||
@Override
|
||||
public void setCabecalhoRetorno(CabecalhoRetorno cabecalhoRetorno) {
|
||||
this.cabecalhoRetorno = cabecalhoRetorno;
|
||||
|
||||
}
|
||||
@Override
|
||||
public void addTitulo(DetalheRetorno titulo) {
|
||||
if(this.titulos == null){
|
||||
this.titulos = new ArrayList<DetalheRetorno>();
|
||||
}
|
||||
this.titulos.add(titulo);
|
||||
|
||||
}
|
||||
@Override
|
||||
public void setRodapeRetorno(RodapeRetorno rodapeRetorno) {
|
||||
this.rodapeRetorno = rodapeRetorno;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CabecalhoRetorno getCabecalhoRetorno() {
|
||||
return cabecalhoRetorno;
|
||||
}
|
||||
@Override
|
||||
public List<DetalheRetorno> getTitulos() {
|
||||
return titulos;
|
||||
}
|
||||
@Override
|
||||
public RodapeRetorno getRodapeRetorno() {
|
||||
return rodapeRetorno;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package com.rjconsultores.ventaboletos;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.rjconsultores.ventaboletos.blocos.CabecalhoRetorno;
|
||||
import com.rjconsultores.ventaboletos.blocos.DetalheRetorno;
|
||||
import com.rjconsultores.ventaboletos.blocos.RodapeRetorno;
|
||||
|
||||
public interface ArquivoRetornoItemInteface {
|
||||
|
||||
public void setCabecalhoRetorno(CabecalhoRetorno cabecalhoRetorno);
|
||||
|
||||
public void addTitulo(DetalheRetorno titulo);
|
||||
|
||||
public void setRodapeRetorno(RodapeRetorno rodapeRetorno);
|
||||
|
||||
public CabecalhoRetorno getCabecalhoRetorno();
|
||||
|
||||
public List<DetalheRetorno> getTitulos();
|
||||
|
||||
public RodapeRetorno getRodapeRetorno();
|
||||
|
||||
}
|
|
@ -0,0 +1,97 @@
|
|||
package com.rjconsultores.ventaboletos;
|
||||
|
||||
import java.io.File;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.rjconsultores.ventaboletos.blocos.RodapeRemessa;
|
||||
import com.rjconsultores.ventaboletos.blocos.bradesco.ArquivoRemessaBradesco;
|
||||
import com.rjconsultores.ventaboletos.blocos.bradesco.CabecalhoRemessaBradesco;
|
||||
import com.rjconsultores.ventaboletos.blocos.bradesco.DetalheObrigatorioBradesco;
|
||||
import com.rjconsultores.ventaboletos.enuns.BancoLayout;
|
||||
import com.rjconsultores.ventaboletos.enuns.MotivoOcorrenciaBradesco;
|
||||
import com.rjconsultores.ventaboletos.enuns.OcorrenciaBradesco;
|
||||
import com.rjconsultores.ventaboletos.enuns.TipoInscricaoPagador;
|
||||
import com.rjconsultores.ventaboletos.layouts.BradescoFlatFile;
|
||||
import com.rjconsultores.ventaboletos.layouts.RemessaInterface;
|
||||
|
||||
public class Main {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
ArquivoRemessaItem arquivoRemessaItem = new ArquivoRemessaBradesco();
|
||||
|
||||
|
||||
|
||||
CabecalhoRemessaBradesco cabecalhoRemessa = new CabecalhoRemessaBradesco();
|
||||
|
||||
//cabecalhoRemessa.setCodigoBanco("123");
|
||||
cabecalhoRemessa.setCodigoEmpresa("123456");
|
||||
//cabecalhoRemessa.setCodigoServico("1222");
|
||||
//cabecalhoRemessa.setLiteralRemessa("REMESSA");
|
||||
cabecalhoRemessa.setDataGravacao(new Date());
|
||||
//cabecalhoRemessa.setLiteralServico("COBRANCA");
|
||||
cabecalhoRemessa.setNumeroSequencialRemessa(1);
|
||||
cabecalhoRemessa.setNumeroSequencialRegistro(9);
|
||||
cabecalhoRemessa.setNomeEmpresa("RJ Consultores");
|
||||
|
||||
arquivoRemessaItem.setCabecalhoRemessa(cabecalhoRemessa);
|
||||
|
||||
DetalheObrigatorioBradesco tituloBradesco = new DetalheObrigatorioBradesco();
|
||||
|
||||
tituloBradesco.setValor(BigDecimal.TEN);
|
||||
tituloBradesco.setVencimento(new Date());
|
||||
tituloBradesco.setTipoInscricaoPagador(TipoInscricaoPagador.getInstanceByName("cpf"));
|
||||
tituloBradesco.setNumeroInscricaoPagador(new Long(1452265658));
|
||||
tituloBradesco.setCEP_Prefixo("32015");
|
||||
tituloBradesco.setCEP_Sufixo("490");
|
||||
//tituloBradesco.setOrigemDoPagamento(999);
|
||||
|
||||
|
||||
try {
|
||||
arquivoRemessaItem.addTitulo(tituloBradesco.clone());
|
||||
arquivoRemessaItem.addTitulo(tituloBradesco.clone());
|
||||
arquivoRemessaItem.addTitulo(tituloBradesco.clone());
|
||||
arquivoRemessaItem.addTitulo(tituloBradesco.clone());
|
||||
arquivoRemessaItem.addTitulo(tituloBradesco.clone());
|
||||
arquivoRemessaItem.addTitulo(tituloBradesco.clone());
|
||||
arquivoRemessaItem.addTitulo(tituloBradesco.clone());
|
||||
} catch (CloneNotSupportedException e1) {
|
||||
// TODO Auto-generated catch block
|
||||
e1.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
RemessaInterface remessaInterface = new BradescoFlatFile();
|
||||
|
||||
RodapeRemessa rodapeRemessa = new RodapeRemessa();
|
||||
rodapeRemessa.setNumeroSequencialRegistro(9999);
|
||||
|
||||
arquivoRemessaItem.setRodapeRemessa(rodapeRemessa);
|
||||
|
||||
File arquivoRemessaFisico = new File("C:\\Users\\Rafael\\rafael.txt");
|
||||
|
||||
|
||||
OcorrenciaBradesco oco = OcorrenciaBradesco.getInstance("02");
|
||||
MotivoOcorrenciaBradesco mo = MotivoOcorrenciaBradesco.getInstance(oco, "00");
|
||||
System.out.println(mo.getMotivo());
|
||||
|
||||
ArquivoRemessa arquivoRemessa = new ArquivoRemessa(BancoLayout.BRADESCO_Envio);
|
||||
|
||||
try {
|
||||
arquivoRemessa.addItem(arquivoRemessaItem.clone());
|
||||
arquivoRemessa.addItem(arquivoRemessaItem.clone());
|
||||
} catch (CloneNotSupportedException e1) {
|
||||
// TODO Auto-generated catch block
|
||||
e1.printStackTrace();
|
||||
}
|
||||
|
||||
try {
|
||||
remessaInterface.gerarRemessa(arquivoRemessaFisico, arquivoRemessa);
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
package com.rjconsultores.ventaboletos.blocos;
|
||||
|
||||
public interface CabecalhoRemessa {
|
||||
|
||||
public Integer getNumeroSequencialRemessa();
|
||||
public void setNumeroSequencialRemessa(Integer numeroSequencialRemessa);
|
||||
public Integer getNumeroSequencialRegistro();
|
||||
public void setNumeroSequencialRegistro(Integer numeroSequencialRegistro);
|
||||
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package com.rjconsultores.ventaboletos.blocos;
|
||||
|
||||
public class CabecalhoRetorno {
|
||||
|
||||
private String codEmpresa;
|
||||
private String numeroDoAvisoBancario;
|
||||
|
||||
public String getCodEmpresa() {
|
||||
return codEmpresa;
|
||||
}
|
||||
public void setCodEmpresa(String codEmpresa) {
|
||||
this.codEmpresa = codEmpresa;
|
||||
}
|
||||
public String getNumeroDoAvisoBancario() {
|
||||
return numeroDoAvisoBancario;
|
||||
}
|
||||
public void setNumeroDoAvisoBancario(String numeroDoAvisoBancario) {
|
||||
this.numeroDoAvisoBancario = numeroDoAvisoBancario;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,78 @@
|
|||
package com.rjconsultores.ventaboletos.blocos;
|
||||
|
||||
public class DadosBoleto {
|
||||
|
||||
private String mensagem1;
|
||||
private String mensagem2;
|
||||
private String mensagem3;
|
||||
private String mensagem4;
|
||||
private Integer carteira;
|
||||
private Integer agencia;
|
||||
private Integer contaCorrente;
|
||||
private String digitoCC;
|
||||
private String nossoNumero;
|
||||
private String digitoNN;
|
||||
|
||||
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 String getMensagem3() {
|
||||
return mensagem3;
|
||||
}
|
||||
public void setMensagem3(String mensagem3) {
|
||||
this.mensagem3 = mensagem3;
|
||||
}
|
||||
public String getMensagem4() {
|
||||
return mensagem4;
|
||||
}
|
||||
public void setMensagem4(String mensagem4) {
|
||||
this.mensagem4 = mensagem4;
|
||||
}
|
||||
public Integer getCarteira() {
|
||||
return carteira;
|
||||
}
|
||||
public void setCarteira(Integer carteira) {
|
||||
this.carteira = carteira;
|
||||
}
|
||||
public Integer getAgencia() {
|
||||
return agencia;
|
||||
}
|
||||
public void setAgencia(Integer agencia) {
|
||||
this.agencia = agencia;
|
||||
}
|
||||
public Integer getContaCorrente() {
|
||||
return contaCorrente;
|
||||
}
|
||||
public void setContaCorrente(Integer contaCorrente) {
|
||||
this.contaCorrente = contaCorrente;
|
||||
}
|
||||
public String getDigitoCC() {
|
||||
return digitoCC;
|
||||
}
|
||||
public void setDigitoCC(String digitoCC) {
|
||||
this.digitoCC = digitoCC;
|
||||
}
|
||||
public String getNossoNumero() {
|
||||
return nossoNumero;
|
||||
}
|
||||
public void setNossoNumero(String nossoNumero) {
|
||||
this.nossoNumero = nossoNumero;
|
||||
}
|
||||
public String getDigitoNN() {
|
||||
return digitoNN;
|
||||
}
|
||||
public void setDigitoNN(String digitoNN) {
|
||||
this.digitoNN = digitoNN;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package com.rjconsultores.ventaboletos.blocos;
|
||||
|
||||
public interface DetalheObrigatorio {
|
||||
|
||||
public void setIdBoletoFechamento(Integer id);
|
||||
public Integer getIdBoletoFechamento();
|
||||
public void setNumeroSequencialRegistro(Integer numeroSequencialRegistro);
|
||||
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
package com.rjconsultores.ventaboletos.blocos;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.rjconsultores.ventaboletos.enuns.MotivoOcorrenciaBradesco;
|
||||
import com.rjconsultores.ventaboletos.enuns.OcorrenciaBradesco;
|
||||
|
||||
public class DetalheRetorno {
|
||||
|
||||
private String numeroControleDoParticipante;
|
||||
private OcorrenciaBradesco ocorrencia;
|
||||
private List<MotivoOcorrenciaBradesco> motivoOcorrencias;
|
||||
|
||||
public String getNumeroControleDoParticipante() {
|
||||
return numeroControleDoParticipante;
|
||||
}
|
||||
public void setNumeroControleDoParticipante(String numeroControleDoParticipante) {
|
||||
this.numeroControleDoParticipante = numeroControleDoParticipante;
|
||||
}
|
||||
public OcorrenciaBradesco getOcorrencia() {
|
||||
return ocorrencia;
|
||||
}
|
||||
public void setOcorrencia(OcorrenciaBradesco ocorrencia) {
|
||||
this.ocorrencia = ocorrencia;
|
||||
}
|
||||
public List<MotivoOcorrenciaBradesco> getMotivoOcorrencias() {
|
||||
return motivoOcorrencias;
|
||||
}
|
||||
public void addMotivoOcorrencia(MotivoOcorrenciaBradesco motivoOcorrencias) {
|
||||
|
||||
if(this.motivoOcorrencias == null){
|
||||
this.motivoOcorrencias = new ArrayList<MotivoOcorrenciaBradesco>();
|
||||
}
|
||||
|
||||
this.motivoOcorrencias.add(motivoOcorrencias);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package com.rjconsultores.ventaboletos.blocos;
|
||||
|
||||
public class RateioDeCredito {
|
||||
|
||||
private String identificacaoEmpresa;
|
||||
private String nossoNumero;
|
||||
|
||||
public String getIdentificacaoEmpresa() {
|
||||
return identificacaoEmpresa;
|
||||
}
|
||||
public void setIdentificacaoEmpresa(String identificacaoEmpresa) {
|
||||
this.identificacaoEmpresa = identificacaoEmpresa;
|
||||
}
|
||||
public String getNossoNumero() {
|
||||
return nossoNumero;
|
||||
}
|
||||
public void setNossoNumero(String nossoNumero) {
|
||||
this.nossoNumero = nossoNumero;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
package com.rjconsultores.ventaboletos.blocos;
|
||||
|
||||
public class RodapeRemessa {
|
||||
|
||||
private Integer numeroSequencialRegistro;
|
||||
|
||||
public Integer getNumeroSequencialRegistro() {
|
||||
return numeroSequencialRegistro;
|
||||
}
|
||||
|
||||
public void setNumeroSequencialRegistro(Integer numeroSequencialRegistro) {
|
||||
this.numeroSequencialRegistro = numeroSequencialRegistro;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
package com.rjconsultores.ventaboletos.blocos;
|
||||
|
||||
public class RodapeRetorno {
|
||||
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
package com.rjconsultores.ventaboletos.blocos.bradesco;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.rjconsultores.ventaboletos.ArquivoRemessaItem;
|
||||
import com.rjconsultores.ventaboletos.blocos.CabecalhoRemessa;
|
||||
import com.rjconsultores.ventaboletos.blocos.DetalheObrigatorio;
|
||||
|
||||
public class ArquivoRemessaBradesco extends ArquivoRemessaItem {
|
||||
|
||||
@Override
|
||||
public void setCabecalhoRemessa(CabecalhoRemessa cabecalhoRemessa) {
|
||||
|
||||
if(cabecalhoRemessa instanceof CabecalhoRemessaBradesco){
|
||||
super.setCabecalhoRemessa(cabecalhoRemessa);
|
||||
}else{
|
||||
throw new ClassCastException("Somente cabecalho tipo: " + CabecalhoRemessaBradesco.class.getName());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addTitulo(DetalheObrigatorio titulo){
|
||||
if(this.titulos == null){
|
||||
this.titulos = new ArrayList<DetalheObrigatorio>();
|
||||
}
|
||||
|
||||
if(titulo instanceof DetalheObrigatorioBradesco){
|
||||
|
||||
titulo.setNumeroSequencialRegistro(titulos.size() + 1);
|
||||
|
||||
this.titulos.add(titulo);
|
||||
}else{
|
||||
throw new ClassCastException("Somente cabecalho tipo: " + DetalheObrigatorioBradesco.class.getName());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,95 @@
|
|||
package com.rjconsultores.ventaboletos.blocos.bradesco;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.rjconsultores.ventaboletos.blocos.CabecalhoRemessa;
|
||||
|
||||
public class CabecalhoRemessaBradesco implements CabecalhoRemessa {
|
||||
|
||||
//private String identificacaoRemessa;
|
||||
//private String literalRemessa;
|
||||
//private String codigoServico;
|
||||
//private String literalServico;
|
||||
private String codigoEmpresa;
|
||||
private String nomeEmpresa;
|
||||
//private String codigoBanco;
|
||||
//private String nomeBanco;
|
||||
private Date dataGravacao;
|
||||
//private String identificacaoSistema;
|
||||
private Integer numeroSequencialRemessa;
|
||||
private Integer numeroSequencialRegistro;
|
||||
|
||||
// public String getIdentificacaoRemessa() {
|
||||
// return identificacaoRemessa;
|
||||
// }
|
||||
// public void setIdentificacaoRemessa(String identificacaoRemessa) {
|
||||
// this.identificacaoRemessa = identificacaoRemessa;
|
||||
// }
|
||||
// public String getLiteralRemessa() {
|
||||
// return literalRemessa;
|
||||
// }
|
||||
// public void setLiteralRemessa(String literalRemessa) {
|
||||
// this.literalRemessa = literalRemessa;
|
||||
// }
|
||||
// public String getCodigoServico() {
|
||||
// return codigoServico;
|
||||
// }
|
||||
// public void setCodigoServico(String codigoServico) {
|
||||
// this.codigoServico = codigoServico;
|
||||
// }
|
||||
// public String getLiteralServico() {
|
||||
// return literalServico;
|
||||
// }
|
||||
// public void setLiteralServico(String literalServico) {
|
||||
// this.literalServico = literalServico;
|
||||
// }
|
||||
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 String getCodigoBanco() {
|
||||
// return codigoBanco;
|
||||
// }
|
||||
// public void setCodigoBanco(String codigoBanco) {
|
||||
// this.codigoBanco = codigoBanco;
|
||||
// }
|
||||
// public String getNomeBanco() {
|
||||
// return nomeBanco;
|
||||
// }
|
||||
// public void setNomeBanco(String nomeBanco) {
|
||||
// this.nomeBanco = nomeBanco;
|
||||
// }
|
||||
public Date getDataGravacao() {
|
||||
return dataGravacao;
|
||||
}
|
||||
public void setDataGravacao(Date dataGravacao) {
|
||||
this.dataGravacao = dataGravacao;
|
||||
}
|
||||
// public String getIdentificacaoSistema() {
|
||||
// return identificacaoSistema;
|
||||
// }
|
||||
// public void setIdentificacaoSistema(String identificacaoSistema) {
|
||||
// this.identificacaoSistema = identificacaoSistema;
|
||||
// }
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,285 @@
|
|||
package com.rjconsultores.ventaboletos.blocos.bradesco;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.rjconsultores.ventaboletos.blocos.DadosBoleto;
|
||||
import com.rjconsultores.ventaboletos.blocos.DetalheObrigatorio;
|
||||
import com.rjconsultores.ventaboletos.blocos.RateioDeCredito;
|
||||
import com.rjconsultores.ventaboletos.enuns.TipoInscricaoPagador;
|
||||
|
||||
public class DetalheObrigatorioBradesco implements DetalheObrigatorio, Cloneable {
|
||||
|
||||
private String numeroControleDoParticipante;
|
||||
private String nossoNumeroComDigito;
|
||||
private Integer QtdPagamento = 0;
|
||||
private Integer codigoDeOcorrencia = 0;
|
||||
private Date dataOcorrencia;
|
||||
private String numeroDoDocumento;
|
||||
private Date vencimento;
|
||||
private BigDecimal valor;
|
||||
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 mensagem1;
|
||||
private String CEP_Prefixo;
|
||||
private String CEP_Sufixo;
|
||||
private String sacador_Avalista_Mensagem2;
|
||||
private Integer numeroSequencialRegistro;
|
||||
|
||||
private DadosBoleto dadosBoleto;
|
||||
|
||||
private RateioDeCredito rateioDeCredito;
|
||||
|
||||
|
||||
public String getNumeroControleDoParticipante() {
|
||||
return numeroControleDoParticipante;
|
||||
}
|
||||
|
||||
public void setNumeroControleDoParticipante(String numeroControleDoParticipante) {
|
||||
this.numeroControleDoParticipante = numeroControleDoParticipante;
|
||||
}
|
||||
|
||||
public String getNossoNumeroComDigito() {
|
||||
return nossoNumeroComDigito;
|
||||
}
|
||||
|
||||
public void setNossoNumeroComDigito(String nossoNumeroComDigito) {
|
||||
this.nossoNumeroComDigito = nossoNumeroComDigito;
|
||||
}
|
||||
|
||||
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 getValor() {
|
||||
return valor;
|
||||
}
|
||||
|
||||
public void setValor(BigDecimal valor) {
|
||||
this.valor = valor;
|
||||
}
|
||||
|
||||
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 getEnderecoCompletoPagado() {
|
||||
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 getCEP_Prefixo() {
|
||||
return CEP_Prefixo;
|
||||
}
|
||||
|
||||
public void setCEP_Prefixo(String cEP_Prefixo) {
|
||||
CEP_Prefixo = cEP_Prefixo;
|
||||
}
|
||||
|
||||
public String getCEP_Sufixo() {
|
||||
return CEP_Sufixo;
|
||||
}
|
||||
|
||||
public void setCEP_Sufixo(String cEP_Sufixo) {
|
||||
CEP_Sufixo = cEP_Sufixo;
|
||||
}
|
||||
|
||||
public String getSacador_Avalista_Mensagem2() {
|
||||
return sacador_Avalista_Mensagem2;
|
||||
}
|
||||
|
||||
public void setSacador_Avalista_Mensagem2(String sacador_Avalista_Mensagem2) {
|
||||
this.sacador_Avalista_Mensagem2 = sacador_Avalista_Mensagem2;
|
||||
}
|
||||
|
||||
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 RateioDeCredito getRateioDeCredito() {
|
||||
return rateioDeCredito;
|
||||
}
|
||||
|
||||
public void setRateioDeCredito(RateioDeCredito rateioDeCredito) {
|
||||
this.rateioDeCredito = rateioDeCredito;
|
||||
}
|
||||
|
||||
private Integer idBoletoFechamento;
|
||||
|
||||
@Override
|
||||
public void setIdBoletoFechamento(Integer id) {
|
||||
this.idBoletoFechamento = id;
|
||||
|
||||
}
|
||||
@Override
|
||||
public Integer getIdBoletoFechamento(){
|
||||
return this.idBoletoFechamento;
|
||||
}
|
||||
|
||||
public DetalheObrigatorioBradesco clone() throws CloneNotSupportedException {
|
||||
// TODO Auto-generated method stub
|
||||
return (DetalheObrigatorioBradesco) super.clone();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
package com.rjconsultores.ventaboletos.blocos.itau;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.rjconsultores.ventaboletos.ArquivoRemessaItem;
|
||||
import com.rjconsultores.ventaboletos.blocos.CabecalhoRemessa;
|
||||
import com.rjconsultores.ventaboletos.blocos.DetalheObrigatorio;
|
||||
|
||||
public class ArquivoRemessaItau extends ArquivoRemessaItem {
|
||||
|
||||
@Override
|
||||
public void setCabecalhoRemessa(CabecalhoRemessa cabecalhoRemessa) {
|
||||
|
||||
if(cabecalhoRemessa instanceof CabecalhoRemessaItau){
|
||||
super.setCabecalhoRemessa(cabecalhoRemessa);
|
||||
}else{
|
||||
throw new ClassCastException("Somente cabecalho tipo: " + CabecalhoRemessaItau.class.getName());
|
||||
}
|
||||
}
|
||||
|
||||
public void addTitulo(DetalheObrigatorio titulo){
|
||||
if(this.titulos == null){
|
||||
this.titulos = new ArrayList<DetalheObrigatorio>();
|
||||
}
|
||||
|
||||
if(titulo instanceof DetalheObrigatorioItau){
|
||||
|
||||
titulo.setNumeroSequencialRegistro(titulos.size() + 1);
|
||||
|
||||
this.titulos.add(titulo);
|
||||
}else{
|
||||
throw new ClassCastException("Somente cabecalho tipo: " + DetalheObrigatorioItau.class.getName());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,125 @@
|
|||
package com.rjconsultores.ventaboletos.blocos.itau;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.rjconsultores.ventaboletos.blocos.CabecalhoRemessa;
|
||||
|
||||
public class CabecalhoRemessaItau implements CabecalhoRemessa{
|
||||
|
||||
//private String identificacaoRemessa;
|
||||
//private String literalRemessa;
|
||||
//private String codigoDeServico;
|
||||
//private String literalServico;
|
||||
private Integer agencia;
|
||||
//private String zeros;
|
||||
private Integer conta;
|
||||
private Integer dacConta;
|
||||
//private String brancos1;
|
||||
private String nomeEmpresa;
|
||||
//private String codigoCompensacao;
|
||||
//private String nomeBanco;
|
||||
private Date dataGeracao;
|
||||
//private String brancos2;
|
||||
private Integer numeroSequencialRegistro;
|
||||
private Integer numeroSequencialRemessa;
|
||||
|
||||
// public String getIdentificacaoRemessa() {
|
||||
// return identificacaoRemessa;
|
||||
// }
|
||||
// public void setIdentificacaoRemessa(String identificacaoRemessa) {
|
||||
// this.identificacaoRemessa = identificacaoRemessa;
|
||||
// }
|
||||
// public String getLiteralRemessa() {
|
||||
// return literalRemessa;
|
||||
// }
|
||||
// public void setLiteralRemessa(String literalRemessa) {
|
||||
// this.literalRemessa = literalRemessa;
|
||||
// }
|
||||
// public String getCodigoDeServico() {
|
||||
// return codigoDeServico;
|
||||
// }
|
||||
// public void setCodigoDeServico(String codigoDeServico) {
|
||||
// this.codigoDeServico = codigoDeServico;
|
||||
// }
|
||||
// public String getLiteralServico() {
|
||||
// return literalServico;
|
||||
// }
|
||||
// public void setLiteralServico(String literalServico) {
|
||||
// this.literalServico = literalServico;
|
||||
// }
|
||||
public Integer getAgencia() {
|
||||
return agencia;
|
||||
}
|
||||
public void setAgencia(Integer agencia) {
|
||||
this.agencia = agencia;
|
||||
}
|
||||
// public String getZeros() {
|
||||
// return zeros;
|
||||
// }
|
||||
// public void setZeros(String zeros) {
|
||||
// this.zeros = zeros;
|
||||
// }
|
||||
public Integer getConta() {
|
||||
return conta;
|
||||
}
|
||||
public void setConta(Integer conta) {
|
||||
this.conta = conta;
|
||||
}
|
||||
public Integer getDacConta() {
|
||||
return dacConta;
|
||||
}
|
||||
public void setDacConta(Integer dacConta) {
|
||||
this.dacConta = dacConta;
|
||||
}
|
||||
// public String getBrancos1() {
|
||||
// return brancos1;
|
||||
// }
|
||||
// public void setBrancos1(String brancos1) {
|
||||
// this.brancos1 = brancos1;
|
||||
// }
|
||||
public String getNomeEmpresa() {
|
||||
return nomeEmpresa;
|
||||
}
|
||||
public void setNomeEmpresa(String nomeEmpresa) {
|
||||
this.nomeEmpresa = nomeEmpresa;
|
||||
}
|
||||
// public String getCodigoCompensacao() {
|
||||
// return codigoCompensacao;
|
||||
// }
|
||||
// public void setCodigoCompensacao(String codigoCompensacao) {
|
||||
// this.codigoCompensacao = codigoCompensacao;
|
||||
// }
|
||||
// public String getNomeBanco() {
|
||||
// return nomeBanco;
|
||||
// }
|
||||
// public void setNomeBanco(String nomeBanco) {
|
||||
// this.nomeBanco = nomeBanco;
|
||||
// }
|
||||
public Date getDataGeracao() {
|
||||
return dataGeracao;
|
||||
}
|
||||
public void setDataGeracao(Date dataGeracao) {
|
||||
this.dataGeracao = dataGeracao;
|
||||
}
|
||||
// public String getBrancos2() {
|
||||
// return brancos2;
|
||||
// }
|
||||
// public void setBrancos2(String brancos2) {
|
||||
// this.brancos2 = brancos2;
|
||||
// }
|
||||
public Integer getNumeroSequencialRegistro() {
|
||||
return numeroSequencialRegistro;
|
||||
}
|
||||
public void setNumeroSequencialRegistro(Integer numeroSequencialRegistro) {
|
||||
this.numeroSequencialRegistro = numeroSequencialRegistro;
|
||||
}
|
||||
@Override
|
||||
public Integer getNumeroSequencialRemessa() {
|
||||
// TODO Auto-generated method stub
|
||||
return numeroSequencialRemessa;
|
||||
}
|
||||
@Override
|
||||
public void setNumeroSequencialRemessa(Integer numeroSequencialRemessa) {
|
||||
this.numeroSequencialRemessa = numeroSequencialRemessa;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,361 @@
|
|||
package com.rjconsultores.ventaboletos.blocos.itau;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.rjconsultores.ventaboletos.blocos.DadosBoleto;
|
||||
import com.rjconsultores.ventaboletos.blocos.DetalheObrigatorio;
|
||||
import com.rjconsultores.ventaboletos.blocos.RateioDeCredito;
|
||||
import com.rjconsultores.ventaboletos.enuns.TipoInscricaoPagador;
|
||||
|
||||
public class DetalheObrigatorioItau implements DetalheObrigatorio{
|
||||
|
||||
private Integer codigoInscricao;
|
||||
private Integer numeroInscricao;
|
||||
private Integer agencia;
|
||||
//private String zeros;
|
||||
private Integer conta;
|
||||
private Integer dacConta;
|
||||
//private String Brancos1; //<!--Enviar 4 Brancos -->
|
||||
private Integer instrucaoAlegacao;
|
||||
private String usoDaEmpresa;
|
||||
private Integer nossoNumero;
|
||||
private BigDecimal qtdMoeda;
|
||||
private Integer nrCarteira;
|
||||
private String usoDoBanco;
|
||||
private String codigoCarteira;
|
||||
private Integer codigoDeOcorrencia;
|
||||
private String numeroDoDocumento;
|
||||
private Date vencimento;
|
||||
private BigDecimal valor;
|
||||
private String codigoCompensacaoBancoRecebedor;
|
||||
private Integer agenciaCobradora;
|
||||
private String especieDeTitulo;
|
||||
private String aceite; //<!-- A = Aceite N = Não Aceite -->
|
||||
private Date emissao;
|
||||
private String instrucao1;
|
||||
private String instrucao2;
|
||||
private BigDecimal jurosDeMora;
|
||||
private Date dataDesconto;
|
||||
private BigDecimal descontoConcedido;
|
||||
private BigDecimal IOF_Devido;
|
||||
private BigDecimal abatimentoConcedido;
|
||||
private TipoInscricaoPagador tipoInscricaoSacado;
|
||||
private Long numeroInscricaoSacado;
|
||||
private String nomeSacado;
|
||||
//private String brancos2; //<!--Enviar 10 Brancos -->
|
||||
private String logradouroSacado;
|
||||
private String bairroSacado;
|
||||
private Integer cepSacado;
|
||||
private String cidade;
|
||||
private String estado;
|
||||
private String sacadorAvalista;
|
||||
//private String brancos3; //<!--Enviar 4 Brancos -->
|
||||
private Date dataDeMora;
|
||||
private Integer prazo;
|
||||
//private String brancos4; //<!--Enviar 1 Branco -->
|
||||
private Integer numeroSequencialRegistro;
|
||||
|
||||
private DadosBoleto dadosBoleto;
|
||||
|
||||
private RateioDeCredito rateioDeCredito;
|
||||
|
||||
public DadosBoleto getDadosBoleto() {
|
||||
return dadosBoleto;
|
||||
}
|
||||
public void setDadosBoleto(DadosBoleto dadosBoleto) {
|
||||
this.dadosBoleto = dadosBoleto;
|
||||
}
|
||||
public RateioDeCredito getRateioDeCredito() {
|
||||
return rateioDeCredito;
|
||||
}
|
||||
public void setRateioDeCredito(RateioDeCredito rateioDeCredito) {
|
||||
this.rateioDeCredito = rateioDeCredito;
|
||||
}
|
||||
public Integer getCodigoInscricao() {
|
||||
return codigoInscricao;
|
||||
}
|
||||
public void setCodigoInscricao(Integer codigoInscricao) {
|
||||
this.codigoInscricao = codigoInscricao;
|
||||
}
|
||||
public Integer getNumeroInscricao() {
|
||||
return numeroInscricao;
|
||||
}
|
||||
public void setNumeroInscricao(Integer numeroInscricao) {
|
||||
this.numeroInscricao = numeroInscricao;
|
||||
}
|
||||
public Integer getAgencia() {
|
||||
return agencia;
|
||||
}
|
||||
public void setAgencia(Integer agencia) {
|
||||
this.agencia = agencia;
|
||||
}
|
||||
// public String getZeros() {
|
||||
// return zeros;
|
||||
// }
|
||||
// public void setZeros(String zeros) {
|
||||
// this.zeros = zeros;
|
||||
// }
|
||||
public Integer getConta() {
|
||||
return conta;
|
||||
}
|
||||
public void setConta(Integer conta) {
|
||||
this.conta = conta;
|
||||
}
|
||||
public Integer getDacConta() {
|
||||
return dacConta;
|
||||
}
|
||||
public void setDacConta(Integer dacConta) {
|
||||
this.dacConta = dacConta;
|
||||
}
|
||||
// public String getBrancos1() {
|
||||
// return Brancos1;
|
||||
// }
|
||||
// public void setBrancos1(String brancos1) {
|
||||
// Brancos1 = brancos1;
|
||||
// }
|
||||
public Integer getInstrucaoAlegacao() {
|
||||
return instrucaoAlegacao;
|
||||
}
|
||||
public void setInstrucaoAlegacao(Integer instrucaoAlegacao) {
|
||||
this.instrucaoAlegacao = instrucaoAlegacao;
|
||||
}
|
||||
public String getUsoDaEmpresa() {
|
||||
return usoDaEmpresa;
|
||||
}
|
||||
public void setUsoDaEmpresa(String usoDaEmpresa) {
|
||||
this.usoDaEmpresa = usoDaEmpresa;
|
||||
}
|
||||
public Integer getNossoNumero() {
|
||||
return nossoNumero;
|
||||
}
|
||||
public void setNossoNumero(Integer nossoNumero) {
|
||||
this.nossoNumero = nossoNumero;
|
||||
}
|
||||
public BigDecimal getQtdMoeda() {
|
||||
return qtdMoeda;
|
||||
}
|
||||
public void setQtdMoeda(BigDecimal qtdMoeda) {
|
||||
this.qtdMoeda = qtdMoeda;
|
||||
}
|
||||
public Integer getNrCarteira() {
|
||||
return nrCarteira;
|
||||
}
|
||||
public void setNrCarteira(Integer nrCarteira) {
|
||||
this.nrCarteira = nrCarteira;
|
||||
}
|
||||
public String getUsoDoBanco() {
|
||||
return usoDoBanco;
|
||||
}
|
||||
public void setUsoDoBanco(String usoDoBanco) {
|
||||
this.usoDoBanco = usoDoBanco;
|
||||
}
|
||||
public String getCodigoCarteira() {
|
||||
return codigoCarteira;
|
||||
}
|
||||
public void setCodigoCarteira(String codigoCarteira) {
|
||||
this.codigoCarteira = codigoCarteira;
|
||||
}
|
||||
public Integer getCodigoDeOcorrencia() {
|
||||
return codigoDeOcorrencia;
|
||||
}
|
||||
public void setCodigoDeOcorrencia(Integer codigoDeOcorrencia) {
|
||||
this.codigoDeOcorrencia = codigoDeOcorrencia;
|
||||
}
|
||||
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 getCodigoCompensacaoBancoRecebedor() {
|
||||
return codigoCompensacaoBancoRecebedor;
|
||||
}
|
||||
public void setCodigoCompensacaoBancoRecebedor(String codigoCompensacaoBancoRecebedor) {
|
||||
this.codigoCompensacaoBancoRecebedor = codigoCompensacaoBancoRecebedor;
|
||||
}
|
||||
public Integer getAgenciaCobradora() {
|
||||
return agenciaCobradora;
|
||||
}
|
||||
public void setAgenciaCobradora(Integer agenciaCobradora) {
|
||||
this.agenciaCobradora = agenciaCobradora;
|
||||
}
|
||||
public String getEspecieDeTitulo() {
|
||||
return especieDeTitulo;
|
||||
}
|
||||
public void setEspecieDeTitulo(String especieDeTitulo) {
|
||||
this.especieDeTitulo = especieDeTitulo;
|
||||
}
|
||||
public String getAceite() {
|
||||
return aceite;
|
||||
}
|
||||
public void setAceite(String aceite) {
|
||||
this.aceite = aceite;
|
||||
}
|
||||
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 getJurosDeMora() {
|
||||
return jurosDeMora;
|
||||
}
|
||||
public void setJurosDeMora(BigDecimal jurosDeMora) {
|
||||
this.jurosDeMora = jurosDeMora;
|
||||
}
|
||||
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 getIOF_Devido() {
|
||||
return IOF_Devido;
|
||||
}
|
||||
public void setIOF_Devido(BigDecimal iOF_Devido) {
|
||||
IOF_Devido = iOF_Devido;
|
||||
}
|
||||
public BigDecimal getAbatimentoConcedido() {
|
||||
return abatimentoConcedido;
|
||||
}
|
||||
public void setAbatimentoConcedido(BigDecimal abatimentoConcedido) {
|
||||
this.abatimentoConcedido = abatimentoConcedido;
|
||||
}
|
||||
public TipoInscricaoPagador getTipoInscricaoSacado() {
|
||||
return tipoInscricaoSacado;
|
||||
}
|
||||
public void setTipoInscricaoSacado(TipoInscricaoPagador tipoInscricaoSacado) {
|
||||
this.tipoInscricaoSacado = tipoInscricaoSacado;
|
||||
}
|
||||
public Long getNumeroInscricaoSacado() {
|
||||
return numeroInscricaoSacado;
|
||||
}
|
||||
public void setNumeroInscricaoSacado(Long numeroInscricaoSacado) {
|
||||
this.numeroInscricaoSacado = numeroInscricaoSacado;
|
||||
}
|
||||
public String getNomeSacado() {
|
||||
return nomeSacado;
|
||||
}
|
||||
public void setNomeSacado(String nomeSacado) {
|
||||
this.nomeSacado = nomeSacado;
|
||||
}
|
||||
// public String getBrancos2() {
|
||||
// return brancos2;
|
||||
// }
|
||||
// public void setBrancos2(String brancos2) {
|
||||
// this.brancos2 = brancos2;
|
||||
// }
|
||||
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 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 String getSacadorAvalista() {
|
||||
return sacadorAvalista;
|
||||
}
|
||||
public void setSacadorAvalista(String sacadorAvalista) {
|
||||
this.sacadorAvalista = sacadorAvalista;
|
||||
}
|
||||
// public String getBrancos3() {
|
||||
// return brancos3;
|
||||
// }
|
||||
// public void setBrancos3(String brancos3) {
|
||||
// this.brancos3 = brancos3;
|
||||
// }
|
||||
public Date getDataDeMora() {
|
||||
return dataDeMora;
|
||||
}
|
||||
public void setDataDeMora(Date dataDeMora) {
|
||||
this.dataDeMora = dataDeMora;
|
||||
}
|
||||
public Integer getPrazo() {
|
||||
return prazo;
|
||||
}
|
||||
public void setPrazo(Integer prazo) {
|
||||
this.prazo = prazo;
|
||||
}
|
||||
// public String getBrancos4() {
|
||||
// return brancos4;
|
||||
// }
|
||||
// public void setBrancos4(String brancos4) {
|
||||
// this.brancos4 = brancos4;
|
||||
// }
|
||||
public Integer getNumeroSequencialRegistro() {
|
||||
return numeroSequencialRegistro;
|
||||
}
|
||||
public void setNumeroSequencialRegistro(Integer numeroSequencialRegistro) {
|
||||
this.numeroSequencialRegistro = numeroSequencialRegistro;
|
||||
}
|
||||
|
||||
private Integer idBoletoFechamento;
|
||||
|
||||
@Override
|
||||
public void setIdBoletoFechamento(Integer id) {
|
||||
this.idBoletoFechamento = id;
|
||||
|
||||
}
|
||||
@Override
|
||||
public Integer getIdBoletoFechamento(){
|
||||
return this.idBoletoFechamento;
|
||||
}
|
||||
|
||||
public DetalheObrigatorioItau clone() throws CloneNotSupportedException {
|
||||
return (DetalheObrigatorioItau) super.clone();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
package com.rjconsultores.ventaboletos.enuns;
|
||||
|
||||
public enum BancoLayout {
|
||||
|
||||
BRADESCO_Envio("237", false, "/layouts/LayoutBradescoCNAB400Envio.txg.xml"),
|
||||
ITAU_Envio("341", false, "/layouts/LayoutItauCNAB400Envio.txg.xml"),
|
||||
BRADESCO_Retorno("237", true, "/layouts/LayoutBradescoCNAB400Retorno.txg.xml"),
|
||||
ITAU_Retorno("341", true, "/layouts/LayoutItauCNAB400Envio.txg.xml");
|
||||
|
||||
private BancoLayout(String codBanco, boolean retorno, String path) {
|
||||
this.codBanco = codBanco;
|
||||
this.retorno = retorno;
|
||||
this.path = path;
|
||||
}
|
||||
|
||||
private String codBanco;
|
||||
private boolean retorno;
|
||||
private String path;
|
||||
|
||||
|
||||
public String getCodBanco() {
|
||||
return codBanco;
|
||||
}
|
||||
|
||||
public boolean isRetorno() {
|
||||
return retorno;
|
||||
}
|
||||
|
||||
public String getPath() {
|
||||
return path;
|
||||
}
|
||||
|
||||
public String getTemp() {
|
||||
return path.substring(path.lastIndexOf("/"));
|
||||
}
|
||||
|
||||
public static BancoLayout getInstanceByCodBanco(String codBanco){
|
||||
|
||||
for(BancoLayout o : BancoLayout.values()){
|
||||
|
||||
if(o.getCodBanco().equals(codBanco) && !o.isRetorno()){
|
||||
return o;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,333 @@
|
|||
package com.rjconsultores.ventaboletos.enuns;
|
||||
|
||||
public enum MotivoOcorrenciaBradesco {
|
||||
|
||||
//Ocorrência = 02
|
||||
EntConf_00("Ocorrência aceita"),
|
||||
EntConf_01("Código do Banco inválido"),
|
||||
EntConf_04("Código do movimento não permitido para a carteira"),
|
||||
EntConf_15("Características da cobrança incompatíveis"),
|
||||
EntConf_17("Data de vencimento anterior a data de emissão"),
|
||||
EntConf_21("Espécie do Título inválido"),
|
||||
EntConf_24("Data da emissão inválida"),
|
||||
EntConf_27("Valor/taxa de juros mora inválido"),
|
||||
EntConf_38("Prazo para protesto/ Negativação inválido"),
|
||||
EntConf_39("Pedido para protesto/ Negativação não permitido para o título"),
|
||||
EntConf_43("Prazo para baixa e devolução inválido"),
|
||||
EntConf_45("Nome do Pagador inválido"),
|
||||
EntConf_46("Tipo/num. de inscrição do Pagador inválidos"),
|
||||
EntConf_47("Endereço do Pagador não informado"),
|
||||
EntConf_48("CEP Inválido"),
|
||||
EntConf_50("CEP referente a Banco correspondente"),
|
||||
EntConf_53("Nº de inscrição do Pagador/avalista inválidos (CPF/CNPJ)"),
|
||||
EntConf_54("Pagadorr/avalista não informado"),
|
||||
EntConf_67("Débito automático agendado"),
|
||||
EntConf_68("Débito não agendado - erro nos dados de remessa"),
|
||||
EntConf_69("Débito não agendado - Pagador não consta no cadastro de autorizante"),
|
||||
EntConf_70("Débito não agendado - Beneficiário não autorizado pelo Pagador"),
|
||||
EntConf_71("Débito não agendado - Beneficiário não participa da modalidade de déb.automático"),
|
||||
EntConf_72("Débito não agendado - Código de moeda diferente de R$"),
|
||||
EntConf_73("Débito não agendado - Data de vencimento inválida/vencida"),
|
||||
EntConf_75("Débito não agendado - Tipo do número de inscrição do pagador debitado inválido"),
|
||||
EntConf_76("Pagador Eletrônico DDA - Esse motivo somente será disponibilizado no arquivo retorno para as empresas cadastradas nessa condição"),
|
||||
EntConf_86("Seu número do documento inválido"),
|
||||
EntConf_89("Email Pagador não enviado – título com débito automático"),
|
||||
EntConf_90("Email pagador não enviado – título de cobrança sem registro"),
|
||||
|
||||
//Ocorrência = 03
|
||||
EntReje_02("Código do registro detalhe inválido"),
|
||||
EntReje_03("Código da ocorrência inválida"),
|
||||
EntReje_04("Código de ocorrência não permitida para a carteira"),
|
||||
EntReje_05("Código de ocorrência não numérico"),
|
||||
EntReje_07("Agência/conta/Digito - |Inválido"),
|
||||
EntReje_08("Nosso número inválido"),
|
||||
EntReje_09("Nosso número duplicado"),
|
||||
EntReje_10("Carteira inválida"),
|
||||
EntReje_13("Identificação da emissão do bloqueto inválida"),
|
||||
EntReje_16("Data de vencimento inválida"),
|
||||
EntReje_18("Vencimento fora do prazo de operação"),
|
||||
EntReje_20("Valor do Título inválido"),
|
||||
EntReje_21("Espécie do Título inválida"),
|
||||
EntReje_22("Espécie não permitida para a carteira"),
|
||||
EntReje_24("Data de emissão inválida"),
|
||||
EntReje_28("Código do desconto inválido"),
|
||||
EntReje_38("Prazo para protesto/ Negativação inválido"),
|
||||
EntReje_44("Agência Beneficiário não prevista"),
|
||||
EntReje_45("Nome do pagador não informado"),
|
||||
EntReje_46("Tipo/número de inscrição do pagador inválidos"),
|
||||
EntReje_47("Endereço do pagador não informado"),
|
||||
EntReje_48("CEP Inválido"),
|
||||
EntReje_50("CEP irregular - Banco Correspondente"),
|
||||
EntReje_63("Entrada para Título já cadastrado"),
|
||||
EntReje_65("Limite excedido"),
|
||||
EntReje_66("Número autorização inexistente"),
|
||||
EntReje_68("Débito não agendado - erro nos dados de remessa"),
|
||||
EntReje_69("Débito não agendado - Pagador não consta no cadastro de autorizante"),
|
||||
EntReje_70("Débito não agendado - Beneficiário não autorizado pelo Pagador"),
|
||||
EntReje_71("Débito não agendado - Beneficiário não participa do débito Automático"),
|
||||
EntReje_72("Débito não agendado - Código de moeda diferente de R$"),
|
||||
EntReje_73("Débito não agendado - Data de vencimento inválida"),
|
||||
EntReje_74("Débito não agendado - Conforme seu pedido, Título não registrado"),
|
||||
EntReje_75("Débito não agendado – Tipo de número de inscrição do debitado inválido"),
|
||||
|
||||
//Ocorrência = 06
|
||||
Liquida_00("Título pago com dinheiro"),
|
||||
Liquida_15("Título pago com cheque"),
|
||||
Liquida_18("Pagamento Parcial"),
|
||||
Liquida_42("Rateio não efetuado"),
|
||||
|
||||
//Ocorrência = 09
|
||||
BaixAut_00("Ocorrência Aceita"),
|
||||
BaixAut_10("Baixa Comandada pelo cliente"),
|
||||
|
||||
//Ocorrência = 10
|
||||
BaixBan_00("Baixado Conforme Instruções da Agência"),
|
||||
BaixBan_14("Título Protestado"),
|
||||
BaixBan_15("Título excluído"),
|
||||
BaixBan_16("Título Baixado pelo Banco por decurso Prazo"),
|
||||
BaixBan_17("Titulo Baixado Transferido Carteira"),
|
||||
BaixBan_20("Titulo Baixado e Transferido para Desconto"),
|
||||
|
||||
//Ocorrência = 15 e 17
|
||||
LiquC_B_00("Título pago com dinheiro"),
|
||||
LiquC_B_15("Título pago com cheque"),
|
||||
|
||||
//Ocorrência = 24
|
||||
CEPIrre_48("CEP inválido"),
|
||||
|
||||
//Ocorrência = 27
|
||||
BaixRej_04("Código de ocorrência não permitido para a carteira"),
|
||||
BaixRej_07("Agência/Conta/dígito inválidos"),
|
||||
BaixRej_08("Nosso número inválido"),
|
||||
BaixRej_10("Carteira inválida"),
|
||||
BaixRej_15("Carteira/Agência/Conta/nosso número inválidos"),
|
||||
BaixRej_40("Título com ordem de protesto emitido"),
|
||||
BaixRej_42("Código para baixa/devolução via Tele Bradesco inválido"),
|
||||
BaixRej_60("Movimento para Título não cadastrado"),
|
||||
BaixRej_77("Transferência para desconto não permitido para a carteira"),
|
||||
BaixRej_85("Título com pagamento vinculado"),
|
||||
|
||||
//Ocorrência = 28
|
||||
DebTari_02("Tarifa de permanência título cadastrado"),
|
||||
DebTari_03("Tarifa de sustação/Excl Negativação"),
|
||||
DebTari_04("Tarifa de protesto/Incl Negativação"),
|
||||
DebTari_05("Tarifa de outras instruções"),
|
||||
DebTari_06("Tarifa de outras ocorrências"),
|
||||
DebTari_08("Custas de protesto"),
|
||||
DebTari_12("Tarifa de registro"),
|
||||
DebTari_13("Tarifa título pago no Bradesco"),
|
||||
DebTari_14("Tarifa título pago compensação"),
|
||||
DebTari_15("Tarifa título baixado não pago"),
|
||||
DebTari_16("Tarifa alteração de vencimento"),
|
||||
DebTari_17("Tarifa concessão abatimento"),
|
||||
DebTari_18("Tarifa cancelamento de abatimento"),
|
||||
DebTari_19("Tarifa concessão desconto"),
|
||||
DebTari_20("Tarifa cancelamento desconto"),
|
||||
DebTari_21("Tarifa título pago cics"),
|
||||
DebTari_22("Tarifa título pago Internet"),
|
||||
DebTari_23("Tarifa título pago term. gerencial serviços"),
|
||||
DebTari_24("Tarifa título pago Pág-Contas"),
|
||||
DebTari_25("Tarifa título pago Fone Fácil"),
|
||||
DebTari_26("Tarifa título Déb. Postagem"),
|
||||
DebTari_27("Tarifa impressão de títulos pendentes"),
|
||||
DebTari_28("Tarifa título pago BDN"),
|
||||
DebTari_29("Tarifa título pago Term. Multi Função"),
|
||||
DebTari_30("Impressão de títulos baixados"),
|
||||
DebTari_31("Impressão de títulos pagos"),
|
||||
DebTari_32("Tarifa título pago Pagfor"),
|
||||
DebTari_33("Tarifa reg/pgto – guichê caixa"),
|
||||
DebTari_34("Tarifa título pago retaguarda"),
|
||||
DebTari_35("Tarifa título pago Subcentro"),
|
||||
DebTari_36("Tarifa título pago Cartão de Crédito"),
|
||||
DebTari_37("Tarifa título pago Comp Eletrônica"),
|
||||
DebTari_38("Tarifa título Baix. Pg. Cartório"),
|
||||
DebTari_39("Tarifa título baixado acerto BCO"),
|
||||
DebTari_40("Baixa registro em duplicidade"),
|
||||
DebTari_41("Tarifa título baixado decurso prazo"),
|
||||
DebTari_42("Tarifa título baixado Judicialmente"),
|
||||
DebTari_43("Tarifa título baixado via remessa"),
|
||||
DebTari_44("Tarifa título baixado rastreamento"),
|
||||
DebTari_45("Tarifa título baixado conf. Pedido"),
|
||||
DebTari_46("Tarifa título baixado protestado"),
|
||||
DebTari_47("Tarifa título baixado p/ devolução"),
|
||||
DebTari_48("Tarifa título baixado franco pagto"),
|
||||
DebTari_49("Tarifa título baixado SUST/RET/CARTÓRIO"),
|
||||
DebTari_50("Tarifa título baixado SUS/SEM/REM/CARTÓRIO"),
|
||||
DebTari_51("Tarifa título transferido desconto"),
|
||||
DebTari_52("Cobrado baixa manual"),
|
||||
DebTari_53("Baixa por acerto cliente"),
|
||||
DebTari_54("Tarifa baixa por contabilidade"),
|
||||
DebTari_55("Tr. tentativa cons deb aut"),
|
||||
DebTari_56("Tr. credito online"),
|
||||
DebTari_57("Tarifa reg/pagto Bradesco Expresso"),
|
||||
DebTari_58("Tarifa emissão Papeleta"),
|
||||
DebTari_59("Tarifa fornec papeleta semi preenchida"),
|
||||
DebTari_60("Acondicionador de papeletas (RPB)S"),
|
||||
DebTari_61("Acond. De papelatas (RPB)s PERSONAL"),
|
||||
DebTari_62("Papeleta formulário branco"),
|
||||
DebTari_63("Formulário A4 serrilhado"),
|
||||
DebTari_64("Fornecimento de softwares transmiss"),
|
||||
DebTari_65("Fornecimento de softwares consulta"),
|
||||
DebTari_66("Fornecimento Micro Completo"),
|
||||
DebTari_67("Fornecimento MODEN"),
|
||||
DebTari_68("Fornecimento de máquina FAX"),
|
||||
DebTari_69("Fornecimento de máquinas óticas"),
|
||||
DebTari_70("Fornecimento de Impressoras"),
|
||||
DebTari_71("Reativação de título"),
|
||||
DebTari_72("Alteração de produto negociado"),
|
||||
DebTari_73("Tarifa emissão de contra recibo"),
|
||||
DebTari_74("Tarifa emissão 2ª via papeleta"),
|
||||
DebTari_75("Tarifa regravação arquivo retorno"),
|
||||
DebTari_76("Arq. Títulos a vencer mensal"),
|
||||
DebTari_77("Listagem auxiliar de crédito"),
|
||||
DebTari_78("Tarifa cadastro cartela instrução permanente"),
|
||||
DebTari_79("Canalização de Crédito"),
|
||||
DebTari_80("Cadastro de Mensagem Fixa"),
|
||||
DebTari_81("Tarifa reapresentação automática título"),
|
||||
DebTari_82("Tarifa registro título déb. Automático"),
|
||||
DebTari_83("Tarifa Rateio de Crédito"),
|
||||
DebTari_84("Emissão papeleta sem valor"),
|
||||
DebTari_85("Sem uso"),
|
||||
DebTari_86("Cadastro de reembolso de diferença"),
|
||||
DebTari_87("Relatório fluxo de pagto"),
|
||||
DebTari_88("Emissão Extrato mov. Carteira"),
|
||||
DebTari_89("Mensagem campo local de pagto"),
|
||||
DebTari_90("Cadastro Concessionária serv. Publ."),
|
||||
DebTari_91("Classif. Extrato Conta Corrente"),
|
||||
DebTari_92("Contabilidade especial"),
|
||||
DebTari_93("Realimentação pagto"),
|
||||
DebTari_94("Repasse de Créditos"),
|
||||
DebTari_96("Tarifa reg. Pagto outras mídias"),
|
||||
DebTari_97("Tarifa Reg/Pagto – Net Empresa"),
|
||||
DebTari_98("Tarifa título pago vencido"),
|
||||
DebTari_99("TR Tít. Baixado por decurso prazo"),
|
||||
DebTari_100("Arquivo Retorno Antecipado"),
|
||||
DebTari_101("Arq retorno Hora/Hora"),
|
||||
DebTari_102("TR. Agendamento Déb Aut"),
|
||||
DebTari_105("TR. Agendamento rat. Crédito"),
|
||||
DebTari_106("TR Emissão aviso rateio"),
|
||||
DebTari_107("Extrato de protesto"),
|
||||
|
||||
//Ocorrência = 29
|
||||
OcorPag_78("Pagador alega que faturamento e indevido"),
|
||||
OcorPag_95("Pagador aceita/reconhece o faturamento"),
|
||||
|
||||
//Ocorrência = 30
|
||||
AltDado_01("Código do Banco inválido"),
|
||||
AltDado_04("Código de ocorrência não permitido para a carteira"),
|
||||
AltDado_05("Código da ocorrência não numérico"),
|
||||
AltDado_08("Nosso número inválido"),
|
||||
AltDado_15("Característica da cobrança incompatível"),
|
||||
AltDado_16("Data de vencimento inválido"),
|
||||
AltDado_17("Data de vencimento anterior a data de emissão"),
|
||||
AltDado_18("Vencimento fora do prazo de operação"),
|
||||
AltDado_24("Data de emissão Inválida"),
|
||||
AltDado_26("Código de juros de mora inválido"),
|
||||
AltDado_27("Valor/taxa de juros de mora inválido"),
|
||||
AltDado_28("Código de desconto inválido"),
|
||||
AltDado_29("Valor do desconto maior/igual ao valor do Título"),
|
||||
AltDado_30("Desconto a conceder não confere"),
|
||||
AltDado_31("Concessão de desconto já existente"),
|
||||
AltDado_32("Valor do IOF inválido"),
|
||||
AltDado_33("Valor do abatimento inválido"),
|
||||
AltDado_34("Valor do abatimento maior/igual ao valor do Título"),
|
||||
AltDado_38("Prazo para protesto/ Negativação inválido"),
|
||||
AltDado_39("Pedido para protesto/ Negativação não permitido para o título"),
|
||||
AltDado_40("Título com ordem/pedido de protesto/Negativação emitido"),
|
||||
AltDado_42("Código para baixa/devolução inválido"),
|
||||
AltDado_46("Tipo/número de inscrição do pagador inválidos"),
|
||||
AltDado_48("Cep Inválido"),
|
||||
AltDado_53("Tipo/Número de inscrição do pagador/avalista inválidos"),
|
||||
AltDado_54("Pagadorr/avalista não informado"),
|
||||
AltDado_57("Código da multa inválido"),
|
||||
AltDado_58("Data da multa inválida"),
|
||||
AltDado_60("Movimento para Título não cadastrado"),
|
||||
AltDado_79("Data de Juros de mora Inválida"),
|
||||
AltDado_80("Data do desconto inválida"),
|
||||
AltDado_85("Título com Pagamento Vinculado"),
|
||||
AltDado_88("E-mail Pagador não lido no prazo 5 dias"),
|
||||
AltDado_91("E-mail pagador não recebido"),
|
||||
|
||||
//Ocorrência = 32
|
||||
InstRej_01("Código do Banco inválido"),
|
||||
InstRej_02("Código do registro detalhe inválido"),
|
||||
InstRej_04("Código de ocorrência não permitido para a carteira"),
|
||||
InstRej_05("Código de ocorrência não numérico"),
|
||||
InstRej_07("Agência/Conta/dígito inválidos"),
|
||||
InstRej_08("Nosso número inválido"),
|
||||
InstRej_10("Carteira inválida"),
|
||||
InstRej_15("Características da cobrança incompatíveis"),
|
||||
InstRej_16("Data de vencimento inválida"),
|
||||
InstRej_17("Data de vencimento anterior a data de emissão"),
|
||||
InstRej_18("Vencimento fora do prazo de operação"),
|
||||
InstRej_20("Valor do título inválido"),
|
||||
InstRej_21("Espécie do Título inválida"),
|
||||
InstRej_22("Espécie não permitida para a carteira"),
|
||||
InstRej_24("Data de emissão inválida"),
|
||||
InstRej_28("Código de desconto via Telebradesco inválido"),
|
||||
InstRej_29("Valor do desconto maior/igual ao valor do Título"),
|
||||
InstRej_30("Desconto a conceder não confere"),
|
||||
InstRej_31("Concessão de desconto - Já existe desconto anterior"),
|
||||
InstRej_33("Valor do abatimento inválido"),
|
||||
InstRej_34("Valor do abatimento maior/igual ao valor do Título"),
|
||||
InstRej_36("Concessão abatimento - Já existe abatimento anterior"),
|
||||
InstRej_38("Prazo para protesto/ Negativação inválido"),
|
||||
InstRej_39("Pedido para protesto/ Negativação não permitido para o título"),
|
||||
InstRej_40("Título com ordem/pedido de protesto/Negativação emitido"),
|
||||
InstRej_41("Pedido de sustação/excl p/ Título sem instrução de protesto/Negativação"),
|
||||
InstRej_42("Código para baixa/devolução inválido"),
|
||||
InstRej_45("Nome do Pagador não informado"),
|
||||
InstRej_46("Tipo/número de inscrição do Pagador inválidos"),
|
||||
InstRej_47("Endereço do Pagador não informado"),
|
||||
InstRej_48("CEP Inválido"),
|
||||
InstRej_50("CEP referente a um Banco correspondente"),
|
||||
InstRej_53("Tipo de inscrição do pagador avalista inválidos"),
|
||||
InstRej_60("Movimento para Título não cadastrado"),
|
||||
InstRej_85("Título com pagamento vinculado"),
|
||||
InstRej_86("Seu número inválido"),
|
||||
InstRej_94("Título Penhorado – Instrução Não Liberada pela Agência"),
|
||||
InstRej_97("Instrução não permitida título negativado"),
|
||||
InstRej_98("Inclusão Bloqueada face a determinação Judicial"),
|
||||
InstRej_99("Telefone beneficiário não informado / inconsistente"),
|
||||
|
||||
//Ocorrência = 35
|
||||
DesDedA_81("Tentativas esgotadas, baixado"),
|
||||
DesDedA_82("Tentativas esgotadas, pendente"),
|
||||
DesDedA_83(" Cancelado pelo Pagador e Mantido Pendente, conforme negociação"),
|
||||
DesDedA_84("Cancelado pelo pagador e baixado, conforme negociação");
|
||||
|
||||
|
||||
private MotivoOcorrenciaBradesco (String motivo){
|
||||
this.motivo = motivo;
|
||||
}
|
||||
|
||||
private String motivo;
|
||||
|
||||
public String getMotivo() {
|
||||
return motivo;
|
||||
}
|
||||
|
||||
public String getLabelMotivo(){
|
||||
return this.name().substring(0, 7);
|
||||
}
|
||||
|
||||
public String getCodMotivo(){
|
||||
return this.name().substring(8);
|
||||
}
|
||||
|
||||
public static MotivoOcorrenciaBradesco getInstance(OcorrenciaBradesco o, String codMotivo){
|
||||
|
||||
String label = o.name() + "_" + codMotivo;
|
||||
|
||||
for(MotivoOcorrenciaBradesco mo : MotivoOcorrenciaBradesco.values()){
|
||||
|
||||
if(mo.name().equals(label)){
|
||||
return mo;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,152 @@
|
|||
package com.rjconsultores.ventaboletos.enuns;
|
||||
|
||||
public enum MotivoOcorrenciaItau {
|
||||
|
||||
Ocorrencia02_01("", "CEP SEM ATENDIMENTO DE PROTESTO NO MOMENTO"),
|
||||
Ocorrencia02_02("", "ESTADO COM DETERMINAÇÃO LEGAL QUE IMPEDE A INSCRIÇÃO DE INADIMPLENTES NOS CADASTROS DE PROTEÇÃO AO CRÉDITO NO PRAZO SOLICITADO – PRAZO SUPERIOR AO SOLICITADO"),
|
||||
Ocorrencia02_03("", "BOLETO NÃO LIQUIDADO NO DESCONTO DE DUPLICATAS E TRANSFERIDO PARA COBRANÇA SIMPLES"),
|
||||
|
||||
Ocorrencia03_03("AG. COBRADORA", "CEP SEM ATENDIMENTO DE PROTESTO NO MOMENTO"),
|
||||
Ocorrencia03_04("ESTADO", "SIGLA DO ESTADO INVÁLIDA 05 DATA VENCIMENTO PRAZO DA OPERAÇÃO MENOR QUE PRAZO MÍNIMO OU MAIOR QUE O MÁXIMO"),
|
||||
Ocorrencia03_07("VALOR DO TÍTULO", "VALOR DO TÍTULO MAIOR QUE 10.000.000,00"),
|
||||
Ocorrencia03_08("NOME DO PAGADOR", "NÃO INFORMADO OU DESLOCADO"),
|
||||
Ocorrencia03_09("AGENCIA/CONTA", "AGÊNCIA ENCERRADA"),
|
||||
Ocorrencia03_10("LOGRADOURO", "NÃO INFORMADO OU DESLOCADO"),
|
||||
Ocorrencia03_11("CEP", "CEP NÃO NUMÉRICO OU CEP INVÁLIDO"),
|
||||
Ocorrencia03_12("SACADOR / AVALISTA", "NOME NÃO INFORMADO OU DESLOCADO"),
|
||||
Ocorrencia03_13("ESTADO/CEP", "CEP INCOMPATÍVEL COM A SIGLA DO ESTADO"),
|
||||
Ocorrencia03_14("NOSSO NÚMERO", "NOSSO NÚMERO JÁ REGISTRADO NO CADASTRO DO BANCO OU FORA DA FAIXA"),
|
||||
Ocorrencia03_15("NOSSO NÚMERO", "NOSSO NÚMERO EM DUPLICIDADE NO MESMO MOVIMENTO"),
|
||||
Ocorrencia03_18("DATA DE ENTRADA", "DATA DE ENTRADA INVÁLIDA PARA OPERAR COM ESTA CARTEIRA"),
|
||||
Ocorrencia03_19("OCORRÊNCIA", "OCORRÊNCIA INVÁLIDA"),
|
||||
Ocorrencia03_21("AG. COBRADORA", "CARTEIRA NÃO ACEITA DEPOSITÁRIA CORRESPONDENTE ESTADO DA AGÊNCIA DIFERENTE DO ESTADO DO PAGADOR AG. COBRADORA NÃO CONSTA NO CADASTRO OU ENCERRANDO"),
|
||||
Ocorrencia03_22("CARTEIRA", "CARTEIRA NÃO PERMITIDA"),
|
||||
Ocorrencia03_26("AGÊNCIA/CONTA", "AGÊNCIA/CONTA NÃO LIBERADA PARA OPERAR COM COBRANÇA"),
|
||||
Ocorrencia03_27("CNPJ INAPTO", "CNPJ DO BENEFICIÁRIO INAPTO - DEVOLUÇÃO DE TÍTULO EM GARANTIA"),
|
||||
Ocorrencia03_29("CÓDIGO EMPRESA", "CATEGORIA DA CONTA INVÁLIDA"),
|
||||
Ocorrencia03_30("ENTRADA BLOQUEADA", "ENTRADAS BLOQUEADAS, CONTA SUSPENSA EM COBRANÇA"),
|
||||
Ocorrencia03_31("AGÊNCIA/CONTA", "CONTA NÃO TEM PERMISSÃO PARA PROTESTAR"),
|
||||
Ocorrencia03_35("VALOR DO IOF", "IOF MAIOR QUE 5%"),
|
||||
Ocorrencia03_36("QTDADE DE MOEDA", "QUANTIDADE DE MOEDA INCOMPATÍVEL COM VALOR DO TÍTULO"),
|
||||
Ocorrencia03_37("CNPJ/CPF DO PAGADOR", "NÃO NUMÉRICO OU IGUAL A ZEROS"),
|
||||
Ocorrencia03_42("NOSSO NÚMERO", "NOSSO NÚMERO FORA DE FAIXA"),
|
||||
Ocorrencia03_52("AG. COBRADORA", "EMPRESA NÃO ACEITA BANCO CORRESPONDENTE"),
|
||||
Ocorrencia03_53("AG. COBRADORA", "EMPRESA NÃO ACEITA BANCO CORRESPONDENTE - COBRANÇA MENSAGEM"),
|
||||
Ocorrencia03_54("DATA DE VENCTO", "BANCO CORRESPONDENTE - TÍTULO COM VENCIMENTO INFERIOR A 15 DIAS"),
|
||||
Ocorrencia03_55("DEP/BCO CORRESP", "CEP NÃO PERTENCE À DEPOSITÁRIA INFORMADA"),
|
||||
Ocorrencia03_56("DT VENCTO/BCO CORRESP", "VENCTO SUPERIOR A 180 DIAS DA DATA DE ENTRADA"),
|
||||
Ocorrencia03_57("DATA DE VENCTO", "CEP SÓ DEPOSITÁRIA BCO DO BRASIL COM VENCTO INFERIOR A 8 DIAS"),
|
||||
Ocorrencia03_60("ABATIMENTO", "VALOR DO ABATIMENTO INVÁLIDO"),
|
||||
Ocorrencia03_61("JUROS DE MORA", "JUROS DE MORA MAIOR QUE O PERMITIDO"),
|
||||
Ocorrencia03_62("DESCONTO", "VALOR DO DESCONTO MAIOR QUE VALOR DO TÍTULO"),
|
||||
Ocorrencia03_63("DESCONTO DE ANTECIPAÇÃO", "VALOR DA IMPORTÂNCIA POR DIA DE DESCONTO (IDD) NÃO PERMITIDO"),
|
||||
Ocorrencia03_64("DATA DE EMISSÃO", "DATA DE EMISSÃO DO TÍTULO INVÁLIDA"),
|
||||
Ocorrencia03_65("TAXA FINANCTO", "TAXA INVÁLIDA"),
|
||||
Ocorrencia03_66("DATA DE VENCTO", "INVALIDA/FORA DE PRAZO DE OPERAÇÃO"),
|
||||
Ocorrencia03_67("VALOR/QTIDADE", " VALOR DO TÍTULO/QUANTIDADE DE MOEDA INVÁLIDO"),
|
||||
Ocorrencia03_68("CARTEIRA,CARTEIRA", "INVÁLIDA OU NÃO CADASTRADA NO INTERCÂMBIO DA COBRANÇA"),
|
||||
Ocorrencia03_69("CARTEIRA CARTEIRA", "INVÁLIDA PARA TÍTULOS COM RATEIO DE CRÉDITO"),
|
||||
Ocorrencia03_70("AGÊNCIA/CONTA", "BENEFICIÁRIO NÃO CADASTRADO PARA FAZER RATEIO DE CRÉDITO"),
|
||||
Ocorrencia03_78("AGÊNCIA/CONTA", "DUPLICIDADE DE AGÊNCIA/CONTA BENEFICIÁRIA DO RATEIO DE CRÉDITO"),
|
||||
Ocorrencia03_80("AGÊNCIA/CONTA", "QUANTIDADE DE CONTAS BENEFICIÁRIAS DO RATEIO MAIOR DO QUE O PERMITIDO"),
|
||||
Ocorrencia03_81("AGÊNCIA/CONTA", "CONTA PARA RATEIO DE CRÉDITO INVÁLIDA / NÃO PERTENCE AO ITAÚ"),
|
||||
Ocorrencia03_82("DESCONTO/ABATI-MENTO", "DESCONTO/ABATIMENTO NÃO PERMITIDO PARA TÍTULOS COM RATEIO DE CRÉDITO"),
|
||||
Ocorrencia03_83("VALOR DO TÍTULO", "VALOR DO TÍTULO MENOR QUE A SOMA DOS VALORES ESTIPULADOS PARA RATEIO"),
|
||||
Ocorrencia03_84("AGÊNCIA/CONTA", "AGÊNCIA/CONTA BENEFICIÁRIA DO RATEIO É A CENTRALIZADORA DE CRÉDITO DO BENEFICIÁRIO"),
|
||||
Ocorrencia03_85("AGÊNCIA/CONTA", "AGÊNCIA/CONTA DO BENEFICIÁRIO É CONTRATUAL / RATEIO DE CRÉDITO NÃO PERMITIDO"),
|
||||
Ocorrencia03_86("TIPO DE VALOR", "CÓDIGO DO TIPO DE VALOR INVÁLIDO / NÃO PREVISTO PARA TÍTULOS COM RATEIO DE CRÉDITO"),
|
||||
Ocorrencia03_87("AGÊNCIA/CONTA", "REGISTRO TIPO 4 SEM INFORMAÇÃO DE AGÊNCIAS/CONTAS BENEFICIÁRIAS DO RATEIO"),
|
||||
Ocorrencia03_90("NRO DA LINHA", "COBRANÇA MENSAGEM - NÚMERO DA LINHA DA MENSAGEM INVÁLIDO OU QUANTIDADE DE LINHAS EXCEDIDAS"),
|
||||
Ocorrencia03_97("SEM MENSAGEM", "COBRANÇA MENSAGEM SEM MENSAGEM (SÓ DE CAMPOS FIXOS), PORÉM COM REGISTRO DO TIPO 7 OU 8"),
|
||||
Ocorrencia03_98("FLASH INVÁLIDO", "REGISTRO MENSAGEM SEM FLASH CADASTRADO OU FLASH INFORMADO DIFERENTE DO CADASTRADO"),
|
||||
Ocorrencia03_99("FLASH INVÁLIDO", "CONTA DE COBRANÇA COM FLASH CADASTRADO E SEM REGISTRO DE MENSAGEM CORRESPONDENTE"),
|
||||
|
||||
Ocorrencia15_01("", "CARTEIRA/Nº NÚMERO NÃO NUMÉRICO"),
|
||||
Ocorrencia15_04("", "NOSSO NÚMERO EM DUPLICIDADE NO MESMO MOVIMENTO"),
|
||||
Ocorrencia15_05("", "SOLICITAÇÃO DE BAIXA PARA TÍTULO JÁ BAIXADO OU LIQUIDADO"),
|
||||
Ocorrencia15_06("", "SOLICITAÇÃO DE BAIXA PARA TÍTULO NÃO REGISTRADO NO SISTEMA"),
|
||||
Ocorrencia15_07("", "COBRANÇA PRAZO CURTO – SOLICITAÇÃO DE BAIXA P/ TÍTULO NÃO REGISTRADO NO SISTEMA"),
|
||||
Ocorrencia15_08("", "SOLICITAÇÃO DE BAIXA PARA TÍTULO EM FLOATING"),
|
||||
Ocorrencia15_10("", "VALOR DO TITULO FAZ PARTE DE GARANTIA DE EMPRESTIMO"),
|
||||
Ocorrencia15_11("", "PAGO ATRAVÉS DO SISPAG POR CRÉDITO EM C/C E NÃO BAIXADO"),
|
||||
|
||||
Ocorrencia16_01("", "INSTRUÇÃO/OCORRÊNCIA NÃO EXISTENTE"),
|
||||
Ocorrencia16_03("", "CONTA NÃO TEM PERMISSÃO PARA PROTESTAR (CONTATE SEU GERENTE)"),
|
||||
Ocorrencia16_06("", "NOSSO NÚMERO IGUAL A ZEROS"),
|
||||
Ocorrencia16_09("", "CNPJ/CPF DO SACADOR/AVALISTA INVÁLIDO"),
|
||||
Ocorrencia16_10("", "VALOR DO ABATIMENTO IGUAL OU MAIOR QUE O VALOR DO TÍTULO"),
|
||||
Ocorrencia16_11("", "SEGUNDA INSTRUÇÃO/OCORRÊNCIA NÃO EXISTENTE"),
|
||||
Ocorrencia16_14("", "REGISTRO EM DUPLICIDADE"),
|
||||
Ocorrencia16_15("", "CNPJ/CPF INFORMADO SEM NOME DO SACADOR/AVALISTA"),
|
||||
Ocorrencia16_19("", "VALOR DO ABATIMENTO MAIOR QUE 90% DO VALOR DO TÍTULO"),
|
||||
Ocorrencia16_20("", "EXISTE SUSTACAO DE PROTESTO PENDENTE PARA O TITULO"),
|
||||
Ocorrencia16_21("", "TÍTULO NÃO REGISTRADO NO SISTEMA"),
|
||||
Ocorrencia16_22("", "TÍTULO BAIXADO OU LIQUIDADO"),
|
||||
Ocorrencia16_23("", "INSTRUÇÃO NÃO ACEITA"),
|
||||
Ocorrencia16_24("", "INSTRUÇÃO INCOMPATÍVEL – EXISTE INSTRUÇÃO DE PROTESTO PARA O TÍTULO"),
|
||||
Ocorrencia16_25("", "INSTRUÇÃO INCOMPATÍVEL – NÃO EXISTE INSTRUÇÃO DE PROTESTO PARA O TÍTULO"),
|
||||
Ocorrencia16_26("", "INSTRUÇÃO NÃO ACEITA POR JÁ TER SIDO EMITIDA A ORDEM DE PROTESTO AO CARTÓRIO"),
|
||||
Ocorrencia16_27("", "INSTRUÇÃO NÃO ACEITA POR NÃO TER SIDO EMITIDA A ORDEM DE PROTESTO AO CARTÓRIO"),
|
||||
Ocorrencia16_28("", "JÁ EXISTE UMA MESMA INSTRUÇÃO CADASTRADA ANTERIORMENTE PARA O TÍTULO"),
|
||||
Ocorrencia16_29("", "VALOR LÍQUIDO + VALOR DO ABATIMENTO DIFERENTE DO VALOR DO TÍTULO REGISTRADO"),
|
||||
Ocorrencia16_30("", "EXISTE UMA INSTRUÇÃO DE NÃO PROTESTAR ATIVA PARA O TÍTULO"),
|
||||
Ocorrencia16_31("", "EXISTE UMA OCORRÊNCIA DO PAGADOR QUE BLOQUEIA A INSTRUÇÃO"),
|
||||
Ocorrencia16_32("", "DEPOSITÁRIA DO TÍTULO = 9999 OU CARTEIRA NÃO ACEITA PROTESTO"),
|
||||
Ocorrencia16_33("", "ALTERAÇÃO DE VENCIMENTO IGUAL À REGISTRADA NO SISTEMA OU QUE TORNA O TÍTULO VENCIDO"),
|
||||
Ocorrencia16_34("", "INSTRUÇÃO DE EMISSÃO DE AVISO DE COBRANÇA PARA TÍTULO VENCIDO ANTES DO VENCIMENTO"),
|
||||
Ocorrencia16_35("", "SOLICITAÇÃO DE CANCELAMENTO DE INSTRUÇÃO INEXISTENTE"),
|
||||
Ocorrencia16_36("", "TÍTULO SOFRENDO ALTERAÇÃO DE CONTROLE (AGÊNCIA/CONTA/CARTEIRA/NOSSO NÚMERO)"),
|
||||
Ocorrencia16_37("", "INSTRUÇÃO NÃO PERMITIDA PARA A CARTEIRA"),
|
||||
Ocorrencia16_38("", "INSTRUÇÃO NÃO PERMITIDA PARA TÍTULO COM RATEIO DE CRÉDITO"),
|
||||
Ocorrencia16_40("", "INSTRUÇÃO INCOMPATÍVEL – NÃO EXISTE INSTRUÇÃO DE NEGATIVAÇÃO EXPRESSA PARA O TÍTULO"),
|
||||
Ocorrencia16_41("", "INSTRUÇÃO NÃO PERMITIDA – TÍTULO COM ENTRADA EM NEGATIVAÇÃO EXPRESSA"),
|
||||
Ocorrencia16_42("", "INSTRUÇÃO NÃO PERMITIDA – TÍTULO COM NEGATIVAÇÃO EXPRESSA CONCLUÍDA"),
|
||||
Ocorrencia16_43("", "PRAZO INVÁLIDO PARA NEGATIVAÇÃO EXPRESSA – MÍNIMO: 02 DIAS CORRIDOS APÓS O VENCIMENTO"),
|
||||
Ocorrencia16_45("", "INSTRUÇÃO INCOMPATÍVEL PARA O MESMO TÍTULO NESTA DATA"),
|
||||
Ocorrencia16_47("", "INSTRUÇÃO NÃO PERMITIDA – ESPÉCIE INVÁLIDA 48 DADOS DO PAGADOR INVÁLIDOS ( CPF / CNPJ / NOME )"),
|
||||
Ocorrencia16_49("", "DADOS DO ENDEREÇO DO PAGADOR INVÁLIDOS 50 DATA DE EMISSÃO DO TÍTULO INVÁLIDA"),
|
||||
Ocorrencia16_51("", "INSTRUÇÃO NÃO PERMITIDA – TÍTULO COM NEGATIVAÇÃO EXPRESSA AGENDADA"),
|
||||
|
||||
Ocorrencia17_02("", "AGÊNCIA COBRADORA INVÁLIDA OU COM O MESMO CONTEÚDO"),
|
||||
Ocorrencia17_04("", "SIGLA DO ESTADO INVÁLIDA"),
|
||||
Ocorrencia17_05("", "DATA DE VENCIMENTO INVÁLIDA OU COM O MESMO CONTEÚDO"),
|
||||
Ocorrencia17_06("", "VALOR DO TÍTULO COM OUTRA ALTERAÇÃO SIMULTÂNEA"),
|
||||
Ocorrencia17_08("", "NOME DO PAGADOR COM O MESMO CONTEÚDO"),
|
||||
Ocorrencia17_09("", "AGÊNCIA/CONTA INCORRETA"),
|
||||
Ocorrencia17_11("", "CEP INVÁLIDO"),
|
||||
Ocorrencia17_12("", "NÚMERO INSCRIÇÃO INVÁLIDO DO SACADOR AVALISTA"),
|
||||
Ocorrencia17_13("", "SEU NÚMERO COM O MESMO CONTEÚDO"),
|
||||
Ocorrencia17_16("", "ABATIMENTO/ALTERAÇÃO DO VALOR DO TÍTULO OU SOLICITAÇÃO DE BAIXA BLOQUEADA"),
|
||||
Ocorrencia17_20("", "ESPÉCIE INVÁLIDA"),
|
||||
Ocorrencia17_21("", "AGÊNCIA COBRADORA NÃO CONSTA NO CADASTRO DE DEPOSITÁRIA OU EM ENCERRAMENTO"),
|
||||
Ocorrencia17_23("", "DATA DE EMISSÃO DO TÍTULO INVÁLIDA OU COM MESMO CONTEÚDO"),
|
||||
Ocorrencia17_41("", "CAMPO ACEITE INVÁLIDO OU COM MESMO CONTEÚDO"),
|
||||
Ocorrencia17_42("", "ALTERAÇÃO INVÁLIDA PARA TÍTULO VENCIDO"),
|
||||
Ocorrencia17_43("", "ALTERAÇÃO BLOQUEADA – VENCIMENTO JÁ ALTERADO"),
|
||||
Ocorrencia17_53("", "INSTRUÇÃO COM O MESMO CONTEÚDO"),
|
||||
Ocorrencia17_54("", "DATA VENCIMENTO PARA BANCOS CORRESPONDENTES INFERIOR AO ACEITO PELO BANCO"),
|
||||
Ocorrencia17_55("", "ALTERAÇÕES IGUAIS PARA O MESMO CONTROLE (AGÊNCIA/CONTA/CARTEIRA/NOSSO NÚMERO)"),
|
||||
Ocorrencia17_56("", "CNPJ/CPF INVÁLIDO NÃO NUMÉRICO OU ZERADO"),
|
||||
Ocorrencia17_57("", "PRAZO DE VENCIMENTO INFERIOR A 15 DIAS"),
|
||||
Ocorrencia17_60("", "VALOR DE IOF – ALTERAÇÃO NÃO PERMITIDA PARA CARTEIRAS DE N.S. – MOEDA VARIÁVEL"),
|
||||
Ocorrencia17_61("", "TÍTULO JÁ BAIXADO OU LIQUIDADO OU NÃO EXISTE TÍTULO CORRESPONDENTE NO SISTEMA"),
|
||||
Ocorrencia17_66("", "ALTERAÇÃO NÃO PERMITIDA PARA CARTEIRAS DE NOTAS DE SEGUROS – MOEDA VARIÁVEL"),
|
||||
Ocorrencia17_67("", "NOME INVÁLIDO DO SACADOR AVALISTA"),
|
||||
Ocorrencia17_72("", "ENDEREÇO INVÁLIDO – SACADOR AVALISTA"),
|
||||
Ocorrencia17_73("", "BAIRRO INVÁLIDO – SACADOR AVALISTA"),
|
||||
Ocorrencia17_74("", "CIDADE INVÁLIDA – SACADOR AVALISTA"),
|
||||
Ocorrencia17_75("", "SIGLA ESTADO INVÁLIDO – SACADOR AVALISTA"),
|
||||
Ocorrencia17_76("", "CEP INVÁLIDO – SACADOR AVALISTA"),
|
||||
Ocorrencia17_81("", "ALTERAÇÃO BLOQUEADA – TÍTULO COM NEGATIVAÇÃO EXPRESSA/PROTESTO"),
|
||||
Ocorrencia17_87("", "ALTERAÇÃO BLOQUEADA – TÍTULO COM RATEIO DE CRÉDITO"),
|
||||
|
||||
Ocorrencia18_16("", "ABATIMENTO/ALTERAÇÃO DO VALOR DO TÍTULO OU SOLICITAÇÃO DE BAIXA BLOQUEADOS"),
|
||||
Ocorrencia18_40("", "NÃO APROVADA DEVIDO AO IMPACTO NA ELEGIBILIDADE DE GARANTIAS"),
|
||||
Ocorrencia18_41("", "AUTOMATICAMENTE REJEITADA"),
|
||||
Ocorrencia18_42("", "CONFIRMA RECEBIMENTO DE INSTRUÇÃO – PENDENTE DE ANÁLISE");
|
||||
|
||||
|
||||
private MotivoOcorrenciaItau(String campo, String msg) {
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
package com.rjconsultores.ventaboletos.enuns;
|
||||
|
||||
public enum OcorrenciaBradesco {
|
||||
|
||||
EntConf("02","Entrada confirmada"),
|
||||
EntReje("03","Entrada Rejeitada"),
|
||||
Liquida("06","Liquidação"),
|
||||
BaixAut("09","Baixado Automaticamente via Arquivo"),
|
||||
BaixBan("10","Baixado pelo Banco"),
|
||||
LiquC_B("15","Liquidação em cartório/Liquidação após baixa ou Título não registrado"),
|
||||
CEPIrre("24","Entrada Rejeitada por CEP irregular"),
|
||||
BaixRej("27","Baixa Rejeitada"),
|
||||
DebTari("28","Débito de Tarifas/Custas"),
|
||||
OcorPag("29","Ocorrência do Pagador"),
|
||||
AltDado("30","Alteração de Outros Dados Rejeitados"),
|
||||
InstRej("32","Instrução Rejeitada"),
|
||||
DesDedA("35","Desagendamento do Débito Automático");
|
||||
|
||||
private OcorrenciaBradesco(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 OcorrenciaBradesco getInstance(String id){
|
||||
|
||||
for(OcorrenciaBradesco o : OcorrenciaBradesco.values()){
|
||||
|
||||
if(o.getId().equals(id)){
|
||||
return o;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,126 @@
|
|||
package com.rjconsultores.ventaboletos.enuns;
|
||||
|
||||
public enum OcorrenciaItau {
|
||||
|
||||
Ocorrencia02("02","ENTRADA CONFIRMADA COM POSSIBILIDADE DE MENSAGEM"),
|
||||
Ocorrencia03("03","ENTRADA REJEITADA"),
|
||||
Ocorrencia04("04","ALTERAÇÃO DE DADOS – NOVA ENTRADA OU ALTERAÇÃO/EXCLUSÃO DE DADOS ACATADA"),
|
||||
Ocorrencia05("05","ALTERAÇÃO DE DADOS – BAIXA"),
|
||||
Ocorrencia06("06","LIQUIDAÇÃO NORMAL"),
|
||||
Ocorrencia07("07","LIQUIDAÇÃO PARCIAL – COBRANÇA INTELIGENTE"),
|
||||
Ocorrencia08("08","LIQUIDAÇÃO EM CARTÓRIO 09 BAIXA SIMPLES"),
|
||||
Ocorrencia10("10","BAIXA POR TER SIDO LIQUIDADO"),
|
||||
Ocorrencia11("11","EM SER"),
|
||||
Ocorrencia12("12","ABATIMENTO CONCEDIDO"),
|
||||
Ocorrencia13("13","ABATIMENTO CANCELADO"),
|
||||
Ocorrencia14("14","VENCIMENTO ALTERADO"),
|
||||
Ocorrencia15("15","BAIXAS REJEITADAS"),
|
||||
Ocorrencia16("16","INSTRUÇÕES REJEITADAS"),
|
||||
Ocorrencia17("17","ALTERAÇÃO/EXCLUSÃO DE DADOS REJEITADOS"),
|
||||
Ocorrencia18("18","COBRANÇA CONTRATUAL – INSTRUÇÕES/ALTERAÇÕES REJEITADAS/PENDENTES"),
|
||||
Ocorrencia19("19","CONFIRMA RECEBIMENTO DE INSTRUÇÃO DE PROTESTO"),
|
||||
Ocorrencia20("20","CONFIRMA RECEBIMENTO DE INSTRUÇÃO DE SUSTAÇÃO DE PROTESTO /TARIFA"),
|
||||
Ocorrencia21("21","CONFIRMA RECEBIMENTO DE INSTRUÇÃO DE NÃO PROTESTAR"),
|
||||
Ocorrencia23("23","TÍTULO ENVIADO A CARTÓRIO/TARIFA"),
|
||||
Ocorrencia24("24","INSTRUÇÃO DE PROTESTO REJEITADA / SUSTADA / PENDENTE"),
|
||||
Ocorrencia25("25","ALEGAÇÕES DO PAGADOR"),
|
||||
Ocorrencia26("26","TARIFA DE AVISO DE COBRANÇA"),
|
||||
Ocorrencia27("27","TARIFA DE EXTRATO POSIÇÃO"),
|
||||
Ocorrencia28("28","TARIFA DE RELAÇÃO DAS LIQUIDAÇÕES"),
|
||||
Ocorrencia29("29","TARIFA DE MANUTENÇÃO DE TÍTULOS VENCIDOS"),
|
||||
Ocorrencia30("30","DÉBITO MENSAL DE TARIFAS (PARA ENTRADAS E BAIXAS),"),
|
||||
Ocorrencia32("32","BAIXA POR TER SIDO PROTESTADO"),
|
||||
Ocorrencia33("33","CUSTAS DE PROTESTO"),
|
||||
Ocorrencia34("34","CUSTAS DE SUSTAÇÃO"),
|
||||
Ocorrencia35("35","CUSTAS DE CARTÓRIO DISTRIBUIDOR"),
|
||||
Ocorrencia36("36","CUSTAS DE EDITAL"),
|
||||
Ocorrencia37("37","TARIFA DE EMISSÃO DE BOLETO/TARIFA DE ENVIO DE DUPLICATA"),
|
||||
Ocorrencia38("38","TARIFA DE INSTRUÇÃO"),
|
||||
Ocorrencia39("39","TARIFA DE OCORRÊNCIAS"),
|
||||
Ocorrencia40("40","TARIFA MENSAL DE EMISSÃO DE BOLETO/TARIFA MENSAL DE ENVIO DE DUPLICATA"),
|
||||
Ocorrencia41("41","DÉBITO MENSAL DE TARIFAS – EXTRATO DE POSIÇÃO (B4EP/B4OX),"),
|
||||
Ocorrencia42("42","DÉBITO MENSAL DE TARIFAS – OUTRAS INSTRUÇÕES"),
|
||||
Ocorrencia43("43","DÉBITO MENSAL DE TARIFAS – MANUTENÇÃO DE TÍTULOS VENCIDOS"),
|
||||
Ocorrencia44("44","DÉBITO MENSAL DE TARIFAS – OUTRAS OCORRÊNCIAS"),
|
||||
Ocorrencia45("45","DÉBITO MENSAL DE TARIFAS – PROTESTO"),
|
||||
Ocorrencia46("46","DÉBITO MENSAL DE TARIFAS – SUSTAÇÃO DE PROTESTO"),
|
||||
Ocorrencia47("47","BAIXA COM TRANSFERÊNCIA PARA DESCONTO"),
|
||||
Ocorrencia48("48","CUSTAS DE SUSTAÇÃO JUDICIAL"),
|
||||
Ocorrencia51("51","TARIFA MENSAL REF A ENTRADAS BANCOS CORRESPONDENTES NA CARTEIRA"),
|
||||
Ocorrencia52("52","TARIFA MENSAL BAIXAS NA CARTEIRA"),
|
||||
Ocorrencia53("53","TARIFA MENSAL BAIXAS EM BANCOS CORRESPONDENTES NA CARTEIRA"),
|
||||
Ocorrencia54("54","TARIFA MENSAL DE LIQUIDAÇÕES NA CARTEIRA"),
|
||||
Ocorrencia55("55","TARIFA MENSAL DE LIQUIDAÇÕES EM BANCOS CORRESPONDENTES NA CARTEIRA"),
|
||||
Ocorrencia56("56","CUSTAS DE IRREGULARIDADE"),
|
||||
Ocorrencia57("57","INSTRUÇÃO CANCELADA"),
|
||||
Ocorrencia59("59","BAIXA POR CRÉDITO EM C/C ATRAVÉS DO SISPAG"),
|
||||
Ocorrencia60("60","ENTRADA REJEITADA CARNÊ"),
|
||||
Ocorrencia61("61","TARIFA EMISSÃO AVISO DE MOVIMENTAÇÃO DE TÍTULOS)"),
|
||||
Ocorrencia62("62","DÉBITO MENSAL DE TARIFA – AVISO DE MOVIMENTAÇÃO DE TÍTULOS"),
|
||||
Ocorrencia63("63","TÍTULO SUSTADO JUDICIALMENTE"),
|
||||
Ocorrencia64("64","ENTRADA CONFIRMADA COM RATEIO DE CRÉDITO"),
|
||||
Ocorrencia65("65","PAGAMENTO COM CHEQUE – AGUARDANDO COMPENSAÇÃO"),
|
||||
Ocorrencia69("69","CHEQUE DEVOLVIDO"),
|
||||
Ocorrencia71("71","ENTRADA REGISTRADA, AGUARDANDO AVALIAÇÃO"),
|
||||
Ocorrencia72("72","BAIXA POR CRÉDITO EM C/C ATRAVÉS DO SISPAG SEM TÍTULO CORRESPONDENTE"),
|
||||
Ocorrencia73("73","CONFIRMAÇÃO DE ENTRADA NA COBRANÇA SIMPLES – ENTRADA NÃO ACEITA NA COBRANÇA CONTRATUAL"),
|
||||
Ocorrencia74("74","INSTRUÇÃO DE NEGATIVAÇÃO EXPRESSA REJEITADA"),
|
||||
Ocorrencia75("75","CONFIRMAÇÃO DE RECEBIMENTO DE INSTRUÇÃO DE ENTRADA EM NEGATIVAÇÃO EXPRESSA"),
|
||||
Ocorrencia76("76","CHEQUE COMPENSADO"),
|
||||
Ocorrencia77("77","CONFIRMAÇÃO DE RECEBIMENTO DE INSTRUÇÃO DE EXCLUSÃO DE ENTRADA EM NEGATIVAÇÃO EXPRESSA"),
|
||||
Ocorrencia78("78","CONFIRMAÇÃO DE RECEBIMENTO DE INSTRUÇÃO DE CANCELAMENTO DE NEGATIVAÇÃO EXPRESSA"),
|
||||
Ocorrencia79("79","NEGATIVAÇÃO EXPRESSA INFORMACIONAL"),
|
||||
Ocorrencia80("80","CONFIRMAÇÃO DE ENTRADA EM NEGATIVAÇÃO EXPRESSA – TARIFA"),
|
||||
Ocorrencia82("82","CONFIRMAÇÃO DO CANCELAMENTO DE NEGATIVAÇÃO EXPRESSA – TARIFA"),
|
||||
Ocorrencia83("83","CONFIRMAÇÃO DE EXCLUSÃO DE ENTRADA EM NEGATIVAÇÃO EXPRESSA POR LIQUIDAÇÃO – TARIFA"),
|
||||
Ocorrencia85("85","TARIFA POR BOLETO (ATÉ 03 ENVIOS) COBRANÇA ATIVA ELETRÔNICA"),
|
||||
Ocorrencia86("86","TARIFA EMAIL COBRANÇA ATIVA ELETRÔNICA"),
|
||||
Ocorrencia87("87","TARIFA SMS COBRANÇA ATIVA ELETRÔNICA"),
|
||||
Ocorrencia88("88","TARIFA MENSAL POR BOLETO (ATÉ 03 ENVIOS) COBRANÇA ATIVA ELETRÔNICA"),
|
||||
Ocorrencia89("89","TARIFA MENSAL EMAIL COBRANÇA ATIVA ELETRÔNICA"),
|
||||
Ocorrencia90("90","TARIFA MENSAL SMS COBRANÇA ATIVA ELETRÔNICA"),
|
||||
Ocorrencia91("91","TARIFA MENSAL DE EXCLUSÃO DE ENTRADA DE NEGATIVAÇÃO EXPRESSA"),
|
||||
Ocorrencia92("92","TARIFA MENSAL DE CANCELAMENTO DE NEGATIVAÇÃO EXPRESSA"),
|
||||
Ocorrencia93("93","TARIFA MENSAL DE EXCLUSÃO DE NEGATIVAÇÃO EXPRESSA POR LIQUIDAÇÃO");
|
||||
|
||||
private OcorrenciaItau(String cod, String label) {
|
||||
this.cod = cod;
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
private String cod;
|
||||
private String label;
|
||||
|
||||
public String getCod() {
|
||||
return cod;
|
||||
}
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
|
||||
public OcorrenciaItau getInstaceByCod(String cod){
|
||||
|
||||
|
||||
for (OcorrenciaItau oItau : values()) {
|
||||
|
||||
if (oItau.getCod().equals(cod)) {
|
||||
return oItau;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public OcorrenciaItau getInstaceByCod(int cod){
|
||||
|
||||
String codigo = "";
|
||||
if(cod < 10){
|
||||
codigo = "0" + cod;
|
||||
}else{
|
||||
codigo = "" + cod;
|
||||
}
|
||||
|
||||
return getInstaceByCod(codigo);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
package com.rjconsultores.ventaboletos.enuns;
|
||||
|
||||
public enum TipoInscricaoPagador {
|
||||
|
||||
CPF("01"),
|
||||
CNPJ("02");
|
||||
|
||||
private TipoInscricaoPagador(String id) {
|
||||
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
private String id;
|
||||
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getId();
|
||||
}
|
||||
|
||||
public static TipoInscricaoPagador getInstanceById(String id){
|
||||
|
||||
for (TipoInscricaoPagador o : values()) {
|
||||
if(o.getId().equalsIgnoreCase(id)){
|
||||
return o;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static TipoInscricaoPagador getInstanceByName(String name){
|
||||
|
||||
for (TipoInscricaoPagador o : values()) {
|
||||
if(o.name().equalsIgnoreCase(name)){
|
||||
return o;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,402 @@
|
|||
package com.rjconsultores.ventaboletos.layouts;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.jrimum.texgit.FlatFile;
|
||||
import org.jrimum.texgit.Record;
|
||||
import org.jrimum.texgit.Texgit;
|
||||
import org.jrimum.utilix.ClassLoaders;
|
||||
import org.jrimum.utilix.Collections;
|
||||
import org.jrimum.utilix.Objects;
|
||||
import org.jrimum.utilix.text.Strings;
|
||||
|
||||
import com.rjconsultores.ventaboletos.ArquivoRemessa;
|
||||
import com.rjconsultores.ventaboletos.ArquivoRemessaItemInteface;
|
||||
import com.rjconsultores.ventaboletos.ArquivoRetorno;
|
||||
import com.rjconsultores.ventaboletos.ArquivoRetornoItem;
|
||||
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.enuns.BancoLayout;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Implementação base para classes utilizadoras do <a href="http://www.jrimum.org/texgit"> JRimum-Texgit </a>.
|
||||
* </p>
|
||||
*
|
||||
* @author <a href="http://gilmatryx.googlepages.com/">Gilmar P.S.L.</a>
|
||||
*/
|
||||
public abstract class AbstractFlatFile{
|
||||
|
||||
//protected static Logger log = LoggerFactory.getLogger(AbstractFlatFile.class);
|
||||
|
||||
/**
|
||||
* Nome do arquivo xml de configuração.
|
||||
*/
|
||||
protected BancoLayout cfgFile;
|
||||
|
||||
/**
|
||||
* FlatFile Texgit.
|
||||
*/
|
||||
private FlatFile<Record> flatFile;
|
||||
|
||||
/**
|
||||
* Linhas do Arquivo
|
||||
*/
|
||||
private List<String> lines = new ArrayList<String>();
|
||||
|
||||
/**
|
||||
* Construtor para inicializção com layout xml.
|
||||
*
|
||||
* @param cfgFile
|
||||
* - nome do arquivo layout em xml.
|
||||
*/
|
||||
protected AbstractFlatFile(BancoLayout cfgFile) {
|
||||
|
||||
init(cfgFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* Inicializador e validador do nome do e layout do arquivo.
|
||||
*
|
||||
* @param cfgFile
|
||||
*/
|
||||
protected final void init(BancoLayout cfgFile) {
|
||||
|
||||
//Strings.checkNotBlank(cfgFile.getPath(), "Arquivo invalido!");
|
||||
|
||||
this.cfgFile = cfgFile;
|
||||
|
||||
configure();
|
||||
}
|
||||
|
||||
/**
|
||||
* Retorna o Texgit flatfile da instância.
|
||||
*
|
||||
* @return the flatFile
|
||||
*/
|
||||
protected final FlatFile<Record> getFlatFile() {
|
||||
|
||||
return flatFile;
|
||||
}
|
||||
|
||||
/**
|
||||
* Configura o flat file a partir do nome do arquivo layout xml da instância
|
||||
* procurando no classpath.
|
||||
*/
|
||||
private void configure() {
|
||||
|
||||
InputStream in = null;
|
||||
|
||||
try {
|
||||
|
||||
in = ClassLoaders.getResourceAsStream(cfgFile.getPath(), this.getClass());
|
||||
|
||||
File config = File.createTempFile(cfgFile.getTemp(), null);
|
||||
|
||||
copyInputStreamToFile(in, config);
|
||||
|
||||
//FileUtils.copyInputStreamToFile(in, config);
|
||||
|
||||
flatFile = Texgit.createFlatFile(config);
|
||||
|
||||
} catch (Exception e) {
|
||||
|
||||
throw new IllegalStateException(e);
|
||||
|
||||
}finally {
|
||||
|
||||
if (in != null) {
|
||||
|
||||
try {
|
||||
|
||||
in.close();
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Objects.checkNotNull(flatFile, "NAO FOI POSSIVEL INICIALIZAR A LIB TEXGIT!");
|
||||
}
|
||||
|
||||
public void copyInputStreamToFile(InputStream initialStream, File targetFile) throws IOException {
|
||||
|
||||
OutputStream outStream = new FileOutputStream(targetFile);
|
||||
|
||||
byte[] buffer = new byte[8 * 1024];
|
||||
int bytesRead;
|
||||
while ((bytesRead = initialStream.read(buffer)) != -1) {
|
||||
outStream.write(buffer, 0, bytesRead);
|
||||
}
|
||||
|
||||
IOUtils.closeQuietly(initialStream);
|
||||
IOUtils.closeQuietly(outStream);
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Lê um arquivo do layout da instancia.
|
||||
* </p>
|
||||
*
|
||||
* @param lines
|
||||
* linhas do arquivo
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public <FF extends AbstractFlatFile> FF read(final List<String> lines) {
|
||||
|
||||
Collections.checkNotEmpty(lines, "Linhas ausentes!");
|
||||
|
||||
try {
|
||||
|
||||
getFlatFile().read(lines);
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return (FF) this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Lê um arquivo do layout da instancia com enconding UTF-8.
|
||||
* </p>
|
||||
*
|
||||
* @param file
|
||||
* arquivo texto
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public <FF extends AbstractFlatFile> FF read(final File file) {
|
||||
|
||||
Objects.checkNotNull(file, "Arquivo TXT a ser importado nulo!");
|
||||
|
||||
try {
|
||||
|
||||
getFlatFile().read(FileUtils.readLines(file));
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return (FF) this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Lê um arquivo do layout da instancia.
|
||||
* </p>
|
||||
*
|
||||
* @param file
|
||||
* - Arquivo texto
|
||||
* @param encoding
|
||||
* - Econding em que o arquivo será lido
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public <FF extends AbstractFlatFile> FF read(final File file, String encoding) {
|
||||
|
||||
Objects.checkNotNull(file, "Arquivo TXT a ser importado nulo!");
|
||||
Strings.checkNotBlank(encoding, "Encoding inválido!");
|
||||
|
||||
try {
|
||||
|
||||
getFlatFile().read(FileUtils.readLines(file, encoding));
|
||||
|
||||
} catch (IOException e) {
|
||||
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return (FF) this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Escreve um arquivo do layout da instancia com enconding UTF-8.
|
||||
* </p>
|
||||
*
|
||||
* @return arquivo texto
|
||||
* @throws IOException
|
||||
*/
|
||||
public File write() throws IOException {
|
||||
|
||||
Objects.checkNotNull(getFlatFile(), "Arquivo TXT a ser importado nulo!");
|
||||
|
||||
File f = File.createTempFile(this.getClass().getName() + ""
|
||||
+ new Date().getTime(), "_jnfmtmp.txt");
|
||||
|
||||
FileUtils.writeLines(f, getFlatFile().write());
|
||||
|
||||
return f;
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Escreve um arquivo do layout da instancia.
|
||||
* </p>
|
||||
* @param encoding - Econding em que o arquivo será escrito
|
||||
* @return arquivo texto
|
||||
* @throws IOException
|
||||
*/
|
||||
public File write(String encoding) throws IOException {
|
||||
|
||||
if (getFlatFile() != null) {
|
||||
|
||||
File f = File.createTempFile(this.getClass().getName() + ""
|
||||
+ new Date().getTime(), "_jnfmtmp.txt");
|
||||
|
||||
FileUtils.writeLines(f, getFlatFile().write(), encoding);
|
||||
|
||||
return f;
|
||||
|
||||
} else{
|
||||
|
||||
throw new IllegalArgumentException(new NullPointerException(
|
||||
"Arquivo TXT a ser importado nulo!"));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Escreve um arquivo do layout da instancia.
|
||||
* </p>
|
||||
* @param arquivoRemessaFisico
|
||||
* @throws IOException
|
||||
*/
|
||||
protected void write(File arquivoRemessaFisico) throws IOException{
|
||||
|
||||
if(arquivoRemessaFisico == null){
|
||||
throw new IllegalArgumentException(new NullPointerException(
|
||||
"Arquivo TXT a ser importado nulo!"));
|
||||
}
|
||||
|
||||
FileUtils.writeLines(arquivoRemessaFisico, getFlatFile().write(), "\r\n");
|
||||
}
|
||||
|
||||
protected void writeLines(File arquivoRemessaFisico) throws IOException{
|
||||
|
||||
if(arquivoRemessaFisico == null){
|
||||
throw new IllegalArgumentException(new NullPointerException(
|
||||
"Arquivo TXT a ser importado nulo!"));
|
||||
}
|
||||
|
||||
FileUtils.writeLines(arquivoRemessaFisico, this.lines, "\r\n");
|
||||
}
|
||||
|
||||
protected void writeLines() throws IOException{
|
||||
this.lines.addAll(getFlatFile().write());
|
||||
|
||||
flatFile = null;
|
||||
configure();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param arquivoRemessaFisico
|
||||
* @param arquivoRemessa
|
||||
* @throws FileNotFoundException
|
||||
* @throws IOException
|
||||
*/
|
||||
public List<String> gerarRemessa(File arquivoRemessaFisico, ArquivoRemessa arquivoRemessa) throws FileNotFoundException, IOException{
|
||||
|
||||
//log.info("Gerando Remessa: " + cfgFile.name());
|
||||
//log.info("INICIO - Bloco de Header...");
|
||||
|
||||
for(ArquivoRemessaItemInteface arquivoRemessaItem : arquivoRemessa.getItens()){
|
||||
createHeader(arquivoRemessaItem.getCabecalhoRemessa());
|
||||
//log.info("FIM - Bloco de Header...");
|
||||
|
||||
//log.info("INICIO - Bloco de Titulos...");
|
||||
for (DetalheObrigatorio titulo : arquivoRemessaItem.getTitulos()) {
|
||||
createTransacaoTitulos(titulo);
|
||||
}
|
||||
//log.info("FIM - Bloco de Titulos...");
|
||||
|
||||
//log.info("INICIO - Bloco de Trailler...");
|
||||
createTrailler(arquivoRemessaItem.getRodapeRemessa());
|
||||
//log.info("FIM - Bloco de Trailler...");
|
||||
|
||||
//log.info("INICIO - Gerando arquivo...");
|
||||
writeLines();
|
||||
//log.info("FIM - Gerando arquivo...");
|
||||
}
|
||||
|
||||
writeLines(arquivoRemessaFisico);
|
||||
|
||||
return this.lines;
|
||||
}
|
||||
|
||||
|
||||
public ArquivoRetorno lerRetorno(File arquivoRetornoFisico) throws FileNotFoundException, IOException{
|
||||
|
||||
//log.info("Gerando Retorno: " + cfgFile.name());
|
||||
//log.info("INICIO - Bloco de Header...");
|
||||
|
||||
read(arquivoRetornoFisico);
|
||||
|
||||
return loadInfo();
|
||||
}
|
||||
|
||||
private ArquivoRetorno loadInfo() {
|
||||
|
||||
ArquivoRetorno arquivoRetorno = new ArquivoRetorno();
|
||||
|
||||
Record header = getFlatFile().getRecord("Header");
|
||||
|
||||
ArquivoRetornoItem arquivoRetornoItem = new ArquivoRetornoItem();
|
||||
|
||||
arquivoRetornoItem.setCabecalhoRetorno(readHeader(header));
|
||||
|
||||
Collection<Record> registrosDeTransacoes = getFlatFile().getRecords(
|
||||
"TransacaoTitulo");
|
||||
|
||||
List<DetalheRetorno> titulos = readTransacaoTitulos(registrosDeTransacoes);
|
||||
|
||||
for(DetalheRetorno titulo : titulos){
|
||||
arquivoRetornoItem.addTitulo(titulo);
|
||||
}
|
||||
|
||||
|
||||
Record trailler = getFlatFile().getRecord("Trailler");
|
||||
|
||||
arquivoRetornoItem.setRodapeRetorno(readTrailler(trailler));
|
||||
|
||||
arquivoRetorno.addItem(arquivoRetornoItem);
|
||||
|
||||
return arquivoRetorno;
|
||||
}
|
||||
|
||||
|
||||
protected abstract void createHeader(CabecalhoRemessa cabecalhoRemessaParam);
|
||||
|
||||
protected abstract void createTransacaoTitulos(DetalheObrigatorio tituloParam);
|
||||
|
||||
protected abstract Record createDadosBoletos(DadosBoleto boleto);
|
||||
|
||||
protected abstract Record createRateioDeCredito(RateioDeCredito rateioDeCredito);
|
||||
|
||||
protected abstract void createTrailler(RodapeRemessa trailler);
|
||||
|
||||
protected abstract CabecalhoRetorno readHeader(Record header);
|
||||
|
||||
protected abstract List<DetalheRetorno> readTransacaoTitulos(Collection<Record> registrosDeTransacoes);
|
||||
|
||||
protected abstract RodapeRetorno readTrailler(Record trailler);
|
||||
}
|
|
@ -0,0 +1,142 @@
|
|||
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.RodapeRemessa;
|
||||
import com.rjconsultores.ventaboletos.blocos.RodapeRetorno;
|
||||
import com.rjconsultores.ventaboletos.blocos.DetalheObrigatorio;
|
||||
import com.rjconsultores.ventaboletos.blocos.DetalheRetorno;
|
||||
import com.rjconsultores.ventaboletos.blocos.RateioDeCredito;
|
||||
import com.rjconsultores.ventaboletos.blocos.bradesco.CabecalhoRemessaBradesco;
|
||||
import com.rjconsultores.ventaboletos.blocos.bradesco.DetalheObrigatorioBradesco;
|
||||
import com.rjconsultores.ventaboletos.enuns.BancoLayout;
|
||||
import com.rjconsultores.ventaboletos.utils.FormataUtil;
|
||||
|
||||
public class BradescoFlatFile extends AbstractFlatFile implements RemessaInterface {
|
||||
|
||||
public BradescoFlatFile() {
|
||||
super(BancoLayout.BRADESCO_Envio);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createHeader(CabecalhoRemessa cabecalhoRemessaParam) {
|
||||
|
||||
Record header = getFlatFile().createRecord("Header");
|
||||
|
||||
CabecalhoRemessaBradesco cabecalhoRemessa = (CabecalhoRemessaBradesco) cabecalhoRemessaParam;
|
||||
|
||||
//header.setValue("IdentificacaoRemessa", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getIdentificacaoRemessa(), 1));
|
||||
//header.setValue("LiteralRemessa", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getLiteralRemessa(), 7));
|
||||
//header.setValue("CodigoServico", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getCodigoServico(), 2));
|
||||
//header.setValue("LiteralServico", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getLiteralServico(), 8));
|
||||
header.setValue("CodigoDaEmpresa", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getCodigoEmpresa().toString(), 20));
|
||||
header.setValue("NomeDaEmpresa", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNomeEmpresa(), 30));
|
||||
//header.setValue("CodigoCompensacao", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getCodigoBanco().toString(), 3));
|
||||
//header.setValue("NomeBanco", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNomeBanco(), 8));
|
||||
header.setValue("DataGravacaoArquivo", FormataUtil.formataData(cabecalhoRemessa.getDataGravacao()));
|
||||
//header.setValue("IdentificacaoSistema", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getIdentificacaoSistema(), 2));
|
||||
header.setValue("NumeroSequencialRemessa", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNumeroSequencialRemessa().toString(), 7));
|
||||
header.setValue("NumeroSequencialRegistro", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNumeroSequencialRegistro().toString(), 6));
|
||||
|
||||
getFlatFile().addRecord(header);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createTransacaoTitulos(DetalheObrigatorio tituloParam) {
|
||||
|
||||
Record transacaoTitulos = getFlatFile().createRecord("TransacaoTitulo");
|
||||
|
||||
DetalheObrigatorioBradesco titulo = (DetalheObrigatorioBradesco) tituloParam;
|
||||
|
||||
transacaoTitulos.setValue("DadosIgnorados1", FormataUtil.formatarValorPorTamanho(" ", 36));
|
||||
transacaoTitulos.setValue("NumeroControleDoParticipante", FormataUtil.formatarValorPorTamanho(titulo.getNumeroControleDoParticipante(), 25));
|
||||
transacaoTitulos.setValue("Filler1", FormataUtil.formatarValorPorTamanho("0", 8));
|
||||
transacaoTitulos.setValue("NossoNumeroComDigito", FormataUtil.formatarValorPorTamanho(titulo.getNossoNumeroComDigito(), 12));
|
||||
transacaoTitulos.setValue("DadosIgnorados2", FormataUtil.formatarValorPorTamanho("", 25));
|
||||
transacaoTitulos.setValue("QtdPagamento", FormataUtil.formatarValorPorTamanho(titulo.getQtdPagamento().toString(), 25));
|
||||
//transacaoTitulos.setValue("CodigoDeOcorrencia", FormataUtil.formatarValorPorTamanho(titulo.getCodigoDeOcorrencia().toString(), 2));
|
||||
transacaoTitulos.setValue("NumeroDoDocumento", FormataUtil.formatarValorPorTamanho(titulo.getNumeroDoDocumento(), 10));
|
||||
transacaoTitulos.setValue("Vencimento", FormataUtil.formataData(titulo.getVencimento()));
|
||||
transacaoTitulos.setValue("Valor", titulo.getValor());
|
||||
//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.formataData(titulo.getEmissao()));
|
||||
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("TipoInscricaoPagador", FormataUtil.formatarValorPorTamanho(titulo.getTipoInscricaoPagador().toString(), 2));
|
||||
transacaoTitulos.setValue("NumeroInscricaoPagador", FormataUtil.formatarValorPorTamanho(titulo.getNumeroInscricaoPagador().toString(), 14));
|
||||
transacaoTitulos.setValue("NomePagador", FormataUtil.formatarValorPorTamanho(titulo.getNomePagador(), 40));
|
||||
transacaoTitulos.setValue("EnderecoCompletoPagador", FormataUtil.formatarValorPorTamanho(titulo.getEnderecoCompletoPagado(), 40));
|
||||
transacaoTitulos.setValue("Mensagem1", FormataUtil.formatarValorPorTamanho(titulo.getMensagem1(), 12));
|
||||
transacaoTitulos.setValue("CEP_Prefixo", FormataUtil.formatarValorPorTamanho(titulo.getCEP_Prefixo().toString(), 5));
|
||||
transacaoTitulos.setValue("CEP_Sufixo", FormataUtil.formatarValorPorTamanho(titulo.getCEP_Sufixo().toString(), 3));
|
||||
transacaoTitulos.setValue("Sacador_Avalista_Mensagem2", FormataUtil.formatarValorPorTamanho(titulo.getSacador_Avalista_Mensagem2(), 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){ }
|
||||
|
||||
RateioDeCredito rateioDeCredito = titulo.getRateioDeCredito();
|
||||
|
||||
try{
|
||||
if(dadosBoleto != null){
|
||||
transacaoTitulos.addInnerRecord(createRateioDeCredito(rateioDeCredito));
|
||||
}
|
||||
}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.");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,138 @@
|
|||
package com.rjconsultores.ventaboletos.layouts;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
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.enuns.BancoLayout;
|
||||
import com.rjconsultores.ventaboletos.enuns.MotivoOcorrenciaBradesco;
|
||||
import com.rjconsultores.ventaboletos.enuns.OcorrenciaBradesco;
|
||||
|
||||
public class BradescoProcessaRetorno extends AbstractFlatFile implements RetornoInteface {
|
||||
|
||||
protected BradescoProcessaRetorno() {
|
||||
super(BancoLayout.BRADESCO_Retorno);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createHeader(CabecalhoRemessa cabecalhoRemessaParam) {
|
||||
throw new UnsupportedOperationException("Somente classe de Envio.");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createTransacaoTitulos(DetalheObrigatorio tituloParam) {
|
||||
throw new UnsupportedOperationException("Somente classe de Envio.");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Record createDadosBoletos(DadosBoleto boleto) {
|
||||
throw new UnsupportedOperationException("Somente classe de Envio.");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Record createRateioDeCredito(RateioDeCredito rateioDeCredito) {
|
||||
throw new UnsupportedOperationException("Somente classe de Envio.");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createTrailler(RodapeRemessa trailler) {
|
||||
throw new UnsupportedOperationException("Somente classe de Envio.");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected CabecalhoRetorno readHeader(Record header) {
|
||||
|
||||
CabecalhoRetorno cabecalhoRetorno = new CabecalhoRetorno();
|
||||
String codEmpresa = header.getValue("CodigoDaEmpresa");
|
||||
String numeroDoAvisoBancario = header.getValue("NumeroDoAvisoBancario");
|
||||
|
||||
cabecalhoRetorno.setCodEmpresa(codEmpresa);
|
||||
cabecalhoRetorno.setNumeroDoAvisoBancario(numeroDoAvisoBancario);
|
||||
|
||||
return cabecalhoRetorno;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<DetalheRetorno> readTransacaoTitulos(Collection<Record> registrosDeTransacoes) {
|
||||
|
||||
List<DetalheRetorno> retornos = new ArrayList<DetalheRetorno>();
|
||||
|
||||
for (Record record : registrosDeTransacoes) {
|
||||
|
||||
DetalheRetorno detalheRetorno = new DetalheRetorno();
|
||||
|
||||
String numeroControleDoParticipante = record.getValue("NumeroControleDoParticipante");
|
||||
String codigoDeOcorrencia = record.getValue("CodigoDeOcorrencia");
|
||||
String codigoDeMotivo1 = record.getValue("CodigoDeMotivo1");
|
||||
String codigoDeMotivo2 = record.getValue("CodigoDeMotivo2");
|
||||
String codigoDeMotivo3 = record.getValue("CodigoDeMotivo3");
|
||||
String codigoDeMotivo4 = record.getValue("CodigoDeMotivo4");
|
||||
String codigoDeMotivo5 = record.getValue("CodigoDeMotivo5");
|
||||
|
||||
OcorrenciaBradesco ocorrencia = OcorrenciaBradesco.getInstance(codigoDeOcorrencia);
|
||||
detalheRetorno.setNumeroControleDoParticipante(numeroControleDoParticipante);
|
||||
detalheRetorno.setOcorrencia(ocorrencia);
|
||||
|
||||
if(checkIsNullOrBlank(codigoDeMotivo1)){
|
||||
MotivoOcorrenciaBradesco motivoOcorrencia = MotivoOcorrenciaBradesco.getInstance(ocorrencia, codigoDeMotivo1);
|
||||
detalheRetorno.addMotivoOcorrencia(motivoOcorrencia);
|
||||
}
|
||||
|
||||
if(checkIsNullOrBlank(codigoDeMotivo2)){
|
||||
MotivoOcorrenciaBradesco motivoOcorrencia = MotivoOcorrenciaBradesco.getInstance(ocorrencia, codigoDeMotivo2);
|
||||
detalheRetorno.addMotivoOcorrencia(motivoOcorrencia);
|
||||
}
|
||||
|
||||
if(checkIsNullOrBlank(codigoDeMotivo3)){
|
||||
MotivoOcorrenciaBradesco motivoOcorrencia = MotivoOcorrenciaBradesco.getInstance(ocorrencia, codigoDeMotivo3);
|
||||
detalheRetorno.addMotivoOcorrencia(motivoOcorrencia);
|
||||
}
|
||||
|
||||
if(checkIsNullOrBlank(codigoDeMotivo4)){
|
||||
MotivoOcorrenciaBradesco motivoOcorrencia = MotivoOcorrenciaBradesco.getInstance(ocorrencia, codigoDeMotivo4);
|
||||
detalheRetorno.addMotivoOcorrencia(motivoOcorrencia);
|
||||
}
|
||||
|
||||
if(checkIsNullOrBlank(codigoDeMotivo5)){
|
||||
MotivoOcorrenciaBradesco motivoOcorrencia = MotivoOcorrenciaBradesco.getInstance(ocorrencia, codigoDeMotivo5);
|
||||
detalheRetorno.addMotivoOcorrencia(motivoOcorrencia);
|
||||
}
|
||||
|
||||
|
||||
retornos.add(detalheRetorno);
|
||||
}
|
||||
|
||||
return retornos;
|
||||
}
|
||||
|
||||
private boolean checkIsNullOrBlank(String value){
|
||||
|
||||
if(value != null){
|
||||
return StringUtils.isEmpty(value);
|
||||
}
|
||||
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RodapeRetorno readTrailler(Record trailler) {
|
||||
|
||||
RodapeRetorno rodapeRetorno = new RodapeRetorno();
|
||||
|
||||
|
||||
return rodapeRetorno;
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
package com.rjconsultores.ventaboletos.layouts;
|
||||
|
||||
import com.rjconsultores.ventaboletos.enuns.BancoLayout;
|
||||
|
||||
public class CNABFactory {
|
||||
|
||||
|
||||
public static RemessaInterface createRemessa(BancoLayout bancoLayout){
|
||||
|
||||
switch (bancoLayout) {
|
||||
case BRADESCO_Envio:
|
||||
return new BradescoFlatFile();
|
||||
case ITAU_Envio:
|
||||
return new ItauFlatFile();
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static RetornoInteface createRetorno(BancoLayout bancoLayout){
|
||||
|
||||
switch (bancoLayout) {
|
||||
case BRADESCO_Retorno:
|
||||
return new BradescoProcessaRetorno();
|
||||
case ITAU_Retorno:
|
||||
return null;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,160 @@
|
|||
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.itau.CabecalhoRemessaItau;
|
||||
import com.rjconsultores.ventaboletos.blocos.itau.DetalheObrigatorioItau;
|
||||
import com.rjconsultores.ventaboletos.enuns.BancoLayout;
|
||||
import com.rjconsultores.ventaboletos.utils.FormataUtil;
|
||||
|
||||
public class ItauFlatFile extends AbstractFlatFile implements RemessaInterface {
|
||||
|
||||
public ItauFlatFile() {
|
||||
super(BancoLayout.ITAU_Envio);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createHeader(CabecalhoRemessa cabecalhoRemessaParam) {
|
||||
|
||||
Record header = getFlatFile().createRecord("Header");
|
||||
|
||||
CabecalhoRemessaItau cabecalhoRemessa = (CabecalhoRemessaItau) cabecalhoRemessaParam;
|
||||
|
||||
//header.setValue("IdentificacaoRemessa", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getIdentificacaoRemessa(), 1));
|
||||
//header.setValue("LiteralRemessa", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getLiteralRemessa(), 7));
|
||||
//header.setValue("CodigoDeServico", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getCodigoDeServico(), 2));
|
||||
//header.setValue("LiteralServico", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getLiteralServico(), 15));
|
||||
//header.setValue("Agencia", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getIdentificacaoRemessa(), 4));
|
||||
//header.setValue("Zeros", "00");
|
||||
header.setValue("Conta", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getConta().toString(), 5));
|
||||
header.setValue("DacConta", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getDacConta().toString(), 1));
|
||||
header.setValue("Brancos1", FormataUtil.formatarValorPorTamanho(" ", 8));
|
||||
header.setValue("NomeEmpresa", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNomeEmpresa().toString(), 30));
|
||||
//header.setValue("CodigoCompensacao", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getIdentificacaoRemessa(), 3));
|
||||
//header.setValue("NomeBanco", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getIdentificacaoRemessa(), 15));
|
||||
header.setValue("DataGeracao", FormataUtil.formataData(cabecalhoRemessa.getDataGeracao()));
|
||||
header.setValue("Brancos2", FormataUtil.formatarValorPorTamanho(" ", 294));
|
||||
header.setValue("NumeroSequencialRegistro", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNumeroSequencialRegistro().toString(), 6));
|
||||
|
||||
getFlatFile().addRecord(header);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createTransacaoTitulos(DetalheObrigatorio tituloParam) {
|
||||
|
||||
Record transacaoTitulos = getFlatFile().createRecord("TransacaoTitulo");
|
||||
|
||||
DetalheObrigatorioItau titulo = (DetalheObrigatorioItau) tituloParam;
|
||||
|
||||
//transacaoTitulos.setValue("CodigoInscricao", FormataUtil.formatarValorPorTamanho(titulo.getCodigoInscricao().toString(), 2));
|
||||
transacaoTitulos.setValue("NumeroInscricao", FormataUtil.formatarValorPorTamanho(titulo.getNumeroInscricao().toString(), 14));
|
||||
transacaoTitulos.setValue("Agencia", FormataUtil.formatarValorPorTamanho(titulo.getAgencia().toString(), 4));
|
||||
transacaoTitulos.setValue("Zeros", "00");
|
||||
transacaoTitulos.setValue("Conta", FormataUtil.formatarValorPorTamanho(titulo.getConta().toString(), 5));
|
||||
transacaoTitulos.setValue("DacConta", FormataUtil.formatarValorPorTamanho(titulo.getDacConta().toString(), 1));
|
||||
transacaoTitulos.setValue("Brancos1", FormataUtil.formatarValorPorTamanho(" ", 4));
|
||||
transacaoTitulos.setValue("InstrucaoAlegacao", FormataUtil.formatarValorPorTamanho(titulo.getInstrucaoAlegacao().toString(), 4));
|
||||
transacaoTitulos.setValue("UsoDaEmpresa", FormataUtil.formatarValorPorTamanho(titulo.getUsoDaEmpresa(), 25));
|
||||
transacaoTitulos.setValue("NossoNumeroSemDigito", FormataUtil.formatarValorPorTamanho(titulo.getNossoNumero().toString(), 8));
|
||||
transacaoTitulos.setValue("QtdMoeda", titulo.getQtdMoeda());
|
||||
transacaoTitulos.setValue("NrCarteira", FormataUtil.formatarValorPorTamanho(titulo.getNrCarteira().toString(), 3));
|
||||
transacaoTitulos.setValue("UsoDoBanco", FormataUtil.formatarValorPorTamanho(titulo.getUsoDoBanco(), 21));
|
||||
transacaoTitulos.setValue("CodigoCarteira", FormataUtil.formatarValorPorTamanho(titulo.getCodigoCarteira(), 1));
|
||||
transacaoTitulos.setValue("CodigoDeOcorrencia", FormataUtil.formatarValorPorTamanho(titulo.getCodigoDeOcorrencia().toString(), 2));
|
||||
transacaoTitulos.setValue("NumeroDoDocumento", FormataUtil.formatarValorPorTamanho(titulo.getNumeroDoDocumento().toString(), 10));
|
||||
transacaoTitulos.setValue("Vencimento", FormataUtil.formataData(titulo.getVencimento()));
|
||||
transacaoTitulos.setValue("Valor", titulo.getValor());
|
||||
//transacaoTitulos.setValue("CodigoCompensacaoBancoRecebedor", FormataUtil.formatarValorPorTamanho(titulo.getCodigoCompensacaoBancoRecebedor().toString(), 3));
|
||||
transacaoTitulos.setValue("AgenciaCobradora", FormataUtil.formatarValorPorTamanho(titulo.getAgenciaCobradora().toString(), 5));
|
||||
transacaoTitulos.setValue("EspecieDeTitulo", FormataUtil.formatarValorPorTamanho(titulo.getEspecieDeTitulo().toString(), 2));
|
||||
transacaoTitulos.setValue("Aceite", FormataUtil.formatarValorPorTamanho(titulo.getAceite(), 1));
|
||||
transacaoTitulos.setValue("Emissao", FormataUtil.formataData(titulo.getEmissao()));
|
||||
transacaoTitulos.setValue("Instrucao1", FormataUtil.formatarValorPorTamanho(titulo.getInstrucao1(), 2));
|
||||
transacaoTitulos.setValue("Instrucao2", FormataUtil.formatarValorPorTamanho(titulo.getInstrucao2(), 2));
|
||||
transacaoTitulos.setValue("JurosDeMora", titulo.getJurosDeMora());
|
||||
transacaoTitulos.setValue("DataDesconto", FormataUtil.formataData(titulo.getDataDesconto()));
|
||||
transacaoTitulos.setValue("DescontoConcedido", titulo.getDescontoConcedido());
|
||||
transacaoTitulos.setValue("IOF_Devido", titulo.getIOF_Devido());
|
||||
transacaoTitulos.setValue("AbatimentoConcedido", titulo.getAbatimentoConcedido());
|
||||
transacaoTitulos.setValue("TipoInscricaoSacado", FormataUtil.formatarValorPorTamanho(titulo.getTipoInscricaoSacado().getId(), 2));
|
||||
transacaoTitulos.setValue("NumeroInscricaoSacado", FormataUtil.formatarValorPorTamanho(titulo.getNumeroInscricaoSacado().toString(), 14));
|
||||
transacaoTitulos.setValue("NomeSacado", FormataUtil.formatarValorPorTamanho(titulo.getNomeSacado().toString(), 30));
|
||||
transacaoTitulos.setValue("Brancos2", FormataUtil.formatarValorPorTamanho(" ", 2));
|
||||
transacaoTitulos.setValue("LogradouroSacado", FormataUtil.formatarValorPorTamanho(titulo.getLogradouroSacado().toString(), 40));
|
||||
transacaoTitulos.setValue("BairroSacado", FormataUtil.formatarValorPorTamanho(titulo.getBairroSacado().toString(), 12));
|
||||
transacaoTitulos.setValue("CepSacado", FormataUtil.formatarValorPorTamanho(titulo.getCepSacado().toString(), 8));
|
||||
transacaoTitulos.setValue("Cidade", FormataUtil.formatarValorPorTamanho(titulo.getCidade(), 15));
|
||||
transacaoTitulos.setValue("Estado", FormataUtil.formatarValorPorTamanho(titulo.getEstado(), 2));
|
||||
transacaoTitulos.setValue("SacadorAvalista", FormataUtil.formatarValorPorTamanho(titulo.getSacadorAvalista(), 30));
|
||||
transacaoTitulos.setValue("Brancos3", FormataUtil.formatarValorPorTamanho(" ", 2));
|
||||
transacaoTitulos.setValue("DataDeMora", FormataUtil.formataData(titulo.getDataDeMora()));
|
||||
transacaoTitulos.setValue("Prazo", FormataUtil.formatarValorPorTamanho(titulo.getPrazo().toString(), 2));
|
||||
transacaoTitulos.setValue("Brancos4", FormataUtil.formatarValorPorTamanho(" ", 2));
|
||||
transacaoTitulos.setValue("NumeroSequencialRegistro", FormataUtil.formatarValorPorTamanho(titulo.getNumeroSequencialRegistro().toString(), 6));
|
||||
|
||||
DadosBoleto dadosBoleto = titulo.getDadosBoleto();
|
||||
|
||||
try{
|
||||
if(dadosBoleto != null){
|
||||
transacaoTitulos.addInnerRecord(createDadosBoletos(dadosBoleto));
|
||||
}
|
||||
}catch(UnsupportedOperationException e){ }
|
||||
|
||||
RateioDeCredito rateioDeCredito = titulo.getRateioDeCredito();
|
||||
|
||||
try{
|
||||
if(dadosBoleto != null){
|
||||
transacaoTitulos.addInnerRecord(createRateioDeCredito(rateioDeCredito));
|
||||
}
|
||||
}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.");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
package com.rjconsultores.ventaboletos.layouts;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import com.rjconsultores.ventaboletos.ArquivoRemessa;
|
||||
import com.rjconsultores.ventaboletos.ArquivoRemessaItem;
|
||||
|
||||
public interface RemessaInterface {
|
||||
|
||||
public List<String> gerarRemessa(File arquivoRemessaFisico, ArquivoRemessa arquivoRemessa) throws FileNotFoundException, IOException;
|
||||
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
package com.rjconsultores.ventaboletos.layouts;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.rjconsultores.ventaboletos.ArquivoRetorno;
|
||||
|
||||
public interface RetornoInteface {
|
||||
|
||||
public ArquivoRetorno lerRetorno(File arquivoRetornoFisico) throws FileNotFoundException, IOException;
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
package com.rjconsultores.ventaboletos.utils;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public class FormataUtil {
|
||||
|
||||
public static String formatarValorPorTamanho(String value, int tamanho) {
|
||||
|
||||
value = value == null ? "" : value;
|
||||
|
||||
if(value.length() > tamanho){
|
||||
value = value.substring(0, tamanho);
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
public static Date formataData(Date dataGravacao) {
|
||||
|
||||
if(dataGravacao == null){
|
||||
dataGravacao = new Date();
|
||||
}
|
||||
|
||||
return dataGravacao;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,172 @@
|
|||
package com.rjconsultores.ventaboletos.utils;
|
||||
|
||||
import java.math.BigInteger;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
public class NossoNumeroUtils {
|
||||
|
||||
/**
|
||||
* Devolve o nosso numero do Bradesco com o DV calculado (Tamanho 12)...
|
||||
* @param numCarteira
|
||||
* @param nossoNumero
|
||||
* @return
|
||||
*/
|
||||
public static String calcularNossonumeroBradesco(Integer numCarteira, BigInteger nossoNumero){
|
||||
|
||||
|
||||
return StringUtils.right("00000000000" + nossoNumero, 11) + dacBradesco(numCarteira, nossoNumero);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Devolve o nosso numero do Itau com o DV calculado (Tamanho 9)...
|
||||
* @param codAgencia
|
||||
* @param numConta
|
||||
* @param numCarteira
|
||||
* @param nossoNumero
|
||||
* @return
|
||||
*/
|
||||
public static String calcularNossoNumeroItau(Integer codAgencia, Integer numConta, Integer numCarteira, BigInteger nossoNumero){
|
||||
|
||||
|
||||
return StringUtils.right("00000000" + nossoNumero, 8) + dacItau(codAgencia, numConta, numCarteira, nossoNumero);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Calcula do DV para o Bradesco
|
||||
* @param numCarteira
|
||||
* @param nossoNumero
|
||||
* @return
|
||||
*/
|
||||
public static String dacBradesco(Integer numCarteira, BigInteger nossoNumero){
|
||||
|
||||
|
||||
int multiplicadores[] = {2,7,6,5,4,3,2,7,6,5,4,3,2};
|
||||
int multiplicandos[] = new int[13];
|
||||
|
||||
String carteira = StringUtils.right("00" + numCarteira, 2);
|
||||
String nNumero = StringUtils.right("00000000000" + nossoNumero, 11);
|
||||
|
||||
String base = carteira + 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 = 11 - (dac % 11);
|
||||
|
||||
return (dac == 10) ? "P" : dac + "";
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Calcula do DV para o Itau
|
||||
* @param codAgencia
|
||||
* @param numConta
|
||||
* @param numCarteira
|
||||
* @param nossoNumero
|
||||
* @return
|
||||
*/
|
||||
public static String dacItau(Integer codAgencia, Integer numConta, Integer numCarteira, BigInteger nossoNumero){
|
||||
|
||||
|
||||
int multiplicadores[] = {1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2};
|
||||
int multiplicandos[] = new int[20];
|
||||
|
||||
String agencia = StringUtils.right("0000" + codAgencia, 4);
|
||||
String conta = StringUtils.right("00000" + numConta, 5);
|
||||
String carteira = StringUtils.right("000" + numCarteira, 3);
|
||||
String nNumero = StringUtils.right("00000000" + nossoNumero, 8);
|
||||
|
||||
String base = agencia + conta + carteira + 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){
|
||||
|
||||
if(v < 10){
|
||||
dac += v;
|
||||
}else{
|
||||
dac += 1 + (v - 10);
|
||||
}
|
||||
}
|
||||
|
||||
dac = 10 - (dac % 10);
|
||||
|
||||
|
||||
|
||||
return dac + "";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Calcula do DV para o Itau (Numero Documento)
|
||||
* @param codAgencia
|
||||
* @param numConta
|
||||
* @param numCarteira
|
||||
* @param nossoNumero
|
||||
* @return
|
||||
*/
|
||||
public static String dvDocumentoItau(Integer numeroDoc){
|
||||
|
||||
|
||||
int multiplicadores[] = {1,2,1,2,1,2,1,2,1,2};
|
||||
int multiplicandos[] = new int[10];
|
||||
|
||||
String doc = StringUtils.right("0000000000" + numeroDoc, 10);
|
||||
|
||||
String base = doc;
|
||||
|
||||
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){
|
||||
|
||||
if(v < 10){
|
||||
dac += v;
|
||||
}else{
|
||||
dac += 1 + (v - 10);
|
||||
}
|
||||
}
|
||||
|
||||
dac = 10 - (dac % 10);
|
||||
|
||||
|
||||
|
||||
return dac + "";
|
||||
}
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
System.out.println(calcularNossonumeroBradesco(19, new BigInteger("00166509652")));
|
||||
System.out.println(calcularNossonumeroBradesco(19, new BigInteger("00000000001")));
|
||||
System.out.println(calcularNossoNumeroItau(57, 72192, 109, new BigInteger("987123451")));
|
||||
System.out.println(dvDocumentoItau(1108954));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,127 @@
|
|||
<?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/WORKSPACE/TexgitSchema.xsd"
|
||||
version="1.0-academic">
|
||||
|
||||
<FlatFile>
|
||||
<layout>
|
||||
<name>Arquivo-Remessa_BradescoCNAB400</name>
|
||||
<version>Version 08, Published: 2009/09/30</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 Label
|
||||
1 - Cobrança - Transação
|
||||
2 - Mensagem (opcional)
|
||||
3 - Rateio de Crédito (opcional)
|
||||
7 – Sacador Avalista (opcional)
|
||||
9 - Trailler (Papel de finalizador de lote)
|
||||
</description>
|
||||
</layout>
|
||||
<GroupOfRecords>
|
||||
<Record name="Header" description="Protocolo de comunicação" repeatable="true">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="0" length="1" position="1" />
|
||||
<Field name="IdentificacaoRemessa" value="1" length="1" />
|
||||
<Field name="LiteralRemessa" value="REMESSA" length="7" />
|
||||
<Field name="CodigoDeServico" value="01" length="2" />
|
||||
<Field name="LiteralServico" value="COBRANCA" length="15" />
|
||||
<Field name="CodigoDaEmpresa" length="20" type="STRING" padding="ZERO_LEFT" />
|
||||
<Field name="NomeDaEmpresa" length="30" />
|
||||
<Field name="CodigoCompensacao" value="237" length="3" />
|
||||
<Field name="NomeBanco" value="BRADESCO" length="15" />
|
||||
<Field name="DataGravacaoArquivo" length="6" type="DATE" format="DATE_DDMMYY" />
|
||||
<Field name="Filler1" length="8" />
|
||||
<Field name="IdentificacaoSistema" value="MX" length="2" />
|
||||
<Field name="NumeroSequencialRemessa" length="7" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="Filler2" length="277" />
|
||||
<Field name="NumeroSequencialRegistro" type="INTEGER" length="6" padding="ZERO_LEFT" />
|
||||
<!--<SequencialNumber name="sequencia" type="INTEGER" length="6" position="15" padding="ZERO_LEFT" />-->
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
<Record name="TransacaoTitulo" repeatable="true">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="1" length="1" position="1" />
|
||||
<Field name="DadosIgnorados1" length="36" />
|
||||
<Field name="NumeroControleDoParticipante" length="25" />
|
||||
<Field name="Filler1" type="INTEGER" length="8" padding="ZERO_LEFT" />
|
||||
<Field name="NossoNumeroComDigito" length="12" />
|
||||
<Field name="DadosIgnorados2" length="24" />
|
||||
<Field name="QtdPagamento" length="2" type="INTEGER" blankAccepted="true" />
|
||||
<Field name="CodigoDeOcorrencia" length="2" type="INTEGER" value="01" padding="ZERO_LEFT" />
|
||||
<Field name="NumeroDoDocumento" length="10" />
|
||||
<Field name="Vencimento" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" />
|
||||
<Field name="Valor" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="BancoCobranca" value="0" length="3" padding="ZERO_LEFT" />
|
||||
<Field name="AgenciaAgencia" type="INTEGER" value="0" length="5" padding="ZERO_LEFT" />
|
||||
<Field name="EspecieDeTitulo" length="2" />
|
||||
<Field name="Identificacao" length="1" type="CHARACTER" value="N" />
|
||||
<Field name="Emissao" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" />
|
||||
<Field name="Instrucao1" length="2" />
|
||||
<Field name="Instrucao2" length="2" />
|
||||
<Field name="ValorAtraso" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="DataLimiteDesconto" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" />
|
||||
<Field name="ValorDesconto" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="ValorIOF" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="ValorAbatimentoConcedido" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="TipoInscricaoPagador" length="2" type="INTEGER" />
|
||||
<Field name="NumeroInscricaoPagador" length="14" type="INTEGER" />
|
||||
<Field name="NomePagador" length="40" />
|
||||
<Field name="EnderecoCompletoPagador" length="40" />
|
||||
<Field name="Mensagem1" length="12" />
|
||||
<Field name="CEP_Prefixo" length="5" />
|
||||
<Field name="CEP_Sufixo" length="3" />
|
||||
<Field name="Sacador_Avalista_Mensagem2" length="60" />
|
||||
<Field name="NumeroSequencialRegistro" type="INTEGER" length="6" padding="ZERO_LEFT" />
|
||||
</GroupOfFields>
|
||||
<!--
|
||||
<GroupOfInnerRecords>
|
||||
<Record name="DadosBoleto">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="2" length="1" position="1" />
|
||||
<Field name="Mensagem1" length="80" />
|
||||
<Field name="Mensagem2" length="80" />
|
||||
<Field name="Mensagem3" length="80" />
|
||||
<Field name="Mensagem4" length="80" />
|
||||
<Field name="Filler" length="45" />
|
||||
<Field name="Carteira" length="3" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="Agencia" length="5" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="ContaCorrente" length="7" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="DigitoCC" length="1" type="CHARACTER" />
|
||||
<Field name="NossoNumero" length="11" padding="ZERO_LEFT" />
|
||||
<Field name="DigitoNN" length="1" type="CHARACTER" />
|
||||
<SequencialNumber name="sequencia" type="INTEGER" length="6" position="13" padding="ZERO_LEFT" />
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
Nao trabalhamos com rateio, mas se estiver no arquivo mostre esses dados
|
||||
<Record name="RateioDeCredito">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="3" length="1" position="1" />
|
||||
<Field name="IdentificacaoEmpresa" length="16" />
|
||||
<Field name="NossoNumero" length="12" padding="ZERO_LEFT" />
|
||||
<Field name="DadosIgnorados" length="371" />
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
</GroupOfInnerRecords>
|
||||
-->
|
||||
</Record>
|
||||
<Record name="Trailler" repeatable="true">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="9" length="1" position="1" />
|
||||
<Field name="Filler" length="393" />
|
||||
<Field name="NumeroSequencialRegistro" type="INTEGER" length="6" padding="ZERO_LEFT" />
|
||||
<!-- <SequencialNumber name="sequencia" type="INTEGER" length="6" position="3" padding="ZERO_LEFT" /> -->
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
</GroupOfRecords>
|
||||
</FlatFile>
|
||||
|
||||
</txg:Texgit>
|
|
@ -0,0 +1,124 @@
|
|||
<?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-Retorno_BradescoCNAB400</name>
|
||||
<version>Version 08, Published: 2009/09/30</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 RETORNO, REGISTROS:
|
||||
|
||||
0 - Header Label
|
||||
1 - Cobrança - Transação
|
||||
3 - Rateio de Crédito (opcional)
|
||||
9 - Trailler (Papel de finalizador de lote e totalizador)
|
||||
</description>
|
||||
</layout>
|
||||
<GroupOfRecords>
|
||||
<Record name="Header" description="Protocolo de comunicação">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="0" length="1" position="1" />
|
||||
<Field name="IdentificacaoRetorno" value="1" length="1" />
|
||||
<Field name="LiteralRetorno" value="RETORNO" length="7" />
|
||||
<Field name="CodigoDeServico" value="01" length="2" />
|
||||
<Field name="LiteralServico" value="COBRANCA" length="15" />
|
||||
<Field name="CodigoDaEmpresa" length="20" type="STRING" padding="ZERO_LEFT" />
|
||||
<Field name="NomeDaEmpresa" length="30" />
|
||||
<Field name="CodigoCompensacao" value="237" length="3" />
|
||||
<Field name="NomeBanco" value="BRADESCO" length="15" />
|
||||
<Field name="DataGravacaoArquivo" length="6" type="DATE" format="DATE_DDMMYY" />
|
||||
<Field name="Filler1" length="8" />
|
||||
<Field name="NumeroDoAvisoBancario" length="5" />
|
||||
<Field name="Filler2" length="266" />
|
||||
<Field name="DataDoCredito" length="6" type="DATE" format="DATE_DDMMYY" />
|
||||
<Field name="Filler3" length="9" />
|
||||
<Field name="NumeroSequencialRegistro" type="INTEGER" length="6" padding="ZERO_LEFT" />
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
<Record name="TransacaoTitulo" repeatable="true">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="1" length="1" position="1" />
|
||||
<Field name="DadosIgnorados1" length="36" />
|
||||
<Field name="NumeroControleDoParticipante" length="25" />
|
||||
<Field name="Filler1" length="8" padding="ZERO_LEFT" />
|
||||
<Field name="NossoNumeroComDigito" length="12" />
|
||||
<Field name="DadosIgnorados2" length="25" />
|
||||
<Field name="Carteira" length="1" type="INTEGER" value="0" />
|
||||
<Field name="CodigoDeOcorrencia" length="2" type="INTEGER" value="0" padding="ZERO_LEFT" />
|
||||
<Field name="DataDaOcorrencia" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" />
|
||||
<Field name="NumeroDoDocumento" length="10" />
|
||||
<Field name="NossoNumeroComDigito-Repetido" length="20" />
|
||||
<Field name="Vencimento" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" />
|
||||
<Field name="Valor" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="CodigoCompensacaoBancoRecebedor" value="0" length="3" padding="ZERO_LEFT" />
|
||||
<Field name="PrefixoDaAgenciaRecebedora" type="INTEGER" value="0" length="5" padding="ZERO_LEFT" />
|
||||
<Field name="EspecieDeTitulo" length="2" />
|
||||
<Field name="DespesasDeCobranca" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="OutrasDespesasCustasDeProtesto" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="JurosOperacaoEmAtraso" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="IOF_Devido" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="AbatimentoConcedido" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="DescontoConcedido" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="ValorPago" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="JurosDeMora" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="OutrosCreditos" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="Filler2" length="2" />
|
||||
<Field name="MotivoConfirmacaoDeProtesto" length="1" type="CHARACTER" />
|
||||
<Field name="DataDoCredito" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" blankAccepted="true" />
|
||||
<Field name="OrigemDoPagamento" length="3" padding="ZERO_LEFT" />
|
||||
<Field name="DadosIgnorados4" length="14" />
|
||||
<!-- Campo Inteligente tamanho 10 ex: [0005712341]= rjeicao 00, rejeicao 05, rejeicao 71, .. -->
|
||||
<Field name="CodigoDeMotivo1" length="2" type="INTEGER" value="0" padding="ZERO_LEFT" />
|
||||
<Field name="CodigoDeMotivo2" length="2" type="INTEGER" value="0" padding="ZERO_LEFT" />
|
||||
<Field name="CodigoDeMotivo3" length="2" type="INTEGER" value="0" padding="ZERO_LEFT" />
|
||||
<Field name="CodigoDeMotivo4" length="2" type="INTEGER" value="0" padding="ZERO_LEFT" />
|
||||
<Field name="CodigoDeMotivo5" length="2" type="INTEGER" value="0" padding="ZERO_LEFT" />
|
||||
<Field name="Filler3" length="40" />
|
||||
<Field name="NumeroDoCartorio" length="2" />
|
||||
<Field name="NumeroDoProtocolo" length="10" />
|
||||
<Field name="Filler4" length="14" />
|
||||
<Field name="NumeroSequencialRegistro" type="INTEGER" length="6" padding="ZERO_LEFT" />
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
<Record name="Trailler">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="9" length="1" position="1" />
|
||||
<Field name="DadosIgnorados1" length="16" />
|
||||
<Field name="QuantidadeDeTitulosEmCobranca" length="8" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="ValorTotalEmCobranca" type="BIGDECIMAL" length="14" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="DadosIgnorados2" length="18" />
|
||||
<Field name="QtdEntradaConfirmadaC02" length="5" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="ValEntradaConfirmadaC02" type="BIGDECIMAL" length="12" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="ValTotLiquidacaoC06" type="BIGDECIMAL" length="12" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="QtdLiquidacaoC06" length="5" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="ValLiquidacaoC06" type="BIGDECIMAL" length="12" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="QtdBaixaC09C10" length="5" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="ValBaixaC09C10" type="BIGDECIMAL" length="12" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="QtdAbatimentoCanceladoC13" length="5" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="ValAbatimentoCanceladoC13" type="BIGDECIMAL" length="12" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="QtdVencimentoAlteradoC14" length="5" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="ValVencimentoAlteradoC14" type="BIGDECIMAL" length="12" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="QtdAbatimentoConcedidoC12" length="5" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="ValAbatimentoConcedidoC12" type="BIGDECIMAL" length="12" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="QtdConfirmacaoInstProtestoC19" length="5" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="ValConfirmacaoInstProtestoC19" type="BIGDECIMAL" length="12" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="Filler1" length="174" />
|
||||
<Field name="DadosIgnorados2" length="23" />
|
||||
<Field name="Filler2" length="9" />
|
||||
<Field name="NumeroSequencialRegistro" type="INTEGER" length="6" padding="ZERO_LEFT" />
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
</GroupOfRecords>
|
||||
</FlatFile>
|
||||
|
||||
</txg:Texgit>
|
|
@ -0,0 +1,124 @@
|
|||
<?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/WORKSPACE/TexgitSchema.xsd"
|
||||
version="1.0-academic">
|
||||
|
||||
<FlatFile>
|
||||
<layout>
|
||||
<name>Arquivo-Retorno_BradescoCNAB400</name>
|
||||
<version>Version 08, Published: 2009/09/30</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 RETORNO, REGISTROS:
|
||||
|
||||
0 - Header Label
|
||||
1 - Cobrança - Transação
|
||||
3 - Rateio de Crédito (opcional)
|
||||
9 - Trailler (Papel de finalizador de lote e totalizador)
|
||||
</description>
|
||||
</layout>
|
||||
<GroupOfRecords>
|
||||
<Record name="Header" description="Protocolo de comunicação">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="0" length="1" position="1" />
|
||||
<Field name="IdentificacaoRetorno" value="1" length="1" />
|
||||
<Field name="LiteralRetorno" value="RETORNO" length="7" />
|
||||
<Field name="CodigoDeServico" value="01" length="2" />
|
||||
<Field name="LiteralServico" value="COBRANCA" length="15" />
|
||||
<Field name="CodigoDaEmpresa" length="20" type="STRING" padding="ZERO_LEFT" />
|
||||
<Field name="NomeDaEmpresa" length="30" />
|
||||
<Field name="CodigoCompensacao" value="237" length="3" />
|
||||
<Field name="NomeBanco" value="BRADESCO" length="15" />
|
||||
<Field name="DataGravacaoArquivo" length="6" type="DATE" format="DATE_DDMMYY" />
|
||||
<Field name="Filler1" length="8" />
|
||||
<Field name="NumeroDoAvisoBancario" length="5" />
|
||||
<Field name="Filler2" length="266" />
|
||||
<Field name="DataDoCredito" length="6" type="DATE" format="DATE_DDMMYY" />
|
||||
<Field name="Filler3" length="9" />
|
||||
<Field name="NumeroSequencialRegistro" type="INTEGER" length="6" padding="ZERO_LEFT" />
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
<Record name="TransacaoTitulo" repeatable="true">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="1" length="1" position="1" />
|
||||
<Field name="DadosIgnorados1" length="36" />
|
||||
<Field name="NumeroControleDoParticipante" length="25" />
|
||||
<Field name="Filler1" length="8" padding="ZERO_LEFT" />
|
||||
<Field name="NossoNumeroComDigito" length="12" />
|
||||
<Field name="DadosIgnorados2" length="25" />
|
||||
<Field name="Carteira" length="1" type="INTEGER" value="0" />
|
||||
<Field name="CodigoDeOcorrencia" length="2" type="INTEGER" value="0" padding="ZERO_LEFT" />
|
||||
<Field name="DataDaOcorrencia" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" />
|
||||
<Field name="NumeroDoDocumento" length="10" />
|
||||
<Field name="NossoNumeroComDigito-Repetido" length="20" />
|
||||
<Field name="Vencimento" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" />
|
||||
<Field name="Valor" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="CodigoCompensacaoBancoRecebedor" value="0" length="3" padding="ZERO_LEFT" />
|
||||
<Field name="PrefixoDaAgenciaRecebedora" type="INTEGER" value="0" length="5" padding="ZERO_LEFT" blankAccepted="true"/>
|
||||
<Field name="EspecieDeTitulo" length="2" />
|
||||
<Field name="ValorDaTarifa" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="OutrasDespesas" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="JurosDoDesconto" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="IOF_DoDesconto" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="ValorDoAbatimento" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="DescontoConcedido" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="ValorRecebido" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="JurosDeMora" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="OutrosRecebimentos" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="Filler2" length="2" />
|
||||
<Field name="MotivoConfirmacaoDeProtesto" length="1" type="CHARACTER" />
|
||||
<Field name="DataDoCredito" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" blankAccepted="true" />
|
||||
<Field name="OrigemDoPagamento" blankAccepted="true" length="3" type="INTEGER" value="0" padding="ZERO_LEFT"/>
|
||||
<Field name="DadosIgnorados4" length="14" />
|
||||
<!-- Campo Inteligente tamanho 10 ex: [0005712341]= rjeicao 00, rejeicao 05, rejeicao 71, .. -->
|
||||
<Field name="CodigoDeMotivo1" length="2" type="INTEGER" value="0" padding="ZERO_LEFT" />
|
||||
<Field name="CodigoDeMotivo2" length="2" type="INTEGER" value="0" padding="ZERO_LEFT" />
|
||||
<Field name="CodigoDeMotivo3" length="2" type="INTEGER" value="0" padding="ZERO_LEFT" />
|
||||
<Field name="CodigoDeMotivo4" length="2" type="INTEGER" value="0" padding="ZERO_LEFT" />
|
||||
<Field name="CodigoDeMotivo5" length="2" type="INTEGER" value="0" padding="ZERO_LEFT" />
|
||||
<Field name="Filler3" length="40" />
|
||||
<Field name="NumeroDoCartorio" length="2" />
|
||||
<Field name="NumeroDoProtocolo" length="10" />
|
||||
<Field name="Filler4" length="14" />
|
||||
<Field name="NumeroSequencialRegistro" type="INTEGER" length="6" padding="ZERO_LEFT" />
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
<Record name="Trailler">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="9" length="1" position="1" />
|
||||
<Field name="DadosIgnorados1" length="16" />
|
||||
<Field name="QuantidadeDeTitulosEmCobranca" length="8" type="INTEGER" padding="ZERO_LEFT" value="0" />
|
||||
<Field name="ValorTotalEmCobranca" type="BIGDECIMAL" length="14" format="DECIMAL_DD" padding="ZERO_LEFT" value="0" />
|
||||
<Field name="DadosIgnorados2" length="18" />
|
||||
<Field name="QtdEntradaConfirmadaC02" length="5" type="INTEGER" padding="ZERO_LEFT" value="0" />
|
||||
<Field name="ValEntradaConfirmadaC02" type="BIGDECIMAL" length="12" format="DECIMAL_DD" padding="ZERO_LEFT" value="0" />
|
||||
<Field name="ValTotLiquidacaoC06" type="BIGDECIMAL" length="12" format="DECIMAL_DD" padding="ZERO_LEFT" value="0" />
|
||||
<Field name="QtdLiquidacaoC06" length="5" type="INTEGER" padding="ZERO_LEFT" value="0" />
|
||||
<Field name="ValLiquidacaoC06" type="BIGDECIMAL" length="12" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="QtdBaixaC09C10" length="5" type="INTEGER" padding="ZERO_LEFT" value="0" />
|
||||
<Field name="ValBaixaC09C10" type="BIGDECIMAL" length="12" format="DECIMAL_DD" padding="ZERO_LEFT" value="0" />
|
||||
<Field name="QtdAbatimentoCanceladoC13" length="5" type="INTEGER" padding="ZERO_LEFT" value="0" />
|
||||
<Field name="ValAbatimentoCanceladoC13" type="BIGDECIMAL" length="12" format="DECIMAL_DD" padding="ZERO_LEFT" value="0" />
|
||||
<Field name="QtdVencimentoAlteradoC14" length="5" type="INTEGER" padding="ZERO_LEFT" value="0" />
|
||||
<Field name="ValVencimentoAlteradoC14" type="BIGDECIMAL" length="12" format="DECIMAL_DD" padding="ZERO_LEFT" value="0" />
|
||||
<Field name="QtdAbatimentoConcedidoC12" length="5" type="INTEGER" padding="ZERO_LEFT" value="0" />
|
||||
<Field name="ValAbatimentoConcedidoC12" type="BIGDECIMAL" length="12" format="DECIMAL_DD" padding="ZERO_LEFT" value="0" />
|
||||
<Field name="QtdConfirmacaoInstProtestoC19" length="5" type="INTEGER" padding="ZERO_LEFT" value="0" />
|
||||
<Field name="ValConfirmacaoInstProtestoC19" type="BIGDECIMAL" length="12" format="DECIMAL_DD" padding="ZERO_LEFT" value="0" />
|
||||
<Field name="Filler1" length="174" />
|
||||
<Field name="DadosIgnorados2" length="23" />
|
||||
<Field name="Filler2" length="9" />
|
||||
<Field name="NumeroSequencialRegistro" type="INTEGER" length="6" padding="ZERO_LEFT" />
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
</GroupOfRecords>
|
||||
</FlatFile>
|
||||
|
||||
</txg:Texgit>
|
|
@ -0,0 +1,68 @@
|
|||
<?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/WORKSPACE/TexgitSchema.xsd"
|
||||
version="1.0-academic">
|
||||
|
||||
<FlatFile>
|
||||
<layout>
|
||||
<name>Arquivo-Retorno_BradescoCNAB400</name>
|
||||
<version>Version 08, Published: 2009/09/30</version>
|
||||
<description>
|
||||
|
||||
Arquivo para ler e reescrever ocorrencias e motivos.
|
||||
|
||||
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 RETORNO, REGISTROS:
|
||||
|
||||
0 - Header Label
|
||||
1 - Cobrança - Transação
|
||||
3 - Rateio de Crédito (opcional)
|
||||
9 - Trailler (Papel de finalizador de lote e totalizador)
|
||||
</description>
|
||||
</layout>
|
||||
<GroupOfRecords>
|
||||
<Record name="Header" description="Protocolo de comunicação">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="0" length="1" position="1" />
|
||||
<Field name="DadosIgnorados" length="399" />
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
<Record name="TransacaoTitulo" repeatable="true">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="1" length="1" position="1" />
|
||||
<Field name="DadosIgnorados0" length="19" />
|
||||
<!-- Zeros/Carteira/Agência/Conta Corrente -->
|
||||
<Field name="DadosBancariosNFM" length="17" />
|
||||
<Field name="NumeroControleDoParticipante" length="25" />
|
||||
<Field name="Filler1" length="8" padding="ZERO_LEFT" />
|
||||
<Field name="NossoNumeroComDigito" length="12" />
|
||||
<Field name="DadosIgnorados1" length="26" />
|
||||
<Field name="CodigoDeOcorrencia" length="2" type="INTEGER" value="0" padding="ZERO_LEFT" />
|
||||
<Field name="DadosIgnorados2" length="185" />
|
||||
<Field name="DataDoCredito" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" blankAccepted="true" />
|
||||
<Field name="DadosIgnorados3" length="17" />
|
||||
<Field name="CodigoDeMotivo1" length="2" type="INTEGER" value="0" padding="ZERO_LEFT" />
|
||||
<Field name="CodigoDeMotivo2" length="2" type="INTEGER" value="0" padding="ZERO_LEFT" />
|
||||
<Field name="CodigoDeMotivo3" length="2" type="INTEGER" value="0" padding="ZERO_LEFT" />
|
||||
<Field name="CodigoDeMotivo4" length="2" type="INTEGER" value="0" padding="ZERO_LEFT" />
|
||||
<Field name="CodigoDeMotivo5" length="2" type="INTEGER" value="0" padding="ZERO_LEFT" />
|
||||
<Field name="DadosIgnorados4" length="72" />
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
<Record name="Trailler">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="9" length="1" position="1" />
|
||||
<Field name="DadosIgnorados" length="399" />
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
</GroupOfRecords>
|
||||
</FlatFile>
|
||||
|
||||
</txg:Texgit>
|
|
@ -0,0 +1,133 @@
|
|||
<?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_ItauCNAB400</name>
|
||||
<version>Version 01, Published: 2012/05/25</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 - Registro Header do Arquivo
|
||||
1 - Registro de Detalhe (Obrigatório)
|
||||
1 - Registro de Transação (Opcional – Cheque Devolvido)
|
||||
4 - Registro de Detalhe (Opcional)
|
||||
5 - Registro de Detalhe (Opcional)
|
||||
9 - Trailler (Papel de finalizador de lote)
|
||||
</description>
|
||||
</layout>
|
||||
<GroupOfRecords>
|
||||
<Record name="Header" description="Protocolo de comunicação" repeatable="true">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="0" length="1" position="1" />
|
||||
<Field name="IdentificacaoRemessa" value="1" length="1" />
|
||||
<Field name="LiteralRemessa" value="REMESSA" length="7" />
|
||||
<Field name="CodigoDeServico" value="01" length="2" />
|
||||
<Field name="LiteralServico" value="COBRANCA" length="15" />
|
||||
<Field name="Agencia" length="4" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="Zeros" value="00" length="2" />
|
||||
<Field name="Conta" length="5" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="DacConta" length="1" type="INTEGER" />
|
||||
<Field name="Brancos1" length="8" blankAccepted="true" /><!--Enviar 8 Brancos -->
|
||||
<Field name="NomeEmpresa" length="30" type="CHARACTER" />
|
||||
<Field name="CodigoCompensacao" value="341" length="3" />
|
||||
<Field name="NomeBanco" value="BANCO ITAU SA" length="15" />
|
||||
<Field name="DataGeracao" length="6" type="DATE" format="DATE_DDMMYY" />
|
||||
<Field name="Brancos2" length="294" blankAccepted="true" /><!--Enviar 294 Brancos -->
|
||||
<Field name="NumeroSequencialRegistro" type="INTEGER" length="6" padding="ZERO_LEFT" />
|
||||
<!--<SequencialNumber name="sequencia" type="INTEGER" length="6" position="15" padding="ZERO_LEFT" />-->
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
<Record name="TransacaoTitulo" repeatable="true">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="1" length="1" position="1" />
|
||||
<Field name="CodigoInscricao" length="2" value="02" type="INTEGER" />
|
||||
<Field name="NumeroInscricao" length="14" type="INTEGER" /><!-- CNPJ EMPRESA -->
|
||||
<Field name="Agencia" length="4" padding="ZERO_LEFT" type="INTEGER" />
|
||||
<Field name="Zeros" value="00" length="2" />
|
||||
<Field name="Conta" length="5" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="DacConta" length="1" type="INTEGER" />
|
||||
<Field name="Brancos1" length="4" type="CHARACTER" /><!--Enviar 4 Brancos -->
|
||||
<Field name="InstrucaoAlegacao" length="4" type="INTEGER" />
|
||||
<Field name="UsoDaEmpresa" length="25" type="CHARACTER" />
|
||||
<Field name="NossoNumero" length="8" type="INTEGER" />
|
||||
<Field name="QtdMoeda" length="13" type="BIGDECIMAL" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="NrCarteira" length="3" type="INTEGER" />
|
||||
<Field name="UsoDoBanco" length="21" type="CHARACTER" />
|
||||
<Field name="CodigoCarteira" length="1" type="CHARACTER" value="I" />
|
||||
<Field name="CodigoDeOcorrencia" length="2" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="NumeroDoDocumento" length="10" />
|
||||
<Field name="Vencimento" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" />
|
||||
<Field name="Valor" length="13" type="BIGDECIMAL" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="CodigoCompensacaoBancoRecebedor" value="341" length="3" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="AgenciaCobradora" length="5" value="00000" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="EspecieDeTitulo" length="2" type="CHARACTER" padding="ZERO_LEFT" />
|
||||
<Field name="Aceite" length="1" type="CHARACTER" /><!-- A = Aceite N = Não Aceite -->
|
||||
<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" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="DataDesconto" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" />
|
||||
<Field name="DescontoConcedido" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="IOF_Devido" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="AbatimentoConcedido" type="BIGDECIMAL" length="13" 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="30" type="CHARACTER" />
|
||||
<Field name="Brancos2" length="10" type="CHARACTER" /><!--Enviar 10 Brancos -->
|
||||
<Field name="LogradouroSacado" length="40" type="CHARACTER" />
|
||||
<Field name="BairroSacado" length="12" type="CHARACTER" />
|
||||
<Field name="CepSacado" length="8" 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="4" type="CHARACTER" /><!--Enviar 4 Brancos -->
|
||||
<Field name="DataDeMora" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" />
|
||||
<Field name="Prazo" length="2" type="INTEGER" />
|
||||
<Field name="Brancos4" length="1" type="CHARACTER" /><!--Enviar 1 Branco -->
|
||||
<Field name="NumeroSequencialRegistro" type="INTEGER" length="6" padding="ZERO_LEFT" />
|
||||
</GroupOfFields>
|
||||
<!-- De forma aninhada mesmo
|
||||
<GroupOfInnerRecords>
|
||||
<Record name="DadosBoleto">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="2" length="1" position="1" />
|
||||
<Field name="Mensagem1" length="80" />
|
||||
<Field name="Mensagem2" length="80" />
|
||||
<Field name="Mensagem3" length="80" />
|
||||
<Field name="Mensagem4" length="80" />
|
||||
<Field name="Filler" length="45" />
|
||||
<Field name="Carteira" length="3" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="Agencia" length="5" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="ContaCorrente" length="7" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="DigitoCC" length="1" type="CHARACTER" />
|
||||
<Field name="NossoNumero" length="11" padding="ZERO_LEFT" />
|
||||
<Field name="DigitoNN" length="1" type="CHARACTER" />
|
||||
<SequencialNumber name="sequencia" type="INTEGER" length="6" position="13" padding="ZERO_LEFT" />
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
</GroupOfInnerRecords>
|
||||
-->
|
||||
</Record>
|
||||
<Record name="Trailler">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="9" length="1" position="1" />
|
||||
<Field name="Filler" length="393" />
|
||||
<Field name="NumeroSequencialRegistro" type="INTEGER" length="6" padding="ZERO_LEFT" />
|
||||
<!-- <SequencialNumber name="sequencia" type="INTEGER" length="6" position="3" padding="ZERO_LEFT" /> -->
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
</GroupOfRecords>
|
||||
</FlatFile>
|
||||
|
||||
</txg:Texgit>
|
|
@ -0,0 +1,131 @@
|
|||
<?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-Retorno_ItauCNAB400</name>
|
||||
<version>Version 01, Published: 2012/05/25</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 RETORNO, REGISTROS:
|
||||
|
||||
0 - Header Label
|
||||
1 - Cobrança - Transação
|
||||
3 - Rateio de Crédito (opcional)
|
||||
9 - Trailler (Papel de finalizador de lote e totalizador)
|
||||
</description>
|
||||
</layout>
|
||||
<GroupOfRecords>
|
||||
<Record name="Header" description="Protocolo de comunicação">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="0" length="1" position="1" />
|
||||
<Field name="IdentificacaoRetorno" value="2" length="1" />
|
||||
<Field name="LiteralRetorno" value="RETORNO" length="7" />
|
||||
<Field name="CodigoDeServico" value="01" length="2" />
|
||||
<Field name="LiteralServico" value="COBRANCA" length="15" />
|
||||
<Field name="Agencia" length="04" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="Zeros" length="02" value="00" padding="ZERO_LEFT" />
|
||||
<Field name="Conta" length="05" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="DacConta" length="01" type="INTEGER" />
|
||||
<Field name="Brancos1" type="STRING" length="08" blankAccepted="true" />
|
||||
<Field name="NomeDaEmpresa" length="30" />
|
||||
<Field name="CodigoCompensacao" value="341" length="3" />
|
||||
<Field name="NomeBanco" value="BANCO ITAU SA" length="15" />
|
||||
<Field name="DataGravacaoArquivo" length="6" type="DATE" format="DATE_DDMMYY" />
|
||||
<Field name="Densidade" value="00000" length="5" />
|
||||
<Field name="UnidadeDensidade" value="BPI" length="3" />
|
||||
<Field name="NumeroSequencialRetorno" type="INTEGER" length="5" />
|
||||
<Field name="DataDoCredito" length="6" type="DATE" format="DATE_DDMMYY" />
|
||||
<Field name="Brancos1" type="STRING" length="275" />
|
||||
<Field name="NumeroSequencialRegistro" type="INTEGER" length="6" padding="ZERO_LEFT" />
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
<Record name="TransacaoTitulo" repeatable="true">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" value="1" length="1" position="1" />
|
||||
<Field name="CodigoInscricao" length="02" value = "02" /><!-- 01 = CPF 02 = CNPJ -->
|
||||
<Field name="NumeroControleDoParticipante" type="STRING" length="14" />
|
||||
<Field name="Agencia" length="4" type="INTEGER" />
|
||||
<Field name="Zeros" length="2" value="00" />
|
||||
<Field name="Conta" length="5" type="INTEGER" />
|
||||
<Field name="DacConta" length="1" type="INTEGER" />
|
||||
<Field name="Brancos1" length="8" type="STRING" blankAccepted="true" />
|
||||
<Field name="UsoDaEmpresa" length="25" type="STRING" />
|
||||
<Field name="NossoNumero" length="08" type="INTEGER" />
|
||||
<Field name="Brancos2" length="12" type="STRING" blankAccepted="true" />
|
||||
<Field name="NumCarteira" length="3" type="INTEGER" />
|
||||
<Field name="NossoNumeroComDigito" length="08" type="INTEGER" />
|
||||
<Field name="DacNossoNumero" length="1" type="INTEGER" />
|
||||
<Field name="Brancos3" length="13" type="STRING" blankAccepted="true" />
|
||||
<Field name="CodCarteira" length="1" type="CHARACTER" value="I" />
|
||||
<Field name="CodigoDeOcorrencia" length="2" type="INTEGER" value="0" padding="ZERO_LEFT" />
|
||||
<Field name="DataDaOcorrencia" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" />
|
||||
<Field name="NumeroDoDocumento" length="10" />
|
||||
<Field name="NossoNumeroComDigito-Repetido" length="8" />
|
||||
<Field name="Brancos4" length="12" type="STRING" blankAccepted="true" />
|
||||
<Field name="Vencimento" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" />
|
||||
<Field name="Valor" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="CodigoCompensacaoBancoRecebedor" value="0" length="3" padding="ZERO_LEFT" />
|
||||
<Field name="PrefixoDaAgenciaRecebedora" type="INTEGER" value="0" length="4" padding="ZERO_LEFT" />
|
||||
<Field name="DacDaAgenciaRecebedora" type="INTEGER" value="0" length="1" padding="ZERO_LEFT" />
|
||||
<Field name="EspecieDeTitulo" length="2" />
|
||||
<Field name="DespesasDeCobranca" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="Brancos5" length="26" type="STRING" blankAccepted="true" />
|
||||
<Field name="IOF_Devido" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="AbatimentoConcedido" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="DescontoConcedido" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="ValorPago" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="JurosDeMora" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="OutrosCreditos" type="BIGDECIMAL" length="13" value="0" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="BoletoDDA" type="CHARACTER" length="1" />
|
||||
<Field name="Brancos6" length="2" type="STRING" blankAccepted="true" />
|
||||
<Field name="DataDoCredito" length="6" type="DATE" format="DATE_DDMMYY" padding="ZERO_LEFT" blankAccepted="true" />
|
||||
<Field name="CodInstrucaoCancelada" length="4" type="INTEGER" />
|
||||
<Field name="Brancos7" length="6" type="STRING" blankAccepted="true" />
|
||||
<Field name="Zeros" length="13" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="NomeSacado" length="30" type="STRING" />
|
||||
<Field name="Brancos8" length="23" type="STRING" blankAccepted="true" />
|
||||
<Field name="CodAlegacaoDoSacado" length="8" type="STRING" />
|
||||
<Field name="Brancos9" length="7" type="STRING" blankAccepted="true" />
|
||||
<Field name="CodLiquidacao" length="02" padding="ZERO_LEFT" />
|
||||
<Field name="NumeroSequencialRegistro" type="INTEGER" length="6" padding="ZERO_LEFT" />
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
<Record name="Trailler">
|
||||
<GroupOfFields>
|
||||
<IdType name="IDReg" length="1" value="9" position="1" />
|
||||
<Field name="CodigoRetorno" length="1" value="2" />
|
||||
<Field name="CodigoServico" length="2" value="01"/>
|
||||
<Field name="CodigoBanco" length="3" value="341" />
|
||||
<Field name="Brancos" length="10" type="STRING" blankAccepted="true" />
|
||||
<Field name="QtdTitulosCobSimples" length="8" type="INTEGER" />
|
||||
<Field name="VlrTotalCobSimples" type="BIGDECIMAL" length="14" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="AvisoBancarioCobSimples" type="STRING" length="08"/>
|
||||
<Field name="Brancos" length="10" type="STRING" blankAccepted="true" />
|
||||
<Field name="QtdTitulosCobVinculada" length="8" type="INTEGER" />
|
||||
<Field name="VlrTotalCobVinculada" type="BIGDECIMAL" length="14" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="AvisoBancarioCobVinculada" type="STRING" length="08"/>
|
||||
<Field name="Brancos" length="90" type="STRING" blankAccepted="true" />
|
||||
<Field name="QtdTitulosCobEscritural" length="8" type="INTEGER" />
|
||||
<Field name="VlrTotalCobEscritural" type="BIGDECIMAL" length="14" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="AvisoBancarioCobEscrituraL" type="STRING" length="08"/>
|
||||
<Field name="NumSeqRetorno" length="5" type="INTEGER" padding="ZERO_LEFT" />
|
||||
<Field name="QtdRegDetalhe" type="INTEGER" length="8" padding="ZERO_LEFT" />
|
||||
<Field name="ValTotArquivo" type="BIGDECIMAL" length="14" format="DECIMAL_DD" padding="ZERO_LEFT" />
|
||||
<Field name="Brancos" length="160" type="STRING" blankAccepted="true" />
|
||||
<Field name="NumeroSequencialRegistro" type="INTEGER" length="6" padding="ZERO_LEFT" />
|
||||
</GroupOfFields>
|
||||
</Record>
|
||||
</GroupOfRecords>
|
||||
</FlatFile>
|
||||
|
||||
</txg:Texgit>
|
Loading…
Reference in New Issue