• 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

79.17
/src/main/java/com/fincatto/documentofiscal/cte300/classes/nota/CTeNotaInfoCTeNormalInfoCarga.java
1
package com.fincatto.documentofiscal.cte300.classes.nota;
2

3
import com.fincatto.documentofiscal.DFBase;
4
import com.fincatto.documentofiscal.validadores.DFBigDecimalValidador;
5
import com.fincatto.documentofiscal.validadores.DFStringValidador;
6
import org.simpleframework.xml.Element;
7
import org.simpleframework.xml.ElementList;
8
import org.simpleframework.xml.Namespace;
9
import org.simpleframework.xml.Root;
10

11
import java.math.BigDecimal;
12
import java.util.List;
13

14
/**
15
 * @author Caio
16
 * @info Informações da Carga do CT-e
17
 */
18

19
@Root(name = "infCarga")
20
@Namespace(reference = "http://www.portalfiscal.inf.br/cte")
21
public class CTeNotaInfoCTeNormalInfoCarga extends DFBase {
22
    private static final long serialVersionUID = -2031819416191957758L;
23
    
24
    @Element(name = "vCarga")
25
    private String valorTotalCarga;
26
    
27
    @Element(name = "proPred")
28
    private String descricaoProdutoPredominante;
29

30
    @Element(name = "xOutCat", required = false)
31
    private String descricaoOutrasCaracteristicas;
32
    
33
    @ElementList(name = "infQ", inline = true)
34
    private List<CTeNotaInfoCTeNormalInfoCargaInformacoesQuantidadeCarga> informacoesQuantidadeCarga;
35

36
    @Element(name = "vCargaAverb", required = false)
37
    private String valorAverbacao;
38

39
    public CTeNotaInfoCTeNormalInfoCarga() {
1✔
40
        this.valorTotalCarga = null;
1✔
41
        this.descricaoProdutoPredominante = null;
1✔
42
        this.descricaoOutrasCaracteristicas = null;
1✔
43
        this.informacoesQuantidadeCarga = null;
1✔
44
        this.valorAverbacao = null;
1✔
45
    }
1✔
46

47
    public String getValorTotalCarga() {
UNCOV
48
        return this.valorTotalCarga;
×
49
    }
50

51
    /**
52
     * Valor total da carga<br>
53
     * Dever ser informado para todos os modais, com exceção para o Dutoviário.
54
     */
55
    public void setValorTotalCarga(final BigDecimal valorTotalCarga) {
56
        this.valorTotalCarga = DFBigDecimalValidador.tamanho15Com2CasasDecimais(valorTotalCarga, "Valor total da carga");
1✔
57
    }
1✔
58

59
    public String getDescricaoProdutoPredominante() {
UNCOV
60
        return this.descricaoProdutoPredominante;
×
61
    }
62

63
    /**
64
     * Produto predominante<br>
65
     * Informar a descrição do produto predominante
66
     */
67
    public void setDescricaoProdutoPredominante(final String descricaoProdutoPredominante) {
68
        DFStringValidador.tamanho60(descricaoProdutoPredominante, "Produto predominante");
1✔
69
        this.descricaoProdutoPredominante = descricaoProdutoPredominante;
1✔
70
    }
1✔
71

72
    public String getDescricaoOutrasCaracteristicas() {
UNCOV
73
        return this.descricaoOutrasCaracteristicas;
×
74
    }
75

76
    /**
77
     * Outras características da carga<br>
78
     * "FRIA", "GRANEL", "REFRIGERADA", "Medidas: 12X12X12"
79
     */
80
    public void setDescricaoOutrasCaracteristicas(final String descricaoOutrasCaracteristicas) {
81
        DFStringValidador.tamanho30(descricaoOutrasCaracteristicas, "Outras características da carga");
1✔
82
        this.descricaoOutrasCaracteristicas = descricaoOutrasCaracteristicas;
1✔
83
    }
1✔
84

85
    public List<CTeNotaInfoCTeNormalInfoCargaInformacoesQuantidadeCarga> getInformacoesQuantidadeCarga() {
UNCOV
86
        return this.informacoesQuantidadeCarga;
×
87
    }
88

89
    /**
90
     * Informações de quantidades da Carga do CT-e<br>
91
     * Para o Aéreo é obrigatório o preenchimento desse campo da seguinte forma.<br>
92
     * 1 - Peso Bruto, sempre em quilogramas (obrigatório);<br>
93
     * 2 - Peso Cubado; sempre em quilogramas;<br>
94
     * 3 - Quantidade de volumes, sempre em unidades (obrigatório);<br>
95
     * 4 - Cubagem, sempre em metros cúbicos (obrigatório apenas quando for impossível preencher as dimensões da(s) embalagem(ens) na tag xDime do leiaute do Aéreo).
96
     */
97
    public void setInformacoesQuantidadeCarga(final List<CTeNotaInfoCTeNormalInfoCargaInformacoesQuantidadeCarga> informacoesQuantidadeCarga) {
98
        this.informacoesQuantidadeCarga = informacoesQuantidadeCarga;
1✔
99
    }
1✔
100

101
    public String getValorAverbacao() {
UNCOV
102
        return this.valorAverbacao;
×
103
    }
104

105
    /**
106
     * Valor da Carga para efeito de averbação<br>
107
     * Normalmente igual ao valor declarado da mercadoria, diferente por exemplo, quando a mercadoria transportada é isenta de tributos nacionais para exportação, onde é preciso averbar um valor maior, pois no caso de indenização, o valor a ser pago será maior
108
     */
109
    public void setValorAverbacao(final BigDecimal valorAverbacao) {
110
        this.valorAverbacao = DFBigDecimalValidador.tamanho15Com2CasasDecimais(valorAverbacao, "Valor da Carga para efeito de averbação");
1✔
111
    }
1✔
112
}
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