PortalMipymeDte::getCodigoDte()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 4
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 1
c 1
b 0
f 0
nc 2
nop 1
dl 0
loc 4
ccs 0
cts 2
cp 0
crap 6
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
/**
6
 * API Gateway: Cliente de API en PHP.
7
 * Copyright (C) API Gateway <https://www.apigateway.cl>
8
 *
9
 * Este programa es software libre: usted puede redistribuirlo y/o modificarlo
10
 * bajo los términos de la GNU Lesser General Public License (LGPL) publicada
11
 * por la Fundación para el Software Libre, ya sea la versión 3 de la Licencia,
12
 * o (a su elección) cualquier versión posterior de la misma.
13
 *
14
 * Este programa se distribuye con la esperanza de que sea útil, pero SIN
15
 * GARANTÍA ALGUNA; ni siquiera la garantía implícita MERCANTIL o de APTITUD
16
 * PARA UN PROPÓSITO DETERMINADO. Consulte los detalles de la GNU Lesser General
17
 * Public License (LGPL) para obtener una información más detallada.
18
 *
19
 * Debería haber recibido una copia de la GNU Lesser General Public License
20
 * (LGPL) junto a este programa. En caso contrario, consulte
21
 * <http://www.gnu.org/licenses/lgpl.html>.
22
 */
23
24
namespace apigatewaycl\api_client\sii;
25
26
/**
27
 * Módulo para consultas de DTEs al Portal MIPYME del SII.
28
 *
29
 * Para más información sobre la API, consulte la `documentación completa del
30
 * Portal MIPYME <https://developers.apigateway.cl/#d545a096-09be-4c9e-8d12-7b86b6bf1be6>`_.
31
 *
32
 * Base para los clientes específicos de DTE del Portal Mipyme.
33
 * Incluye constantes para diferentes estados de DTE.
34
 */
35
class PortalMipymeDte extends PortalMiPyme
36
{
37
    /**
38
     * Abreviatura: Documento emitido
39
     * @var string
40
     */
41
    protected const ESTADO_EMITIDO = 'EMI'; # Documento emitido
42
43
    /**
44
     * Abreviatura: Borrador (pre-view) de documento
45
     * @var string
46
     */
47
    protected const ESTADO_BORRADOR = 'PRV'; # Borrador (pre-view) de documento
48
49
    /**
50
     * Abreviatura: Certificado rechazado
51
     * @var string
52
     */
53
    protected const ESTADO_CERTIFICADO_RECHAZADO = 'DCD'; # Certificado rechazado
54
55
    /**
56
     * Abreviatura: RUT emisor inválido
57
     * @var string
58
     */
59
    protected const ESTADO_EMISOR_INVALIDO = 'DEI'; # RUT emisor inválido
60
61
    /**
62
     * Abreviatura: Folio DTE inválido
63
     * @var string
64
     */
65
    protected const ESTADO_FOLIO_INVALIDO = 'DFI'; # Folio DTE inválido
66
67
    /**
68
     * Abreviatura: Incompleto
69
     * @var string
70
     */
71
    protected const ESTADO_INCOMPLETO = 'DIN'; # Incompleto
72
73
    /**
74
     * Abreviatura: Sin permiso de firma
75
     * @var string
76
     */
77
    protected const ESTADO_FIRMA_SIN_PERMISO = 'DPF'; # Sin permiso de firma
78
79
    /**
80
     * Abreviatura: DTE rechazado por firma
81
     * @var string
82
     */
83
    protected const ESTADO_FIRMA_RECHAZADA = 'DRF'; # DTE rechazado por firma
84
85
    /**
86
     * Abreviatura: RUT receptor inválido
87
     * @var string
88
     */
89
    protected const ESTADO_RECEPTOR_INVALIDO = 'DRI'; # RUT receptor inválido
90
91
    /**
92
     * Abreviatura: Rechazado por repetido
93
     * @var string
94
     */
95
    protected const ESTADO_REPETIDO = 'DRR'; # Rechazado por repetido
96
97
    /**
98
     * Abreviatura: DTE inicializado
99
     * @var string
100
     */
101
    protected const ESTADO_INICIALIZADO = 'INI'; # DTE inicializado
102
103
    /**
104
     * Abreviatura: DTE aceptado por receptor
105
     * @var string
106
     */
107
    protected const ESTADO_ACEPTADO = 'RAC'; # DTE aceptado por receptor
108
109
    /**
110
     * Abreviatura: DTE aceptado con discrepancias
111
     * @var string
112
     */
113
    protected const ESTADO_DISCREPANCIAS = 'RAD'; # DTE aceptado con discrepancias
114
115
    /**
116
     * Abreviatura: DTE no recibido por receptor
117
     * @var string
118
     */
119
    protected const ESTADO_NO_RECIBIDO = 'RNR'; # DTE no recibido por receptor
120
121
    /**
122
     * Abreviatura: DTE recibido por receptor
123
     * @var string
124
     */
125
    protected const ESTADO_RECIBIDO = 'RRC'; # DTE recibido por receptor
126
127
    /**
128
     * Abreviatura: DTE aceptado Ley 19.983
129
     * @var string
130
     */
131
    protected const ESTADO_ACEPTADO_LEY_19983 = 'RAL'; # DTE aceptado Ley 19.983
132
133
    /**
134
     * Abreviatura: DTE rechazado por receptor
135
     * @var string
136
     */
137
    protected const ESTADO_RECHAZADO_RECEPTOR = 'RRH'; # DTE rechazado por receptor
138
139
    /**
140
     * Abreviatura: Recibido sin reparos
141
     * @var string
142
     */
143
    protected const ESTADO_SIN_REPAROS = 'RSR'; # Recibido sin reparos
144
145
    /**
146
     * Obtiene el código correspondiente al tipo de DTE.
147
     *
148
     * @param string $tipo Tipo de DTE.
149
     * @return string Código del DTE.
150
     */
151
    public function getCodigoDte(string $tipo): string
152
    {
153
        # TODO: Resolver este fragmento de código: ¿¿QUÉ ES "DTE_TIPOS"??
154
        return isset($this->DTE_TIPOS[$tipo]) ? $this->DTE_TIPOS[$tipo] : str_replace(' ', '-', $tipo);
0 ignored issues
show
Bug Best Practice introduced by
The property DTE_TIPOS does not exist on apigatewaycl\api_client\sii\PortalMipymeDte. Did you maybe forget to declare it?
Loading history...
155
    }
156
}
157