• 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

81.4
/src/main/java/com/fincatto/documentofiscal/nfe310/classes/nota/NFNotaInfoEmitente.java
1
package com.fincatto.documentofiscal.nfe310.classes.nota;
2

3
import com.fincatto.documentofiscal.DFBase;
4
import com.fincatto.documentofiscal.nfe310.classes.NFEndereco;
5
import com.fincatto.documentofiscal.nfe310.classes.NFRegimeTributario;
6
import com.fincatto.documentofiscal.validadores.DFStringValidador;
7
import org.simpleframework.xml.Element;
8

9
public class NFNotaInfoEmitente extends DFBase {
1✔
10
    private static final long serialVersionUID = -2236869565066526162L;
11

12
    @Element(name = "CNPJ", required = false)
13
    private String cnpj;
14

15
    @Element(name = "CPF", required = false)
16
    private String cpf;
17
    
18
    @Element(name = "xNome")
19
    private String razaoSocial;
20

21
    @Element(name = "xFant", required = false)
22
    private String nomeFantasia;
23
    
24
    @Element(name = "enderEmit")
25
    private NFEndereco endereco;
26
    
27
    @Element(name = "IE")
28
    private String inscricaoEstadual;
29

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

33
    @Element(name = "IM", required = false)
34
    private String inscricaoMunicipal;
35

36
    @Element(name = "CNAE", required = false)
37
    private String classificacaoNacionalAtividadesEconomicas;
38
    
39
    @Element(name = "CRT")
40
    private NFRegimeTributario regimeTributario;
41

42
    public void setCnpj(final String cnpj) {
43
        if (this.cpf != null && cnpj != null) {
1✔
44
            throw new IllegalStateException("Nao pode setar CNPJ caso CPF esteja setado");
1✔
45
        }
46
        DFStringValidador.cnpj(cnpj);
1✔
47
        this.cnpj = cnpj;
1✔
48
    }
1✔
49

50
    public void setCpf(final String cpf) {
51
        if (this.cnpj != null && cpf != null) {
1✔
52
            throw new IllegalStateException("Nao pode setar CPF caso CNPJ esteja setado");
1✔
53
        }
54
        DFStringValidador.cpf(cpf);
1✔
55
        this.cpf = cpf;
1✔
56
    }
1✔
57

58
    public void setRazaoSocial(final String razaoSocial) {
59
        DFStringValidador.tamanho60(razaoSocial, "Razao Social Emitente");
1✔
60
        this.razaoSocial = razaoSocial;
1✔
61
    }
1✔
62

63
    public void setNomeFantasia(final String nomeFantasia) {
64
        DFStringValidador.tamanho60(nomeFantasia, "Nome Fantasia Emitente");
1✔
65
        this.nomeFantasia = nomeFantasia;
1✔
66
    }
1✔
67

68
    public void setEndereco(final NFEndereco endereco) {
69
        this.endereco = endereco;
1✔
70
    }
1✔
71

72
    public void setInscricaoEstadual(final String inscricaoEstadual) {
73
        DFStringValidador.inscricaoEstadual(inscricaoEstadual);
1✔
74
        this.inscricaoEstadual = inscricaoEstadual;
1✔
75
    }
1✔
76

77
    public void setInscricaoEstadualSubstituicaoTributaria(final String inscricaoEstadualSubstituicaoTributaria) {
78
        DFStringValidador.inscricaoEstadualSemIsencao(inscricaoEstadualSubstituicaoTributaria);
1✔
79
        this.inscricaoEstadualSubstituicaoTributaria = inscricaoEstadualSubstituicaoTributaria;
1✔
80
    }
1✔
81

82
    public void setInscricaoMunicipal(final String inscricaoMunicipal) {
83
        DFStringValidador.tamanho15(inscricaoMunicipal, "IM Emitente");
1✔
84
        this.inscricaoMunicipal = inscricaoMunicipal;
1✔
85
    }
1✔
86

87
    public void setClassificacaoNacionalAtividadesEconomicas(final String classificacaoNacionalAtividadesEconomicas) {
88
        DFStringValidador.exatamente7N(classificacaoNacionalAtividadesEconomicas, "CNAE Emitente");
1✔
89
        this.classificacaoNacionalAtividadesEconomicas = classificacaoNacionalAtividadesEconomicas;
1✔
90
    }
1✔
91

92
    public void setRegimeTributario(final NFRegimeTributario regimeTributario) {
93
        this.regimeTributario = regimeTributario;
1✔
94
    }
1✔
95

96
    public String getCnpj() {
97
        return this.cnpj;
1✔
98
    }
99

100
    public String getCpf() {
101
        return this.cpf;
1✔
102
    }
103

104
    public String getRazaoSocial() {
UNCOV
105
        return this.razaoSocial;
×
106
    }
107

108
    public String getNomeFantasia() {
UNCOV
109
        return this.nomeFantasia;
×
110
    }
111

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

116
    public String getInscricaoEstadual() {
UNCOV
117
        return this.inscricaoEstadual;
×
118
    }
119

120
    public String getInscricaoEstadualSubstituicaoTributaria() {
UNCOV
121
        return this.inscricaoEstadualSubstituicaoTributaria;
×
122
    }
123

124
    public String getInscricaoMunicipal() {
UNCOV
125
        return this.inscricaoMunicipal;
×
126
    }
127

128
    public String getClassificacaoNacionalAtividadesEconomicas() {
UNCOV
129
        return this.classificacaoNacionalAtividadesEconomicas;
×
130
    }
131

132
    public NFRegimeTributario getRegimeTributario() {
UNCOV
133
        return this.regimeTributario;
×
134
    }
135
}
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