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

wmixvideo / nfe / #4476

04 Sep 2023 02:00PM UTC coverage: 52.961% (-0.3%) from 53.216%
#4476

push

web-flow
Correções diversas no CT-e (#918)

* Corrigido schema cteTiposBasico_v4.00.xsd alterado indevidamente

* Alterado CTeGeraChave e CTeGeraQRCode para aceitar CT-e OS

* Adicionado CTeGeraChave e CTeGeraQRCode para o CT-e 4.00

* Corrigido para usar a url correta de recepção do CT-e OS 4.00 e corrigido nome do método

* Alteradas tags de evento para não serem obrigatórias pois na consulta de CT-e a SEFAZ pode retornar eventos de marcação que não estão atualmente mapeados como, por exemplo, o evento "240130 - Autorizado CTe complementar" que vem com uma tag "evCTeComplementar" que não existe nos schemas do CT-e

* A IE e a UF dentro de emiDocAnt (dados do emitente do documento de transporte anterior) são opcionais no CT-e de acordo com a definição dos schemas

* Alterado atributo "versao" do CTeNotaConsultaRetorno para não ser obrigatório porque algumas UF não retornam esse atributo (mesmo sendo obrigatório nos schemas)

* Mapeados atributos opcionais das tags cteProc e procEventoCTe que só estão documentadas no schema XSD

* Ajustados stubs para não gerar prefixo de namespace nas tags pois a SEFAZ-MS estava recusando com "404 - Rejeicao: Uso de prefixo de namespace nao permitido"

---------

Co-authored-by: Diego Fincatto <58352+fincatto@users.noreply.github.com>

0 of 130 new or added lines in 10 files covered. (0.0%)

5 existing lines in 3 files now uncovered.

13942 of 26325 relevant lines covered (52.96%)

0.53 hits per line

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

0.0
/src/main/java/com/fincatto/documentofiscal/cte400/classes/evento/CTeDetalhamentoEvento.java
1
package com.fincatto.documentofiscal.cte400.classes.evento;
2

3
import com.fincatto.documentofiscal.DFBase;
4
import com.fincatto.documentofiscal.cte400.classes.evento.cancelamento.CTeEnviaEventoCancelamento;
5
import com.fincatto.documentofiscal.cte400.classes.evento.cartacorrecao.CTeEnviaEventoCartaCorrecao;
6
import com.fincatto.documentofiscal.cte400.classes.evento.comprovanteentrega.CTeEnviaEventoCancelamentoComprovanteEntrega;
7
import com.fincatto.documentofiscal.cte400.classes.evento.comprovanteentrega.CTeEnviaEventoComprovanteEntrega;
8
import com.fincatto.documentofiscal.cte400.classes.evento.desacordo.CTeEnviaEventoCancelamentoPrestacaoEmDesacordo;
9
import com.fincatto.documentofiscal.cte400.classes.evento.desacordo.CTeEnviaEventoPrestacaoEmDesacordo;
10
import com.fincatto.documentofiscal.cte400.classes.evento.epec.CTeEnviaEventoEpec;
11
import com.fincatto.documentofiscal.cte400.classes.evento.gtv.CTeEnviaEventoGtv;
12
import com.fincatto.documentofiscal.cte400.classes.evento.insucessoentrega.CTeEnviaEventoCancelamentoInsucessoEntrega;
13
import com.fincatto.documentofiscal.cte400.classes.evento.insucessoentrega.CTeEnviaEventoInsucessoEntrega;
14
import com.fincatto.documentofiscal.cte400.classes.evento.multimodal.CTeEnviaEventoRegistroMultimodal;
15
import com.fincatto.documentofiscal.validadores.DFBigDecimalValidador;
16
import org.simpleframework.xml.Attribute;
17
import org.simpleframework.xml.Element;
18
import org.simpleframework.xml.ElementUnion;
19
import org.simpleframework.xml.Root;
20

21
import java.math.BigDecimal;
22

23
@Root(strict = false)
UNCOV
24
public class CTeDetalhamentoEvento extends DFBase {
×
25
    private static final long serialVersionUID = 7006866358832001912L;
26

27
    @Attribute(name = "versaoEvento")
28
    private String versaoEvento;
29

30
    @ElementUnion({
31
            @Element(name = "evCancCECTe", type = CTeEnviaEventoCancelamentoComprovanteEntrega.class, required = false),
32
            @Element(name = "evCancCTe", type = CTeEnviaEventoCancelamento.class, required = false),
33
            @Element(name = "evCCeCTe", type = CTeEnviaEventoCartaCorrecao.class, required = false),
34
            @Element(name = "evEPECCTe", type = CTeEnviaEventoEpec.class, required = false),
35
            @Element(name = "evCECTe", type = CTeEnviaEventoComprovanteEntrega.class, required = false),
36
            @Element(name = "evPrestDesacordo", type = CTeEnviaEventoPrestacaoEmDesacordo.class, required = false),
37
            @Element(name = "evGTV", type = CTeEnviaEventoGtv.class, required = false),
38
            @Element(name = "evRegMultimodal", type = CTeEnviaEventoRegistroMultimodal.class, required = false),
39
            @Element(name = "evCancPrestDesacordo", type = CTeEnviaEventoCancelamentoPrestacaoEmDesacordo.class, required = false),
40
            @Element(name = "evIECTe", type = CTeEnviaEventoInsucessoEntrega.class, required = false),
41
            @Element(name = "evCancIECTe", type = CTeEnviaEventoCancelamentoInsucessoEntrega.class, required = false),
42
    })
43
    private CTeTipoEvento evento;
44

45
    public void setVersaoEvento(final BigDecimal versaoEvento) {
46
        this.versaoEvento = DFBigDecimalValidador.tamanho5Com2CasasDecimais(versaoEvento, "Versao do Evento");
×
47
    }
×
48

49
    public String getVersaoEvento() {
50
        return this.versaoEvento;
×
51
    }
52

53
    public CTeTipoEvento getEvento() {
54
        return this.evento;
×
55
    }
56

57
    public void setEvento(final CTeTipoEvento evento) {
58
        this.evento = evento;
×
59
    }
×
60

61
    public CTeEnviaEventoCancelamentoComprovanteEntrega getCancelamentoComprovanteEntrega() {
62
        if (this.evento instanceof CTeEnviaEventoCancelamentoComprovanteEntrega) {
×
63
            return (CTeEnviaEventoCancelamentoComprovanteEntrega) this.evento;
×
64
        }
65
        throw new IllegalStateException("Evento não é cancelamento de comprovante de entrega");
×
66
    }
67

68
    public CTeEnviaEventoCancelamento getCancelamento() {
69
        if (this.evento instanceof CTeEnviaEventoCancelamento) {
×
70
            return (CTeEnviaEventoCancelamento) this.evento;
×
71
        }
72
        throw new IllegalStateException("Evento não é cancelamento");
×
73
    }
74

75
    public CTeEnviaEventoCartaCorrecao getCartaCorrecao() {
76
        if (this.evento instanceof CTeEnviaEventoCartaCorrecao) {
×
77
            return (CTeEnviaEventoCartaCorrecao) this.evento;
×
78
        }
79
        throw new IllegalStateException("Evento não é carta de correção");
×
80
    }
81

82
    public CTeEnviaEventoComprovanteEntrega getComprovanteEntrega() {
83
        if (this.evento instanceof CTeEnviaEventoComprovanteEntrega) {
×
84
            return (CTeEnviaEventoComprovanteEntrega) this.evento;
×
85
        }
86
        throw new IllegalStateException("Evento não é comprovante de entrega");
×
87
    }
88

89
    public CTeEnviaEventoPrestacaoEmDesacordo getPrestacaoEmDesacordo() {
90
        if (this.evento instanceof CTeEnviaEventoPrestacaoEmDesacordo) {
×
91
            return (CTeEnviaEventoPrestacaoEmDesacordo) this.evento;
×
92
        }
93
        throw new IllegalStateException("Evento não é prestação de serviço em desacordo");
×
94
    }
95

96
    public CTeEnviaEventoGtv getGtv() {
97
        if (this.evento instanceof CTeEnviaEventoGtv) {
×
98
            return (CTeEnviaEventoGtv) this.evento;
×
99
        }
100
        throw new IllegalStateException("Evento não é GTV");
×
101
    }
102

103
    public CTeEnviaEventoRegistroMultimodal getRegistroMultimodal() {
104
        if (this.evento instanceof CTeEnviaEventoRegistroMultimodal) {
×
105
            return (CTeEnviaEventoRegistroMultimodal) this.evento;
×
106
        }
107
        throw new IllegalStateException("Evento não é registro multimodal");
×
108
    }
109

110
    public CTeEnviaEventoCancelamentoPrestacaoEmDesacordo getCancelamentoPrestacaoEmDesacordo() {
111
        if (this.evento instanceof CTeEnviaEventoCancelamentoPrestacaoEmDesacordo) {
×
112
            return (CTeEnviaEventoCancelamentoPrestacaoEmDesacordo) this.evento;
×
113
        }
114
        throw new IllegalStateException("Evento não é cancelamento de prestação de serviço em desacordo");
×
115
    }
116

117
    public CTeEnviaEventoInsucessoEntrega getInsucessoEntrega() {
118
        if (this.evento instanceof CTeEnviaEventoInsucessoEntrega) {
×
119
            return (CTeEnviaEventoInsucessoEntrega) this.evento;
×
120
        }
121
        throw new IllegalStateException("Evento não é insucesso de entrega");
×
122
    }
123

124
    public CTeEnviaEventoCancelamentoInsucessoEntrega getCancelamentoInsucessoEntrega() {
125
        if (this.evento instanceof CTeEnviaEventoCancelamentoInsucessoEntrega) {
×
126
            return (CTeEnviaEventoCancelamentoInsucessoEntrega) this.evento;
×
127
        }
128
        throw new IllegalStateException("Evento não é cancelamento de insucesso de entrega");
×
129
    }
130
}
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