• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Samuel-Oliveira / Java_NFe / #2

14 Jun 2026 07:31PM UTC coverage: 14.623%. First build
#2

push

Samuel-Oliveira
Merge branch 'develop'

299 of 1379 new or added lines in 130 files covered. (21.68%)

2702 of 18478 relevant lines covered (14.62%)

0.15 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/main/java/br/com/swconsultoria/nfe/util/EventoGenericoUtil.java
1
package br.com.swconsultoria.nfe.util;
2

3
import br.com.swconsultoria.nfe.Assinar;
4
import br.com.swconsultoria.nfe.dom.ConfiguracoesNfe;
5
import br.com.swconsultoria.nfe.dom.Evento;
6
import br.com.swconsultoria.nfe.dom.enuns.AssinaturaEnum;
7
import br.com.swconsultoria.nfe.dom.enuns.EventosEnum;
8
import br.com.swconsultoria.nfe.exception.NfeException;
9
import br.com.swconsultoria.nfe.schemas_eventos.TEnvEventoGenerico;
10
import br.com.swconsultoria.nfe.schemas_eventos.TEventoGenerico;
11
import br.com.swconsultoria.nfe.schemas_eventos.TProcEventoGenerico;
12
import br.com.swconsultoria.nfe.schemas_eventos.TRetEventoGenerico;
13
import org.w3c.dom.Element;
14
import org.w3c.dom.Node;
15
import org.w3c.dom.NodeList;
16

17
import javax.xml.bind.JAXBException;
18
import javax.xml.namespace.QName;
19

20
public class EventoGenericoUtil {
21

22
    private EventoGenericoUtil() {}
23

24
    /**
25
     * MOnta o Evento Generico
26
     *
27
     * @param evento
28
     * @param configuracao
29
     * @return
30
     * @throws NfeException
31
     */
32
    public static TEnvEventoGenerico montaEvento(Evento evento, Class<?> clazz, EventosEnum eventosEnum, ConfiguracoesNfe configuracao) throws NfeException {
33

NEW
34
        TEnvEventoGenerico enviEvento = new TEnvEventoGenerico();
×
35
        enviEvento.setVersao(ConstantesUtil.VERSAO.EVENTO_GENERICO);
×
36
        enviEvento.setIdLote("1");
×
37

38
        String id = "ID" + eventosEnum.getCodigo() + evento.getChave()+ ChaveUtil.completarComZerosAEsquerda(String.valueOf(evento.getSequencia()), 2);
×
39

NEW
40
        TEventoGenerico eventoGenerico = new TEventoGenerico();
×
41
        eventoGenerico.setVersao(ConstantesUtil.VERSAO.EVENTO_GENERICO);
×
42

NEW
43
        TEventoGenerico.InfEvento infoEvento = new TEventoGenerico.InfEvento();
×
44
        infoEvento.setId(id);
×
45
        infoEvento.setChNFe(evento.getChave());
×
46
        infoEvento.setCOrgao(String.valueOf(configuracao.getEstado().getCodigoUF()));
×
47
        infoEvento.setTpAmb(configuracao.getAmbiente().getCodigo());
×
48

49
        infoEvento.setCPF(evento.getCpf());
×
50
        infoEvento.setCNPJ(evento.getCnpj());
×
51

52
        infoEvento.setDhEvento(XmlNfeUtil.dataNfe(evento.getDataEvento(), configuracao.getZoneId()));
×
53
        infoEvento.setTpEvento(eventosEnum.getCodigo());
×
54
        infoEvento.setNSeqEvento(String.valueOf(evento.getSequencia()));
×
55
        infoEvento.setVerEvento(ConstantesUtil.VERSAO.EVENTO_GENERICO);
×
56

NEW
57
        TEventoGenerico.InfEvento.DetEventoGenerico detEvento = new TEventoGenerico.InfEvento.DetEventoGenerico();
×
58
        Element element = XmlNfeUtil.objectToElement(evento. getDetEvento(), clazz);
×
59
        detEvento.getOtherAttributes().put(new QName("versao"), element.getAttribute("versao"));
×
60

61
        NodeList children = element.getChildNodes();
×
62
        for (int i = 0; i < children.getLength(); i++) {
×
63
            Node child = children.item(i);
×
64
            if (child.getNodeType() == Node.ELEMENT_NODE) {
×
65
                detEvento.getAny().add((Element) child);
×
66
            }
67
        }
68

69
        infoEvento.setDetEvento(detEvento);
×
70

71
        eventoGenerico.setInfEvento(infoEvento);
×
72
        enviEvento.getEvento().add(eventoGenerico);
×
73

74
        return enviEvento;
×
75
    }
76

77
    /**
78
     * Cria o ProcEvento de Generico
79
     *
80
     * @param config
81
     * @param enviEvento
82
     * @param retorno
83
     * @return
84
     * @throws JAXBException
85
     * @throws NfeException
86
     */
87
    public static String criaProcEventoGenerico(ConfiguracoesNfe config, TEnvEventoGenerico enviEvento, TRetEventoGenerico retorno) throws JAXBException, NfeException {
88

89
        String xml = XmlNfeUtil.objectToXml(enviEvento, config.getEncode());
×
90
        xml = xml.replace(" xmlns:ns2=\"http://www.w3.org/2000/09/xmldsig#\"", "")
×
91
                .replace("<evento v", "<evento xmlns=\"http://www.portalfiscal.inf.br/nfe\" v")
×
92
                .replace("<detEvento v", "<detEvento xmlns=\"http://www.portalfiscal.inf.br/nfe\" v");
×
93

94
        String assinado = Assinar.assinaNfe(ConfiguracoesUtil.iniciaConfiguracoes(config), xml, AssinaturaEnum.EVENTO);
×
95

NEW
96
        TProcEventoGenerico procEvento = new TProcEventoGenerico();
×
97
        procEvento.setVersao(ConstantesUtil.VERSAO.EVENTO_GENERICO);
×
NEW
98
        procEvento.setEvento(XmlNfeUtil.xmlToObject(assinado, TEnvEventoGenerico.class).getEvento().get(0));
×
99
        procEvento.setRetEvento(retorno);
×
100

101
        return XmlNfeUtil.objectToXml(procEvento, config.getEncode());
×
102
    }
103

104
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc