Untitled
unknown
plain_text
2 years ago
3.7 kB
6
Indexable
<?php use App\Model\User; use App\Model\Perfil; use App\Model\ControlItem; use Illuminate\Database\Seeder; use App\Model\ControlItemPerfil; class ControlItemMenuImportUsuarioSeeder extends Seeder { public $itens = [ [ 'des_label_control' => 'Usuário - Import', 'cod_control' => 'MN_DIR_IMPORT_USUARIOS', 'des_control_01' => 'Visualiza Menu', 'val_control_01' => 'N', 'des_control_02' => 'Utiliza Regra secundária de validação?(S-Sim N-Não)', 'val_control_02' => 'S', 'des_control_03' => 'Ordem', 'val_control_03' => '4', 'des_control_04' => 'Ícone', 'val_control_04' => 'tasks', 'des_control_05' => 'Link Página', 'des_control_06' => 'Control PAI', 'val_control_06' => '27', 'control_tipo_id' => 2 ] ]; protected $padraoPerfis = [ 'MN_DIR_IMPORT_USUARIOS' => [ [ 'perfil_id' => 1, 'val_control_01' => 'S', ], [ 'perfil_id' => 2, 'val_control_01' => 'S', ], [ 'perfil_id' => 3, 'val_control_01' => 'S', ] ] ]; private function saveControl($control){ $itemControl = ControlItem::where('cod_control', $control['cod_control'])->first(); if(!$itemControl){ unset($control['filhos']); $itemControl = new ControlItem($control); $itemControl->usuario_id_criacao = 1; $itemControl->usuario_id_alteracao = 1; $itemControl->ind_situacao = 'A'; $itemControl->save(); } if(isset($this->padraoPerfis[$control['cod_control']])){ foreach ($this->padraoPerfis[$control['cod_control']] as $key => $perfil){ if(!ControlItemPerfil::where('control_item_id',$itemControl->control_item_id)->where('perfil_id',$perfil['perfil_id'])->exists() ){ if(Perfil::find($perfil['perfil_id'])){ $item = new ControlItemPerfil($perfil); $item->control_item_id = $itemControl->control_item_id; $item->perfil_id = $perfil['perfil_id']; $item->usuario_id_criacao = 1; $item->usuario_id_alteracao = 1; $item->ind_situacao = 'A'; $item->save(); } } } } return $itemControl; } /** * Run the database seeds. * * @return void */ public function run() { foreach ($this->itens as $key => $control) { if(User::find(1)){ $controlSave = $this->saveControl($control); } } } public function rollback() { foreach ($this->itens as $key => $control) { $itemControl = ControlItem::where('cod_control', $control['cod_control'])->first(); if($itemControl && isset($this->padraoPerfis[$control['cod_control']])){ foreach ($this->padraoPerfis[$control['cod_control']] as $key => $perfil){ ControlItemPerfil::where('control_item_id',$itemControl->control_item_id)->where('perfil_id',$perfil['perfil_id'])->forceDelete(); } } ControlItem::where('cod_control', $control['cod_control'])->forceDelete(); } } }
Editor is loading...