1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace NFePHP\ECD\Blocks; |
4
|
|
|
|
5
|
|
|
use NFePHP\ECD\Elements; |
6
|
|
|
use NFePHP\ECD\Common\Block; |
7
|
|
|
use NFePHP\ECD\Common\BlockInterface; |
8
|
|
|
|
9
|
|
|
/** |
10
|
|
|
* Classe constutora do bloco I Lançamentos Contábeis |
11
|
|
|
* |
12
|
|
|
* Esta classe irá usar um recurso para invocar as classes de cada um dos elementos |
13
|
|
|
* constituintes listados |
14
|
|
|
* |
15
|
|
|
* @method Elements\I001 i001(\stdClass $std) Constructor element I001 |
16
|
|
|
* @method Elements\I010 i010(\stdClass $std) Constructor element I010 |
17
|
|
|
* @method Elements\I012 i012(\stdClass $std) Constructor element I012 |
18
|
|
|
* @method Elements\I015 i015(\stdClass $std) Constructor element I015 |
19
|
|
|
* @method Elements\I020 i020(\stdClass $std) Constructor element I020 |
20
|
|
|
* @method Elements\I030 i030(\stdClass $std) Constructor element I030 |
21
|
|
|
* @method Elements\I050 i050(\stdClass $std) Constructor element I050 |
22
|
|
|
* @method Elements\I051 i051(\stdClass $std) Constructor element I051 |
23
|
|
|
* @method Elements\I052 i052(\stdClass $std) Constructor element I052 |
24
|
|
|
* @method Elements\I053 i053(\stdClass $std) Constructor element I053 |
25
|
|
|
* @method Elements\I075 i075(\stdClass $std) Constructor element I075 |
26
|
|
|
* @method Elements\I100 i100(\stdClass $std) Constructor element I100 |
27
|
|
|
* @method Elements\I150 i150(\stdClass $std) Constructor element I150 |
28
|
|
|
* @method Elements\I151 i151(\stdClass $std) Constructor element I151 |
29
|
|
|
* @method Elements\I155 i155(\stdClass $std) Constructor element I155 |
30
|
|
|
* @method Elements\I157 i157(\stdClass $std) Constructor element I157 |
31
|
|
|
* @method Elements\I200 i200(\stdClass $std) Constructor element I200 |
32
|
|
|
* @method Elements\I250 i250(\stdClass $std) Constructor element I250 |
33
|
|
|
* @method Elements\I300 i300(\stdClass $std) Constructor element I300 |
34
|
|
|
* @method Elements\I310 i310(\stdClass $std) Constructor element I310 |
35
|
|
|
* @method Elements\I350 i350(\stdClass $std) Constructor element I350 |
36
|
|
|
* @method Elements\I355 i355(\stdClass $std) Constructor element I355 |
37
|
|
|
* @method Elements\I500 i500(\stdClass $std) Constructor element I500 |
38
|
|
|
* @method Elements\I510 i510(\stdClass $std) Constructor element I510 |
39
|
|
|
* @method Elements\I550 i550(\stdClass $std) Constructor element I550 |
40
|
|
|
* @method Elements\I555 i555(\stdClass $std) Constructor element I555 |
41
|
|
|
*/ |
42
|
|
|
final class BlockI extends Block implements BlockInterface |
43
|
|
|
{ |
44
|
|
|
const TOTAL = 'I990'; |
45
|
|
|
|
46
|
|
|
public $elements = [ |
47
|
|
|
'i001' => ['class' => Elements\I001::class, 'level' => 1, 'type' => 'single'], |
48
|
|
|
'i010' => ['class' => Elements\I010::class, 'level' => 2, 'type' => 'single'], |
49
|
|
|
'i012' => ['class' => Elements\I012::class, 'level' => 3, 'type' => 'multiple'], |
50
|
|
|
'i015' => ['class' => Elements\I015::class, 'level' => 4, 'type' => 'multiple'], |
51
|
|
|
'i020' => ['class' => Elements\I020::class, 'level' => 3, 'type' => 'multiple'], |
52
|
|
|
'i030' => ['class' => Elements\I030::class, 'level' => 3, 'type' => 'multiple'], |
53
|
|
|
'i050' => ['class' => Elements\I050::class, 'level' => 3, 'type' => 'multiple'], |
54
|
|
|
'i051' => ['class' => Elements\I051::class, 'level' => 4, 'type' => 'multiple'], |
55
|
|
|
'i052' => ['class' => Elements\I052::class, 'level' => 4, 'type' => 'multiple'], |
56
|
|
|
'i053' => ['class' => Elements\I053::class, 'level' => 4, 'type' => 'multiple'], |
57
|
|
|
'i075' => ['class' => Elements\I075::class, 'level' => 3, 'type' => 'multiple'], |
58
|
|
|
'i100' => ['class' => Elements\I100::class, 'level' => 3, 'type' => 'multiple'], |
59
|
|
|
'i150' => ['class' => Elements\I150::class, 'level' => 3, 'type' => 'multiple'], |
60
|
|
|
'i151' => ['class' => Elements\I151::class, 'level' => 4, 'type' => 'multiple'], |
61
|
|
|
'i155' => ['class' => Elements\I155::class, 'level' => 4, 'type' => 'multiple'], |
62
|
|
|
'i157' => ['class' => Elements\I157::class, 'level' => 5, 'type' => 'multiple'], |
63
|
|
|
'i200' => ['class' => Elements\I200::class, 'level' => 3, 'type' => 'multiple'], |
64
|
|
|
'i250' => ['class' => Elements\I250::class, 'level' => 4, 'type' => 'multiple'], |
65
|
|
|
'i300' => ['class' => Elements\I300::class, 'level' => 3, 'type' => 'multiple'], |
66
|
|
|
'i310' => ['class' => Elements\I310::class, 'level' => 4, 'type' => 'multiple'], |
67
|
|
|
'i350' => ['class' => Elements\I350::class, 'level' => 3, 'type' => 'multiple'], |
68
|
|
|
'i355' => ['class' => Elements\I355::class, 'level' => 4, 'type' => 'multiple'], |
69
|
|
|
'i500' => ['class' => Elements\I500::class, 'level' => 3, 'type' => 'multiple'], |
70
|
|
|
'i510' => ['class' => Elements\I510::class, 'level' => 3, 'type' => 'multiple'], |
71
|
|
|
'i550' => ['class' => Elements\I550::class, 'level' => 3, 'type' => 'multiple'], |
72
|
|
|
'i555' => ['class' => Elements\I555::class, 'level' => 4, 'type' => 'multiple'], |
73
|
|
|
]; |
74
|
|
|
|
75
|
|
|
public function __construct() |
76
|
|
|
{ |
77
|
|
|
parent::__construct(self::TOTAL); |
78
|
|
|
} |
79
|
|
|
} |
80
|
|
|
|