Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
Samuel-Oliveira committed Jan 3, 2024
2 parents 2822002 + 2048957 commit b02bff3
Show file tree
Hide file tree
Showing 9 changed files with 206 additions and 298 deletions.
30 changes: 14 additions & 16 deletions docs/docs/tutorial/baixar-documento.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,14 @@
Função para fazer a Consulta e download de Cte.

```java title="DistDfeCte.java"
import br.com.samuelweb.certificado.exception.CertificadoException;
import br.com.samuelweb.cte.Cte;
import br.com.samuelweb.cte.dom.ConfiguracoesIniciais;
import br.com.samuelweb.cte.dom.StatusEnum;
import br.com.samuelweb.cte.exception.CteException;
import br.com.samuelweb.cte.util.ConstantesCte;
import br.com.samuelweb.cte.util.XmlUtil;
import br.inf.portalfiscal.cte.schema_400.retdistdfeint.RetDistDFeInt;
import java.io.IOException;
import java.util.List;
import br.com.swconsultoria.cte.Cte;
import br.com.swconsultoria.cte.dom.ConfiguracoesCte;
import br.com.swconsultoria.cte.dom.enuns.ConsultaDFeEnum;
import br.com.swconsultoria.cte.dom.enuns.PessoaEnum;
import br.com.swconsultoria.cte.dom.enuns.StatusCteEnum;
import br.com.swconsultoria.cte.exception.CteException;
import br.com.swconsultoria.cte.schema_100.retdistdfeint.RetDistDFeInt;
import br.com.swconsultoria.cte.util.XmlCteUtil;

/**
* @author Samuel Oliveira
Expand All @@ -23,30 +21,30 @@ public class DistDfeCte {

try {
//Veja https://github.com/Samuel-Oliveira/Java_CTe/wiki/Configura%C3%A7%C3%B5es-CTe
ConfiguracoesIniciais config = ConfigTeste.iniciaConfiguracoes();
ConfiguracoesCte config = ConfigTeste.iniciaConfiguracoes();

String cnpj = ""; // TODO Preencher Cnpj
String cnpj = "12345678901234"; // TODO Preencher Cnpj
String nsu = "000000000000000"; // TODO Preencher Nsu

RetDistDFeInt retorno = Cte.distribuicaoDfe(ConstantesCte.TIPOS.CNPJ, cnpj, nsu);
RetDistDFeInt retorno = Cte.distribuicaoDfe(config, PessoaEnum.JURIDICA, cnpj, ConsultaDFeEnum.NSU, nsu);
System.out.println("Status:" + retorno.getCStat());
System.out.println("Motivo:" + retorno.getXMotivo());
System.out.println("Max NSU:" + retorno.getMaxNSU());
System.out.println("Ult NSU:" + retorno.getUltNSU());

if (StatusEnum.DOC_LOCALIZADO_PARA_DESTINATARIO.equals(retorno.getCStat())) {
if (StatusCteEnum.DOC_LOCALIZADO_PARA_DESTINATARIO.equals(retorno.getCStat())) {

List<RetDistDFeInt.LoteDistDFeInt.DocZip> listaDoc = retorno.getLoteDistDFeInt().getDocZip();

System.out.println("Encontrado " + listaDoc.size() + " Notas.");
for (RetDistDFeInt.LoteDistDFeInt.DocZip docZip : listaDoc) {
System.out.println("Schema: " + docZip.getSchema());
System.out.println("NSU:" + docZip.getNSU());
System.out.println("XML: " + XmlUtil.gZipToXml(docZip.getValue()));
System.out.println("XML: " + XmlCteUtil.gZipToXml(docZip.getValue()));
}
}

} catch (CteException | CertificadoException | IOException e) {
} catch (CteException | IOException e) {
System.out.println("Erro:" + e.getMessage());
}
}
Expand Down
123 changes: 62 additions & 61 deletions docs/docs/tutorial/cancelamento.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,18 @@
Exemplo de Como Ficaria o Cancelamento da CT-e.

```java title="CancelarCte.java"
import br.com.samuelweb.certificado.exception.CertificadoException;
import br.com.samuelweb.cte.Cte;
import br.com.samuelweb.cte.dom.ConfiguracoesIniciais;
import br.com.samuelweb.cte.dom.StatusEnum;
import br.com.samuelweb.cte.exception.CteException;
import br.com.samuelweb.cte.util.ConstantesCte;
import br.com.samuelweb.cte.util.ObjetoUtil;
import br.com.samuelweb.cte.util.XmlUtil;
import br.inf.portalfiscal.cte.schema_400.evCancCTe.EvCancCTe;
import br.inf.portalfiscal.cte.schema_400.evCancCTe.TEvento;
import br.inf.portalfiscal.cte.schema_400.evCancCTe.TProcEvento;
import br.inf.portalfiscal.cte.schema_400.evCancCTe.TRetEvento;
import br.com.swconsultoria.cte.Cte;
import br.com.swconsultoria.cte.dom.ConfiguracoesCte;
import br.com.swconsultoria.cte.dom.enuns.StatusCteEnum;
import br.com.swconsultoria.cte.exception.CteException;
import br.com.swconsultoria.cte.schema_400.evCancCTe.EvCancCTe;
import br.com.swconsultoria.cte.schema_400.evCancCTe.TProcEvento;
import br.com.swconsultoria.cte.schema_400.evCancCTe.TRetEvento;
import br.com.swconsultoria.cte.util.ConstantesCte;
import br.com.swconsultoria.cte.util.ObjetoCTeUtil;
import br.com.swconsultoria.cte.util.XmlCteUtil;
import br.com.swconsultoria.cte.schema_400.evCancCTe.TEvento;

