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

wmixvideo / nfe / #6266

21 Mar 2025 11:46AM UTC coverage: 52.671% (+25.7%) from 26.996%
#6266

push

luciano.antunes
Nota Fiscal Fácil

0 of 21 new or added lines in 2 files covered. (0.0%)

2924 existing lines in 401 files now uncovered.

14002 of 26584 relevant lines covered (52.67%)

0.53 hits per line

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

87.42
/src/main/java/com/fincatto/documentofiscal/nfe400/classes/nota/NFNotaInfoItemProduto.java
1
package com.fincatto.documentofiscal.nfe400.classes.nota;
2

3
import com.fincatto.documentofiscal.DFBase;
4
import com.fincatto.documentofiscal.nfe400.classes.NFProdutoCompoeValorNota;
5
import com.fincatto.documentofiscal.nfe400.converters.NFStringNullToEmptyConverter;
6
import com.fincatto.documentofiscal.validadores.DFBigDecimalValidador;
7
import com.fincatto.documentofiscal.validadores.DFIntegerValidador;
8
import com.fincatto.documentofiscal.validadores.DFListValidador;
9
import com.fincatto.documentofiscal.validadores.DFStringValidador;
10
import org.simpleframework.xml.Element;
11
import org.simpleframework.xml.ElementList;
12
import org.simpleframework.xml.convert.Convert;
13

14
import java.math.BigDecimal;
15
import java.util.List;
16

