• 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

77.78
/src/main/java/com/fincatto/documentofiscal/nfe310/classes/nota/NFInfoProdutorRuralReferenciada.java
1
package com.fincatto.documentofiscal.nfe310.classes.nota;
2

3
import com.fincatto.documentofiscal.DFBase;
4
import com.fincatto.documentofiscal.DFUnidadeFederativa;
5
import com.fincatto.documentofiscal.validadores.DFIntegerValidador;
6
import com.fincatto.documentofiscal.validadores.DFStringValidador;
7
import org.simpleframework.xml.Element;
8

9
public class NFInfoProdutorRuralReferenciada extends DFBase {
1✔
10
    private static final long serialVersionUID = -2718285687811273188L;
11
    
12
    @Element(name = "cUF")
13
    private DFUnidadeFederativa ufEmitente;
14
    
15
    @Element(name = "AAMM")
16
    private String anoMesEmissao;
17

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

21
    @Element(name = "CPF", required = false)
22
    private String cpfEmitente;
23
    
24
    @Element(name = "IE")
25
    private String ieEmitente;
26
    
27
    @Element(name = "mod")
28
    private String modeloDocumentoFiscal;
29
    
30
    @Element(name = "serie")
31
    private Integer serieDocumentoFiscal;
32
    
33
    @Element(name = "nNF")
34
    private Integer numeroDocumentoFiscal;
35

36
    public void setUfEmitente(final DFUnidadeFederativa ufEmitente) {
37
        this.ufEmitente = ufEmitente;
1✔
38
    }
1✔
39

40
    public void setAnoMesEmissao(final String anoMesEmissao) {
41
        DFStringValidador.aamm(anoMesEmissao);
1✔
42
        this.anoMesEmissao = anoMesEmissao;
1✔
43
    }
1✔
44

45
    public void setCnpjEmitente(final String cnpjEmitente) {
46
        if (this.cpfEmitente != null) {
1✔
47
            throw new IllegalStateException("Nao pode setar CNPJ pois CPF ja esta setado");
1✔
48
        }
49
        DFStringValidador.cnpj(cnpjEmitente);
1✔
50
        this.cnpjEmitente = cnpjEmitente;
1✔
51
    }
1✔
52

53
    public void setCpfEmitente(final String cpfEmitente) {
54
        if (this.cnpjEmitente != null) {
1✔
55
            throw new IllegalStateException("Nao pode setar CPF pois CNPJ ja esta setado");
1✔
56
        }
57
        DFStringValidador.cpf(cpfEmitente);
1✔
58
        this.cpfEmitente = cpfEmitente;
1✔
59
    }
1✔
60

61
    public void setIeEmitente(final String ieEmitente) {
62
        DFStringValidador.inscricaoEstadual(ieEmitente);
1✔
63
        this.ieEmitente = ieEmitente;
1✔
64
    }
1✔
65

66
    public void setModeloDocumentoFiscal(final String modeloDocumentoFiscal) {
67
        DFStringValidador.exatamente2(modeloDocumentoFiscal, "Modelo Documento Fiscal");
1✔
68
        this.modeloDocumentoFiscal = modeloDocumentoFiscal;
1✔
69
    }
1✔
70

71
    public void setSerieDocumentoFiscal(final Integer serieDocumentoFiscal) {
72
        DFIntegerValidador.tamanho3(serieDocumentoFiscal, "Serie Documento Fiscal");
1✔
73
        this.serieDocumentoFiscal = serieDocumentoFiscal;
1✔
74
    }
1✔
75

76
    /**
77
     * Número do Documento Fiscal - 1 – 999999999
78
     * @param numeroDocumentoFiscal
79
     */
80
    public void setNumeroDocumentoFiscal(final Integer numeroDocumentoFiscal) {
81
        DFIntegerValidador.tamanho9(numeroDocumentoFiscal, "Numero Documento Fiscal");
1✔
82
        this.numeroDocumentoFiscal = numeroDocumentoFiscal;
1✔
83
    }
1✔
84

85
    public DFUnidadeFederativa getUfEmitente() {
UNCOV
86
        return this.ufEmitente;
×
87
    }
88

89
    public String getAnoMesEmissao() {
UNCOV
90
        return this.anoMesEmissao;
×
91
    }
92

93
    public String getCnpjEmitente() {
UNCOV
94
        return this.cnpjEmitente;
×
95
    }
96

97
    public String getCpfEmitente() {
UNCOV
98
        return this.cpfEmitente;
×
99
    }
100

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

105
    public String getModeloDocumentoFiscal() {
UNCOV
106
        return this.modeloDocumentoFiscal;
×
107
    }
108

109
    public Integer getSerieDocumentoFiscal() {
UNCOV
110
        return this.serieDocumentoFiscal;
×
111
    }
112

113
    public Integer getNumeroDocumentoFiscal() {
UNCOV
114
        return this.numeroDocumentoFiscal;
×
115
    }
116
}
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