This commit is contained in:
1616
api/database/seeders/base/Funcionalidade.php
Normal file
1616
api/database/seeders/base/Funcionalidade.php
Normal file
File diff suppressed because it is too large
Load Diff
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
1772
api/database/seeders/base/Menu.php
Normal file
1772
api/database/seeders/base/Menu.php
Normal file
File diff suppressed because it is too large
Load Diff
97
api/database/seeders/base/Modulo.php
Normal file
97
api/database/seeders/base/Modulo.php
Normal file
@@ -0,0 +1,97 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders\Base;
|
||||
|
||||
use App\Models\Administracao\Modulo as Model;
|
||||
use SeederUtil;
|
||||
|
||||
class Modulo
|
||||
{
|
||||
public static function run()
|
||||
{
|
||||
$modulos = [
|
||||
[
|
||||
'identificador' => 'administracao',
|
||||
'nome' => 'Administração',
|
||||
],
|
||||
[
|
||||
'identificador' => 'cadastro',
|
||||
'nome' => 'Cadastro',
|
||||
],
|
||||
[
|
||||
'identificador' => 'painel-senha',
|
||||
'nome' => 'Painel de senha',
|
||||
],
|
||||
[
|
||||
'identificador' => 'pronto-atendimento',
|
||||
'nome' => 'Pronto atendimento',
|
||||
],
|
||||
[
|
||||
'identificador' => 'parametrizacao',
|
||||
'nome' => 'Parametrização',
|
||||
],
|
||||
[
|
||||
'identificador' => 'bpa',
|
||||
'nome' => 'BPA',
|
||||
],
|
||||
[
|
||||
'identificador' => 'raas',
|
||||
'nome' => 'RAAS',
|
||||
],
|
||||
[
|
||||
'identificador' => 'apac',
|
||||
'nome' => 'APAC',
|
||||
],
|
||||
[
|
||||
'identificador' => 'exame-laboratorial',
|
||||
'nome' => 'Exame laboratorial',
|
||||
],
|
||||
[
|
||||
'identificador' => 'exame-imagem',
|
||||
'nome' => 'Exame de imagem',
|
||||
],
|
||||
[
|
||||
'identificador' => 'farmacia',
|
||||
'nome' => 'Farmácia',
|
||||
],
|
||||
[
|
||||
'identificador' => 'almoxarifado',
|
||||
'nome' => 'Almoxarifado',
|
||||
],
|
||||
[
|
||||
'identificador' => 'imunizacao',
|
||||
'nome' => 'Imunização',
|
||||
],
|
||||
[
|
||||
'identificador' => 'transporte-paciente',
|
||||
'nome' => 'Transporte de paciente',
|
||||
],
|
||||
[
|
||||
'identificador' => 'ambulatorio',
|
||||
'nome' => 'Ambulatório',
|
||||
],
|
||||
[
|
||||
'identificador' => 'atencao-basica',
|
||||
'nome' => 'Atenção básica',
|
||||
],
|
||||
[
|
||||
'identificador' => 'integracao',
|
||||
'nome' => 'Integração',
|
||||
],
|
||||
[
|
||||
'identificador' => 'regulacao',
|
||||
'nome' => 'Regulação',
|
||||
],
|
||||
[
|
||||
'identificador' => 'web-service',
|
||||
'nome' => 'Web service',
|
||||
],
|
||||
[
|
||||
'identificador' => 'manutencao',
|
||||
'nome' => 'Manutenção',
|
||||
]
|
||||
];
|
||||
|
||||
SeederUtil::saveList(Model::class, $modulos, 'identificador');
|
||||
}
|
||||
}
|
||||
2674
api/database/seeders/base/Permissao.php
Normal file
2674
api/database/seeders/base/Permissao.php
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user