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

wmixvideo / nfe / #9348

07 Jul 2026 02:20PM UTC coverage: 50.838% (+23.8%) from 26.996%
#9348

push

web-flow
Nt2020.005 (#1175)

* Implementação de serviço de recepção síncrono do MDF-e (MDFeRecepcaoSinc). Serviços Assíncronos serão desativados na data de 30 de Junho de 2024 conforme versa a NT 2024.001.

* Revert "Implementação de serviço de recepção síncrono do MDF-e (MDFeRecepcaoSinc). Serviços Assíncronos serão desativados na data de 30 de Junho de 2024 conforme versa a NT 2024.001."

This reverts commit d597f6919.

* Atualização dos schemas e campos conforme NT2023.004.

* Correção da Tag DFeReferenciado e adicionado validação para chave de acesso.

* Corrigindo a estrutura da Classe TCIBS - faltava o field vIBS.

Adiciondo static nas inner class para possibilitar a desserialização do xml do CT-e.

* Correção do set que deve ser um BigDecimal.

* Adequa campos nDI, nAdicao, nSeqAdic e nDraw à NT 2020.005 v1.21

Ajustes no grupo I01 (Declaração de Importação) do NFe 4.00 conforme
Nota Técnica 2020.005 v1.21 (seções 2.1.2, 2.1.8 e 3.2 do leiaute):

- nDI (I19): tamanho máximo alterado de 12 para 15 caracteres.
- nAdicao (I26): campo passa de obrigatório (1-1) para opcional (0-1),
  já que não deve ser preenchido no caso de DUImp.
- nSeqAdic (I27): tamanho máximo alterado de 3 para 5 dígitos.
- nDraw (I29a / I51 - detExport): campo deixa de ser numérico e passa
  a ser alfanumérico, com tamanho máximo de 20 caracteres (antes,
  numérico com até 11 dígitos).

Classes alteradas:
- NFNotaInfoItemProdutoDeclaracaoImportacao (nDI)
- NFNotaInfoItemProdutoDeclaracaoImportacaoAdicao (nAdicao, nSeqAdic, nDraw)
- NFNotaInfoItemDetalheExportacao (nDraw)
- DFIntegerValidador (novo método tamanho5)

Testes unitários correspondentes atualizados para refletir os novos
limites e a mudança de tipo do campo nDraw (BigInteger -> String).

---------

Co-authored-by: ediva <ediva@emsnote5>
Co-authored-by: Walter Portugal <walter@softlandsistemas.com.br>

10 of 10 new or added lines in 5 files covered. (100.0%)

2949 existing lines in 402 files now uncovered.

14927 of 29362 relevant lines covered (50.84%)

0.51 hits per line

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

64.29
/src/main/java/com/fincatto/documentofiscal/nfe400/classes/evento/NFInfoEvento.java
1
package com.fincatto.documentofiscal.nfe400.classes.evento;
2

3
import com.fincatto.documentofiscal.DFAmbiente;
4
import com.fincatto.documentofiscal.DFBase;
5
import com.fincatto.documentofiscal.DFUnidadeFederativa;
6
import com.fincatto.documentofiscal.validadores.DFBigDecimalValidador;
7
import com.fincatto.documentofiscal.validadores.DFIntegerValidador;
8
import com.fincatto.documentofiscal.validadores.DFStringValidador;
9
import org.simpleframework.xml.Attribute;
10
import org.simpleframework.xml.Element;
11

12
import java.math.BigDecimal;
13
import java.time.ZonedDateTime;
14

15
public class NFInfoEvento extends DFBase {
1✔
16
    private static final long serialVersionUID = 8878652860997939767L;
17

18
    @Attribute(name = "Id")
19
    private String id;
20

21
    @Element(name = "cOrgao")
22
    private DFUnidadeFederativa orgao;
23

24
    @Element(name = "tpAmb")
25
    private DFAmbiente ambiente;
26

27
    @Element(name = "CNPJ", required = false)
28
    private String cnpj;
29

30
    @Element(name = "CPF", required = false)
31
    private String cpf;
32

33
    @Element(name = "chNFe")
34
    private String chave;
35

36
    @Element(name = "dhEvento")
37
    private ZonedDateTime dataHoraEvento;
38

39
    @Element(name = "tpEvento")
40
    private String codigoEvento;
41

42
    @Element(name = "nSeqEvento")
43
    private Integer numeroSequencialEvento;
44

45
    @Element(name = "verEvento")
46
    private String versaoEvento;
47

48
    @Element(name = "detEvento")
49
    private NFTipoEvento dadosEvento;
50

51
    public void setOrgao(final DFUnidadeFederativa orgao) {
52
        this.orgao = orgao;
1✔
53
    }
1✔
54

55
    public void setVersaoEvento(final BigDecimal versaoEvento) {
56
        this.versaoEvento = DFBigDecimalValidador.tamanho5Com2CasasDecimais(versaoEvento, "Info Evento Versao");
1✔
57
    }
1✔
58

59
    public String getId() {
60
        return this.id;
×
61
    }
62

63
    public void setId(final String id) {
64
        DFStringValidador.exatamente54(id, "Info Evento ID");
1✔
65
        this.id = id;
1✔
66
    }
1✔
67

68
    public DFAmbiente getAmbiente() {
69
        return this.ambiente;
×
70
    }
71

72
    public void setAmbiente(final DFAmbiente ambiente) {
73
        this.ambiente = ambiente;
1✔
74
    }
1✔
75

76
    public String getCnpj() {
77
        return this.cnpj;
×
78
    }
79

80
    public void setCnpj(final String cnpj) {
81
        DFStringValidador.cnpj(cnpj);
1✔
82
        this.cnpj = cnpj;
1✔
83
    }
1✔
84

85
    public String getCpf() {
UNCOV
86
        return this.cpf;
×
87
    }
88

89
    public void setCpf(final String cpf) {
UNCOV
90
        DFStringValidador.cpf(cpf);
×
UNCOV
91
        this.cpf = cpf;
×
UNCOV
92
    }
×
93

94
    public String getChave() {
95
        return this.chave;
1✔
96
    }
97

98
    public void setChave(final String chave) {
99
        DFStringValidador.exatamente44(chave, "Info Evento Chave");
1✔
100
        this.chave = chave;
1✔
101
    }
1✔
102

103
    public ZonedDateTime getDataHoraEvento() {
UNCOV
104
        return this.dataHoraEvento;
×
105
    }
106

107
    public void setDataHoraEvento(final ZonedDateTime dataHoraEvento) {
108
        this.dataHoraEvento = dataHoraEvento;
1✔
109
    }
1✔
110

111
    public String getCodigoEvento() {
UNCOV
112
        return this.codigoEvento;
×
113
    }
114

115
    public void setTipoEvento(final String tipoEvento) {
116
        DFStringValidador.exatamente6N(tipoEvento, "Tipo Evento");
1✔
117
        this.codigoEvento = tipoEvento;
1✔
118
    }
1✔
119

120
    public int getNumeroSequencialEvento() {
UNCOV
121
        return this.numeroSequencialEvento;
×
122
    }
123

124
    public void setNumeroSequencialEvento(final int numeroSequencialEvento) {
125
        DFIntegerValidador.tamanho1a2(numeroSequencialEvento, "Numero Sequencial Evento");
1✔
126
        this.numeroSequencialEvento = numeroSequencialEvento;
1✔
127
    }
1✔
128

129
    public String getVersaoEvento() {
UNCOV
130
        return this.versaoEvento;
×
131
    }
132

133
    public NFTipoEvento getDadosEvento() {
UNCOV
134
        return this.dadosEvento;
×
135
    }
136

137
    public void setDadosEvento(final NFTipoEvento evento) {
138
        this.dadosEvento = evento;
1✔
139
    }
1✔
140

141
    public DFUnidadeFederativa getOrgao() {
UNCOV
142
        return this.orgao;
×
143
    }
144

145
    public void setCodigoEvento(final String codigoEvento) {
UNCOV
146
        this.codigoEvento = codigoEvento;
×
UNCOV
147
    }
×
148
}
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