fruivita/corporate 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

fruivita/corporate

Composer 安装命令:

composer require fruivita/corporate

包简介

Importador de Estrutura Corporativa em formato XML para aplicações Laravel

README 文档

README

Latest Version on Packagist GitHub Release Date GitHub last commit (branch) GitHub Tests Action Status Test Coverage Maintainability GitHub Code Style Action Status GitHub issues GitHub repo size Packagist Total Downloads GitHub

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);

 

Table of Contents

  1. Notes

  2. Prerequisites

  3. Installation

  4. How it works

  5. Testing and Continuous Integration

  6. Changelog

  7. Contributing

  8. Code of conduct

  9. Security Vulnerabilities

  10. Support and Updates

  11. Roadmap

  12. Credits

  13. Thanks

  14. License

Notes

Estrutura Corporativa é o nome dado à consolidação das informações mínimas sobre pessoal, cargos, funções de confiança e lotações.

⬆️ Voltar

 

Prerequisites

  1. Dependências PHP

    PHP ^8.0

    Extensões

    composer check-platform-reqs
  2. GitHub Package Dependencies

⬆️ Voltar

 

Installation

  1. Instalar via composer:

    composer require fruivita/corporate
  2. Publicar as migrations necessárias

    php artisan vendor:publish --provider='FruiVita\Corporate\CorporateServiceProvider' --tag='migrations'
  3. Opcionalmente publicar as configurações

    php artisan vendor:publish --provider='FruiVita\Corporate\CorporateServiceProvider' --tag='config'
  4. 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

 

How it works

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

 

Testing and Continuous Integration

composer analyse
composer test
composer coverage

⬆️ Voltar

 

Changelog

Por favor, veja o CHANGELOG para maiores informações sobre o que mudou em cada versão.

⬆️ Voltar

 

Contributing

Por favor, veja CONTRIBUTING para maiores detalhes sobre como contribuir.

⬆️ Voltar

 

Code of conduct

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

 

Security Vulnerabilities

Por favor, veja na política de segurança como reportar vulnerabilidades ou falhas de segurança.

⬆️ Voltar

 

Support and Updates

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

 

Roadmap

✨ 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

 

Credits

⬆️ Voltar

 

Thanks

👋 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.

💸 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

 

License

The MIT License (MIT). Por favor, veja o License File para maiores informações.

⬆️ Voltar

fruivita/corporate 适用场景与选型建议

fruivita/corporate 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2.12k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2022 年 04 月 07 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「xml」 「laravel」 「importer」 「corporate」 「fruivita」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 fruivita/corporate 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 fruivita/corporate 我们能提供哪些服务?
定制开发 / 二次开发

基于 fruivita/corporate 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 2.12k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 8
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-04-07