Skip to content

Commit

Permalink
chore: adiciona badge do codesniffer
Browse files Browse the repository at this point in the history
feat: mapeamento de tipos de processo e relacionamento entre orgãos

feat: mapeamento de tipos de processo e relacionamento entre orgãos

feat: correções de teste funcionais

feat: melhoria de fixture para cadastro de mapeamento de unidades

feat: implementação de teste sei3 e sei4

feat: correções de teste para fixture

feat: correções de testes funcionais sei3

feat: atualização de redundancia para sei3

feat: atualização de testes funcionais sei e sei4

feat: atualização de redundancia para sei3

feat: alteração de mensagem de tipo de processo padrão com restrição

feat: correção de consulta de mapeamento de tipos de processo

feat: correções de testes e inclusão de sublinhado

feat: correção de cadastro com duplicidade para relacionamento inativo

feat: correção de reativar de tipos de processos para reativar tipos de processos

feat: correção de redirecionar do botão fechar para exportar tipos de processo
  • Loading branch information
caduvieira authored and Mauro1706 committed Dec 27, 2023
1 parent 8d2707a commit c32ed08
Show file tree
Hide file tree
Showing 68 changed files with 7,201 additions and 25 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Módulo de Integração do SEI ao Tramita.GOV.BR
# Módulo de Integração do SEI ao Tramita.GOV.BR [![PHP_CodeSniffer](https://github.com/pengovbr/mod-sei-pen/actions/workflows/phpcs.yml/badge.svg)](https://github.com/pengovbr/mod-sei-pen/actions/workflows/phpcs.yml)

O módulo **PEN** é o responsável por integrar o Sistema Eletrônico de Informações - SEI ao Tramita.GOV.BR. Este projeto tem como objetivo interligar todos os sistema de processo eletrônico do Poder Executivo Federal a fim de proporcionar a troca de documentos oficiais de forma rápida, simples e segura.

Expand Down
111 changes: 109 additions & 2 deletions src/PENIntegracao.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?php

// Identificação da versão do módulo. Este deverá ser atualizado e sincronizado com constante VERSAO_MODULO
define("VERSAO_MODULO_PEN", "3.4.0");
define("VERSAO_MODULO_PEN", "3.5.0");

