ImpuestoAdicional::test()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 4
nc 1
nop 0
dl 0
loc 7
rs 10
c 1
b 0
f 0
1
<?php
2
3
namespace FacturaScripts\Plugins\fsRepublicaDominicana\Model;
4
5
use FacturaScripts\Core\Template\ModelClass;
0 ignored issues
show
Bug introduced by
The type FacturaScripts\Core\Template\ModelClass was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
6
use FacturaScripts\Core\Template\ModelTrait;
0 ignored issues
show
Bug introduced by
The type FacturaScripts\Core\Template\ModelTrait was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
7
use FacturaScripts\Core\Tools;
8
use FacturaScripts\Core\Session;
0 ignored issues
show
Bug introduced by
The type FacturaScripts\Core\Session was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
9
10
class ImpuestoAdicional extends ModelClass
11
{
12
    use ModelTrait;
13
14
    /** @var string */
15
    public $creationdate;
16
17
    /** @var int */
18
    public $id;
19
20
    /** @var string */
21
    public $codigo;
22
23
    /** @var string */
24
    public $tipo_impuesto_long;
25
26
    /** @var string */
27
    public $tipo_impuesto_short;
28
29
    /** @var string */
30
    public $tipo_tasa;
31
32
    /** @var float */
33
    public $tasa;
34
35
    /** @var string */
36
    public $descripcion;
37
38
    /** @var string */
39
    public $lastnick;
40
41
    /** @var string */
42
    public $lastupdate;
43
44
    /** @var string */
45
    public $name;
46
47
    /** @var string */
48
    public $nick;
49
50
    public function install(): string
51
    {
52
        parent::install();
53
        return "INSERT INTO " . self::tableName() . " (codigo, tipo_impuesto_short, tipo_impuesto_long, descripcion, tipo_tasa, tasa, nick, creationdate) VALUES " .
54
            "('001','Propina Legal','Propina Legal','Propina Legal','porcentaje',10,'install',CURRENT_DATE), " .
55
            "('002','CDT','Contribución al Desarrollo de las Telecomunicaciones','Contribución al Desarrollo de las Telecomunicaciones Ley 153-98 Art. 45 ','porcentaje',2,'install',CURRENT_DATE), " .
56
            "('003','ISC','Impuesto Selectivo al Consumo','Servicios Seguros en general','porcentaje',16,'install',CURRENT_DATE), " .
57
            "('004','ISC','Impuesto Selectivo al Consumo','Servicios de Telecomunicaciones','porcentaje',10,'install',CURRENT_DATE), " .
58
            "('005','Primera Placa','Impuesto sobre el Primer Registro de Vehículos (Primera Placa)','Expedición de la primera placa','porcentaje',17,'install',CURRENT_DATE), " .
59
//            "('006','ISC','Impuesto Selectivo al Consumo (Tasa Específico)','Cerveza','monto',632.58,'install',CURRENT_DATE), " .
60
//            "('007','ISC','Impuesto Selectivo al Consumo (Tasa Específico)','Vinos de uva','monto',632.58,'install',CURRENT_DATE), " .
61
//            "('008','ISC','Impuesto Selectivo al Consumo (Tasa Específico)','Vermut y demás vinos de uvas frescas','monto',632.58,'install',CURRENT_DATE), " .
62
//            "('009','ISC','Impuesto Selectivo al Consumo (Tasa Específico)','Demás bebidas fermentadas','monto',632.58,'install',CURRENT_DATE), " .
63
//            "('010','ISC','Impuesto Selectivo al Consumo (Tasa Específico)','Alcohol Etílico sin desnaturalizar (Mayor o igual a 80%)','monto',632.58,'install',CURRENT_DATE), " .
64
//            "('011','ISC','Impuesto Selectivo al Consumo (Tasa Específico)','Alcohol Etílico sin desnaturalizar (inferior a 80%)','monto',632.58,'install',CURRENT_DATE), " .
65
//            "('012','ISC','Impuesto Selectivo al Consumo (Tasa Específico)','Aguardientes de uva','monto',632.58,'install',CURRENT_DATE), " .
66
//            "('013','ISC','Impuesto Selectivo al Consumo (Tasa Específico)','Whisky','monto',632.58,'install',CURRENT_DATE), " .
67
//            "('014','ISC','Impuesto Selectivo al Consumo (Tasa Específico)','Ron y demás aguardientes de caña','monto',632.58,'install',CURRENT_DATE), " .
68
//            "('015','ISC','Impuesto Selectivo al Consumo (Tasa Específico)','Gin y Ginebra','monto',632.58,'install',CURRENT_DATE), " .
69
//            "('016','ISC','Impuesto Selectivo al Consumo (Tasa Específico)','Vodka','monto',632.58,'install',CURRENT_DATE), " .
70
//            "('017','ISC','Impuesto Selectivo al Consumo (Tasa Específico)','Licores','monto',632.58,'install',CURRENT_DATE), " .
71
//            "('018','ISC','Impuesto Selectivo al Consumo (Tasa Específico)','Los demás (Bebidas y Alcoholes)','monto',632.58,'install',CURRENT_DATE), " .
72
//            "('019','ISC','Impuesto Selectivo al Consumo (Tasa Específico)','Cigarrillos que contengan tabaco cajetilla 20 unidades','monto',53.51,'install',CURRENT_DATE), " .
73
//            "('020','ISC','Impuesto Selectivo al Consumo (Tasa Específico)','Los demás Cigarrillos que contengan 20 unidades','monto',53.51,'install',CURRENT_DATE), " .
74
//            "('021','ISC','Impuesto Selectivo al Consumo (Tasa Específico)','Cigarrillos que contengan 10 unidades','monto',26.75,'install',CURRENT_DATE), " .
75
//            "('022','ISC','Impuesto Selectivo al Consumo (Tasa Específico)','Los demás Cigarrillos que contengan 10 unidades','monto',26.75,'install',CURRENT_DATE), " .
76
            "('023','ISC','Impuesto Selectivo al Consumo (Tasa AdValorem)','Cerveza','porcentaje',10,'install',CURRENT_DATE), " .
77
            "('024','ISC','Impuesto Selectivo al Consumo (Tasa AdValorem)','Vinos de uva','porcentaje',10,'install',CURRENT_DATE), " .
78
            "('025','ISC','Impuesto Selectivo al Consumo (Tasa AdValorem)','Vermut y demás vinos de uvas frescas','porcentaje',10,'install',CURRENT_DATE), " .
79
            "('026','ISC','Impuesto Selectivo al Consumo (Tasa AdValorem)','Demás bebidas fermentadas','porcentaje',10,'install',CURRENT_DATE), " .
80
            "('027','ISC','Impuesto Selectivo al Consumo (Tasa AdValorem)','Alcohol Etílico sin desnaturalizar (Mayor o igual a 80%)','porcentaje',10,'install',CURRENT_DATE), " .
81
            "('028','ISC','Impuesto Selectivo al Consumo (Tasa AdValorem)','Alcohol Etílico sin desnaturalizar (inferior a 80%)','porcentaje',10,'install',CURRENT_DATE), " .
82
            "('029','ISC','Impuesto Selectivo al Consumo (Tasa AdValorem)','Aguardientes de uva','porcentaje',10,'install',CURRENT_DATE), " .
83
            "('030','ISC','Impuesto Selectivo al Consumo (Tasa AdValorem)','Whisky','porcentaje',10,'install',CURRENT_DATE), " .
84
            "('031','ISC','Impuesto Selectivo al Consumo (Tasa AdValorem)','Ron y demás aguardientes de caña','porcentaje',10,'install',CURRENT_DATE), " .
85
            "('032','ISC','Impuesto Selectivo al Consumo (Tasa AdValorem)','Gin y Ginebra','porcentaje',10,'install',CURRENT_DATE), " .
86
            "('033','ISC','Impuesto Selectivo al Consumo (Tasa AdValorem)','Vodka','porcentaje',10,'install',CURRENT_DATE), " .
87
            "('034','ISC','Impuesto Selectivo al Consumo (Tasa AdValorem)','Licores','porcentaje',10,'install',CURRENT_DATE), " .
88
            "('035','ISC','Impuesto Selectivo al Consumo (Tasa AdValorem)','Los demás (Bebidas y Alcoholes)','porcentaje',10,'install',CURRENT_DATE), " .
89
            "('036','ISC','Impuesto Selectivo al Consumo (Tasa AdValorem)','Cigarrillos que contengan tabaco cajetilla 20 unidades','porcentaje',20,'install',CURRENT_DATE), " .
90
            "('037','ISC','Impuesto Selectivo al Consumo (Tasa AdValorem)','Los demás Cigarrillos que contengan 20 unidades','porcentaje',20,'install',CURRENT_DATE), " .
91
            "('038','ISC','Impuesto Selectivo al Consumo (Tasa AdValorem)','Cigarrillos que contengan 10 unidades','porcentaje',20,'install',CURRENT_DATE), " .
92
            "('039','ISC','Impuesto Selectivo al Consumo (Tasa AdValorem)','Los demás Cigarrillos que contengan 10 unidades','porcentaje',20,'install',CURRENT_DATE); 
93
        ";
94
    }
95
    public function clear(): void
96
    {
97
        parent::clear();
98
        $this->codigo = null;
99
        $this->tipo_impuesto_long = null;
100
        $this->tipo_impuesto_short = null;
101
        $this->tipo_tasa = 'porcentaje';
102
        $this->tasa = 0.00;
103
        $this->creationdate = Tools::dateTime();
104
        $this->lastupdate = Tools::dateTime();
105
        $this->nick = Session::user()->nick;
106
    }
107
108
    public static function primaryColumn(): string
109
    {
110
        return 'id';
111
    }
112
113
    public static function tableName(): string
114
    {
115
        return 'rd_impuestosadicionales';
116
    }
117
118
    public function test(): bool
119
    {
120
        $this->creationdate = $this->creationdate ?? Tools::dateTime();
121
        $this->name = Tools::noHtml($this->name);
122
        $this->nick = $this->nick ?? Session::user()->nick;
123
124
        return parent::test();
125
    }
126
127
    protected function saveUpdate(array $values = []): bool
128
    {
129
        $this->lastnick = Session::user()->nick;
130
        $this->lastupdate = Tools::dateTime();
131
132
        return parent::saveUpdate($values);
133
    }
134
}
135