This commit is contained in:
197
api/database/seeders/base/FuncionalidadeSub.php
Normal file
197
api/database/seeders/base/FuncionalidadeSub.php
Normal file
@@ -0,0 +1,197 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders\Base;
|
||||
|
||||
use App\Models\Administracao\Modulo;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class FuncionalidadeSub
|
||||
{
|
||||
public static function run()
|
||||
{
|
||||
DB::table('administracao_funcionalidade_funcionalidade_sub')->truncate();
|
||||
|
||||
self::administracao();
|
||||
self::cadastro();
|
||||
self::prontoAtendimento();
|
||||
self::almoxarifado();
|
||||
self::farmacia();
|
||||
}
|
||||
|
||||
public static function administracao()
|
||||
{
|
||||
$modulo = 'administracao';
|
||||
|
||||
$funcionalidades = [
|
||||
'permissao' => [
|
||||
[
|
||||
'identificador_modulo' => 'cadastro',
|
||||
'identificador_funcionalidade' => 'usuario',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
self::add($modulo, $funcionalidades);
|
||||
}
|
||||
|
||||
public static function cadastro()
|
||||
{
|
||||
$modulo = 'cadastro';
|
||||
|
||||
$funcionalidades = [
|
||||
'unidade' => [
|
||||
[
|
||||
'identificador_modulo' => 'cadastro',
|
||||
'identificador_funcionalidade' => 'setor',
|
||||
],
|
||||
],
|
||||
'logradouro' => [
|
||||
[
|
||||
'identificador_modulo' => 'cadastro',
|
||||
'identificador_funcionalidade' => 'bairro',
|
||||
],
|
||||
],
|
||||
'paciente' => [
|
||||
[
|
||||
'identificador_modulo' => 'cadastro',
|
||||
'identificador_funcionalidade' => 'convenio-medico',
|
||||
],
|
||||
[
|
||||
'identificador_modulo' => 'cadastro',
|
||||
'identificador_funcionalidade' => 'logradouro',
|
||||
],
|
||||
[
|
||||
'identificador_modulo' => 'cadastro',
|
||||
'identificador_funcionalidade' => 'loteamento',
|
||||
],
|
||||
],
|
||||
'usuario' => [
|
||||
[
|
||||
'identificador_modulo' => 'cadastro',
|
||||
'identificador_funcionalidade' => 'convenio-medico',
|
||||
],
|
||||
[
|
||||
'identificador_modulo' => 'cadastro',
|
||||
'identificador_funcionalidade' => 'logradouro',
|
||||
],
|
||||
[
|
||||
'identificador_modulo' => 'cadastro',
|
||||
'identificador_funcionalidade' => 'loteamento',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
self::add($modulo, $funcionalidades);
|
||||
}
|
||||
|
||||
public static function prontoAtendimento()
|
||||
{
|
||||
$modulo = 'pronto-atendimento';
|
||||
|
||||
$funcionalidades = [
|
||||
'atendimento-medico' => [
|
||||
[
|
||||
'identificador_modulo' => 'cadastro',
|
||||
'identificador_funcionalidade' => 'alergia',
|
||||
],
|
||||
[
|
||||
'identificador_modulo' => 'cadastro',
|
||||
'identificador_funcionalidade' => 'medicamento',
|
||||
],
|
||||
],
|
||||
'atendimento-recepcao' => [
|
||||
[
|
||||
'identificador_modulo' => 'cadastro',
|
||||
'identificador_funcionalidade' => 'unidade-externa',
|
||||
],
|
||||
],
|
||||
'atendimento-triagem' => [
|
||||
[
|
||||
'identificador_modulo' => 'cadastro',
|
||||
'identificador_funcionalidade' => 'alergia',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
self::add($modulo, $funcionalidades);
|
||||
}
|
||||
|
||||
public static function almoxarifado()
|
||||
{
|
||||
$modulo = 'almoxarifado';
|
||||
|
||||
$funcionalidades = [
|
||||
'entrada' => [
|
||||
[
|
||||
'identificador_modulo' => 'cadastro',
|
||||
'identificador_funcionalidade' => 'fabricante',
|
||||
],
|
||||
[
|
||||
'identificador_modulo' => 'cadastro',
|
||||
'identificador_funcionalidade' => 'fornecedor',
|
||||
],
|
||||
],
|
||||
'entrada-inicial' => [
|
||||
[
|
||||
'identificador_modulo' => 'cadastro',
|
||||
'identificador_funcionalidade' => 'fabricante',
|
||||
],
|
||||
[
|
||||
'identificador_modulo' => 'cadastro',
|
||||
'identificador_funcionalidade' => 'fornecedor',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
self::add($modulo, $funcionalidades);
|
||||
}
|
||||
|
||||
public static function farmacia()
|
||||
{
|
||||
$modulo = 'farmacia';
|
||||
|
||||
$funcionalidades = [
|
||||
'dispensacao' => [
|
||||
[
|
||||
'identificador_modulo' => 'cadastro',
|
||||
'identificador_funcionalidade' => 'usuario',
|
||||
],
|
||||
],
|
||||
'alto-custo-gerenciamento-processo' => [
|
||||
[
|
||||
'identificador_modulo' => 'cadastro',
|
||||
'identificador_funcionalidade' => 'usuario',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
self::add($modulo, $funcionalidades);
|
||||
}
|
||||
|
||||
public static function add($modulo, $funcionalidades)
|
||||
{
|
||||
$modulo = Modulo::where('identificador', $modulo)->firstOrFail();
|
||||
|
||||
foreach ($funcionalidades as $identificadorFuncionalidade => $funcionalidadesSub) {
|
||||
|
||||
$funcionalidade = $modulo->funcionalidades()
|
||||
->where('identificador', $identificadorFuncionalidade)
|
||||
->firstOrFail();
|
||||
|
||||
$idsFuncionalidadesSub = [];
|
||||
|
||||
foreach ($funcionalidadesSub as $funcionalidadeSub) {
|
||||
|
||||
$moduloSub = Modulo::where('identificador', $funcionalidadeSub['identificador_modulo'])
|
||||
->firstOrFail();
|
||||
|
||||
$idsFuncionalidadesSub[] = ($moduloSub->funcionalidades()
|
||||
->where('identificador', $funcionalidadeSub['identificador_funcionalidade'])
|
||||
->firstOrFail()
|
||||
)->id;
|
||||
}
|
||||
|
||||
$funcionalidade->funcionalidadesSub()->sync($idsFuncionalidadesSub);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user