class PENIntegracao extends SeiIntegracao
{
Expand Down Expand Up @@ -525,6 +525,52 @@ public function montarIconeDocumento(ProcedimentoAPI $objProcedimentoAPI, $arrOb
return $arrIcones;
}

/**
* @param array $arrObjTipoProcedimentoDTO
* @return void
*/
public function desativarTipoProcesso($arrObjTipoProcedimentoDTO)
{
$mensagem = "Prezado(a) usuário(a), você está tentando desativar um Tipo de Processo que se encontra mapeado para o(s) relacionamento(s) "
."\"%s\". Para continuar com essa ação é necessário remover do(s) mapeamentos "
."mencionados o Tipo de Processo: \"%s\".";

$objMapeamentoTipoProcedimentoRN = new PenMapTipoProcedimentoRN();
$objMapeamentoTipoProcedimentoRN->validarAcaoTipoProcesso($arrObjTipoProcedimentoDTO, $mensagem);

$mensagem = 'Prezado(a) usuário(a), você está tentando inativar o Tipo de Processo "%s" '
. 'que se encontra mapeado para o Tipo de Processo Padrão. '
. 'Para continuar com essa ação é necessário alterar o Tipo de Processo Padrão. '
. 'O Tipo de Processo padrão se encontra disponível em: '
. 'Administração -> Processo Eletrônico Nacional -> Mapeamento de Tipos de Processo -> Relacionamento entre Órgãos';

$objPenParametroRN = new PenParametroRN();
$objPenParametroRN->validarAcaoTipoProcessoPadrao($arrObjTipoProcedimentoDTO, $mensagem);
}

/**
* @param array $arrObjTipoProcedimentoDTO
* @return void
*/
public function excluirTipoProcesso($arrObjTipoProcedimentoDTO)
{
$mensagem = "Prezado(a) usuário(a), você está tentando excluir um Tipo de Processo que se encontra mapeado para o(s) relacionamento(s) "
."\"%s\". Para continuar com essa ação é necessário remover do(s) mapeamentos "
."mencionados o Tipo de Processo: \"%s\".";

$objMapeamentoTipoProcedimentoRN = new PenMapTipoProcedimentoRN();
$objMapeamentoTipoProcedimentoRN->validarAcaoTipoProcesso($arrObjTipoProcedimentoDTO, $mensagem);

$mensagem = 'Prezado(a) usuário(a), você está tentando excluir o Tipo de Processo "%s" '
. 'que se encontra mapeado para o Tipo de Processo Padrão. '
. 'Para continuar com essa ação é necessário alterar o Tipo de Processo Padrão. '
. 'O Tipo de Processo padrão se encontra disponível em: '
. 'Administração -> Processo Eletrônico Nacional -> Mapeamento de Tipos de Processo -> Relacionamento entre Órgãos';

$objPenParametroRN = new PenParametroRN();
$objPenParametroRN->validarAcaoTipoProcessoPadrao($arrObjTipoProcedimentoDTO, $mensagem);
}

/**
* Método responsável de criar listagem de item para XML
*/
Expand Down Expand Up @@ -684,6 +730,41 @@ public function processarControlador($strAcao)
require_once dirname(__FILE__) . '/pen_map_unidade_cadastrar.php';
break;

case 'pen_map_orgaos_externos_salvar':
case 'pen_map_orgaos_externos_atualizar':
case 'pen_map_orgaos_externos_cadastrar':
case 'pen_map_orgaos_externos_visualizar':
require_once dirname(__FILE__) . '/pen_map_orgaos_externos_cadastrar.php';
break;

case 'pen_map_orgaos_externos_reativar':
case 'pen_map_orgaos_externos_desativar':
case 'pen_map_orgaos_externos_listar':
case 'pen_map_orgaos_externos_excluir':
case 'pen_map_orgaos_importar_tipos_processos':
require_once dirname(__FILE__) . '/pen_map_orgaos_externos_listar.php';
break;

case 'pen_map_tipo_processo_padrao':
case 'pen_map_tipo_processo_padrao_salvar':
require_once dirname(__FILE__) . '/pen_map_tipo_processo_padrao.php';
break;

case 'pen_map_tipo_processo_reativar':
require_once dirname(__FILE__) . '/pen_map_tipo_processo_reativar.php';
break;

case 'pen_map_orgaos_exportar_tipos_processos':
require_once dirname(__FILE__) . '/pen_tipo_procedimento_lista.php';
break;

case 'pen_map_orgaos_externos_mapeamento_desativar':
case 'pen_map_orgaos_externos_mapeamento':
case 'pen_map_orgaos_externos_mapeamento_gerenciar':
case 'pen_map_orgaos_externos_mapeamento_excluir':
require_once dirname(__FILE__) . '/pen_map_orgaos_mapeamento_tipo_listar.php';
break;

case 'pen_map_unidade_listar':
case 'pen_map_unidade_excluir':
require_once dirname(__FILE__) . '/pen_map_unidade_listar.php';
Expand Down Expand Up @@ -740,7 +821,33 @@ public function processarControladorAjax($strAcao) {
if (count($arrObjEstruturaDTO['itens']) > 0) {
$xml = self::gerarXMLItensArrInfraDTOAutoCompletar($arrObjEstruturaDTO, 'NumeroDeIdentificacaoDaEstrutura', 'Nome');
} else {
return '<itens><item grupo="vazio" id="0" descricao="Unidade não Encontrada."></item></itens>';
return '<itens><item id="0" descricao="Unidade não Encontrada."></item></itens>';
}
break;

case 'pen_unidade_auto_completar_mapeados':
// DTO de paginao
$objPenUnidadeDTOFiltro = new PenUnidadeDTO();
$objPenUnidadeDTOFiltro->retStrSiglaUnidadeRH();
$objPenUnidadeDTOFiltro->retStrNomeUnidadeRH();
$objPenUnidadeDTOFiltro->retNumIdUnidade();
$objPenUnidadeDTOFiltro->retNumIdUnidadeRH();

// Filtragem
if(!empty($_POST['palavras_pesquisa']) && $_POST['palavras_pesquisa'] !== 'null') {
$objPenUnidadeDTOFiltro->setStrNomeUnidadeRH('%'.$_POST['palavras_pesquisa'].'%', InfraDTO::$OPER_LIKE);
}

$objPenUnidadeRN = new PenUnidadeRN();
$objArrPenUnidadeDTO = (array) $objPenUnidadeRN->listar($objPenUnidadeDTOFiltro);
if (count($objArrPenUnidadeDTO) > 0) {
foreach ($objArrPenUnidadeDTO as $dto) {
$dto->setNumIdUnidadeMap($dto->getNumIdUnidadeRH());
$dto->setStrDescricaoMap($dto->getStrNomeUnidadeRH(). '-' . $dto->getStrSiglaUnidadeRH());
}
$xml = InfraAjax::gerarXMLItensArrInfraDTO($objArrPenUnidadeDTO, 'IdUnidadeMap', 'DescricaoMap');
} else {
return '<itens><item id="0" descricao="Unidade não Encontrada."></item></itens>';
}
break;

Expand Down
10 changes: 10 additions & 0 deletions src/bd/PenMapTipoProcedimentoBD.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?php

require_once DIR_SEI_WEB.'/SEI.php';

class PenMapTipoProcedimentoBD extends InfraBD {

public function __construct(InfraIBanco $objInfraIBanco) {
parent::__construct($objInfraIBanco);
}
}
10 changes: 10 additions & 0 deletions src/bd/PenOrgaoExternoBD.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?php

require_once DIR_SEI_WEB.'/SEI.php';

class PenOrgaoExternoBD extends InfraBD {

public function __construct(InfraIBanco $objInfraIBanco) {
parent::__construct($objInfraIBanco);
}
}
38 changes: 38 additions & 0 deletions src/dto/PenMapTipoProcedimentoDTO.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?php

require_once DIR_SEI_WEB.'/SEI.php';

/**
* Classe reaponsável por manipulação
*/
class PenMapTipoProcedimentoDTO extends InfraDTO {

public function getStrNomeTabela() {
return 'md_pen_map_tipo_processo';
}

public function getStrNomeSequenciaNativa() {
return 'md_pen_seq_map_tipo_procedimento';
}

public function montar() {

$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_DBL, 'Id', 'id');

$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdMapOrgao', 'id_map_orgao');
$this->configurarPK('Id', InfraDTO::$TIPO_PK_NATIVA);
$this->configurarFK('IdMapOrgao', 'mapeamento_orgao', 'id_map_orgao');

$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdTipoProcessoOrigem', 'id_tipo_processo_origem');
$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdTipoProcessoDestino', 'id_tipo_processo_destino');

$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'NomeTipoProcesso', 'nome_tipo_processo');

$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_DTH, 'Registro', 'dth_criacao');
$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'Ativo', 'sin_ativo');

