From a9c17d885c8e76d17d533694d224f787a62fc5d6 Mon Sep 17 00:00:00 2001 From: Glaydson Rodrigues Date: Fri, 10 Mar 2023 09:23:09 -0300 Subject: [PATCH] feat: Adicionar mensagem de recusa para parametros externos sem assunto cadastrado Closes #67 --- Makefile | 4 + src/pen_parametros_configuracao.php | 145 +++++++++++++++------------- tests_super/funcional/phpunit.xml | 10 +- 3 files changed, 88 insertions(+), 71 deletions(-) mode change 100755 => 100644 tests_super/funcional/phpunit.xml diff --git a/Makefile b/Makefile index eafbffd33..b22c8b3e3 100755 --- a/Makefile +++ b/Makefile @@ -2,7 +2,11 @@ # Parâmetros de execução do comando MAKE # Opções possíveis para spe (sistema de proc eletronico): sei3, sei4, super +<<<<<<< HEAD sistema=super +======= +sistema=sei4 +>>>>>>> 73a3cd0 (feat: Adicionar mensagem de recusa para parametros externos sem assunto cadastrado) base=mysql teste= diff --git a/src/pen_parametros_configuracao.php b/src/pen_parametros_configuracao.php index 0dfe5e6d7..a8d11b931 100755 --- a/src/pen_parametros_configuracao.php +++ b/src/pen_parametros_configuracao.php @@ -35,24 +35,20 @@ $objNivelAcessoPermitidoRN = new NivelAcessoPermitidoRN(); $arrObjNivelAcessoPermitido=InfraArray::converterArrInfraDTO($objNivelAcessoPermitidoRN->listar($objNivelAcessoPermitidoDTO),"IdTipoProcedimento"); - $objRelTipoProcedimentoAssuntoDTO = new RelTipoProcedimentoAssuntoDTO(); - $objRelTipoProcedimentoAssuntoDTO->retNumIdTipoProcedimento(); - $objRelTipoProcedimentoAssuntoDTO->setDistinct(true); - $objRelTipoProcedimentoAssuntoRN = new RelTipoProcedimentoAssuntoRN(); - $arrObjTipoProcedimentoAssunto=InfraArray::converterArrInfraDTO($objRelTipoProcedimentoAssuntoRN->listarRN0192($objRelTipoProcedimentoAssuntoDTO),"IdTipoProcedimento"); - - $arrayFiltro=array_diff($arrObjTipoProcedimentoAssunto,$arrObjNivelAcessoPermitido); - - if($arrayFiltro!=null){ - $objTipoProcedimentoDTO = new TipoProcedimentoDTO(); - $objTipoProcedimentoDTO->retNumIdTipoProcedimento(); - $objTipoProcedimentoDTO->setNumIdTipoProcedimento($arrayFiltro,InfraDTO::$OPER_IN); - $objTipoProcedimentoDTO->retStrNome(); - $objTipoProcedimentoDTO->setOrdStrNome(InfraDTO::$TIPO_ORDENACAO_ASC); - $objTipoProcedimentoRN = new TipoProcedimentoRN(); - $arrObjTipoProcedimentoDTO = $objTipoProcedimentoRN->listarRN0244($objTipoProcedimentoDTO); - }else{ - $arrObjTipoProcedimentoDTO=null; + $objRelTipoProcedimentoDTO = new TipoProcedimentoDTO(); + $objRelTipoProcedimentoDTO->retNumIdTipoProcedimento(); + $objRelTipoProcedimentoDTO->retStrNome(); + $objRelTipoProcedimentoDTO->setOrdStrNome(InfraDTO::$TIPO_ORDENACAO_ASC); + + $objRelTipoProcedimentoRN = new TipoProcedimentoRN(); + $arrTipoProcedimento=InfraArray::converterArrInfraDTO($objRelTipoProcedimentoRN->listarRN0244($objRelTipoProcedimentoDTO),"IdTipoProcedimento"); + $arrayFiltro = array_diff($arrTipoProcedimento,$arrObjNivelAcessoPermitido); + + $objRelTipoProcedimentoDTO->setNumIdTipoProcedimento($arrayFiltro, InfraDTO::$OPER_IN); + $arrObjTipoProcedimentoDTO = $objRelTipoProcedimentoRN->listarRN0244($objRelTipoProcedimentoDTO); + + if ($arrayFiltro == null) { + $arrObjTipoProcedimentoDTO = null; } /* Busca os dados para montar dropdown ( UNIDADE GERADORA DOCUMENTO RECEBIDO ) */ @@ -70,10 +66,27 @@ switch ($_GET['acao']) { case 'pen_parametros_configuracao_salvar': try { + $objPenParametroRN = new PenParametroRN(); if (!empty(count($_POST['parametro']))) { foreach ($_POST['parametro'] as $nome => $valor) { + + if ($nome == 'PEN_TIPO_PROCESSO_EXTERNO') { + + $objRelTipoProcedimentoAssuntoDTO = new RelTipoProcedimentoAssuntoDTO(); + $objRelTipoProcedimentoAssuntoDTO->retNumIdTipoProcedimento(); + $objRelTipoProcedimentoAssuntoDTO->setNumIdTipoProcedimento($valor); + $objRelTipoProcedimentoAssuntoDTO->setDistinct(true); + + $objRelTipoProcedimentoAssuntoRN = new RelTipoProcedimentoAssuntoRN(); + $arrObjTipoProcedimentoAssunto=InfraArray::converterArrInfraDTO($objRelTipoProcedimentoAssuntoRN->listarRN0192($objRelTipoProcedimentoAssuntoDTO),"IdTipoProcedimento"); + + if (empty($arrObjTipoProcedimentoAssunto)) { + throw new InfraException("Tipo de processo externo selecionado não possui sugestão de assuntos atribuída."); + } + } + $objPenParametroDTO = new PenParametroDTO(); $objPenParametroDTO->setStrNome($nome); $objPenParametroDTO->retStrNome(); @@ -84,6 +97,8 @@ } } } + + } catch (Exception $e) { $objPagina->processarExcecao($e); } @@ -191,14 +206,14 @@ function validarPreenchimentoCampo(campoValidacao){ foreach ($retParametros as $parametro) { //echo '
'; - //Esse parâmetro não aparece, por já existencia de uma tela só para alteração do próprio. + //Esse parâmetro não aparece, por já existencia de uma tela só para alteração do próprio. if ($parametro->getStrNome() != 'HIPOTESE_LEGAL_PADRAO') { ?> getStrNome()) { - case 'PEN_ID_REPOSITORIO_ORIGEM': + switch ($parametro->getStrNome()) { + case 'PEN_ID_REPOSITORIO_ORIGEM': try { $objExpedirProcedimentosRN = new ExpedirProcedimentoRN(); $repositorios = $objExpedirProcedimentosRN->listarRepositoriosDeEstruturas(); @@ -217,52 +232,52 @@ function validarPreenchimentoCampo(campoValidacao){ echo ''; echo '
'; } - break; - - - case 'PEN_TIPO_PROCESSO_EXTERNO': - $textoAjuda="Selecionar o tipo de processo que será utilizado no envio. Nesta listagem não estão presentes os tipos que permitem a classificação como sigilosos ou não possuam assunto associado"; - echo '
'; - echo ''; - echo ""; - echo '
'; - break; - - case 'PEN_UNIDADE_GERADORA_DOCUMENTO_RECEBIDO': - $textoAjuda="Selecionar a unidade que representa os órgãos externos"; - echo '
'; - echo ''; - echo ""; - echo '
'; - break; - - case 'PEN_ENVIA_EMAIL_NOTIFICACAO_RECEBIMENTO': - $textoAjuda="Selecionar caso queira receber notificações de recebimento"; - echo '
'; - echo ''; - echo ""; - echo '
'; - break; - - default: - echo '
'; - echo ''; - echo '
'; - break; - } - } - ?> + break; + + + case 'PEN_TIPO_PROCESSO_EXTERNO': + $textoAjuda="Selecionar o tipo de processo que será utilizado no envio. Nesta listagem não estão presentes os tipos que permitem a classificação como sigilosos ou não possuam assunto associado"; + echo '
'; + echo ''; + echo ""; + echo '
'; + break; + + case 'PEN_UNIDADE_GERADORA_DOCUMENTO_RECEBIDO': + $textoAjuda="Selecionar a unidade que representa os órgãos externos"; + echo '
'; + echo ''; + echo ""; + echo '
'; + break; + + case 'PEN_ENVIA_EMAIL_NOTIFICACAO_RECEBIMENTO': + $textoAjuda="Selecionar caso queira receber notificações de recebimento"; + echo '
'; + echo ''; + echo ""; + echo '
'; + break; + + default: + echo '
'; + echo ''; + echo '
'; + break; + } + } + ?> getInstance()->fecharAreaDados(); $objPagina->fecharBody(); $objPagina->fecharHtml(); -?> +?> \ No newline at end of file diff --git a/tests_super/funcional/phpunit.xml b/tests_super/funcional/phpunit.xml old mode 100755 new mode 100644 index b98571544..7977a74bd --- a/tests_super/funcional/phpunit.xml +++ b/tests_super/funcional/phpunit.xml @@ -6,9 +6,7 @@ colors="true" verbose="true" cacheResult="false" - executionOrder="no-depends" > - @@ -30,11 +28,11 @@ - + - + @@ -70,7 +68,7 @@ - + @@ -107,7 +105,7 @@ - +