• 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/cte300/classes/evento/CTeDetalhamentoEvento.java
1
package com.fincatto.documentofiscal.cte300.classes.evento;
2

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

18
import java.math.BigDecimal;
19

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

24
    @Attribute(name = "versaoEvento")
25
    private String versaoEvento;
26

27
    @ElementUnion({
28
            @Element(name = "evCancCECTe", type = CTeEnviaEventoCancelamentoComprovanteEntrega.class, required = false),
29
            @Element(name = "evCancCTe", type = CTeEnviaEventoCancelamento.class, required = false),
30
            @Element(name = "evCCeCTe", type = CTeEnviaEventoCartaCorrecao.class, required = false),
31
            @Element(name = "evCECTe", type = CTeEnviaEventoComprovanteEntrega.class, required = false),
32
            @Element(name = "evEPECCTe", type = CTeEnviaEventoEpec.class, required = false),
33
            @Element(name = "evPrestDesacordo", type = CTeEnviaEventoPrestacaoEmDesacordo.class, required = false),
34
            @Element(name = "evGTV", type = CTeEnviaEventoGtv.class, required = false),
35
            @Element(name = "evRegMultimodal", type = CTeEnviaEventoRegistroMultimodal.class, required = false),
36
    })
37
    private CTeTipoEvento evento;
38

39
    public void setVersaoEvento(final BigDecimal versaoEvento) {
40
        this.versaoEvento = DFBigDecimalValidador.tamanho5Com2CasasDecimais(versaoEvento, "Versao do Evento");
×
41
    }
×
42

43
    public String getVersaoEvento() {
44
        return this.versaoEvento;
×
45
    }
46

47
    public CTeTipoEvento getEvento() {
48
        return this.evento;
×
49
    }
50

51
    public void setEvento(final CTeTipoEvento evento) {
52
        this.evento = evento;
×
53
    }
×
54

55
    public CTeEnviaEventoCancelamentoComprovanteEntrega getCancelamentoComprovanteEntrega() {
56
        if (this.evento instanceof CTeEnviaEventoCancelamentoComprovanteEntrega) {
×
57
            return (CTeEnviaEventoCancelamentoComprovanteEntrega) this.evento;
×
58
        }
59
        throw new IllegalStateException("Evento não é cancelamento de comprovante de entrega");
×
60
    }
61

62
    public CTeEnviaEventoCancelamento getCancelamento() {
63
        if (this.evento instanceof CTeEnviaEventoCancelamento) {
×
64
            return (CTeEnviaEventoCancelamento) this.evento;
×
65
        }
66
        throw new IllegalStateException("Evento não é cancelamento");
×
67
    }
68

69
    public CTeEnviaEventoCartaCorrecao getCartaCorrecao() {
70
        if (this.evento instanceof CTeEnviaEventoCartaCorrecao) {
×
71
            return (CTeEnviaEventoCartaCorrecao) this.evento;
×
72
        }
73
        throw new IllegalStateException("Evento não é carta de correção");
×
74
    }
75

76
    public CTeEnviaEventoComprovanteEntrega getComprovanteEntrega() {
77
        if (this.evento instanceof CTeEnviaEventoComprovanteEntrega) {
×
78
            return (CTeEnviaEventoComprovanteEntrega) this.evento;
×
79
        }
80
        throw new IllegalStateException("Evento não é comprovante de entrega");
×
81
    }
82

83
    public CTeEnviaEventoPrestacaoEmDesacordo getPrestacaoEmDesacordo() {
84
        if (this.evento instanceof CTeEnviaEventoPrestacaoEmDesacordo) {
×
85
            return (CTeEnviaEventoPrestacaoEmDesacordo) this.evento;
×
86
        }
87
        throw new IllegalStateException("Evento não é prestação de serviço em desacordo");
×
88
    }
89

90
    public CTeEnviaEventoGtv getGtv() {
91
        if (this.evento instanceof CTeEnviaEventoGtv) {
×
92
            return (CTeEnviaEventoGtv) this.evento;
×
93
        }
94
        throw new IllegalStateException("Evento não é GTV");
×
95
    }
96

97
    public CTeEnviaEventoRegistroMultimodal getRegistroMultimodal() {
98
        if (this.evento instanceof CTeEnviaEventoRegistroMultimodal) {
×
99
            return (CTeEnviaEventoRegistroMultimodal) this.evento;
×
100
        }
101
        throw new IllegalStateException("Evento não é registro multimodal");
×
102
    }
103
}
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