Package para importar a Estrutura Corporativa em formato XML para aplicações Laravel.
Este package foi planejado de acordo com as necessidades da Justiça Federal da 2ª Região. Contudo, ele pode ser utilizado em outros órgãos e projetos observado os termos previstos no licenciamento.
use Fcno\CorporateImporter\Facades\CorporateImporter;
CorporateImporter::from($file_path)->run();
⭐ Estrutura Corporativa é o nome dado à consolidação das informações mínimas sobre pessoal, cargos, funções de confiança e lotações.
⬆️ Voltar
-
Dependências PHP
PHP ^8.0
composer check-platform-reqs
⬆️ Voltar
-
Instalar via composer:
composer require fcno/corporate-importer
-
Publicar as migrations necessárias
php artisan vendor:publish --provider='Fcno\CorporateImporter\CorporateImporterServiceProvider' --tag='migrations'
-
Opcionalmente publicar as configurações
php artisan vendor:publish --provider='Fcno\CorporateImporter\CorporateImporterServiceProvider' --tag='config'
-
Opcionalmente publicar as traduções
php artisan vendor:publish --provider='Fcno\CorporateImporter\CorporateImporterServiceProvider' --tag='lang'
As strings disponíveis para tradução são as que seguem. Altere-as de acordo com a necessidade.
<?php return [ 'end' => 'Fim da importação da estrutura corporativa', 'filenotreadableexception' => 'O arquivo informado não pôde ser lido!', 'start' => 'Início da importação da estrutura corporativa', 'validation' => 'Validação falhou!', ];
Este package já possui traduções para pt-br e en.
⬆️ Voltar
Gerar o arquivo com a Estrutura Corporativa em formato XML:
<?xml version='1.0' encoding='UTF-8'?>
<base>
<cargos>
<!-- Cargos:
id: integer, obrigatório e maior que 1
nome: string, obrigatório e tamanho entre 1 e 255
-->
<cargo id="1" nome="Cargo 1"/>
<cargo id="2" nome="Cargo 2"/>
</cargos>
<funcoes>
<!-- Funções:
id: integer, obrigatório e maior que 1
nome: string, obrigatório e tamanho entre 1 e 255
-->
<funcao id="1" nome="Função 1"/>
<funcao id="2" nome="Função 2"/>
</funcoes>
<lotacoes>
<!-- Lotações:
id: integer, obrigatório e maior que 1
nome: string, obrigatório e tamanho entre 1 e 255
sigla: string, obrigatório e tamanho entre 1 e 50
idPai: integer, opcional, id de uma lotação existente
-->
<lotacao id="1" nome="Lotação 1" sigla="Sigla 1"/>
<lotacao id="2" nome="Lotação 2" sigla="Sigla 2" idPai=""/>
<lotacao id="3" nome="Lotação 3" sigla="Sigla 3" idPai="1"/>
</lotacoes>
<pessoas>
<!-- Lotações:
nome: string, obrigatório e tamanho entre 1 e 255
sigla: string, obrigatório (preferencialmente o usuário do LDAP Server) e tamanho entre 1 e 20
cargo: integer, obrigatório, id de um cargo existente
lotacao: integer, obrigatório, id de uma lotação existente
funcaoConfianca: integer, opcional, id de uma função de confiança existente
-->
<pessoa id="1" nome="Pessoa 1" sigla="Sigla 1" cargo="1" lotacao="2" funcaoConfianca=""/>
<pessoa id="2" nome="Pessoa 2" sigla="Sigla 2" cargo="1" lotacao="2" funcaoConfianca="2"/>
</pessoas>
</base>
Para realizar a importação, são expostos os seguintes métodos:
✏️ from
Assinatura e uso: define o caminho completo para o arquivo XML com a Estrutura Corporativa
use Fcno\CorporateImporter\Facades\CorporateImporter;
/**
* @param string $file_path full path para o arquivo
*
* @return static
*/
CorporateImporter::from($file_path);
Retorno: Instância da classe CorporateImporter
✏️ run
Assinatura e uso: Importa a estrutura definida no arquivo informado
use Fcno\CorporateImporter\Facades\CorporateImporter;
/**
* @throws \Fcno\CorporateImporter\Exceptions\FileNotReadableException
*
* @return void
*/
CorporateImporter::from($file_path)->run();
Retorno: void
🚨 Exceptions:
- run lança \Fcno\CorporateImporter\Exceptions\FileNotReadableException caso não tenha permissão de leitura no arquivo ou ele não seja encontrado
⬆️ Voltar
composer analyse
composer csfix
composer test
composer coverage
⬆️ Voltar
Por favor, veja o CHANGELOG para maiores informações sobre o que mudou em cada versão.
⬆️ Voltar
Por favor, veja CONTRIBUTING para maiores detalhes.
⬆️ Voltar
Para garantir que todos sejam bem vindos a contribuir com esse projeto open-source, por favor leia e siga o Código de Conduta.
⬆️ Back
Por favor, veja na política de segurança como reportar vulnerabilidades ou falhas de segurança.
⬆️ Voltar
A versão mais recente receberá suporte e atualizações sempre que houver necessidade. As demais receberão apenas atualizações para corrigir vulnerabilidades de segurança por até 06 meses após ela ter sido substituída por uma nova versão.
🐛 Encontrou um bug?!?! Abra um issue.
✨ Alguma ideia nova?!?! Inicie uma discussão.
⬆️ Voltar
⬆️ Voltar
👋 Agradeço às pessoas e organizações abaixo por terem doado seu tempo na construção de projetos open-source que foram usados neste package.
-
❤️ Laravel pelos packages:
-
❤️ Orchestra Platform pelo package orchestral/testbench
-
❤️ FriendsOfPHP pelos package FriendsOfPHP/PHP-CS-Fixer
-
❤️ Nuno Maduro pelo package nunomaduro/larastan
-
❤️ PEST pelos packages:
-
❤️ Sebastian Bergmann pelo package sebastianbergmann/phpunit
-
❤️ PHPStan pelos packages:
💸 Algumas dessas pessoas ou organizações possuem alguns produtos/serviços que podem ser comprados. Se você puder ajudá-los comprando algum deles ou se tornando um patrocinador, mesmo que por curto período, ajudará toda a comunidade open-source a continuar desenvolvendo soluções para todos.
⬆️ Voltar
The MIT License (MIT). Por favor, veja o License File para maiores informações.
⬆️ Voltar