• 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.82
/src/main/java/com/fincatto/documentofiscal/nfe400/classes/nota/NFNotaInfoItemImpostoPISST.java
1
package com.fincatto.documentofiscal.nfe400.classes.nota;
2

3
import com.fincatto.documentofiscal.DFBase;
4
import com.fincatto.documentofiscal.validadores.DFBigDecimalValidador;
5
import org.simpleframework.xml.Element;
6

7
import java.math.BigDecimal;
8

9
public class NFNotaInfoItemImpostoPISST extends DFBase {
10
    private static final long serialVersionUID = 3395149664389917725L;
11

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

15
    @Element(name = "pPIS", required = false)
16
    private String percentualAliquota;
17

18
    @Element(name = "qBCProd", required = false)
19
    private String quantidadeVendida;
20

21
    @Element(name = "vAliqProd", required = false)
22
    private String valorAliquota;
23
    
24
    @Element(name = "vPIS")
25
    private String valorTributo;
26

27
    @Element(name = "indSomaPISST", required = false)
28
    private NFIndicadorSomaPISST indicadorSomaPISST;
29

30
    public NFNotaInfoItemImpostoPISST() {
1✔
31
        this.valorBaseCalculo = null;
1✔
32
        this.percentualAliquota = null;
1✔
33
        this.quantidadeVendida = null;
1✔
34
        this.valorAliquota = null;
1✔
35
        this.valorTributo = null;
1✔
36
    }
1✔
37

38
    public void setValorBaseCalculo(final BigDecimal valorBaseCalculo) {
39
        if (this.valorAliquota != null || this.quantidadeVendida != null) {
1✔
40
            throw new IllegalStateException("Nao pode setar percentual aliquota caso valor aliquota ou quantidade vendida esteja setado");
1✔
41
        }
42
        this.valorBaseCalculo = DFBigDecimalValidador.tamanho15Com2CasasDecimais(valorBaseCalculo, "Valor BC PIS ST Item");
1✔
43
    }
1✔
44

45
    public void setPercentualAliquota(final BigDecimal aliquota) {
46
        if (this.valorAliquota != null || this.quantidadeVendida != null) {
1✔
47
            throw new IllegalStateException("Nao pode setar percentual aliquota caso valor aliquota ou quantidade vendida esteja setado");
1✔
48
        }
49
        this.percentualAliquota = DFBigDecimalValidador.tamanho7ComAte4CasasDecimais(aliquota, "Aliquota PIS ST Item");
1✔
50
    }
1✔
51

52
    public void setQuantidadeVendida(final BigDecimal quantidadeVendida) {
53
        if (this.percentualAliquota != null || this.valorBaseCalculo != null) {
1✔
54
            throw new IllegalStateException("Nao pode setar valor aliquota caso percentual aliquota ou valor base calculo esteja setado");
1✔
55
        }
56
        this.quantidadeVendida = DFBigDecimalValidador.tamanho16ComAte4CasasDecimais(quantidadeVendida, "Quantidade Vendida PIS ST Item");
1✔
57
    }
1✔
58

59
    public void setValorAliquota(final BigDecimal valorAliquota) {
60
        if (this.percentualAliquota != null || this.valorBaseCalculo != null) {
1✔
61
            throw new IllegalStateException("Nao pode setar valor aliquota caso percentual aliquota ou valor base calculo esteja setado");
1✔
62
        }
63
        this.valorAliquota = DFBigDecimalValidador.tamanho15Com4CasasDecimais(valorAliquota, "Valor Aliquota PIS ST Item");
1✔
64
    }
1✔
65

66
    public void setValorTributo(final BigDecimal valorTributo) {
67
        this.valorTributo = DFBigDecimalValidador.tamanho15Com2CasasDecimais(valorTributo, "Valor Tributo PIS ST Item");
1✔
68
    }
1✔
69

70
    public void setIndicadorSomaPISST(NFIndicadorSomaPISST indicadorSomaPISST) {
71
        this.indicadorSomaPISST = indicadorSomaPISST;
1✔
72
    }
1✔
73

74
    public String getValorBaseCalculo() {
UNCOV
75
        return this.valorBaseCalculo;
×
76
    }
77

78
    public String getPercentualAliquota() {
UNCOV
79
        return this.percentualAliquota;
×
80
    }
81

82
    public String getQuantidadeVendida() {
UNCOV
83
        return this.quantidadeVendida;
×
84
    }
85

86
    public String getValorAliquota() {
UNCOV
87
        return this.valorAliquota;
×
88
    }
89

90
    public String getValorTributo() {
UNCOV
91
        return this.valorTributo;
×
92
    }
93

94
    public NFIndicadorSomaPISST getIndicadorSomaPISST() {
UNCOV
95
        return indicadorSomaPISST;
×
96
    }
97
}
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