import javax.xml.bind.JAXBException;
import java.time.LocalDateTime;

Expand All @@ -24,70 +24,71 @@ import java.time.LocalDateTime;
*/
public class CancelarCte {

public static void main(String[] args) {
public static void main(String[] args) {

try {
try {

//Veja https://github.com/Samuel-Oliveira/Java_CTe/wiki/Configura%C3%A7%C3%B5es-CTe
ConfiguracoesIniciais config = ConfigTeste.iniciaConfiguracoes();
//Veja https://github.com/Samuel-Oliveira/Java_CTe/wiki/Configura%C3%A7%C3%B5es-CTe
ConfiguracoesCte config = ConfigTeste.iniciaConfiguracoes();

String chave = ""; // TODO Preencha a Chave
String protocolo = ""; // TODO Preencha o Protocolo
String cnpj = ""; // TODO Preencha o Cnpj
String numeroSeqCancelamento = "01"; // TODO Preencha
String id = "ID"+ ConstantesCte.EVENTOS.CANCELAMENTO_COD + chave + numeroSeqCancelamento;
String justificativa = "Teste de Cancelmento"; // TODO Preencha
String chave = ""; // TODO Preencha a Chave
String protocolo = ""; // TODO Preencha o Protocolo
String cnpj = ""; // TODO Preencha o Cnpj
String numeroSeqCancelamento = "001"; // TODO Preencha
String eventoCancelamento = "110111";
String id = "ID" + eventoCancelamento + chave + numeroSeqCancelamento;
String justificativa = "Teste de Cancelmento"; // TODO Preencha

TEvento enviEvento = new TEvento();
enviEvento.setVersao(config.getVersao());
TEvento enviEvento = new TEvento();
enviEvento.setVersao(ConstantesCte.VERSAO.CTE);

TEvento.InfEvento infoEvento = new TEvento.InfEvento();
infoEvento.setId(id);
infoEvento.setCOrgao(config.getEstado().getCodigoIbge());
infoEvento.setTpAmb(config.getAmbiente());
infoEvento.setCNPJ(cnpj);
infoEvento.setChCTe(chave);
infoEvento.setDhEvento(XmlUtil.dataCte(LocalDateTime.now()));
infoEvento.setTpEvento(ConstantesCte.EVENTOS.CANCELAMENTO_COD);
infoEvento.setNSeqEvento(Integer.valueOf(numeroSeqCancelamento).toString());
TEvento.InfEvento infoEvento = new TEvento.InfEvento();
infoEvento.setId(id);
infoEvento.setCOrgao(config.getEstado().getCodigoUF());
infoEvento.setTpAmb(config.getAmbiente().getCodigo());
infoEvento.setCNPJ(cnpj);
infoEvento.setChCTe(chave);
infoEvento.setDhEvento(XmlCteUtil.dataCte(LocalDateTime.now()));
infoEvento.setTpEvento(eventoCancelamento);
infoEvento.setNSeqEvento(Integer.valueOf(numeroSeqCancelamento).toString());

EvCancCTe eventoCancela = new EvCancCTe();
eventoCancela.setDescEvento(ConstantesCte.EVENTOS.CANCELAMENTO_DESC);
eventoCancela.setNProt(protocolo);
eventoCancela.setXJust(justificativa);
EvCancCTe eventoCancela = new EvCancCTe();
eventoCancela.setDescEvento("Cancelamento");
eventoCancela.setNProt(protocolo);
eventoCancela.setXJust(justificativa);

TEvento.InfEvento.DetEvento detEvento = new TEvento.InfEvento.DetEvento();
detEvento.setVersaoEvento(config.getVersao());
detEvento.setAny(ObjetoUtil.objectToElement(eventoCancela, EvCancCTe.class, "evCancCTe"));
TEvento.InfEvento.DetEvento detEvento = new TEvento.InfEvento.DetEvento();
detEvento.setVersaoEvento(ConstantesCte.VERSAO.CTE);
detEvento.setAny(ObjetoCTeUtil.objectToElement(eventoCancela, EvCancCTe.class, "evCancCTe"));

infoEvento.setDetEvento(detEvento);
enviEvento.setInfEvento(infoEvento);
infoEvento.setDetEvento(detEvento);
enviEvento.setInfEvento(infoEvento);

TRetEvento retorno = Cte.cancelarCte(enviEvento, true);
TRetEvento retorno = Cte.cancelarCte(config, enviEvento, true);

if(!retorno.getInfEvento().getCStat().equals(StatusEnum.EVENTO_VINCULADO.getCode())){
if (!retorno.getInfEvento().getCStat().equals(StatusCteEnum.EVENTO_VINCULADO.getCodigo())) {

System.out.println("Erro Status:" + retorno.getInfEvento().getCStat());
System.out.println("Erro Motivo:" + retorno.getInfEvento().getXMotivo());
System.out.println("Erro Status:" + retorno.getInfEvento().getCStat());
System.out.println("Erro Motivo:" + retorno.getInfEvento().getXMotivo());

} else{
} else {

System.out.println("Status:" + retorno.getInfEvento().getCStat());
System.out.println("Motivo:" + retorno.getInfEvento().getXMotivo());
System.out.println("Data:" + retorno.getInfEvento().getDhRegEvento());
System.out.println("Status:" + retorno.getInfEvento().getCStat());
System.out.println("Motivo:" + retorno.getInfEvento().getXMotivo());
System.out.println("Data:" + retorno.getInfEvento().getDhRegEvento());

// Cria TProcEventoCTe
TProcEvento procEvento = new TProcEvento();
procEvento.setVersao(config.getVersao());
procEvento.setEventoCTe(enviEvento);
procEvento.setRetEventoCTe(retorno);
// Cria TProcEventoCTe
TProcEvento procEvento = new TProcEvento();
procEvento.setVersao(ConstantesCte.VERSAO.CTE);
procEvento.setEventoCTe(enviEvento);
procEvento.setRetEventoCTe(retorno);

System.out.println("Xml Final Cancelamento Proc: "+ XmlUtil.objectCteToXml(procEvento));
}
System.out.println("Xml Final Cancelamento Proc: " + XmlCteUtil.objectToXml(procEvento));
}

} catch (CteException | JAXBException | CertificadoException e) {
System.out.println("Erro:" + e.getMessage());
}
}
} catch (CteException | JAXBException e) {
System.out.println("Erro:" + e.getMessage());
}
}
}
```
155 changes: 78 additions & 77 deletions docs/docs/tutorial/carta-correcao.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,18 @@
Função para Gerar a Carta De Correção Eletrônica.

```java title="CCeCte.java"
import br.com.samuelweb.certificado.exception.CertificadoException;
import br.com.samuelweb.cte.Cte;
import br.com.samuelweb.cte.dom.ConfiguracoesIniciais;
import br.com.samuelweb.cte.dom.StatusEnum;
import br.com.samuelweb.cte.exception.CteException;
import br.com.samuelweb.cte.util.ConstantesCte;
import br.com.samuelweb.cte.util.ObjetoUtil;
import br.com.samuelweb.cte.util.XmlUtil;
import br.inf.portalfiscal.cte.schema_400.evCCeCTe.EvCCeCTe;
import br.inf.portalfiscal.cte.schema_400.evCCeCTe.TEvento;
import br.inf.portalfiscal.cte.schema_400.evCCeCTe.TProcEvento;
import br.inf.portalfiscal.cte.schema_400.evCCeCTe.TRetEvento;
import br.com.swconsultoria.cte.Cte;
import br.com.swconsultoria.cte.dom.ConfiguracoesCte;
import br.com.swconsultoria.cte.dom.enuns.StatusCteEnum;
import br.com.swconsultoria.cte.exception.CteException;
import br.com.swconsultoria.cte.schema_400.evCCeCTe.EvCCeCTe;
import br.com.swconsultoria.cte.schema_400.evCCeCTe.TEvento;
import br.com.swconsultoria.cte.schema_400.evCCeCTe.TProcEvento;
import br.com.swconsultoria.cte.schema_400.evCCeCTe.TRetEvento;
import br.com.swconsultoria.cte.util.ConstantesCte;
import br.com.swconsultoria.cte.util.ObjetoCTeUtil;
import br.com.swconsultoria.cte.util.XmlCteUtil;

