Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: ajustes no módulo para instalação no SEI v5 #78

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/phpcs.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: PHP_CodeSniffer

on: [push, pull_request]
on: [pull_request]

jobs:
phpcs:
Expand All @@ -12,7 +12,7 @@ jobs:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.3'
php-version: '8.2'
coverage: none
tools: composer

Expand Down
19 changes: 14 additions & 5 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Testes da API

on: [push, pull_request]
on: [pull_request]
env: # Or as an environment variable
NEWMAN_BASEURL: 'http://localhost:8000'

Expand All @@ -14,16 +14,25 @@ jobs:
repository: supergovbr/super
token: ${{ secrets.GH_PAT }} # `GH_PAT` is a secret that contains your PAT
path: super
ref: 5.0.0-rc1
- name: Checkout
uses: actions/checkout@v3
with:
path: super/src/sei/web/modulos/mod-wssei
path: super/sei/web/modulos/mod-wssei

- name: Run make test
- name: Prepara para teste
run: |
cd super/src/sei/web/modulos/mod-wssei
cd super/sei/web/modulos/mod-wssei
make prerequisites-up; sed -e '/SEI_CHAVE_ACESSO/ s/^#*/#/' -i .env; sed -e '/SIP_CHAVE_ACESSO/ s/^#*/#/' -i .env
echo SEI_CHAVE_ACESSO=7babf8620a7056b96b13ad057eddf544e6450a62152bb6d7c5468d0f5ef546fb121e8dd2 >> .env
echo SIP_CHAVE_ACESSO=d27791b8128bb1c95c094b99261d1abc16bc6169ccd17011f356201d1648d69862a355a6 >> .env
make up;

- name: Run make up
run: |
cd super/sei/web/modulos/mod-wssei
make up

- name: Run make test
run: |
cd super/sei/web/modulos/mod-wssei
make tests-api
8 changes: 5 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
-include .modulo.env

# Parâmetros de configuração
# Opções possíveis para dump: 4.0.3.3 e 4.1.1
versao_dump=4.0.3.3
# Opções possíveis para dump: 5.0.0
versao_dump=5.0.0
base = mysql

ifndef SEI_HOST
Expand Down Expand Up @@ -159,6 +159,8 @@ install: prerequisites-modulo-instalar ## Instala e atualiza as tabelas do módu

up: prerequisites-up ## Inicia ambiente de desenvolvimento local (docker) no endereço http://localhost:8000
$(CMD_DOCKER_COMPOSE) up -d
make restore
make update
make check-super-isalive

update: ## Atualiza banco de dados através dos scripts de atualização do sistema
Expand Down Expand Up @@ -220,7 +222,7 @@ tests-functional-loop: tests-functional-prerequisites
# Executa testes no postman. Necessário a variável NEWMAN_BASEURL apontando
# para ambiente correto exemplo:
# export NEWMAN_BASEURL=https://sei.economia.gov.br ; make tests-api
tests-api: restore update install
tests-api: install
@echo "Substituindo as envs para o Newman"
@envsubst < tests/Postman/SEI.postman_environment.json > tests/Postman/SEI.postman_environment_substituido.json
@echo "Vamos iniciar a execução do postman/newman"
Expand Down
4 changes: 2 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ services:
- ${DATABASE_PORT}:${DATABASE_PORT}

solr:
image: processoeletronico/vagrant_sei4_solr:${ENVIRONMENT_VERSION}
image: processoeletronico/solr9.4.0:latest
ports:
- "8983:8983"

