1+ package br .com .swconsultoria .cte ; /**
2+ *
3+ */
4+
5+ import br .com .swconsultoria .cte .dom .ConfiguracoesCte ;
6+ import br .com .swconsultoria .cte .dom .enuns .AmbienteEnum ;
7+ import br .com .swconsultoria .cte .dom .enuns .EstadosEnum ;
8+ import br .com .swconsultoria .cte .dom .enuns .EventosEnum ;
9+ import br .com .swconsultoria .cte .dom .enuns .StatusCteEnum ;
10+ import br .com .swconsultoria .cte .exception .CteException ;
11+ import br .com .swconsultoria .cte .schema_400 .evPrestDesacordo .EvPrestDesacordo ;
12+ import br .com .swconsultoria .cte .schema_400 .evPrestDesacordo .TEvento ;
13+ import br .com .swconsultoria .cte .schema_400 .evPrestDesacordo .TRetEvento ;
14+ import br .com .swconsultoria .cte .util .ConstantesCte ;
15+ import br .com .swconsultoria .cte .util .ObjetoCTeUtil ;
16+ import br .com .swconsultoria .cte .util .XmlCteUtil ;
17+
18+ import java .time .LocalDateTime ;
19+
20+ /**
21+ * @author Samuel Oliveira
22+ */
23+ public class TestePrestacaoDesacordoCte {
24+
25+ public static void main (String [] args ) {
26+
27+ try {
28+ // Dados para pegar do CTE
29+ String chave = "" ;
30+ String cnpj = "" ;
31+
32+ //Pegar Do usuário - Opcional.
33+ String obs = "" ;
34+
35+ // Inicia As Configurações
36+ ConfiguracoesCte config = TesteConfig .iniciaConfiguracoes (EstadosEnum .GO , AmbienteEnum .HOMOLOGACAO );
37+
38+ String id = "ID610110" + chave + "001" ;
39+ TEvento evento = new TEvento ();
40+ evento .setVersao (ConstantesCte .VERSAO .CTE );
41+
42+ TEvento .InfEvento infEvento = new TEvento .InfEvento ();
43+ infEvento .setId (id );
44+ infEvento .setCOrgao (config .getEstado ().getCodigoUF ());
45+ infEvento .setTpAmb (config .getAmbiente ().getCodigo ());
46+ infEvento .setCNPJ (cnpj );
47+ infEvento .setChCTe (chave );
48+ infEvento .setDhEvento (XmlCteUtil .dataCte (LocalDateTime .now ()));
49+ infEvento .setTpEvento (EventosEnum .CCE .getCodigo ());
50+ infEvento .setNSeqEvento ("001" );
51+
52+ EvPrestDesacordo evPrestDesacordo = new EvPrestDesacordo ();
53+ evPrestDesacordo .setDescEvento ("Prestacao do Servico em Desacordo" );
54+ evPrestDesacordo .setIndDesacordoOper ("1" );
55+ evPrestDesacordo .setXObs (obs );
56+
57+ TEvento .InfEvento .DetEvento detEvento = new TEvento .InfEvento .DetEvento ();
58+ detEvento .setVersaoEvento (ConstantesCte .VERSAO .CTE );
59+ detEvento .setAny (ObjetoCTeUtil .objectToElement (evPrestDesacordo , EvPrestDesacordo .class , "evPrestDesacordo" ));
60+
61+ infEvento .setDetEvento (detEvento );
62+ evento .setInfEvento (infEvento );
63+
64+ //Envia o Evento de Cancelamento
65+ TRetEvento retorno = Cte .prestacaoDesacordoCte (config , evento , true );
66+
67+ //Valida o Retorno
68+ if (!StatusCteEnum .EVENTO_VINCULADO .getCodigo ().equals (retorno .getInfEvento ().getCStat ())) {
69+ throw new CteException (retorno .getInfEvento ().getCStat () + " - " + retorno .getInfEvento ().getXMotivo ());
70+ }
71+
72+ //Resultado
73+ System .out .println ();
74+ System .out .println ("# Chave: " + retorno .getInfEvento ().getChCTe ());
75+ System .out .println ("# Status: " + retorno .getInfEvento ().getCStat () + " - " + retorno .getInfEvento ().getXMotivo ());
76+ System .out .println ("# Protocolo: " + retorno .getInfEvento ().getNProt ());
77+
78+ } catch (Exception e ) {
79+ System .err .println ();
80+ System .err .println ("# Erro: " + e .getMessage ());
81+ }
82+ }
83+ }
0 commit comments