import javax.xml.bind.JAXBException;
import java.time.LocalDateTime;

Expand All @@ -23,70 +23,71 @@ import java.time.LocalDateTime;
*/
public class CCeCte {

public static void main(String[] args) {

try {
//Veja https://github.com/Samuel-Oliveira/Java_CTe/wiki/Configura%C3%A7%C3%B5es-CTe
ConfiguracoesIniciais config = ConfigTeste.iniciaConfiguracoes();

String chave = ""; // TODO Preencha a Chave
String numeroSeqEvento = "01"; // TODO Preencha o NUmero Sequencial com 2 Digitos e Zero a esquerda
String id = "ID" + ConstantesCte.EVENTOS.CCE_COD + chave + numeroSeqEvento;
String cnpj = ""; // TODO Preencha o Cnpj

TEvento enviEvento = new TEvento();
enviEvento.setVersao(config.getVersao());

TEvento.InfEvento infoEvento = new TEvento.InfEvento();
infoEvento.setId(id);
infoEvento.setCOrgao(config.getEstado().getCodigoIbge());
infoEvento.setTpAmb(config.getAmbiente());
infoEvento.setCNPJ(cnpj);
infoEvento.setChCTe(chave);
infoEvento.setDhEvento(XmlUtil.dataCte(LocalDateTime.now()));
infoEvento.setTpEvento(ConstantesCte.EVENTOS.CCE_COD);
infoEvento.setNSeqEvento(Integer.valueOf(numeroSeqEvento).toString());

EvCCeCTe eventoCCe = new EvCCeCTe();
eventoCCe.setDescEvento(ConstantesCte.EVENTOS.CCE_DESC);
eventoCCe.setXCondUso(ConstantesCte.EVENTOS.CCE_COND_USO);

EvCCeCTe.InfCorrecao infCorrecao = new EvCCeCTe.InfCorrecao();
infCorrecao.setGrupoAlterado("enderReme"); // TODO Preencha
infCorrecao.setCampoAlterado("nro"); // TODO Preencha
infCorrecao.setValorAlterado("1234"); // TODO Preencha
eventoCCe.getInfCorrecao().add(infCorrecao);

TEvento.InfEvento.DetEvento detEvento = new TEvento.InfEvento.DetEvento();
detEvento.setVersaoEvento(config.getVersao());
detEvento.setAny(ObjetoUtil.objectToElement(eventoCCe, EvCCeCTe.class, "evCCeCTe"));

infoEvento.setDetEvento(detEvento);
enviEvento.setInfEvento(infoEvento);

TRetEvento retorno = Cte.cceCte(enviEvento, true);

if (!retorno.getInfEvento().getCStat().equals(StatusEnum.EVENTO_VINCULADO.getCode())) {
System.out.println("Erro Status:" + retorno.getInfEvento().getCStat());
System.out.println("Erro Motivo:" + retorno.getInfEvento().getXMotivo());
} else {

System.out.println("Status:" + retorno.getInfEvento().getCStat());
System.out.println("Motivo:" + retorno.getInfEvento().getXMotivo());
System.out.println("Data:" + retorno.getInfEvento().getDhRegEvento());

// Cria TProcEventoCTe
TProcEvento procEvento = new TProcEvento();
procEvento.setVersao(config.getVersao());
procEvento.setEventoCTe(enviEvento);
procEvento.setRetEventoCTe(retorno);

System.out.println("Xml Final Carta de Correção Proc: " + XmlUtil.objectCteToXml(procEvento));
}

} catch (CteException | JAXBException | CertificadoException e) {
System.out.println("Erro:" + e.getMessage());
}
}
public static void main(String[] args) {

try {
//Veja https://github.com/Samuel-Oliveira/Java_CTe/wiki/Configura%C3%A7%C3%B5es-CTe
ConfiguracoesCte config = ConfigTeste.iniciaConfiguracoes();

String chave = ""; // TODO Preencha a Chave
String numeroSeqEvento = "001"; // TODO Preencha o NUmero Sequencial com 2 Digitos e Zero a esquerda
String codigoEvento = "110110";
String id = "ID" + codigoEvento + chave + numeroSeqEvento;
String cnpj = ""; // TODO Preencha o Cnpj

TEvento enviEvento = new TEvento();
enviEvento.setVersao(ConstantesCte.VERSAO.CTE);

TEvento.InfEvento infoEvento = new TEvento.InfEvento();
infoEvento.setId(id);
infoEvento.setCOrgao(config.getEstado().getCodigoUF());
infoEvento.setTpAmb(config.getAmbiente().getCodigo());
infoEvento.setCNPJ(cnpj);
infoEvento.setChCTe(chave);
infoEvento.setDhEvento(XmlCteUtil.dataCte(LocalDateTime.now()));
infoEvento.setTpEvento(codigoEvento);
infoEvento.setNSeqEvento(Integer.valueOf(numeroSeqEvento).toString());

EvCCeCTe eventoCCe = new EvCCeCTe();
eventoCCe.setDescEvento("Carta de Correcao");
eventoCCe.setXCondUso("A Carta de Correcao e disciplinada pelo Art. 58-B do CONVENIO/SINIEF 06/89: Fica permitida a utilizacao de carta de correcao, para regularizacao de erro ocorrido na emissao de documentos fiscais relativos a prestacao de servico de transporte, desde que o erro nao esteja relacionado com: I - as variaveis que determinam o valor do imposto tais como: base de calculo, aliquota, diferenca de preco, quantidade, valor da prestacao;II - a correcao de dados cadastrais que implique mudanca do emitente, tomador, remetente ou do destinatario;III - a data de emissao ou de saida.");

EvCCeCTe.InfCorrecao infCorrecao = new EvCCeCTe.InfCorrecao();
infCorrecao.setGrupoAlterado("enderReme"); // TODO Preencha
infCorrecao.setCampoAlterado("nro"); // TODO Preencha
infCorrecao.setValorAlterado("1234"); // TODO Preencha
eventoCCe.getInfCorrecao().add(infCorrecao);

TEvento.InfEvento.DetEvento detEvento = new TEvento.InfEvento.DetEvento();
detEvento.setVersaoEvento(ConstantesCte.VERSAO.CTE);
detEvento.setAny(ObjetoCTeUtil.objectToElement(eventoCCe, EvCCeCTe.class, "evCCeCTe"));

infoEvento.setDetEvento(detEvento);
enviEvento.setInfEvento(infoEvento);

TRetEvento retorno = Cte.cceCte(config, enviEvento, true);

if (!retorno.getInfEvento().getCStat().equals(StatusCteEnum.EVENTO_VINCULADO.getCodigo())) {
System.out.println("Erro Status:" + retorno.getInfEvento().getCStat());
System.out.println("Erro Motivo:" + retorno.getInfEvento().getXMotivo());
} else {

System.out.println("Status:" + retorno.getInfEvento().getCStat());
System.out.println("Motivo:" + retorno.getInfEvento().getXMotivo());
System.out.println("Data:" + retorno.getInfEvento().getDhRegEvento());

// Cria TProcEventoCTe
TProcEvento procEvento = new TProcEvento();
procEvento.setVersao(ConstantesCte.VERSAO.CTE);
procEvento.setEventoCTe(enviEvento);
procEvento.setRetEventoCTe(retorno);

System.out.println("Xml Final Carta de Correção Proc: " + XmlCteUtil.objectToXml(procEvento));
}

} catch (JAXBException | CteException e) {
System.out.println("Erro:" + e.getMessage());
}
}
}
```
Loading

0 comments on commit b02bff3

Please sign in to comment.