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

wmixvideo / nfe / #9106

22 May 2026 12:03PM UTC coverage: 50.605% (+23.6%) from 26.996%
#9106

push

web-flow
feat: suporte a CNPJ alfanumérico em chaves NF-e, CT-e e campos CNPJ (#1165)

* feat: adicionando schema 1.14 para cte 4.00

* feat: removendo validacao de apenas numerico no identificador

* feat: removendo validacao de apenas numerico no identificador

* test: adicionando teste

* test: adicionando teste

* test: adicionando teste

* feat: cnpj, chave de cte e nfe para aceitar alfanumerico

---------

Co-authored-by: Matteus Colins Moreira <matteuscolins@Colinss-MacBook-Pro.local>
Co-authored-by: Matteus Colins <matteusc.moreira@gmail.com>
Co-authored-by: Diego Fincatto <58352+fincatto@users.noreply.github.com>

39 of 84 new or added lines in 75 files covered. (46.43%)

2960 existing lines in 403 files now uncovered.

14856 of 29357 relevant lines covered (50.6%)

0.51 hits per line

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

0.0
/src/main/java/com/fincatto/documentofiscal/cte300/classes/os/CTeOSInfo.java
1
package com.fincatto.documentofiscal.cte300.classes.os;
2

3
import com.fincatto.documentofiscal.DFBase;
4
import com.fincatto.documentofiscal.cte.CTeConfig;
5
import com.fincatto.documentofiscal.validadores.DFListValidador;
6
import com.fincatto.documentofiscal.validadores.DFStringValidador;
7
import org.simpleframework.xml.*;
8

9
import java.util.List;
10

11
@Root(name = "infCte")
12
@Namespace(reference = CTeConfig.NAMESPACE)
13
public class CTeOSInfo extends DFBase {
×
14
    public static final String IDENT = "CTe";
15
    private static final long serialVersionUID = 1970550899293677744L;
16

17
    @Attribute(name = "Id")
18
    private String identificador;
19

20
    @Attribute(name = "versao")
21
    private String versao;
22

23
    @Element(name = "ide")
24
    private CTeOSInfoIdentificacao identificacao;
25

26
    @Element(name = "compl", required = false)
27
    private CTeOSInfoDadosComplementares dadosComplementares;
28

29
    @Element(name = "emit")
30
    private CTeOSInfoEmitente emitente;
31

32
    @Element(name = "toma", required = false)
33
    private CTeOSInfoIdentificacaoTomador tomador;
34

35
    @Element(name = "vPrest")
36
    private CTeOSInfoValorPrestacaoServico valorPrestacaoServico;
37

38
    @Element(name = "imp")
39
    private CTeOSInfoInformacoesRelativasImpostos informacoesRelativasImpostos;
40

41
    @Element(name = "infCTeNorm", required = false)
42
    private CTeOSInfoCTeNormal cteNormal;
43

44
    @Element(name = "infCteComp", required = false)
45
    private CTeOSInfoCTeComplementar cteComplementar;
46

47
    @Element(name = "infCteAnu", required = false)
48
    private CTeOSInfoCTeAnulacao cteAnulacao;
49

50
    @ElementList(name = "autXML", inline = true, required = false)
51
    private List<CTeOSInfoAutorizacaoDownload> autorizacaoDownload;
52

53
    @Element(name="infRespTec", required = false)
54
    private CTeOSInfoResponsavelTecnico informacaoResposavelTecnico;
55

56
    public String getIdentificador() {
57
        return this.identificador;
×
58
    }
59

60
    /**
61
     * Identificador da tag a ser assinada<br>
62
     * Informar a chave de acesso do CT-e e precedida do literal "CTe"
63
     */
64
    public void setIdentificador(final String identificador) {
NEW
65
        DFStringValidador.exatamente44(identificador, "Identificador");
×
66
        this.identificador = CTeOSInfo.IDENT + identificador;
×
67
    }
×
68

69
    /**
70
     * Pega a chave de acesso a partir do identificador.
71
     * @return Chave de acesso.
72
     */
73
    public String getChaveAcesso() {
74
        return this.identificador.replace(CTeOSInfo.IDENT, "");
×
75
    }
76

77
    public CTeOSInfoIdentificacao getIdentificacao() {
78
        return this.identificacao;
×
79
    }
80

81
    /**
82
     * Identificação do CT-e
83
     */
84
    public void setIdentificacao(final CTeOSInfoIdentificacao identificacao) {
85
        this.identificacao = identificacao;
×
86
    }
×
87

88
    public CTeOSInfoDadosComplementares getDadosComplementares() {
89
        return this.dadosComplementares;
×
90
    }
91

92
    /**
93
     * Dados complementares do CT-e para fins operacionais ou comerciais
94
     */
95
    public void setDadosComplementares(final CTeOSInfoDadosComplementares dadosComplementares) {
96
        this.dadosComplementares = dadosComplementares;
×
97
    }
×
98

99
    public CTeOSInfoEmitente getEmitente() {
100
        return this.emitente;
×
101
    }
102

103
    /**
104
     * Identificação do Emitente do CT-e
105
     */
106
    public void setEmitente(final CTeOSInfoEmitente emitente) {
107
        this.emitente = emitente;
×
108
    }
×
109

110
    public CTeOSInfoIdentificacaoTomador getTomador() {
111
        return tomador;
×
112
    }
113

114
    public void setTomador(final CTeOSInfoIdentificacaoTomador tomador) {
115
        this.tomador = tomador;
×
116
    }
×
117

118
    public CTeOSInfoValorPrestacaoServico getValorPrestacaoServico() {
119
        return this.valorPrestacaoServico;
×
120
    }
121

122
    /**
123
     * Valores da Prestação de Serviço
124
     */
125
    public void setValorPrestacaoServico(final CTeOSInfoValorPrestacaoServico valorPrestacaoServico) {
126
        this.valorPrestacaoServico = valorPrestacaoServico;
×
127
    }
×
128

129
    public CTeOSInfoInformacoesRelativasImpostos getInformacoesRelativasImpostos() {
130
        return this.informacoesRelativasImpostos;
×
131
    }
132

133
    /**
134
     * Informações relativas aos Impostos
135
     */
136
    public void setInformacoesRelativasImpostos(final CTeOSInfoInformacoesRelativasImpostos informacoesRelativasImpostos) {
137
        this.informacoesRelativasImpostos = informacoesRelativasImpostos;
×
138
    }
×
139

140
    public CTeOSInfoCTeNormal getCteNormal() {
141
        return this.cteNormal;
×
142
    }
143

144
    /**
145
     * Grupo de informações do CT-e Normal e Substituto
146
     */
147
    public void setCteNormal(final CTeOSInfoCTeNormal cteNormal) {
148
        this.cteNormal = cteNormal;
×
149
    }
×
150

151
    public CTeOSInfoCTeComplementar getCteComplementar() {
152
        return this.cteComplementar;
×
153
    }
154

155
    /**
156
     * Detalhamento do CT-e complementado
157
     */
158
    public void setCteComplementar(final CTeOSInfoCTeComplementar cteComplementar) {
159
        this.cteComplementar = cteComplementar;
×
160
    }
×
161

162
    public CTeOSInfoCTeAnulacao getCteAnulacao() {
163
        return this.cteAnulacao;
×
164
    }
165

166
    /**
167
     * Detalhamento do CT-e do tipo Anulação
168
     */
169
    public void setCteAnulacao(final CTeOSInfoCTeAnulacao cteAnulacao) {
170
        this.cteAnulacao = cteAnulacao;
×
171
    }
×
172

173
    public List<CTeOSInfoAutorizacaoDownload> getAutorizacaoDownload() {
174
        return this.autorizacaoDownload;
×
175
    }
176

177
    /**
178
     * Autorizados para download do XML do DF-e<br>
179
     * Informar CNPJ ou CPF. Preencher os zeros não significativos.
180
     */
181
    public void setAutorizacaoDownload(final List<CTeOSInfoAutorizacaoDownload> autorizacaoDownload) {
182
        DFListValidador.tamanho10(autorizacaoDownload, "Autorizados para download do XML do DF-e");
×
183
        this.autorizacaoDownload = autorizacaoDownload;
×
184
    }
×
185

186
    public String getVersao() {
187
        return this.versao;
×
188
    }
189

190
    /**
191
     * Versão do leiaute
192
     */
193
    public void setVersao(final String versao) {
194
        this.versao = versao;
×
195
    }
×
196

197
    public CTeOSInfoResponsavelTecnico getInformacaoResposavelTecnico() {
198
        return informacaoResposavelTecnico;
×
199
    }
200

201
    public CTeOSInfo setInformacaoResposavelTecnico(final CTeOSInfoResponsavelTecnico informacaoResposavelTecnico) {
202
        this.informacaoResposavelTecnico = informacaoResposavelTecnico;
×
203
        return this;
×
204
    }
205
}
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