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

wmixvideo / nfe / #7148

04 Dec 2025 02:00PM UTC coverage: 52.281% (+25.3%) from 26.996%
#7148

push

web-flow
Ajuste conforme CTe_Nota_Tecnica_2025_001_RTC_v1.10 (#1126)

* Merge from master

* Revert "Merge from master"

This reverts commit e2ed141c3.

* Revert "Revert "Merge from master""

This reverts commit 05781623b.

* Adição do campo indDoacao e grupo de informações de estorno de crédito. Exclusão do grupo de informações do crédito presumido por não se aplicar aos cClassTrib associados ao CTe. Conforme CTe_Nota_Tecnica_2025_001_RTC_v1.10.

103 of 276 new or added lines in 17 files covered. (37.32%)

2968 existing lines in 404 files now uncovered.

14761 of 28234 relevant lines covered (52.28%)

0.52 hits per line

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

69.52
/src/main/java/com/fincatto/documentofiscal/nfe400/classes/nota/NFNotaInfoIdentificacao.java
1
package com.fincatto.documentofiscal.nfe400.classes.nota;
2

3
import com.fincatto.documentofiscal.DFAmbiente;
4
import com.fincatto.documentofiscal.DFBase;
5
import com.fincatto.documentofiscal.DFModelo;
6
import com.fincatto.documentofiscal.DFUnidadeFederativa;
7
import com.fincatto.documentofiscal.nfe.NFTipoEmissao;
8
import com.fincatto.documentofiscal.nfe400.classes.NFCredito;
9
import com.fincatto.documentofiscal.nfe400.classes.NFDebito;
10
import com.fincatto.documentofiscal.nfe400.classes.NFFinalidade;
11
import com.fincatto.documentofiscal.nfe400.classes.NFProcessoEmissor;
12
import com.fincatto.documentofiscal.nfe400.classes.NFTipo;
13
import com.fincatto.documentofiscal.nfe400.classes.NFTipoImpressao;
14
import com.fincatto.documentofiscal.validadores.DFIntegerValidador;
15
import com.fincatto.documentofiscal.validadores.DFListValidador;
16
import com.fincatto.documentofiscal.validadores.DFStringValidador;
17
import org.apache.commons.lang3.StringUtils;
18
import org.simpleframework.xml.Element;
19
import org.simpleframework.xml.ElementList;
20

21
import java.time.LocalDate;
22
import java.time.ZonedDateTime;
23
import java.util.List;
24

25
public class NFNotaInfoIdentificacao extends DFBase {
1✔
26
    private static final long serialVersionUID = -2568396066960865875L;
27

28
    @Element(name = "cUF")
29
    private DFUnidadeFederativa uf;
30

31
    @Element(name = "cNF")
32
    private String codigoRandomico;
33

34
    @Element(name = "natOp")
35
    private String naturezaOperacao;
36

37
    @Element(name = "mod")
38
    private DFModelo modelo;
39

40
    @Element(name = "serie")
41
    private String serie;
42

43
    @Element(name = "nNF")
44
    private String numeroNota;
45

46
    @Element(name = "dhEmi")
47
    private ZonedDateTime dataHoraEmissao;
48

49
    @Element(name = "dhSaiEnt", required = false)
50
    private ZonedDateTime dataHoraSaidaOuEntrada;
51

52
    @Element(name = "tpNF")
53
    private NFTipo tipo;
54

55
    @Element(name = "idDest")
56
    private NFIdentificadorLocalDestinoOperacao identificadorLocalDestinoOperacao;
57

58
    @Element(name = "cMunFG")
59
    private String codigoMunicipio; // B12
60
    
61
    @Element(required = false)
62
    private String cMunFGIBS; // B12a
63

64
    @Element(name = "tpImp")
65
    private NFTipoImpressao tipoImpressao;
66

67
    @Element(name = "tpEmis")
68
    private NFTipoEmissao tipoEmissao;
69

70
    @Element(name = "cDV")
71
    private Integer digitoVerificador;
72

73
    @Element(name = "tpAmb")
74
    private DFAmbiente ambiente;
75

76
    @Element(name = "finNFe")
77
    private NFFinalidade finalidade; // B25
78
    
79
    @Element(required = false)
80
    private NFDebito tpNFDebito; // B25.1
81
    
82
    @Element(required = false)
83
    private NFCredito tpNFCredito; // B25.2
84

85
    @Element(name = "indFinal")
86
    private NFOperacaoConsumidorFinal operacaoConsumidorFinal; // B25a
87

88
    @Element(name = "indPres")
89
    private NFIndicadorPresencaComprador indicadorPresencaComprador; // B25b
90

91
    @Element(name = "indIntermed", required = false)
92
    private NFIndicadorIntermediador indIntermed; // B25c
93
    
94
    @Element(name = "procEmi")
95
    private NFProcessoEmissor programaEmissor;
96

97
    @Element(name = "verProc")
98
    private String versaoEmissor;
99

100
    @Element(name = "dhCont", required = false)
101
    private ZonedDateTime dataHoraContigencia;
102

103
    @Element(name = "xJust", required = false)
104
    private String justificativaEntradaContingencia;
105

106
    @ElementList(entry = "NFref", inline = true, required = false)
107
    private List<NFInfoReferenciada> referenciadas;
108
    
109
    @Element(name = "gCompraGov", required = false)
110
    private NFNotaInfoIdentificacaoCompraGov gCompraGov; // B31
111
    
112
    @Element(name = "gPagAntecipado", required = false)
113
    private NFNotaInfoIdentificacaoPagAntecipado gPagAntecipado; // BB01
114

115
    /**
116
     * B10a - Data da previsão de entrega ou disponibilização do bem
117
     */
118
    @Element(name = "dPrevEntrega", required = false)
119
    private LocalDate dataPrevistaEntrega;
120

121
    public void setUf(final DFUnidadeFederativa uf) {
122
        this.uf = uf;
1✔
123
    }
1✔
124

125
    public void setCodigoRandomico(final String codigoRandomico) {
126
        DFStringValidador.exatamente8(codigoRandomico, "Codigo Randomico");
1✔
127
        DFStringValidador.validaCodigoRandomico(codigoRandomico, "Codigo Randomico");
1✔
128
        if(StringUtils.isNotBlank(numeroNota) && StringUtils.equals(numeroNota.substring(1), codigoRandomico)){
1✔
129
            throw new IllegalStateException(String.format("N\u00FAmero da nota(%s) e c\u00F3digo(%s) n\u00E3o podem ser iguais", numeroNota.substring(1), codigoRandomico));
1✔
130
        }
131
        this.codigoRandomico = codigoRandomico;
1✔
132
    }
1✔
133

134
    public void setNaturezaOperacao(final String naturezaOperacao) {
135
        DFStringValidador.tamanho60(naturezaOperacao, "Natureza da Operacao");
1✔
136
        this.naturezaOperacao = naturezaOperacao;
1✔
137
    }
1✔
138

139
    public void setModelo(final DFModelo modelo) {
140
        this.modelo = modelo;
1✔
141
    }
1✔
142

143
    public void setSerie(final String serie) {
144
        DFStringValidador.validador(serie, "Serie", 3, false, true);
1✔
145
        this.serie = serie;
1✔
146
    }
1✔
147

148
    public void setNumeroNota(final String numeroNota) {
149
        DFStringValidador.tamanho9(numeroNota, "Numero da Nota");
1✔
150
        if(StringUtils.isNotBlank(codigoRandomico) && StringUtils.equals(numeroNota.substring(1), codigoRandomico)){
1✔
151
            throw new IllegalStateException(String.format("N\u00FAmero da nota(%s) e c\u00F3digo(%s) n\u00E3o podem ser iguais", numeroNota.substring(1), codigoRandomico));
1✔
152
        }
153
        this.numeroNota = numeroNota;
1✔
154
    }
1✔
155

156
    public void setDataHoraEmissao(final ZonedDateTime dataEmissao) {
157
        this.dataHoraEmissao = dataEmissao;
1✔
158
    }
1✔
159

160
    public void setDataHoraSaidaOuEntrada(final ZonedDateTime dataHoraSaidaOuEntrada) {
161
        this.dataHoraSaidaOuEntrada = dataHoraSaidaOuEntrada;
1✔
162
    }
1✔
163

164
    public void setTipo(final NFTipo tipo) {
165
        this.tipo = tipo;
1✔
166
    }
1✔
167

168
    public void setCodigoMunicipio(final String codigoMunicipio) {
169
        DFStringValidador.exatamente7N(codigoMunicipio, "Codigo Municipio");
1✔
170
        this.codigoMunicipio = codigoMunicipio;
1✔
171
    }
1✔
172

173
    public void setCMunFGIBS(String cMunFGIBS) {
UNCOV
174
       this.cMunFGIBS = cMunFGIBS;
×
UNCOV
175
    }
×
176

177
    public void setReferenciadas(final List<NFInfoReferenciada> referenciadas) {
178
        DFListValidador.tamanho500(referenciadas, "Referenciadas");
1✔
179
        this.referenciadas = referenciadas;
1✔
180
    }
1✔
181

182
    public NFNotaInfoIdentificacaoCompraGov getGCompraGov() {
UNCOV
183
        return gCompraGov;
×
184
    }
185

186
    public NFNotaInfoIdentificacaoPagAntecipado getGPagAntecipado() {
UNCOV
187
       return gPagAntecipado;
×
188
    }
189
    
190
    public void setTipoImpressao(final NFTipoImpressao tipoImpressao) {
191
        this.tipoImpressao = tipoImpressao;
1✔
192
    }
1✔
193

194
    public void setTipoEmissao(final NFTipoEmissao tipoEmissao) {
195
        this.tipoEmissao = tipoEmissao;
1✔
196
    }
1✔
197

198
    public void setDigitoVerificador(final Integer digitoVerificador) {
199
        DFIntegerValidador.exatamente1(digitoVerificador, "DV");
1✔
200
        this.digitoVerificador = digitoVerificador;
1✔
201
    }
1✔
202

203
    public void setAmbiente(final DFAmbiente ambiente) {
204
        this.ambiente = ambiente;
1✔
205
    }
1✔
206

207
    public void setFinalidade(final NFFinalidade finalidade) {
208
        this.finalidade = finalidade;
1✔
209
    }
1✔
210

211
    public NFDebito getTpNFDebito() {
UNCOV
212
       return tpNFDebito;
×
213
    }
214

215
    public NFCredito getTpNFCredito() {
UNCOV
216
        return tpNFCredito;
×
217
    }
218

219
    public void setProgramaEmissor(final NFProcessoEmissor programaEmissor) {
220
        this.programaEmissor = programaEmissor;
1✔
221
    }
1✔
222

223
    public void setVersaoEmissor(final String versaoEmissor) {
224
        DFStringValidador.tamanho20(versaoEmissor, "Versao Emissor");
1✔
225
        this.versaoEmissor = versaoEmissor;
1✔
226
    }
1✔
227

228
    public void setDataHoraContigencia(final ZonedDateTime dataHoraContigencia) {
229
        this.dataHoraContigencia = dataHoraContigencia;
1✔
230
    }
1✔
231

232
    public void setJustificativaEntradaContingencia(final String justificativaEntradaContingencia) {
233
        DFStringValidador.tamanho15a256(justificativaEntradaContingencia, "Justificativa Entrada Contingencia");
1✔
234
        this.justificativaEntradaContingencia = justificativaEntradaContingencia;
1✔
235
    }
1✔
236

237
    public void setIdentificadorLocalDestinoOperacao(final NFIdentificadorLocalDestinoOperacao identificadorLocalDestinoOperacao) {
238
        this.identificadorLocalDestinoOperacao = identificadorLocalDestinoOperacao;
1✔
239
    }
1✔
240

241
    public void setOperacaoConsumidorFinal(final NFOperacaoConsumidorFinal operacaoConsumidorFinal) {
242
        this.operacaoConsumidorFinal = operacaoConsumidorFinal;
1✔
243
    }
1✔
244

245
    public void setIndicadorPresencaComprador(final NFIndicadorPresencaComprador indicadorPresencaComprador) {
246
        this.indicadorPresencaComprador = indicadorPresencaComprador;
1✔
247
    }
1✔
248

249
        public void setIndIntermed(final NFIndicadorIntermediador indIntermed) {
250
                this.indIntermed = indIntermed;
1✔
251
        }
1✔
252
        
253
    public DFUnidadeFederativa getUf() {
254
        return this.uf;
1✔
255
    }
256

257
    public String getCodigoRandomico() {
258
        return this.codigoRandomico;
1✔
259
    }
260

261
    public String getNaturezaOperacao() {
UNCOV
262
        return this.naturezaOperacao;
×
263
    }
264

265
    public DFModelo getModelo() {
266
        return this.modelo;
1✔
267
    }
268

269
    public String getSerie() {
270
        return this.serie;
1✔
271
    }
272

273
    public String getNumeroNota() {
274
        return this.numeroNota;
1✔
275
    }
276

277
    public ZonedDateTime getDataHoraEmissao() {
278
        return this.dataHoraEmissao;
1✔
279
    }
280

281
    public ZonedDateTime getDataHoraSaidaOuEntrada() {
UNCOV
282
        return this.dataHoraSaidaOuEntrada;
×
283
    }
284

285
    public NFTipo getTipo() {
286
        return this.tipo;
1✔
287
    }
288

289
    public NFIdentificadorLocalDestinoOperacao getIdentificadorLocalDestinoOperacao() {
290
        return this.identificadorLocalDestinoOperacao;
1✔
291
    }
292

293
    public String getCodigoMunicipio() {
UNCOV
294
        return this.codigoMunicipio;
×
295
    }
296

297
    public String getCMunFGIBS() {
UNCOV
298
        return cMunFGIBS;
×
299
    }
300
    
301
    public NFTipoImpressao getTipoImpressao() {
UNCOV
302
        return this.tipoImpressao;
×
303
    }
304

305
    public NFTipoEmissao getTipoEmissao() {
306
        return this.tipoEmissao;
1✔
307
    }
308

309
    public Integer getDigitoVerificador() {
UNCOV
310
        return this.digitoVerificador;
×
311
    }
312

313
    public DFAmbiente getAmbiente() {
UNCOV
314
        return this.ambiente;
×
315
    }
316

317
    public NFFinalidade getFinalidade() {
UNCOV
318
        return this.finalidade;
×
319
    }
320

321
    public void setTpNFDebito(NFDebito tpNFDebito) {
UNCOV
322
        this.tpNFDebito = tpNFDebito;
×
UNCOV
323
    }
×
324
    
325
    public void setTpNFCredito(NFCredito tpNFCredito) {
UNCOV
326
        this.tpNFCredito = tpNFCredito;
×
UNCOV
327
    }
×
328
    
329
    public NFOperacaoConsumidorFinal getOperacaoConsumidorFinal() {
330
        return this.operacaoConsumidorFinal;
1✔
331
    }
332

333
    public NFIndicadorPresencaComprador getIndicadorPresencaComprador() {
UNCOV
334
        return this.indicadorPresencaComprador;
×
335
    }
336
    
337
    public NFIndicadorIntermediador getIndIntermed() {
UNCOV
338
                return indIntermed;
×
339
        }
340

341
    public NFProcessoEmissor getProgramaEmissor() {
UNCOV
342
        return this.programaEmissor;
×
343
    }
344

345
    public String getVersaoEmissor() {
UNCOV
346
        return this.versaoEmissor;
×
347
    }
348

349
    public ZonedDateTime getDataHoraContigencia() {
UNCOV
350
        return this.dataHoraContigencia;
×
351
    }
352

353
    public String getJustificativaEntradaContingencia() {
UNCOV
354
        return this.justificativaEntradaContingencia;
×
355
    }
356

357
    public List<NFInfoReferenciada> getReferenciadas() {
UNCOV
358
        return this.referenciadas;
×
359
    }
360
    
361
    public void setGCompraGov(NFNotaInfoIdentificacaoCompraGov gCompraGov) {
UNCOV
362
       this.gCompraGov = gCompraGov;
×
UNCOV
363
    }
×
364
    
365
    public void setGPagAntecipado(NFNotaInfoIdentificacaoPagAntecipado gPagAntecipado) {
UNCOV
366
        this.gPagAntecipado = gPagAntecipado;
×
UNCOV
367
    }
×
368

369
    public LocalDate getDataPrevistaEntrega() {
UNCOV
370
        return dataPrevistaEntrega;
×
371
    }
372

373
    public void setDataPrevistaEntrega(LocalDate dataPrevistaEntrega) {
UNCOV
374
        this.dataPrevistaEntrega = dataPrevistaEntrega;
×
UNCOV
375
    }
×
376
        
377
}
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