• 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

74.29
/src/main/java/com/fincatto/documentofiscal/cte300/classes/nota/CTeNotaInfoEmitente.java
1
package com.fincatto.documentofiscal.cte300.classes.nota;
2

3
import com.fincatto.documentofiscal.DFBase;
4
import com.fincatto.documentofiscal.cte300.classes.CTTipoRegimeTributario;
5
import com.fincatto.documentofiscal.validadores.DFStringValidador;
6
import org.simpleframework.xml.Element;
7
import org.simpleframework.xml.Namespace;
8
import org.simpleframework.xml.Root;
9

10
/**
11
 * @author Caio
12
 * @info Identificação do Emitente do CT-e
13
 */
14

15
@Root(name = "emit")
16
@Namespace(reference = "http://www.portalfiscal.inf.br/cte")
17
public class CTeNotaInfoEmitente extends DFBase {
18
    private static final long serialVersionUID = -316869143177543788L;
19
    
20
    @Element(name = "CNPJ")
21
    private String cnpj;
22
    
23
    @Element(name = "IE")
24
    private String inscricaoEstadual;
25

26
    @Element(name = "IEST", required = false)
27
    private String inscricaoEstadualST;
28
    
29
    @Element(name = "xNome")
30
    private String razaoSocial;
31

32
    @Element(name = "xFant", required = false)
33
    private String nomeFantasia;
34
    
35
    @Element(name = "enderEmit")
36
    private CTeNotaEnderecoEmitente endereco;
37

38
    @Element(name = "CRT", required = false)
39
    private CTTipoRegimeTributario tipoRegimeTributario;
40

41
    public CTeNotaInfoEmitente() {
1✔
42
        this.cnpj = null;
1✔
43
        this.inscricaoEstadual = null;
1✔
44
        this.inscricaoEstadualST = null;
1✔
45
        this.razaoSocial = null;
1✔
46
        this.nomeFantasia = null;
1✔
47
        this.endereco = null;
1✔
48
        this.tipoRegimeTributario = null;
1✔
49
    }
1✔
50

51
    public String getCnpj() {
UNCOV
52
        return this.cnpj;
×
53
    }
54

55
    /**
56
     * CNPJ do emitente<br>
57
     * Informar zeros não significativos
58
     */
59
    public void setCnpj(final String cnpj) {
60
        DFStringValidador.cnpj(cnpj);
1✔
61
        this.cnpj = cnpj;
1✔
62
    }
1✔
63

64
    public String getInscricaoEstadual() {
UNCOV
65
        return this.inscricaoEstadual;
×
66
    }
67

68
    /**
69
     * Inscrição Estadual do Emitente
70
     */
71
    public void setInscricaoEstadual(final String inscricaoEstadual) {
72
        DFStringValidador.inscricaoEstadualSemIsencao(inscricaoEstadual);
1✔
73
        this.inscricaoEstadual = inscricaoEstadual;
1✔
74
    }
1✔
75

76
    public String getInscricaoEstadualST() {
UNCOV
77
        return this.inscricaoEstadualST;
×
78
    }
79

80
    /**
81
     * Inscrição Estadual do Substituto Tributário
82
     */
83
    public void setInscricaoEstadualST(final String inscricaoEstadualST) {
84
        DFStringValidador.tamanho14N(inscricaoEstadualST, "Inscrição Estadual do Substituto Tributário");
1✔
85
        this.inscricaoEstadualST = inscricaoEstadualST;
1✔
86
    }
1✔
87

88
    public String getRazaoSocial() {
UNCOV
89
        return this.razaoSocial;
×
90
    }
91

92
    /**
93
     * Razão social ou Nome do emitente
94
     */
95
    public void setRazaoSocial(final String xNome) {
96
        DFStringValidador.tamanho2ate60(xNome, "Razão social ou Nome do emitente");
1✔
97
        this.razaoSocial = xNome;
1✔
98
    }
1✔
99

100
    public String getNomeFantasia() {
UNCOV
101
        return this.nomeFantasia;
×
102
    }
103

104
    /**
105
     * Nome fantasia
106
     */
107
    public void setNomeFantasia(final String xFant) {
108
        DFStringValidador.tamanho2ate60(xFant, "Nome fantasia");
1✔
109
        this.nomeFantasia = xFant;
1✔
110
    }
1✔
111

112
    public CTeNotaEnderecoEmitente getEnderEmit() {
UNCOV
113
        return this.endereco;
×
114
    }
115

116
    /**
117
     * Endereço do emitente
118
     */
119
    public void setEnderEmit(final CTeNotaEnderecoEmitente enderEmit) {
120
        this.endereco = enderEmit;
1✔
121
    }
1✔
122

123
    public CTTipoRegimeTributario getTipoRegimeTributario() {
UNCOV
124
        return tipoRegimeTributario;
×
125
    }
126

127
    public CTeNotaInfoEmitente setTipoRegimeTributario(CTTipoRegimeTributario tipoRegimeTributario) {
UNCOV
128
        this.tipoRegimeTributario = tipoRegimeTributario;
×
UNCOV
129
        return this;
×
130
    }
131
}
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