Importa a Estrutura Corporativa em formato XML para aplicações Laravel.
Este package foi planejado de acordo com as necessidades da Justiça Federal do Espírito Santo. Contudo, ele pode ser utilizado em outros órgãos e projetos observados os termos previstos no licenciamento.
use FruiVita\Corporate\Facades\Corporate;
Corporate::import($file_path);
⭐ 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 fruivita/corporate
-
Publicar as migrations necessárias
php artisan vendor:publish --provider='FruiVita\Corporate\CorporateServiceProvider' --tag='migrations'
-
Opcionalmente publicar as configurações
php artisan vendor:publish --provider='FruiVita\Corporate\CorporateServiceProvider' --tag='config'
-
Opcionalmente publicar as traduções
php artisan vendor:publish --provider='FruiVita\Corporate\CorporateServiceProvider' --tag='lang'
As strings disponíveis para tradução são as que seguem. Altere-as de acordo com a necessidade.
{ "End of corporate structure import": "Fim da importação da estrutura corporativa", "Start of corporate structure import": "Início da importação da estrutura corporativa", "The file entered could not be read": "O arquivo informado não pôde ser lido", "The file must be in [:attribute] format": "O arquivo precisa ser no formato [:attribute]", "Validation failed": "Validação falhou" }
Este package já possui traduções para pt-br e en.
⬆️ Voltar
O arquivo com a Estrutura Corporativa deve ser oferecido a este package em formato XML estruturado da seguinte forma:
<?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 comissionadas:
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>
<!-- Pessoas:
nome: string, obrigatório e tamanho entre 1 e 255
sigla: string, obrigatório, usuário do LDAP Server e tamanho máximo de 20
cargo: integer, obrigatório, id de um dos cargos informados
lotacao: integer, obrigatório, id de uma das lotações informadas
funcaoConfianca: integer, opcional, id de uma das funções confiança informadas
-->
<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>
Corporate expõe o seguinte método para realizar a importação:
✏️ import
use FruiVita\Corporate\Facades\Corporate;
/**
* @param string $file_path full path do arquivo XML
*
* @throws \FruiVita\Corporate\Exceptions\FileNotReadableException
* @throws \FruiVita\Corporate\Exceptions\UnsupportedFileTypeException
*
* @return void
*/
Corporate::import($file_path);
🚨 Exceptions:
- import lança \FruiVita\Corporate\Exceptions\FileNotReadableException caso não tenha permissão de leitura no arquivo ou ele não seja encontrado
- import lança \FruiVita\Corporate\Exceptions\UnsupportedFileTypeException caso o arquivo não seja um arquivo XML
⬆️ Voltar
composer analyse
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 sobre como contribuir.
⬆️ Voltar
Para garantir que todos sejam bem vindos a contribuir com este projeto open-source, por favor leia e siga o Código de Conduta.
⬆️ Voltar
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 atualizações por 06 meses após terem sido substituídas por uma nova versão sendo, então, descontinuadas.
Version | PHP | Release | End of Life |
---|---|---|---|
1.0 | ^8.0 | 07-04-2022 | dd-mm-yyyy |
🐛 Encontrou um bug?!?! Abra um issue.
⬆️ Voltar
✨ Alguma ideia nova?!?! Inicie uma discussão.
A lista a seguir contém as necessidades de melhorias identificadas e aprovadas que serão implementadas na primeira janela de oportunidade.
- n/a
⬆️ 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.
-
❤️ The Laravel Framework pelos packages:
-
❤️ Orchestra Platform pelo package orchestral/testbench
-
❤️ FriendsOfPHP pelo package FriendsOfPHP/PHP-CS-Fixer
-
❤️ Nuno Maduro pelo package nunomaduro/larastan
-
❤️ PEST pelos packages:
-
❤️ Sebastian Bergmann pelo package sebastianbergmann/phpunit
-
❤️ PHPStan pelos packages:
-
❤️ ergebnis pelo package ergebnis/composer-normalize
-
❤️ Shivam Mathur pela Github Action shivammathur/setup-php
-
❤️ GP pela Github Action paambaati/codeclimate-action
-
❤️ Stefan Zweifel pelas Github Actions:
💸 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