D590   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 95
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 1
dl 0
loc 95
ccs 0
cts 5
cp 0
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 1
1
<?php
2
3
namespace NFePHP\EFD\Elements\ICMSIPI;
4
5
use NFePHP\EFD\Common\Element;
6
use NFePHP\EFD\Common\ElementInterface;
7
use \stdClass;
8
9
class D590 extends Element implements ElementInterface
10
{
11
    const REG = 'D590';
12
    const LEVEL = 3;
13
    const PARENT = '';
14
15
    protected $parameters = [
16
        'CST_ICMS' => [
17
            'type' => 'numeric',
18
            'regex' => '^(\d{3})$',
19
            'required' => true,
20
            'info' => 'Código da Situação Tributária, conforme a Tabela indicada no item 4.3.1.',
21
            'format' => ''
22
        ],
23
        'CFOP' => [
24
            'type' => 'numeric',
25
            'regex' => '^(\d{4})$',
26
            'required' => true,
27
            'info' => 'Código Fiscal de agrupamento de itens',
28
            'format' => ''
29
        ],
30
        'ALIQ_ICMS' => [
31
            'type' => 'numeric',
32
            'regex' => '^\d+(\.\d*)?|\.\d+$',
33
            'required' => false,
34
            'info' => 'Alíquota do ICMS',
35
            'format' => '6v2'
36
        ],
37
        'VL_OPR' => [
38
            'type' => 'numeric',
39
            'regex' => '^\d+(\.\d*)?|\.\d+$',
40
            'required' => true,
41
            'info' => 'Valor da operação correspondente à combinação de CST_ICMS, CFOP, e alíquota do ICMS.',
42
            'format' => '15v2'
43
        ],
44
        'VL_BC_ICMS' => [
45
            'type' => 'numeric',
46
            'regex' => '^\d+(\.\d*)?|\.\d+$',
47
            'required' => true,
48
            'info' => 'Parcela correspondente ao "Valor da base de cálculo do ICMS" 
49
            referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.',
50
            'format' => '15v2'
51
        ],
52
        'VL_ICMS' => [
53
            'type' => 'numeric',
54
            'regex' => '^\d+(\.\d*)?|\.\d+$',
55
            'required' => true,
56
            'info' => 'Parcela correspondente ao "Valor do ICMS" referente à combinação 
57
            de CST_ICMS, CFOP e alíquota do ICMS.',
58
            'format' => '15v2'
59
        ],
60
        'VL_BC_ICMS_UF' => [
61
            'type' => 'numeric',
62
            'regex' => '^\d+(\.\d*)?|\.\d+$',
63
            'required' => true,
64
            'info' => 'Parcela correspondente ao valor da base de cálculo do ICMS de outras UFs, 
65
            referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.',
66
            'format' => '15v2'
67
        ],
68
        'VL_ICMS_UF' => [
69
            'type' => 'numeric',
70
            'regex' => '^\d+(\.\d*)?|\.\d+$',
71
            'required' => true,
72
            'info' => 'Parcela correspondente ao valor do ICMS de outras UFs, referente à combinação 
73
            de CST_ICMS, CFOP, e alíquota do ICMS.',
74
            'format' => '15v2'
75
        ],
76
        'VL_RED_BC' => [
77
            'type' => 'numeric',
78
            'regex' => '^\d+(\.\d*)?|\.\d+$',
79
            'required' => true,
80
            'info' => 'Valor não tributado em função da redução da base de cálculo do ICMS, 
81
            referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.',
82
            'format' => '15v2'
83
        ],
84
        'COD_OBS' => [
85
            'type' => 'string',
86
            'regex' => '^.{0,6}$',
87
            'required' => false,
88
            'info' => 'Código da observação do lançamento fiscal (campo 02 do Registro 0460)',
89
            'format' => ''
90
        ],
91
92
    ];
93
94
    /**
95
     * Constructor
96
     * @param \stdClass $std
97
     */
98
    public function __construct(\stdClass $std)
99
    {
100
        parent::__construct(self::REG);
101
        $this->std = $this->standarize($std);
102
    }
103
}
104