From 0611514c8716b20f463612768e240a894bb12bac Mon Sep 17 00:00:00 2001 From: Daniel Ramos Ribeiro Date: Mon, 27 Jul 2026 09:26:20 -0300 Subject: [PATCH 1/3] NfeA3 implementation --- src/main/java/br/com/swconsultoria/nfe/NfeA3.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/br/com/swconsultoria/nfe/NfeA3.java b/src/main/java/br/com/swconsultoria/nfe/NfeA3.java index 6e2b4948..7619d978 100644 --- a/src/main/java/br/com/swconsultoria/nfe/NfeA3.java +++ b/src/main/java/br/com/swconsultoria/nfe/NfeA3.java @@ -8,6 +8,8 @@ import br.com.swconsultoria.nfe.exception.NfeException; import br.com.swconsultoria.nfe.schemas_eventos.TEnvEventoCancelamento; import br.com.swconsultoria.nfe.schemas_eventos.TRetEnvEventoCancelamento; +import br.com.swconsultoria.nfe.schemas_eventos.TRetEnvEventoGenerico; +import br.com.swconsultoria.nfe.schemas_eventos.TRetEventoGenerico; import br.com.swconsultoria.nfe.schemas.RetDistDFeInt; import br.com.swconsultoria.nfe.schemas.TEnviNFe; import br.com.swconsultoria.nfe.schemas.TRetEnviNFe; @@ -81,4 +83,12 @@ public static String manifestacaoMontaXmlA3(ConfiguracoesNfe config, return ManifestacaoDestinatarioA3.montarXML(ConfiguracoesUtil.iniciaConfiguracoes(config), evento); } + public static TRetEnvEventoGenerico eventoGenericoA3(ConfiguracoesNfe config, boolean valida, String xmlAssinado) throws NfeException { + return EventoGenericoA3.eventoGenericoA3(ConfiguracoesUtil.iniciaConfiguracoes(config), valida, xmlAssinado); + } + + public static String criaProcEventoGenericoA3(ConfiguracoesNfe config, String xmlAssinado, TRetEventoGenerico retorno) throws NfeException { + return EventoGenericoA3.criaProcEventoGenericoA3(ConfiguracoesUtil.iniciaConfiguracoes(config), xmlAssinado, retorno); + } + } From 3951d7bcabd588e2f91d9702160b1346cfa6fab0 Mon Sep 17 00:00:00 2001 From: Daniel Ramos Ribeiro Date: Mon, 27 Jul 2026 09:29:12 -0300 Subject: [PATCH 2/3] NfeA3 implementation --- src/main/java/br/com/swconsultoria/nfe/NfeA3.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/br/com/swconsultoria/nfe/NfeA3.java b/src/main/java/br/com/swconsultoria/nfe/NfeA3.java index 7619d978..a6172844 100644 --- a/src/main/java/br/com/swconsultoria/nfe/NfeA3.java +++ b/src/main/java/br/com/swconsultoria/nfe/NfeA3.java @@ -27,11 +27,11 @@ public static String montaXmlA3(ConfiguracoesNfe config, TEnviNFe enviNFe) throw public static TEnviNFe montaNfeA3(ConfiguracoesNfe config, String xmlAssinado, boolean valida) throws NfeException { return EnviarA3.montaNfeA3(ConfiguracoesUtil.iniciaConfiguracoes(config), xmlAssinado, valida); } - + public static TRetEnviNFe enviarNfeA3(ConfiguracoesNfe config, TEnviNFe enviNFe, DocumentoEnum tipoDocumento) throws NfeException { return Enviar.enviaNfe(ConfiguracoesUtil.iniciaConfiguracoes(config), enviNFe, tipoDocumento); } - + public static String montaXmleventoCancelamento(ConfiguracoesNfe config, TEnvEventoCancelamento enviEvento) throws NfeException { return CancelarA3.montaXmleventoCancelamento(ConfiguracoesUtil.iniciaConfiguracoes(config), enviEvento); } @@ -90,5 +90,4 @@ public static TRetEnvEventoGenerico eventoGenericoA3(ConfiguracoesNfe config, bo public static String criaProcEventoGenericoA3(ConfiguracoesNfe config, String xmlAssinado, TRetEventoGenerico retorno) throws NfeException { return EventoGenericoA3.criaProcEventoGenericoA3(ConfiguracoesUtil.iniciaConfiguracoes(config), xmlAssinado, retorno); } - } From b74efcf1b8e02ce527517f71c55c4ee437fc5dfd Mon Sep 17 00:00:00 2001 From: Daniel Ramos Ribeiro Date: Mon, 27 Jul 2026 09:33:24 -0300 Subject: [PATCH 3/3] EventoGenericoA3 implementation --- .../swconsultoria/nfe/EventoGenericoA3.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/main/java/br/com/swconsultoria/nfe/EventoGenericoA3.java diff --git a/src/main/java/br/com/swconsultoria/nfe/EventoGenericoA3.java b/src/main/java/br/com/swconsultoria/nfe/EventoGenericoA3.java new file mode 100644 index 00000000..9874aa90 --- /dev/null +++ b/src/main/java/br/com/swconsultoria/nfe/EventoGenericoA3.java @@ -0,0 +1,37 @@ +package br.com.swconsultoria.nfe; + +import javax.xml.bind.JAXBException; +import br.com.swconsultoria.nfe.dom.ConfiguracoesNfe; +import br.com.swconsultoria.nfe.dom.enuns.DocumentoEnum; +import br.com.swconsultoria.nfe.dom.enuns.ServicosEnum; +import br.com.swconsultoria.nfe.exception.NfeException; +import br.com.swconsultoria.nfe.schemas_eventos.TEnvEventoGenerico; +import br.com.swconsultoria.nfe.schemas_eventos.TProcEventoGenerico; +import br.com.swconsultoria.nfe.schemas_eventos.TRetEnvEventoGenerico; +import br.com.swconsultoria.nfe.schemas_eventos.TRetEventoGenerico; +import br.com.swconsultoria.nfe.util.ConstantesUtil; +import br.com.swconsultoria.nfe.util.XmlNfeUtil; + +class EventoGenericoA3 { + + private EventoGenericoA3() {} + + static TRetEnvEventoGenerico eventoGenericoA3(ConfiguracoesNfe config, boolean valida, String xmlAssinado) + throws NfeException { + String xmlRetorno = EventosA3.enviarEvento(config, xmlAssinado, ServicosEnum.EVENTO_GENERICO, valida, DocumentoEnum.NFE); + return XmlNfeUtil.xmlToObject(xmlRetorno, TRetEnvEventoGenerico.class); + } + + static String criaProcEventoGenericoA3(ConfiguracoesNfe config, String xmlAssinado, TRetEventoGenerico retorno) + throws NfeException { + try { + TProcEventoGenerico procEvento = new TProcEventoGenerico(); + procEvento.setVersao(ConstantesUtil.VERSAO.EVENTO_GENERICO); + procEvento.setEvento(XmlNfeUtil.xmlToObject(xmlAssinado, TEnvEventoGenerico.class).getEvento().get(0)); + procEvento.setRetEvento(retorno); + return XmlNfeUtil.objectToXml(procEvento, config.getEncode()); + } catch (JAXBException e) { + throw new NfeException(e.getMessage(), e); + } + } +}