Completed
Pull Request — master (#464)
by
unknown
14:04
created

C185::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5

Duplication

Lines 5
Ratio 100 %

Importance

Changes 0
Metric Value
dl 5
loc 5
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 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
/**
10
 * REGISTRO C185: INFORMAÇÕES  COMPLEMENTARES  DAS  OPERAÇÕES  DE  SAÍDA  DE  MERCADORIAS SUJEITAS À SUBSTITUIÇÃO TRIBUTÁRIA (CÓDIGO 01, 1B, 04, 55 e 65).
11
 * @package NFePHP\EFD\Elements\ICMSIPI
12
 */
13 View Code Duplication
class C185 extends Element implements ElementInterface
0 ignored issues
show
Duplication introduced by
This class seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
14
{
15
    const REG = 'C185';
16
    const LEVEL = 3;
17
    const PARENT = 'C100';
18
    
19
    protected $parameters = [
20
        'NUM_ITEM' => [
21
            'type'     => 'numeric',
22
            'regex'    => '^[0-9]{3}$',
23
            'required' => true,
24
            'info'     => 'Número sequencial do item no documento fiscal',
25
            'format'   => ''
26
        ],
27
        'COD_ITEM' => [
28
            'type'     => 'string',
29
            'regex'    => '^[0-9]{60}$',
30
            'required' => true,
31
            'info'     => 'Código do item (campo 02 do Registro 0200)',
32
            'format'   => ''
33
        ],
34
        'CST_ICMS' => [
35
            'type'     => 'numeric',
36
            'regex'    => '',
37
            'required' => true,
38
            'info'     => 'Código da Situação Tributária referente ao ICMS',
39
            'format'   => ''
40
        ],
41
        'CFOP' => [
42
            'type' => 'numeric',
43
            'regex' => '^(\d{4})$',
44
            'required' => true,
45
            'info' => 'Código Fiscal de Operação e Prestação',
46
            'format' => ''
47
        ],
48
        'COD_MOT_REST_COMPL' => [
49
            'type'     => 'string',
50
            'regex'    => '^[0-9]{5}$',
51
            'required' => true,
52
            'info'     => 'Código  do  motivo  da  restituição  ou  complementação conforme Tabela 5.7',
53
            'format'   => ''
54
        ],
55
        'QUANT_CONV' => [
56
            'type'     => 'numeric',
57
            'regex'    => '^\d+(\.\d*)?|\.\d+$',
58
            'required' => true,
59
            'info'     => 'Quantidade do item',
60
            'format'   => '15v6'
61
        ],
62
        'UNID' => [
63
            'type'     => 'string',
64
            'regex'    => '^[0-9]{0}$',
65
            'required' => true,
66
            'info'     => 'Unidade adotada para informar o campo QUANT_CONV.',
67
            'format'   => ''
68
        ],
69
        'VL_UNIT_ICMS_NA_OPERACAO_CONV' => [
70
            'type'     => 'numeric',
71
            'regex'    => '^\d+(\.\d*)?|\.\d+$',
72
            'required' => true,
73
            'info'     => 'Valor  unitário  para  o  ICMS  na  operação,  caso  não houvesse  a  ST,  considerando  unidade  utilizada  para informar  o  campo  QUANT_CONV,  considerando redução da base de cálculo do ICMS ST na tributação, se houver',
74
            'format'   => '15v6'
75
        ],
76
        'VL_UNIT_ICMS_OP_CONV' => [
77
            'type'     => 'numeric',
78
            'regex'    => '^\d+(\.\d*)?|\.\d+$',
79
            'required' => true,
80
            'info'     => 'Valor  unitário  do  ICMS  que  o  contribuinte   teria  se creditado, ou pode se creditar, referente à operação de entrada  da  mercadoria,  caso  estivesse  submetida  ao regime  comum  de  tributação,  no  desfazimento  da substituição     tributária,     calculado     conforme     a legislação   de   cada   UF,   considerando   a   unidade utilizada para informar o campo QUANT_CONV',
81
            'format'   => '15v6'
82
        ],
83
        'VL_UNIT_ICMS_OP_ESTOQUE_CONV' => [
84
            'type'     => 'numeric',
85
            'regex'    => '^\d+(\.\d*)?|\.\d+$',
86
            'required' => true,
87
            'info'     => 'Valor médio unitário do ICMS que o contribuinte teria se   creditado   referente   à   operação   de   entrada   das mercadorias  em  estoque  caso  estivesse  submetida  ao regime  comum  de  tributação,  calculado  conforme  a legislação   de   cada   UF,   considerando   a   unidade utilizada para informar o campo QUANT_CONV',
88
            'format'   => '15v6'
89
        ],
90
        'VL_UNIT_ICMS_ST_ESTOQUE_CONV' => [
91
            'type'     => 'numeric',
92
            'regex'    => '^\d+(\.\d*)?|\.\d+$',
93
            'required' => true,
94
            'info'     => 'Valor médio unitário do ICMS/ST, incluindo FCP ST, das mercadorias em estoque,  considerando  a unidade utilizada para informar o campo QUANT_CONV',
95
            'format'   => '15v6'
96
        ],
97
        'VL_UNIT_FCP_ICMS_ST_ESTOQUE_CONV' => [
98
            'type'     => 'numeric',
99
            'regex'    => '^\d+(\.\d*)?|\.\d+$',
100
            'required' => true,
101
            'info'     => 'Valor médio unitário do FCP ST    agregado ao ICMS das mercadorias em estoque,  considerando  a unidade utilizada para informar o campo QUANT_CONV',
102
            'format'   => '15v6'
103
        ],
104
        'VL_UNIT_ICMS_ST_CONV_REST' => [
105
            'type'     => 'numeric',
106
            'regex'    => '^\d+(\.\d*)?|\.\d+$',
107
            'required' => true,
108
            'info'     => 'Valor  unitário  do  total  do  ICMS/ST,  incluindo  FCP ST,  a  ser  restituído/ressarcido,  calculado  conforme  a legislação   de   cada   UF,   considerando   a   unidade utilizada para informar o campo QUANT_CONV.',
109
            'format'   => '15v6'
110
        ],
111
        'VL_UNIT_FCP_ST_CONV_REST' => [
112
            'type'     => 'numeric',
113
            'regex'    => '^\d+(\.\d*)?|\.\d+$',
114
            'required' => true,
115
            'info'     => 'Valor unitário correspondente à parcela de ICMS FCP ST que compõe o campo VL_UNIT_ICMS_ST_CONV_REST, considerando a unidade utilizada para informar o campo QUANT_CONV.',
116
            'format'   => '15v6'
117
        ],
118
        'VL_UNIT_ICMS_ST_CONV_COMPL' => [
119
            'type'     => 'numeric',
120
            'regex'    => '^\d+(\.\d*)?|\.\d+$',
121
            'required' => true,
122
            'info'     => 'Valor unitário do complemento do ICMS, incluindo FCP ST, considerando a unidade utilizada para informar o campo QUANT_CONV.',
123
            'format'   => '15v6'
124
        ],
125
        'VL_UNIT_FCP_ST_CONV_COMPL' => [
126
            'type'     => 'numeric',
127
            'regex'    => '^\d+(\.\d*)?|\.\d+$',
128
            'required' => true,
129
            'info'     => 'Valor unitário correspondente à parcela de ICMS FCP ST que compõe o campo VL_UNIT_ICMS_ST_CONV_COMPL, considerando unidade utilizada para informar o campo QUANT_CONV.',
130
            'format'   => '15v6'
131
        ],
132
    ];
133
    /**
134
     * Constructor
135
     * @param \stdClass $std
136
     */
137
    public function __construct(\stdClass $std)
138
    {
139
        parent::__construct(self::REG);
140
        $this->std = $this->standarize($std);
141
    }
142
}
143