1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace NFePHP\EFD\Blocks\ICMSIPI; |
4
|
|
|
|
5
|
|
|
use NFePHP\EFD\Elements\ICMSIPI as Elements; |
6
|
|
|
use NFePHP\EFD\Common\Block; |
7
|
|
|
use NFePHP\EFD\Common\BlockInterface; |
8
|
|
|
|
9
|
|
|
/** |
10
|
|
|
* Classe constutora do bloco D |
11
|
|
|
* |
12
|
|
|
* Esta classe irá usar um recurso para invocar as classes de cada um dos elementos |
13
|
|
|
* constituintes listados |
14
|
|
|
* |
15
|
|
|
* @method Elements\D001 d001(\stdClass $std) Constructor element D001 |
16
|
|
|
* @method Elements\D100 d100(\stdClass $std) Constructor element D100 |
17
|
|
|
* @method Elements\D101 d101(\stdClass $std) Constructor element D101 |
18
|
|
|
* @method Elements\D110 d110(\stdClass $std) Constructor element D110 |
19
|
|
|
* @method Elements\D120 d120(\stdClass $std) Constructor element D120 |
20
|
|
|
* @method Elements\D130 d130(\stdClass $std) Constructor element D130 |
21
|
|
|
* @method Elements\D140 d140(\stdClass $std) Constructor element D140 |
22
|
|
|
* @method Elements\D150 d150(\stdClass $std) Constructor element D150 |
23
|
|
|
* @method Elements\D160 d160(\stdClass $std) Constructor element D160 |
24
|
|
|
* @method Elements\D161 d161(\stdClass $std) Constructor element D161 |
25
|
|
|
* @method Elements\D162 d162(\stdClass $std) Constructor element D162 |
26
|
|
|
* @method Elements\D170 d170(\stdClass $std) Constructor element D170 |
27
|
|
|
* @method Elements\D180 d180(\stdClass $std) Constructor element D180 |
28
|
|
|
* @method Elements\D190 d190(\stdClass $std) Constructor element D190 |
29
|
|
|
* @method Elements\D195 d195(\stdClass $std) Constructor element D195 |
30
|
|
|
* @method Elements\D197 d197(\stdClass $std) Constructor element D197 |
31
|
|
|
* @method Elements\D300 d300(\stdClass $std) Constructor element D300 |
32
|
|
|
* @method Elements\D301 d301(\stdClass $std) Constructor element D301 |
33
|
|
|
* @method Elements\D310 d310(\stdClass $std) Constructor element D310 |
34
|
|
|
* @method Elements\D350 d350(\stdClass $std) Constructor element D350 |
35
|
|
|
* @method Elements\D355 d355(\stdClass $std) Constructor element D355 |
36
|
|
|
* @method Elements\D360 d360(\stdClass $std) Constructor element D360 |
37
|
|
|
* @method Elements\D365 d365(\stdClass $std) Constructor element D365 |
38
|
|
|
* @method Elements\D370 d370(\stdClass $std) Constructor element D370 |
39
|
|
|
* @method Elements\D390 d390(\stdClass $std) Constructor element D390 |
40
|
|
|
* @method Elements\D400 d400(\stdClass $std) Constructor element D400 |
41
|
|
|
* @method Elements\D410 d410(\stdClass $std) Constructor element D410 |
42
|
|
|
* @method Elements\D411 d411(\stdClass $std) Constructor element D411 |
43
|
|
|
* @method Elements\D420 d420(\stdClass $std) Constructor element D420 |
44
|
|
|
* @method Elements\D500 d500(\stdClass $std) Constructor element D500 |
45
|
|
|
* @method Elements\D510 d510(\stdClass $std) Constructor element D510 |
46
|
|
|
* @method Elements\D530 d530(\stdClass $std) Constructor element D530 |
47
|
|
|
* @method Elements\D590 d590(\stdClass $std) Constructor element D590 |
48
|
|
|
* @method Elements\D600 d600(\stdClass $std) Constructor element D600 |
49
|
|
|
* @method Elements\D610 d610(\stdClass $std) Constructor element D610 |
50
|
|
|
* @method Elements\D690 d690(\stdClass $std) Constructor element D690 |
51
|
|
|
* @method Elements\D695 d695(\stdClass $std) Constructor element D695 |
52
|
|
|
* @method Elements\D696 d696(\stdClass $std) Constructor element D696 |
53
|
|
|
* @method Elements\D697 d697(\stdClass $std) Constructor element D697 |
54
|
|
|
*/ |
55
|
|
|
final class BlockD extends Block implements BlockInterface |
56
|
|
|
{ |
57
|
|
|
const TOTAL = 'D990'; |
58
|
|
|
|
59
|
|
|
public $elements = [ |
60
|
|
|
'd001' => ['class' => Elements\D001::class, 'level' => 1, 'type' => 'single'], |
61
|
|
|
'd100' => ['class' => Elements\D100::class, 'level' => 2, 'type' => 'multiple'], |
62
|
|
|
'd101' => ['class' => Elements\D101::class, 'level' => 3, 'type' => 'single'], |
63
|
|
|
'd110' => ['class' => Elements\D110::class, 'level' => 3, 'type' => 'multiple'], |
64
|
|
|
'd120' => ['class' => Elements\D120::class, 'level' => 4, 'type' => 'multiple'], |
65
|
|
|
'd130' => ['class' => Elements\D130::class, 'level' => 3, 'type' => 'multiple'], |
66
|
|
|
'd140' => ['class' => Elements\D140::class, 'level' => 3, 'type' => 'single'], |
67
|
|
|
'd150' => ['class' => Elements\D150::class, 'level' => 3, 'type' => 'single'], |
68
|
|
|
'd160' => ['class' => Elements\D160::class, 'level' => 3, 'type' => 'multiple'], |
69
|
|
|
'd161' => ['class' => Elements\D161::class, 'level' => 4, 'type' => 'single'], |
70
|
|
|
'd162' => ['class' => Elements\D162::class, 'level' => 4, 'type' => 'multiple'], |
71
|
|
|
'd170' => ['class' => Elements\D170::class, 'level' => 3, 'type' => 'single'], |
72
|
|
|
'd180' => ['class' => Elements\D180::class, 'level' => 3, 'type' => 'multiple'], |
73
|
|
|
'd190' => ['class' => Elements\D190::class, 'level' => 3, 'type' => 'multiple'], |
74
|
|
|
'd195' => ['class' => Elements\D195::class, 'level' => 3, 'type' => 'multiple'], |
75
|
|
|
'd197' => ['class' => Elements\D197::class, 'level' => 4, 'type' => 'multiple'], |
76
|
|
|
'd300' => ['class' => Elements\D300::class, 'level' => 2, 'type' => 'multiple'], |
77
|
|
|
'd301' => ['class' => Elements\D301::class, 'level' => 3, 'type' => 'multiple'], |
78
|
|
|
'd310' => ['class' => Elements\D310::class, 'level' => 3, 'type' => 'multiple'], |
79
|
|
|
'd350' => ['class' => Elements\D350::class, 'level' => 2, 'type' => 'multiple'], |
80
|
|
|
'd355' => ['class' => Elements\D355::class, 'level' => 3, 'type' => 'multiple'], |
81
|
|
|
'd360' => ['class' => Elements\D360::class, 'level' => 4, 'type' => 'single'], |
82
|
|
|
'd365' => ['class' => Elements\D365::class, 'level' => 4, 'type' => 'multiple'], |
83
|
|
|
'd370' => ['class' => Elements\D370::class, 'level' => 5, 'type' => 'multiple'], |
84
|
|
|
'd390' => ['class' => Elements\D390::class, 'level' => 4, 'type' => 'multiple'], |
85
|
|
|
'd400' => ['class' => Elements\D400::class, 'level' => 2, 'type' => 'multiple'], |
86
|
|
|
'd410' => ['class' => Elements\D410::class, 'level' => 3, 'type' => 'multiple'], |
87
|
|
|
'd411' => ['class' => Elements\D411::class, 'level' => 4, 'type' => 'multiple'], |
88
|
|
|
'd420' => ['class' => Elements\D420::class, 'level' => 3, 'type' => 'multiple'], |
89
|
|
|
'd500' => ['class' => Elements\D500::class, 'level' => 2, 'type' => 'multiple'], |
90
|
|
|
'd510' => ['class' => Elements\D510::class, 'level' => 3, 'type' => 'multiple'], |
91
|
|
|
'd530' => ['class' => Elements\D530::class, 'level' => 3, 'type' => 'multiple'], |
92
|
|
|
'd590' => ['class' => Elements\D590::class, 'level' => 3, 'type' => 'multiple'], |
93
|
|
|
'd600' => ['class' => Elements\D600::class, 'level' => 2, 'type' => 'multiple'], |
94
|
|
|
'd610' => ['class' => Elements\D610::class, 'level' => 3, 'type' => 'multiple'], |
95
|
|
|
'd690' => ['class' => Elements\D690::class, 'level' => 3, 'type' => 'multiple'], |
96
|
|
|
'd695' => ['class' => Elements\D695::class, 'level' => 2, 'type' => 'multiple'], |
97
|
|
|
'd696' => ['class' => Elements\D696::class, 'level' => 3, 'type' => 'multiple'], |
98
|
|
|
'd697' => ['class' => Elements\D697::class, 'level' => 4, 'type' => 'multiple'] |
99
|
|
|
]; |
100
|
|
|
|
101
|
|
|
public function __construct() |
102
|
|
|
{ |
103
|
|
|
parent::__construct(self::TOTAL); |
104
|
|
|
} |
105
|
|
|
} |
106
|
|
|
|