17
public class NFNotaInfoItemProduto extends DFBase {
1✔
18
    private static final long serialVersionUID = -2271625077897052364L;
19

20
    @Element(name = "cProd")
21
    private String codigo;
22

23
    @Element(name = "cEAN", required = false)
24
    @Convert(NFStringNullToEmptyConverter.class)
25
    private String codigoDeBarrasGtin;
26

27
    @Element(name = "cBarra", required = false)
28
    private String codigoDeBarrasDiferenteGtin;
29

30
    @Element(name = "xProd")
31
    private String descricao;
32

33
    @Element(name = "NCM")
34
    private String ncm;
35

36
    @ElementList(entry = "NVE", inline = true, required = false)
37
    private List<String> nomeclaturaValorAduaneiroEstatistica;
38

39
    @Element(name = "CEST", required = false)
40
    private String codigoEspecificadorSituacaoTributaria;
41

42
    @Element(name = "indEscala", required = false)
43
    private NFIndicadorEscalaRelevante indicadorEscalaRelevante;
44

45
    @Element(name = "CNPJFab", required = false)
46
    private String cnpjFabricanteMercadoria;
47

48
    @Element(name = "cBenef", required = false)
49
    private String codigoBeneficioFiscalUF;
50

51
    @Element(name = "gCred", required = false)
52
    private NFNotaInfoItemProdutoGrupoCreditoPresumido grupoCreditoPresumido;
53

54
    @Element(name = "EXTIPI", required = false)
55
    private String extipi;
56

57
    @Element(name = "CFOP")
58
    private String cfop;
59

60
    @Element(name = "uCom")
61
    private String unidadeComercial;
62

63
    @Element(name = "qCom")
64
    private String quantidadeComercial;
65

66
    @Element(name = "vUnCom")
67
    private String valorUnitario;
68

69
    @Element(name = "vProd")
70
    private String valorTotalBruto;
71

72
    @Element(name = "cEANTrib", required = false)
73
    @Convert(NFStringNullToEmptyConverter.class)
74
    private String codigoDeBarrasGtinTributavel;
75

76
    @Element(name = "cBarraTrib", required = false)
77
    private String codigoDeBarrasDiferenteGtinTributavel;
78

79
    @Element(name = "uTrib")
80
    private String unidadeTributavel;
81

82
    @Element(name = "qTrib")
83
    private String quantidadeTributavel;
84

85
    @Element(name = "vUnTrib")
86
    private String valorUnitarioTributavel;
87

88
    @Element(name = "vFrete", required = false)
89
    private String valorFrete;
90

91
    @Element(name = "vSeg", required = false)
92
    private String valorSeguro;
93

94
    @Element(name = "vDesc", required = false)
95
    private String valorDesconto;
96

97
    @Element(name = "vOutro", required = false)
98
    private String valorOutrasDespesasAcessorias;
99

100
    @Element(name = "indTot")
101
    private NFProdutoCompoeValorNota compoeValorNota;
102

103
    @ElementList(entry = "DI", inline = true, required = false)
104
    private List<NFNotaInfoItemProdutoDeclaracaoImportacao> declaracoesImportacao;
105

106
    @ElementList(entry = "detExport", inline = true, required = false)
107
    private List<NFNotaInfoItemDetalheExportacao> detalhesExportacao;
108

109
    @Element(name = "xPed", required = false)
110
    private String numeroPedidoCliente;
111

112
    @Element(name = "nItemPed", required = false)
113
    private Integer numeroPedidoItemCliente;
114

115
    @Element(name = "nFCI", required = false)
116
    private String numeroControleFCI;
117

118
    @ElementList(entry = "rastro", inline = true, required = false)
119
    private List<NFNotaInfoItemProdutoRastreabilidade> rastros;
120

121
    @Element(name = "infProdNFF", required = false)
122
    private NFNotaInfoItemProdutoInfoDetalhadaProdutoNFF informacaoDetalhadaProdutoNFF;
123

124
    @Element(name = "infProdEmb", required = false)
125
    private NFNotaInfoItemProdutoInfoDetalhadaEmbalagemProdutoNFF informacaoDetalhadaEmbalagemProdutoNFF;
126
    
127
    @Element(name = "veicProd", required = false)
128
    private NFNotaInfoItemProdutoVeiculo veiculo;
129

130
    @Element(name = "med", required = false)
131
    private NFNotaInfoItemProdutoMedicamento medicamento;
132

133
    @ElementList(entry = "arma", inline = true, required = false)
134
    private List<NFNotaInfoItemProdutoArmamento> armamentos;
135

136
    @Element(name = "comb", required = false)
137
    private NFNotaInfoItemProdutoCombustivel combustivel;
138

139
    @Element(name = "nRECOPI", required = false)
140
    private String numeroRECOPI;
141

142
    public void setCodigo(final String codigo) {
143
        DFStringValidador.tamanho60(codigo, "Codigo Produto");
1✔
144
        this.codigo = codigo;
1✔
145
    }
1✔
146

147
    /**
148
     * @deprecated  substituido por {@link #setCodigoDeBarrasGtin()}
149
     */
150
    @Deprecated
151
    public void setCodigoDeBarras(final String codigoDeBarras) {
UNCOV
152
        this.setCodigoDeBarrasGtin(codigoDeBarras);
×
UNCOV
153
    }
×
154

155
    public void setCodigoDeBarrasGtin(final String codigoDeBarrasGtin) {
156
        DFStringValidador.codigoDeBarras(codigoDeBarrasGtin);
1✔
157
        this.codigoDeBarrasGtin = codigoDeBarrasGtin;
1✔
158
    }
1✔
159

160
    public void setCodigoDeBarrasDiferenteGtin(String codigoDeBarrasDiferenteGtin) {
161
        this.codigoDeBarrasDiferenteGtin = codigoDeBarrasDiferenteGtin;
1✔
162
    }
1✔
163

164
    public void setDescricao(final String descricao) {
165
        DFStringValidador.tamanho120(descricao, "Descricao Produto");
1✔
166
        this.descricao = descricao;
1✔
167
    }
1✔
168

169
    public void setNcm(final String ncm) {
170
        DFStringValidador.ncm(ncm);
1✔
171
        this.ncm = ncm;
1✔
172
    }
1✔
173

174
    public void setExtipi(final String extipi) {
175
        DFStringValidador.tamanho2ou3N(extipi, "EX TIPI Produto");
1✔
176
        this.extipi = extipi;
1✔
177
    }
1✔
178

179
    public void setCfop(final String cfop) {
180
        DFStringValidador.exatamente4N(cfop, "CFOP Produto");
1✔
181
        this.cfop = cfop;
1✔
182
    }
1✔
183

184
    public void setUnidadeComercial(final String unidadeComercial) {
185
        DFStringValidador.tamanho6(unidadeComercial, "Unidade Comercial Produto");
1✔
186
        this.unidadeComercial = unidadeComercial;
1✔
187
    }
1✔
188

189
    public void setQuantidadeComercial(final BigDecimal quantidadeComercial) {
190
        this.quantidadeComercial = DFBigDecimalValidador.tamanho15comAte4CasasDecimais(quantidadeComercial, "Qtde Comercial Produto");
1✔
191
    }
1✔
192

193
    public void setValorUnitario(final BigDecimal valorUnitario) {
194
        this.valorUnitario = DFBigDecimalValidador.tamanho21ComAte10CasasDecimais(valorUnitario, "Valor Unitario Produto");
1✔
195
    }
1✔
196

197
    public void setValorTotalBruto(final BigDecimal valorTotalBruto) {
198
        this.valorTotalBruto = DFBigDecimalValidador.tamanho15Com2CasasDecimais(valorTotalBruto, "Valor Total Bruto Produto");
1✔
199
    }
1✔
200

201
    /**
202
     * @deprecated  substituido por {@link #setCodigoDeBarrasGtinTributavel()}
203
     */
204
    @Deprecated
205
    public void setCodigoDeBarrasTributavel(final String codigoDeBarras) {
UNCOV
206
        this.setCodigoDeBarrasGtinTributavel(codigoDeBarras);
×
UNCOV
207
    }
×
208

209
    public void setCodigoDeBarrasGtinTributavel(final String codigoDeBarrasGtinTributavel) {
210
        DFStringValidador.codigoDeBarras(codigoDeBarrasGtinTributavel);
1✔
211
        this.codigoDeBarrasGtinTributavel = codigoDeBarrasGtinTributavel;
1✔
212
    }
1✔
213

214
    public void setCodigoDeBarrasDiferenteGtinTributavel(String codigoDeBarrasDiferenteGtinTributavel) {
215
        this.codigoDeBarrasDiferenteGtinTributavel = codigoDeBarrasDiferenteGtinTributavel;
1✔
216
    }
1✔
217

218
    public void setUnidadeTributavel(final String unidadeTributavel) {
219
        DFStringValidador.tamanho6(unidadeTributavel, "Unidade Tributavel Produto");
1✔
220
        this.unidadeTributavel = unidadeTributavel;
1✔
221
    }
1✔
222

223
    public void setQuantidadeTributavel(final BigDecimal quantidadeTributavel) {
224
        this.quantidadeTributavel = DFBigDecimalValidador.tamanho15comAte4CasasDecimais(quantidadeTributavel, "Qtde Tributavel Produto");
1✔
225
    }
1✔
226

227
    public void setValorUnitarioTributavel(final BigDecimal valorUnitarioTributavel) {
228
        this.valorUnitarioTributavel = DFBigDecimalValidador.tamanho21ComAte10CasasDecimais(valorUnitarioTributavel, "Valor Unitario Tributavel Produto");
1✔
229
    }
1✔
230

231
    public void setValorFrete(final BigDecimal valorFrete) {
232
        this.valorFrete = DFBigDecimalValidador.tamanho15Com2CasasDecimais(valorFrete, "Valor Frete Produto");
1✔
233
    }
1✔
234

235
    public void setValorSeguro(final BigDecimal valorSeguro) {
236
        this.valorSeguro = DFBigDecimalValidador.tamanho15Com2CasasDecimais(valorSeguro, "Valor Seguro Produto");
1✔
237
    }
1✔
238

239
    public void setValorDesconto(final BigDecimal valorDesconto) {
240
        this.valorDesconto = DFBigDecimalValidador.tamanho15Com2CasasDecimais(valorDesconto, "Valor Desconto Produto");
1✔
241
    }
1✔
242

243
    public void setValorOutrasDespesasAcessorias(final BigDecimal valorOutrasDespesasAcessorias) {
244
        this.valorOutrasDespesasAcessorias = DFBigDecimalValidador.tamanho15Com2CasasDecimais(valorOutrasDespesasAcessorias, "Valor Outras Despesas Acessorias Produto");
1✔
245
    }
1✔
246

247
    public void setCompoeValorNota(final NFProdutoCompoeValorNota compoeValorNota) {
248
        this.compoeValorNota = compoeValorNota;
1✔
249
    }
1✔
250

251
    public void setDeclaracoesImportacao(final List<NFNotaInfoItemProdutoDeclaracaoImportacao> declaracoesImportacao) {
252
        this.declaracoesImportacao = declaracoesImportacao;
1✔
253
    }
1✔
254

255
    public void setNumeroPedidoCliente(final String numeroPedidoCliente) {
256
        DFStringValidador.tamanho15(numeroPedidoCliente, "Numero Pedido Cliente Produto");
1✔
257
        this.numeroPedidoCliente = numeroPedidoCliente;
1✔
258
    }
1✔
259

260
    public void setNumeroPedidoItemCliente(final Integer numeroPedidoItemCliente) {
261
        DFIntegerValidador.tamanho6(numeroPedidoItemCliente, "Numero Pedido Item Cliente Produto");
1✔
262
        this.numeroPedidoItemCliente = numeroPedidoItemCliente;
1✔
263
    }
1✔
264

265
    public void setNumeroControleFCI(final String numeroControleFCI) {
266
        DFStringValidador.fci(numeroControleFCI);
1✔
267
        this.numeroControleFCI = numeroControleFCI;
1✔
268
    }
1✔
269

270
    public void setVeiculo(final NFNotaInfoItemProdutoVeiculo veiculo) {
271
        if (this.medicamento != null || this.armamentos != null || this.combustivel != null || this.numeroRECOPI != null) {
1✔
272
            throw new IllegalStateException("veiculos, medicamentos, armamentos e combustivel sao mutuamente exclusivos");
1✔
273
        }
274
        this.veiculo = veiculo;
1✔
275
    }
1✔
276

277
    public void setMedicamento(final NFNotaInfoItemProdutoMedicamento medicamento) {
278
        if (this.veiculo != null || this.armamentos != null || this.combustivel != null || this.numeroRECOPI != null) {
1✔
279
            throw new IllegalStateException("veiculos, medicamentos, armamentos, RECOPI e combustivel sao mutuamente exclusivos");
1✔
280
        }
281
        this.medicamento = medicamento;
1✔
282
    }
1✔
283

284
    public void setArmamentos(final List<NFNotaInfoItemProdutoArmamento> armamentos) {
285
        if (this.medicamento != null || this.veiculo != null || this.combustivel != null || this.numeroRECOPI != null) {
1✔
286
            throw new IllegalStateException("veiculos, medicamentos, armamentos, RECOPI e combustivel sao mutuamente exclusivos");
1✔
287
        }
288
        DFListValidador.tamanho500(armamentos, "Armamentos Produto");
1✔
289
        this.armamentos = armamentos;
1✔
290
    }
1✔
291

292
    public void setCombustivel(final NFNotaInfoItemProdutoCombustivel combustivel) {
293
        if (this.medicamento != null || this.armamentos != null || this.veiculo != null || this.numeroRECOPI != null) {
1✔
294
            throw new IllegalStateException("veiculos, medicamentos, armamentos, RECOPI e combustivel sao mutuamente exclusivos");
1✔
295
        }
296
        this.combustivel = combustivel;
1✔
297
    }
1✔
298

299
    public void setNomeclaturaValorAduaneiroEstatistica(final List<String> nomeclaturaValorAduaneiroEstatistica) {
300
        for (final String nomeclatra : nomeclaturaValorAduaneiroEstatistica) {
1✔
301
            DFStringValidador.nve(nomeclatra);
1✔
302
        }
1✔
303
        this.nomeclaturaValorAduaneiroEstatistica = nomeclaturaValorAduaneiroEstatistica;
1✔
304
    }
1✔
305

306
    public void setCodigoEspecificadorSituacaoTributaria(final String codigoEspecificadorSituacaoTributaria) {
307
        DFStringValidador.exatamente7N(codigoEspecificadorSituacaoTributaria, "CEST Produto");
1✔
308
        this.codigoEspecificadorSituacaoTributaria = codigoEspecificadorSituacaoTributaria;
1✔
309
    }
1✔
310

311
    public void setDetalhesExportacao(final List<NFNotaInfoItemDetalheExportacao> detalhesExportacao) {
312
        DFListValidador.tamanho500(detalhesExportacao, "Detalhes Exportacao Produto");
1✔
313
        this.detalhesExportacao = detalhesExportacao;
1✔
314
    }
1✔
315

316
    public void setNumeroRECOPI(final String numeroRECOPI) {
317
        if (this.medicamento != null || this.armamentos != null || this.veiculo != null || this.combustivel != null) {
1✔
318
            throw new IllegalStateException("veiculos, medicamentos, armamentos, RECOPI e combustivel sao mutuamente exclusivos");
1✔
319
        }
320
        DFStringValidador.exatamente20N(numeroRECOPI, "Numero RECOPI Produto");
1✔
321
        this.numeroRECOPI = numeroRECOPI;
1✔
322
    }
1✔
323

324
    public void setRastros(final List<NFNotaInfoItemProdutoRastreabilidade> rastros) {
325
        DFListValidador.tamanho500(rastros, "Rastreios do produto");
1✔
326
        this.rastros = rastros;
1✔
327
    }
1✔
328

329
    public void setIndicadorEscalaRelevante(final NFIndicadorEscalaRelevante indicadorEscalaRelevante) {
UNCOV
330
        this.indicadorEscalaRelevante = indicadorEscalaRelevante;
×
UNCOV
331
    }
×
332

333
    public void setCnpjFabricanteMercadoria(final String cnpjFabricanteMercadoria) {
UNCOV
334
        this.cnpjFabricanteMercadoria = cnpjFabricanteMercadoria;
×
UNCOV
335
    }
×
336

337
    public void setCodigoBeneficioFiscalUF(final String codigoBeneficioFiscalUF) {
UNCOV
338
        this.codigoBeneficioFiscalUF = DFStringValidador.validador(codigoBeneficioFiscalUF, "Codigo Beneficio Fiscal da UF", 10, false, false);
×
UNCOV
339
    }
×
340

341
    public void setGrupoCreditoPresumido(
342
        final NFNotaInfoItemProdutoGrupoCreditoPresumido grupoCreditoPresumido) {
343
        this.grupoCreditoPresumido = grupoCreditoPresumido;
1✔
344
    }
1✔
345

346
    public String getCodigo() {
347
        return this.codigo;
1✔
348
    }
349

350
    public String getCodigoDeBarrasGtin() {
351
        return this.codigoDeBarrasGtin == null ? "SEM GTIN" : this.codigoDeBarrasGtin;
1✔
352
    }
353

354
    /**
355
     * @deprecated  substituido por {@link #getCodigoDeBarrasGtin()}
356
     */
357
    @Deprecated
358
    public String getCodigoDeBarras() {
UNCOV
359
        return this.getCodigoDeBarrasGtin();
×
360
    }
361

362
    public String getCodigoDeBarrasDiferenteGtin() {
UNCOV
363
        return codigoDeBarrasDiferenteGtin;
×
364
    }
365

366
    public String getDescricao() {
367
        return this.descricao;
1✔
368
    }
369

370
    public String getNcm() {
371
        return this.ncm;
1✔
372
    }
373

374
    public List<String> getNomeclaturaValorAduaneiroEstatistica() {
375
        return this.nomeclaturaValorAduaneiroEstatistica;
1✔
376
    }
377

378
    public String getCodigoEspecificadorSituacaoTributaria() {
379
        return this.codigoEspecificadorSituacaoTributaria;
1✔
380
    }
381

382
    public String getExtipi() {
383
        return this.extipi;
1✔
384
    }
385

386
    public String getCfop() {
387
        return this.cfop;
1✔
388
    }
389

390
    public String getUnidadeComercial() {
391
        return this.unidadeComercial;
1✔
392
    }
393

394
    public String getQuantidadeComercial() {
395
        return this.quantidadeComercial;
1✔
396
    }
397

398
    public String getValorUnitario() {
399
        return this.valorUnitario;
1✔
400
    }
401

402
    public String getValorTotalBruto() {
403
        return this.valorTotalBruto;
1✔
404
    }
405

406
    /**
407
     * @deprecated  substituido por {@link #getCodigoDeBarrasGtinTributavel()}
408
     */
409
    @Deprecated
410
    public String getCodigoDeBarrasTributavel() {
UNCOV
411
        return this.getCodigoDeBarrasGtinTributavel();
×
412
    }
413

414
    public String getCodigoDeBarrasGtinTributavel() {
415
        return this.codigoDeBarrasGtinTributavel == null ? "SEM GTIN" : this.codigoDeBarrasGtinTributavel;
1✔
416
    }
417

418
    public String getCodigoDeBarrasDiferenteGtinTributavel() {
UNCOV
419
        return codigoDeBarrasDiferenteGtinTributavel;
×
420
    }
421

422
    public String getUnidadeTributavel() {
423
        return this.unidadeTributavel;
1✔
424
    }
425

426
    public String getQuantidadeTributavel() {
427
        return this.quantidadeTributavel;
1✔
428
    }
429

430
    public String getValorUnitarioTributavel() {
431
        return this.valorUnitarioTributavel;
1✔
432
    }
433

434
    public String getValorFrete() {
435
        return this.valorFrete;
1✔
436
    }
437

438
    public String getValorSeguro() {
439
        return this.valorSeguro;
1✔
440
    }
441

442
    public String getValorDesconto() {
443
        return this.valorDesconto;
1✔
444
    }
445

446
    public String getValorOutrasDespesasAcessorias() {
447
        return this.valorOutrasDespesasAcessorias;
1✔
448
    }
449

450
    public NFProdutoCompoeValorNota getCompoeValorNota() {
451
        return this.compoeValorNota;
1✔
452
    }
453

454
    public List<NFNotaInfoItemProdutoDeclaracaoImportacao> getDeclaracoesImportacao() {
455
        return this.declaracoesImportacao;
1✔
456
    }
457

458
    public List<NFNotaInfoItemDetalheExportacao> getDetalhesExportacao() {
459
        return this.detalhesExportacao;
1✔
460
    }
461

462
    public String getNumeroPedidoCliente() {
463
        return this.numeroPedidoCliente;
1✔
464
    }
465

466
    public Integer getNumeroPedidoItemCliente() {
467
        return this.numeroPedidoItemCliente;
1✔
468
    }
469

470
    public String getNumeroControleFCI() {
471
        return this.numeroControleFCI;
1✔
472
    }
473

474
    public NFNotaInfoItemProdutoVeiculo getVeiculo() {
475
        return this.veiculo;
1✔
476
    }
477

478
    public NFNotaInfoItemProdutoMedicamento getMedicamento() {
479
        return this.medicamento;
1✔
480
    }
481

482
    public List<NFNotaInfoItemProdutoArmamento> getArmamentos() {
483
        return this.armamentos;
1✔
484
    }
485

486
    public NFNotaInfoItemProdutoCombustivel getCombustivel() {
487
        return this.combustivel;
1✔
488
    }
489

490
    public String getNumeroRECOPI() {
491
        return this.numeroRECOPI;
1✔
492
    }
493

494
    public String getCnpjFabricanteMercadoria() {
UNCOV
495
        return this.cnpjFabricanteMercadoria;
×
496
    }
497

498
    public String getCodigoBeneficioFiscalUF() {
UNCOV
499
        return this.codigoBeneficioFiscalUF;
×
500
    }
501

502
    public NFIndicadorEscalaRelevante getIndicadorEscalaRelevante() {
UNCOV
503
        return this.indicadorEscalaRelevante;
×
504
    }
505

506
    public List<NFNotaInfoItemProdutoRastreabilidade> getRastros() {
UNCOV
507
        return this.rastros;
×
508
    }
509

510
    public NFNotaInfoItemProdutoGrupoCreditoPresumido getGrupoCreditoPresumido() {
UNCOV
511
        return grupoCreditoPresumido;
×
512
    }
513
}
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

© 2025 Coveralls, Inc