| 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 K Conglomerados Econômicos | 
            
                                                                                                            
                            
            
                                    
            
            
                | 11 |  |  |  * | 
            
                                                                                                            
                            
            
                                    
            
            
                | 12 |  |  |  * Esta classe irá usar um recurso para invocar as classes de cada um dos elementos | 
            
                                                                                                            
                            
            
                                    
            
            
                | 13 |  |  |  * constituintes listados | 
            
                                                                                                            
                            
            
                                    
            
            
                | 14 |  |  |  * | 
            
                                                                                                            
                            
            
                                    
            
            
                | 15 |  |  |  * @method Elements\K001 k001(\stdClass $std) Constructor element K001 | 
            
                                                                                                            
                            
            
                                    
            
            
                | 16 |  |  |  * @method Elements\K030 k030(\stdClass $std) Constructor element K030 | 
            
                                                                                                            
                            
            
                                    
            
            
                | 17 |  |  |  * @method Elements\K100 k100(\stdClass $std) Constructor element K100 | 
            
                                                                                                            
                            
            
                                    
            
            
                | 18 |  |  |  * @method Elements\K110 k110(\stdClass $std) Constructor element K110 | 
            
                                                                                                            
                            
            
                                    
            
            
                | 19 |  |  |  * @method Elements\K115 k115(\stdClass $std) Constructor element K115 | 
            
                                                                                                            
                            
            
                                    
            
            
                | 20 |  |  |  * @method Elements\K200 k200(\stdClass $std) Constructor element K200 | 
            
                                                                                                            
                            
            
                                    
            
            
                | 21 |  |  |  * @method Elements\K210 k210(\stdClass $std) Constructor element K210 | 
            
                                                                                                            
                            
            
                                    
            
            
                | 22 |  |  |  * @method Elements\K300 k300(\stdClass $std) Constructor element K300 | 
            
                                                                                                            
                            
            
                                    
            
            
                | 23 |  |  |  * @method Elements\K310 k310(\stdClass $std) Constructor element K310 | 
            
                                                                                                            
                            
            
                                    
            
            
                | 24 |  |  |  * @method Elements\K315 k315(\stdClass $std) Constructor element K315 | 
            
                                                                                                            
                                                                
            
                                    
            
            
                | 25 |  |  |  */ | 
            
                                                                        
                            
            
                                    
            
            
                | 26 |  |  | final class BlockK extends Block implements BlockInterface | 
            
                                                                        
                            
            
                                    
            
            
                | 27 |  |  | { | 
            
                                                                        
                            
            
                                    
            
            
                | 28 |  |  |     const TOTAL = 'K990'; | 
            
                                                                        
                            
            
                                    
            
            
                | 29 |  |  |  | 
            
                                                                        
                            
            
                                    
            
            
                | 30 |  |  |     public $elements = [ | 
            
                                                                        
                            
            
                                    
            
            
                | 31 |  |  |         'k001' => ['class' => Elements\K001::class, 'level' => 1, 'type' => 'single'], | 
            
                                                                        
                            
            
                                    
            
            
                | 32 |  |  |         'k030' => ['class' => Elements\K030::class, 'level' => 2, 'type' => 'single'], | 
            
                                                                        
                            
            
                                    
            
            
                | 33 |  |  |         'k100' => ['class' => Elements\K100::class, 'level' => 3, 'type' => 'multiple'], | 
            
                                                                        
                            
            
                                    
            
            
                | 34 |  |  |         'k110' => ['class' => Elements\K110::class, 'level' => 4, 'type' => 'multiple'], | 
            
                                                                        
                            
            
                                    
            
            
                | 35 |  |  |         'k115' => ['class' => Elements\K115::class, 'level' => 5, 'type' => 'multiple'], | 
            
                                                                        
                            
            
                                    
            
            
                | 36 |  |  |         'k200' => ['class' => Elements\K200::class, 'level' => 2, 'type' => 'multiple'], | 
            
                                                                        
                            
            
                                    
            
            
                | 37 |  |  |         'k210' => ['class' => Elements\K210::class, 'level' => 3, 'type' => 'multiple'], | 
            
                                                                        
                            
            
                                    
            
            
                | 38 |  |  |         'k300' => ['class' => Elements\K300::class, 'level' => 3, 'type' => 'multiple'], | 
            
                                                                        
                            
            
                                    
            
            
                | 39 |  |  |         'k310' => ['class' => Elements\K310::class, 'level' => 4, 'type' => 'multiple'], | 
            
                                                                        
                            
            
                                    
            
            
                | 40 |  |  |         'k315' => ['class' => Elements\K315::class, 'level' => 5, 'type' => 'multiple'], | 
            
                                                                        
                            
            
                                    
            
            
                | 41 |  |  |     ]; | 
            
                                                                        
                            
            
                                    
            
            
                | 42 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 43 |  |  |     public function __construct() | 
            
                                                                                                            
                            
            
                                    
            
            
                | 44 |  |  |     { | 
            
                                                                                                            
                            
            
                                    
            
            
                | 45 |  |  |         parent::__construct(self::TOTAL); | 
            
                                                                                                            
                                                                
            
                                    
            
            
                | 46 |  |  |     } | 
            
                                                        
            
                                    
            
            
                | 47 |  |  | } | 
            
                                                        
            
                                    
            
            
                | 48 |  |  |  |