• 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

43.33
/src/main/java/com/fincatto/documentofiscal/cte300/classes/nota/CTeNotaInfoCTeNormalInfoModal.java
1
package com.fincatto.documentofiscal.cte300.classes.nota;
2

3
import com.fincatto.documentofiscal.DFBase;
4
import org.simpleframework.xml.Attribute;
5
import org.simpleframework.xml.Element;
6
import org.simpleframework.xml.Namespace;
7
import org.simpleframework.xml.Root;
8

9
/**
10
 * @author Caio
11
 * @info Informações do modal
12
 */
13

14
@Root(name = "infModal")
15
@Namespace(reference = "http://www.portalfiscal.inf.br/cte")
16
public class CTeNotaInfoCTeNormalInfoModal extends DFBase {
17
    private static final long serialVersionUID = -8073539536767730257L;
18

19
    // @Element(name = "skip", required = true)
20
    // private Object any;
21

22
    /**
23
     * verificar como trabalhar com a tag any usando a libe simple-xml para liberar o elemento acima para os modal de transporte rodoviario aereo aquatico ferroviario dutoviario multimodal
24
     */
25
    @Element(name = "rodo", required = false)
26
    private CTeNotaInfoCTeNormalInfoModalRodoviario rodoviario;
27

28
    @Element(name = "aereo", required = false)
29
    private CTeNotaInfoCTeNormalInfoModalAereo aereo;
30

31
    @Element(name = "aquav", required = false)
32
    private CTeNotaInfoCTeNormalInfoModalAquaviario aquaviario;
33

34
    @Element(name = "ferrov", required = false)
35
    private CTeNotaInfoCTeNormalInfoModalFerroviario ferroviario;
36

37
    @Element(name = "duto", required = false)
38
    private CTeNotaInfoCTeNormalInfoModalDutoviario dutoviario;
39

40
    @Element(name = "multimodal", required = false)
41
    private CTeNotaInfoCTeNormalInfoModalMultiModal multiModal;
42
    
43
    @Attribute(name = "versaoModal")
44
    private String versao;
45

46
    public CTeNotaInfoCTeNormalInfoModal() {
1✔
47
        // this.any = null;
48
        this.rodoviario = null;
1✔
49
        this.aereo = null;
1✔
50
        this.aquaviario = null;
1✔
51
        this.ferroviario = null;
1✔
52
        this.dutoviario = null;
1✔
53
        this.multiModal = null;
1✔
54

55
        this.versao = null;
1✔
56
    }
1✔
57

58
    // public Object getAny() {
59
    // return any;
60
    // }
61

62
    /*
63
     * XML do modal Insira neste local o XML específico do modal (rodoviário, aéreo, ferroviário, aquaviário ou dutoviário).<br> O elemento do tipo -any- permite estender o documento XML com elementos não especificados pelo schema. Insira neste local - any- o XML específico do modal (rodoviário, aéreo, ferroviário, aquaviário ou dutoviário). A especificação do schema XML para cada modal pode ser encontrada nos arquivos que acompanham este pacote de liberação:<br> Rodoviário - ver arquivo CTeModalRodoviario_v9.99<br> Aéreo - ver arquivo CTeModalAereo_v9.99<br> Aquaviário - arquivo CTeModalAquaviario_v9.99<br> Ferroviário - arquivo CTeModalFerroviario_v9.99<br> Dutoviário - arquivo CTeModalDutoviario_v9.99<br> Onde v9.99 é a a designação genérica para a versão do arquivo. Por exemplo, o
64
     * arquivo para o schema do modal Rodoviário na versão 1.04 será denominado "CTeModalRodoviario_v1.04".
65
     */
66
    // public void setAny(Object any) {
67
    // this.any = any;
68
    // }
69

70
    public CTeNotaInfoCTeNormalInfoModalRodoviario getRodoviario() {
UNCOV
71
        return this.rodoviario;
×
72
    }
73

74
    public void setRodoviario(final CTeNotaInfoCTeNormalInfoModalRodoviario rodoviario) {
75
        this.rodoviario = rodoviario;
1✔
76
    }
1✔
77

78
    public CTeNotaInfoCTeNormalInfoModalAereo getAereo() {
UNCOV
79
        return this.aereo;
×
80
    }
81

82
    public void setAereo(final CTeNotaInfoCTeNormalInfoModalAereo aereo) {
UNCOV
83
        this.aereo = aereo;
×
84
    }
×
85

86
    public CTeNotaInfoCTeNormalInfoModalAquaviario getAquaviario() {
UNCOV
87
        return this.aquaviario;
×
88
    }
89

90
    public void setAquaviario(final CTeNotaInfoCTeNormalInfoModalAquaviario aquaviario) {
UNCOV
91
        this.aquaviario = aquaviario;
×
92
    }
×
93

94
    public CTeNotaInfoCTeNormalInfoModalFerroviario getFerroviario() {
UNCOV
95
        return this.ferroviario;
×
96
    }
97

98
    public void setFerroviario(final CTeNotaInfoCTeNormalInfoModalFerroviario ferroviario) {
UNCOV
99
        this.ferroviario = ferroviario;
×
100
    }
×
101

102
    public CTeNotaInfoCTeNormalInfoModalDutoviario getDutoviario() {
UNCOV
103
        return this.dutoviario;
×
104
    }
105

106
    public void setDutoviario(final CTeNotaInfoCTeNormalInfoModalDutoviario dutoviario) {
UNCOV
107
        this.dutoviario = dutoviario;
×
108
    }
×
109

110
    public CTeNotaInfoCTeNormalInfoModalMultiModal getMultiModal() {
UNCOV
111
        return this.multiModal;
×
112
    }
113

114
    public void setMultiModal(final CTeNotaInfoCTeNormalInfoModalMultiModal multiModal) {
UNCOV
115
        this.multiModal = multiModal;
×
116
    }
×
117

118
    public String getVersao() {
UNCOV
119
        return this.versao;
×
120
    }
121

122
    /**
123
     * Versão do leiaute específico para o Modal
124
     */
125
    public void setVersao(final String versaoModal) {
126
        this.versao = versaoModal;
1✔
127
    }
1✔
128
}
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