$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdUnidade', 'id_unidade');
$this->configurarPK('Id', InfraDTO::$TIPO_PK_NATIVA);
$this->configurarFK('IdUnidade', 'unidade', 'id_unidade');
}
}
39 changes: 39 additions & 0 deletions src/dto/PenOrgaoExternoDTO.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?php

require_once DIR_SEI_WEB.'/SEI.php';

/**
* Classe reaponsável por manipulação
*/
class PenOrgaoExternoDTO extends InfraDTO {

public function getStrNomeTabela() {
return 'md_pen_orgao_externo';
}

public function getStrNomeSequenciaNativa() {
return 'md_pen_seq_orgao_externo';
}

public function montar() {

$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_DBL, 'Id', 'Id');

$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdOrgaoOrigem', 'id_orgao_origem');
$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'OrgaoOrigem', 'str_orgao_origem');
$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdEstrutaOrganizacionalOrigem', 'id_estrutura_origem');
$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'EstrutaOrganizacionalOrigem', 'str_estrutura_origem');

$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdOrgaoDestino', 'id_orgao_destino');
$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'OrgaoDestino', 'str_orgao_destino');

$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_DTH, 'Registro', 'dth_criacao');
$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'Ativo', 'sin_ativo');

$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdUnidade', 'id_unidade');

$this->configurarPK('Id', InfraDTO::$TIPO_PK_NATIVA);

$this->configurarFK('IdUnidade', 'unidade', 'id_unidade');
}
}
3 changes: 3 additions & 0 deletions src/dto/PenUnidadeDTO.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ public function montar() {
$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'NomeUnidadeRH', 'nome_unidade_rh');
$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'SiglaUnidadeRH', 'sigla_unidade_rh');
$this->configurarPK('IdUnidade', InfraDTO::$TIPO_PK_INFORMADO);

$this->adicionarAtributo(InfraDTO::$PREFIXO_NUM, 'IdUnidadeMap');
$this->adicionarAtributo(InfraDTO::$PREFIXO_STR, 'DescricaoMap');

// Infelizmente não funciona com parent::getArrAtributos(), pois o arrAtributos
// esta na InfraDTO e ela confunde em função do extends, então tenho que
Expand Down
25 changes: 25 additions & 0 deletions src/imagens/importar.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit c32ed08

Please sign in to comment.