httpd:
image: processoeletronico/vagrant_sei4_httpd:${ENVIRONMENT_VERSION}
image: processoeletronico/sei5-alpine:${ENVIRONMENT_VERSION}
restart: always
env_file:
- .modulo.env
Expand Down
12 changes: 4 additions & 8 deletions src/MdWsSeiRest.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,12 @@
class MdWsSeiRest extends SeiIntegracao
{
const NOME_MODULO = "MdWsSeiRest";
const VERSAO_MODULO = "2.2.0";
const VERSAO_MODULO = "3.0.0";

// A partir da versão 2.0.0, o módulo de integração do SEI com o PEN não será mais compatível com o SEI 3.0.X
// A partir da versão 3.0.0, o módulo de integração do SEI com o PEN não será mais compatível com o SEI 5.0.x
const COMPATIBILIDADE_MODULO_SEI = array(
// Versões SEI
'3.1.0', '3.1.1', '3.1.2', '3.1.3', '3.1.4', '3.1.5', '3.1.6', '3.1.7',
'4.0.0', '4.0.1' , '4.0.2' , '4.0.3', '4.0.4', '4.0.5', '4.0.6', '4.0.7',
'4.0.8', '4.0.9', '4.0.10', '4.0.11', '4.0.12', '4.1.1', '4.1.2', '5.0.0',
// Versões SUPER
'4.0.3.1', '4.0.3.2', '4.0.3.3', '4.0.3.4', '4.0.3.5', '4.0.4.6', '4.0.5.7',
'4.0.6.8', '4.0.7.9', '4.0.8.10', '4.0.9.11', '4.0.9.12', '4.0.9.13', '4.0.9.14', '4.0.12.15'
'5.0.0'
);

public function getNome()
Expand Down Expand Up @@ -120,6 +115,7 @@ public static function formataRetornoErroREST(Exception $e)
if (count($e->getArrObjInfraValidacao()) == 1) {
$mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao();
} else {
$mensagem = array();
foreach ($e->getArrObjInfraValidacao() as $validacaoDTO) {
$mensagem[] = $validacaoDTO->getStrDescricao();
}
Expand Down
2 changes: 2 additions & 0 deletions src/config/ConfiguracaoSEI.php
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,8 @@ public function getArrConfiguracoes()

'Solr' => array(
'Servidor' => 'http://solr:8983/solr',
'Usuario' => 'sei',
'Senha' => 'SolrSei123$',
'CoreProtocolos' => 'sei-protocolos',
'CoreBasesConhecimento' => 'sei-bases-conhecimento',
'CorePublicacoes' => 'sei-publicacoes',
Expand Down
2 changes: 1 addition & 1 deletion src/dto/MdWsSeiAtividadeDTO.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

class MdWsSeiAtividadeDTO extends AtividadeDTO{

public function montar(){
public function montar(): void{
parent::montar();

$this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR,
Expand Down
2 changes: 1 addition & 1 deletion src/dto/MdWsSeiPesquisarPendenciaDTO.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

class MdWsSeiPesquisarPendenciaDTO extends PesquisaPendenciaDTO{

public function montar(){
public function montar(): void {
parent::montar();

$this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR,
Expand Down
2 changes: 1 addition & 1 deletion src/dto/MdWsSeiProtocoloDTO.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ class MdWsSeiProtocoloDTO extends ProtocoloDTO{
const SIN_TIPO_BUSCA_R = 'R';
const SIN_TIPO_BUSCA_G = 'G';

public function montar(){
public function montar() : void{
parent::montar();

$this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_NUM,
Expand Down
2 changes: 1 addition & 1 deletion src/dto/MdWsSeiRetornoProgramadoDTO.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

class MdWsSeiRetornoProgramadoDTO extends RetornoProgramadoDTO{

public function montar(){
public function montar(): void{
parent::montar();

$this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_DBL,
Expand Down
15 changes: 11 additions & 4 deletions src/rn/MdWsSeiAcompanhamentoRN.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ public function encapsulaAcompanhamento(array $post)
protected function cadastrarAcompanhamentoControlado(AcompanhamentoDTO $acompanhamentoDTO)
{
try {
//Regras de Negocio
$objInfraException = new InfraException();

if ($acompanhamentoDTO->isSetDblIdProtocolo()) {
$procedimentoRN = new ProcedimentoRN();
$procedimentoDTO = new ProcedimentoDTO();
Expand All @@ -54,21 +57,25 @@ protected function cadastrarAcompanhamentoControlado(AcompanhamentoDTO $acompanh
$procedimentoDTO = $arrProcedimentoDTO[0];
$bolAcaoAcompanhamentoCadastrar = SessaoSEI::getInstance()->verificarPermissao('acompanhamento_cadastrar');
if(!$bolAcaoAcompanhamentoCadastrar){
throw new InfraException('O usuário não possuí permissão para realizar acompanhamento.');
$objInfraException->lancarValidacao('O usuário não possuí permissão para realizar acompanhamento.');
}
if($procedimentoDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_PROCEDIMENTO_ANEXADO){
throw new InfraException('Não é possível acompanhar um Processo anexado.');
$objInfraException->lancarValidacao('Não é possível acompanhar um Processo anexado.');
}
if($procedimentoDTO->getStrStaNivelAcessoGlobalProtocolo() == ProtocoloRN::$NA_SIGILOSO){
throw new InfraException('Não é possível acompanhar um Processo sigiloso.');
$objInfraException->lancarValidacao('Não é possível acompanhar um Processo sigiloso.');
}
}
$acompanhamentoRN = new AcompanhamentoRN();
$acompanhamentoRN->cadastrar($acompanhamentoDTO);
return MdWsSeiRest::formataRetornoSucessoREST('Acompanhamento realizado com sucesso!');
} catch (Exception $e) {
if($objInfraException->contemValidacoes()){
LogSEI::getInstance()->gravar(InfraException::inspecionar($e), LogSEI::$INFORMACAO);
}else{
LogSEI::getInstance()->gravar(InfraException::inspecionar($e));
return MdWsSeiRest::formataRetornoErroREST($e);
}
return MdWsSeiRest::formataRetornoErroREST($e);
}
}

Expand Down
11 changes: 9 additions & 2 deletions src/rn/MdWsSeiAnotacaoRN.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,16 +39,23 @@ public function encapsulaAnotacao(array $post){

protected function cadastrarAnotacaoControlado(AnotacaoDTO $anotacaoDTO){
try{
//Regras de Negocio
$objInfraException = new InfraException();

$anotacaoRN = new AnotacaoRN();
if(!$anotacaoDTO->getDblIdProtocolo()){
throw new InfraException('Protocolo não informado.');
$objInfraException->lancarValidacao('Protocolo não informado.');
}
$anotacaoRN->registrar($anotacaoDTO);

return MdWsSeiRest::formataRetornoSucessoREST('Anotação cadastrada com sucesso!');
}catch (Exception $e){
if($objInfraException->contemValidacoes()){
LogSEI::getInstance()->gravar(InfraException::inspecionar($e), LogSEI::$INFORMACAO);
}else{
LogSEI::getInstance()->gravar(InfraException::inspecionar($e));
return MdWsSeiRest::formataRetornoErroREST($e);
}
return MdWsSeiRest::formataRetornoErroREST($e);
}
}

Expand Down
11 changes: 9 additions & 2 deletions src/rn/MdWsSeiAtividadeRN.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,15 @@ protected function inicializarObjInfraIBanco(){
*/
protected function listarAtividadesProcessoConectado(AtividadeDTO $atividadeDTOParam){
try{
//Regras de Negocio
$objInfraException = new InfraException();

$result = array();
$procedimentoHistoricoDTO = new ProcedimentoHistoricoDTO();
$procedimentoHistoricoDTO->setStrStaHistorico(ProcedimentoRN::$TH_RESUMIDO);

if(!$atividadeDTOParam->isSetDblIdProtocolo()){
throw new InfraException('O procedimento deve ser informado!');
$objInfraException->lancarValidacao('O procedimento deve ser informado!');
}
$procedimentoHistoricoDTO->setDblIdProcedimento($atividadeDTOParam->getDblIdProtocolo());
if(empty($atividadeDTOParam->getNumPaginaAtual())){
Expand Down Expand Up @@ -55,8 +58,12 @@ protected function listarAtividadesProcessoConectado(AtividadeDTO $atividadeDTOP

return MdWsSeiRest::formataRetornoSucessoREST(null, $result, $procedimentoHistoricoDTO->getNumTotalRegistros());
}catch (Exception $e){
if($objInfraException->contemValidacoes()){
LogSEI::getInstance()->gravar(InfraException::inspecionar($e), LogSEI::$INFORMACAO);
}else{
LogSEI::getInstance()->gravar(InfraException::inspecionar($e));
return MdWsSeiRest::formataRetornoErroREST($e);
}
return MdWsSeiRest::formataRetornoErroREST($e);
}
}

Expand Down
Loading
Loading