• 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.58
/src/main/java/com/fincatto/documentofiscal/mdfe3/classes/nota/MDFInfo.java
1
package com.fincatto.documentofiscal.mdfe3.classes.nota;
2

3
import java.util.List;
4

5
import org.simpleframework.xml.*;
6

7
import com.fincatto.documentofiscal.DFBase;
8
import com.fincatto.documentofiscal.validadores.DFListValidador;
9
import com.fincatto.documentofiscal.validadores.DFStringValidador;
10

11
/**
12
 * Created by Eldevan Nery Junior on 03/11/17. Informações do MDF-e.
13
 */
14
@Root(name = "infMDFe")
15
@Namespace(reference = "http://www.portalfiscal.inf.br/mdfe")
16
public class MDFInfo extends DFBase {
1✔
17

18
    private static final long serialVersionUID = 5215463851140624452L;
19

20
    public static final String IDENT = "MDFe";
21

22
    @Attribute(name = "Id")
23
    private String identificador;
24
    /**
25
     * Tipo Versão do MDF-e - 3.00.
26
     */
27
    @Attribute(name = "versao")
1✔
28
    private String versao = MDFe.VERSAO;
29

30
    @Element(name = "ide")
31
    private MDFInfoIdentificacao identificacao;
32

33
    @Element(name = "emit")
34
    private MDFInfoEmitente emitente;
35

36
    @Element(name = "infModal")
37
    private MDFInfoModal mdfInfoModal;
38

39
    /**
40
     * Informações dos Documentos fiscais vinculados ao manifesto.
41
     */
42
    @Element(name = "infDoc")
43
    private MDFInfoInformacoesDocumentos informacoesDocumentos;
44

45
    @ElementList(name = "seg", inline = true, required = false)
46
    private List<MDFInfoSeguro> seguro;
47
    
48
    @ElementList(name = "prodPred", inline = true, required = false)
49
    private List<MDFInfoProdutoPredominante> prodPred;
50

51
    @Element(name = "tot")
52
    private MDFInfoTotal infoTotal;
53

54
    @ElementList(entry = "lacres", inline = true, required = false)
55
    private List<MDFInfoLacre1A60> lacres;
56

57
    @ElementList(name = "autXML", inline = true, required = false)
58
    private List<MDFInfoAutorizacaoDownload> autorizacaoDownload;
59

60
    @Element(name = "infAdic", required = false)
61
    private MDFInfoInformacoesAdicionais informacoesAdicionais;
62

63
    @Element(name = "infRespTec", required = false)
64
    private MDFRespTec infRespTec;
65
    
66
    /**
67
     * Grupo de informações do pedido de emissão da NFF
68
     */
69
    @Element(name = "infSolicNFF", required = false)
70
    private MDFInfSolicNFF infSolicNFF;
71

72
    public String getIdentificador() {
73
        return this.identificador;
×
74
    }
75

76
    /**
77
     * Identificador da tag a ser assinada<br>
78
     * Informar a chave de acesso do MDF-e e precedida do literal "MDFe"
79
     */
80
    public void setIdentificador(final String identificador) {
81
        DFStringValidador.exatamente44(identificador, "Identificador");
1✔
82
        this.identificador = MDFInfo.IDENT + identificador;
1✔
83
    }
1✔
84

85
    /**
86
     * Retorna a chave de acesso a partir do identificador.
87
     *
88
     * @return Chave de acesso.
89
     */
90
    public String getChaveAcesso() {
UNCOV
91
        return this.identificador.replace(MDFInfo.IDENT, "");
×
92
    }
93

94
    public MDFInfoIdentificacao getIdentificacao() {
UNCOV
95
        return this.identificacao;
×
96
    }
97

98
    public MDFInfoEmitente getEmitente() {
UNCOV
99
        return this.emitente;
×
100
    }
101

102
    /**
103
     * Identificação do Emitente do MDF-e
104
     */
105
    public void setEmitente(final MDFInfoEmitente emitente) {
106
        this.emitente = emitente;
1✔
107
    }
1✔
108

109
    public List<MDFInfoAutorizacaoDownload> getAutorizacaoDownload() {
110
        return this.autorizacaoDownload;
×
111
    }
112

113
    /**
114
     * Autorizados para download do XML do DF-e<br>
115
     * Informar CNPJ ou CPF. Preencher os zeros não significativos.
116
     */
117
    public void setAutorizacaoDownload(final List<MDFInfoAutorizacaoDownload> autorizacaoDownload) {
118
        DFListValidador.tamanho10(autorizacaoDownload, "Autorizados para download do XML do DF-e");
1✔
119
        this.autorizacaoDownload = autorizacaoDownload;
1✔
120
    }
1✔
121

122
    public String getVersao() {
123
        return this.versao;
×
124
    }
125

126
    /**
127
     * Versão do leiaute
128
     */
129
    public void setVersao(final String versao) {
130
        DFStringValidador.equals(MDFe.VERSAO, versao);
1✔
131
        this.versao = versao;
1✔
132
    }
1✔
133

134
    public void setIdentificacao(final MDFInfoIdentificacao identificacao) {
135
        this.identificacao = identificacao;
1✔
136
    }
1✔
137

138
    public MDFInfoModal getMdfInfoModal() {
UNCOV
139
        return this.mdfInfoModal;
×
140
    }
141

142
    public void setMdfInfoModal(final MDFInfoModal mdfInfoModal) {
143
        this.mdfInfoModal = mdfInfoModal;
1✔
144
    }
1✔
145

146
    public MDFInfoInformacoesDocumentos getInformacoesDocumentos() {
UNCOV
147
        return this.informacoesDocumentos;
×
148
    }
149

150
    public void setInformacoesDocumentos(final MDFInfoInformacoesDocumentos informacoesDocumentos) {
151
        this.informacoesDocumentos = informacoesDocumentos;
1✔
152
    }
1✔
153

154
    public MDFInfoTotal getInfoTotal() {
UNCOV
155
        return this.infoTotal;
×
156
    }
157

158
    public void setInfoTotal(final MDFInfoTotal infoTotal) {
159
        this.infoTotal = infoTotal;
1✔
160
    }
1✔
161

162
    public List<MDFInfoLacre1A60> getLacres() {
UNCOV
163
        return this.lacres;
×
164
    }
165

166
    public void setLacres(final List<MDFInfoLacre1A60> lacres) {
167
        this.lacres = lacres;
1✔
168
    }
1✔
169

170
    public MDFInfoInformacoesAdicionais getInformacoesAdicionais() {
UNCOV
171
        return this.informacoesAdicionais;
×
172
    }
173

174
    public void setInformacoesAdicionais(final MDFInfoInformacoesAdicionais informacoesAdicionais) {
175
        this.informacoesAdicionais = informacoesAdicionais;
1✔
176
    }
1✔
177

178
    public MDFRespTec getInfRespTec() {
UNCOV
179
        return infRespTec;
×
180
    }
181

182
    public void setInfRespTec(final MDFRespTec infRespTec) {
UNCOV
183
        this.infRespTec = infRespTec;
×
UNCOV
184
    }
×
185

186
    public List<MDFInfoSeguro> getSeguro() {
UNCOV
187
        return this.seguro;
×
188
    }
189

190
    public void setSeguro(final List<MDFInfoSeguro> seguro) {
191
        this.seguro = seguro;
1✔
192
    }
1✔
193

194
    public List<MDFInfoProdutoPredominante> getProdPred() {
UNCOV
195
        return prodPred;
×
196
    }
197

198
    public void setProdPred(List<MDFInfoProdutoPredominante> prodPred) {
199
        this.prodPred = prodPred;
1✔
200
    }
1✔
201

202
    public MDFInfSolicNFF getInfSolicNFF() {
UNCOV
203
        return infSolicNFF;
×
204
    }
205

206
    public void setInfSolicNFF(MDFInfSolicNFF infSolicNFF) {
207
        this.infSolicNFF = infSolicNFF;
1✔
208
    }
1✔
209

210
}
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