From d0acf77a7d30f2d8c74304c464f725c304ac2ca1 Mon Sep 17 00:00:00 2001 From: eduardo.batista Date: Thu, 6 Jul 2017 09:51:51 -0300 Subject: [PATCH] [Feat] Alterando para retornar as unidades de abertura do processo independente de haver ou não pendências na unidade do usuário. --- controlador_ws.php | 17 ----------------- rn/MdWsSeiProcedimentoRN.php | 183 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------- 2 files changed, 89 insertions(+), 111 deletions(-) diff --git a/controlador_ws.php b/controlador_ws.php index 2e6f0c8..15b3462 100644 --- a/controlador_ws.php +++ b/controlador_ws.php @@ -413,23 +413,6 @@ $app->group('/api/v1',function(){ } return $response->withJSON($rn->pesquisarProcessosSolar($dto)); - exit; - - - $dto = new MdWsSeiProtocoloDTO(); - if($request->getParam('grupo')){ - $dto->setNumIdGrupoAcompanhamentoProcedimento($request->getParam('grupo')); - } - if($request->getParam('protocoloPesquisa')){ - $dto->setStrProtocoloFormatadoPesquisa($request->getParam('protocoloPesquisa')); - } - if($request->getParam('limit')){ - $dto->setNumMaxRegistrosRetorno($request->getParam('limit')); - } - if(!is_null($request->getParam('start'))){ - $dto->setNumPaginaAtual($request->getParam('start')); - } - return $response->withJSON($rn->pesquisarProcedimento($dto)); }); $this->get('/listar/meus/acompanhamentos', function($request, $response, $args){ /** @var $request Slim\Http\Request */ diff --git a/rn/MdWsSeiProcedimentoRN.php b/rn/MdWsSeiProcedimentoRN.php index 859a1d6..0ef8d7c 100644 --- a/rn/MdWsSeiProcedimentoRN.php +++ b/rn/MdWsSeiProcedimentoRN.php @@ -541,12 +541,11 @@ class MdWsSeiProcedimentoRN extends InfraRN 'staAnotacao' => $anotacaoDTO->getStrStaAnotacao() ); } - if ($procedimentoDTO && $procedimentoDTO->getStrStaEstadoProtocolo() != ProtocoloRN::$TE_PROCEDIMENTO_ANEXADO) { - $ret = $this->listarUnidadeAberturaProcedimento($procedimentoDTO); - if (!$ret['sucesso']) { - throw new Exception($ret['mensagem']); - } - $arrDadosAbertura = $ret['data']; + if ($protocoloDTO->getStrStaEstado() != ProtocoloRN::$TE_PROCEDIMENTO_ANEXADO) { + $procedimentoDTOParam = new ProcedimentoDTO(); + $procedimentoDTOParam->setDblIdProcedimento($protocoloDTO->getDblIdProtocolo()); + $procedimentoDTOParam->setStrStaNivelAcessoGlobalProtocolo($protocoloDTO->getStrStaNivelAcessoGlobal()); + $arrDadosAbertura = $this->listarUnidadeAberturaProcedimento($procedimentoDTOParam); } $result[] = array( @@ -596,118 +595,114 @@ class MdWsSeiProcedimentoRN extends InfraRN protected function listarUnidadeAberturaProcedimentoConectado(ProcedimentoDTO $procedimentoDTO) { - try { - $result = array(); - $atividadeRN = new MdWsSeiAtividadeRN(); - $strStaNivelAcessoGlobal = $procedimentoDTO->getStrStaNivelAcessoGlobalProtocolo(); - $dblIdProcedimento = $procedimentoDTO->getDblIdProcedimento(); - $atividadeDTO = new AtividadeDTO(); - $atividadeDTO->setDistinct(true); - $atividadeDTO->retStrSiglaUnidade(); - $atividadeDTO->retNumIdUnidade(); - $atividadeDTO->retStrDescricaoUnidade(); - - $atividadeDTO->setOrdStrSiglaUnidade(InfraDTO::$TIPO_ORDENACAO_ASC); - - if ($strStaNivelAcessoGlobal == ProtocoloRN::$NA_SIGILOSO) { - $atividadeDTO->retNumIdUsuario(); - $atividadeDTO->retStrSiglaUsuario(); - $atividadeDTO->retStrNomeUsuario(); - } else { - $atividadeDTO->retNumIdUsuarioAtribuicao(); - $atividadeDTO->retStrSiglaUsuarioAtribuicao(); - $atividadeDTO->retStrNomeUsuarioAtribuicao(); + $result = array(); + $atividadeRN = new MdWsSeiAtividadeRN(); + $strStaNivelAcessoGlobal = $procedimentoDTO->getStrStaNivelAcessoGlobalProtocolo(); + $dblIdProcedimento = $procedimentoDTO->getDblIdProcedimento(); + $atividadeDTO = new AtividadeDTO(); + $atividadeDTO->setDistinct(true); + $atividadeDTO->retStrSiglaUnidade(); + $atividadeDTO->retNumIdUnidade(); + $atividadeDTO->retStrDescricaoUnidade(); + + $atividadeDTO->setOrdStrSiglaUnidade(InfraDTO::$TIPO_ORDENACAO_ASC); + + if ($strStaNivelAcessoGlobal == ProtocoloRN::$NA_SIGILOSO) { + $atividadeDTO->retNumIdUsuario(); + $atividadeDTO->retStrSiglaUsuario(); + $atividadeDTO->retStrNomeUsuario(); + } else { + $atividadeDTO->retNumIdUsuarioAtribuicao(); + $atividadeDTO->retStrSiglaUsuarioAtribuicao(); + $atividadeDTO->retStrNomeUsuarioAtribuicao(); - //ordena descendente pois no envio de processo que já existe na unidade e está atribuído ficará com mais de um andamento em aberto - //desta forma os andamentos com usuário nulo (envios do processo) serão listados depois - $atividadeDTO->setOrdStrSiglaUsuarioAtribuicao(InfraDTO::$TIPO_ORDENACAO_DESC); + //ordena descendente pois no envio de processo que já existe na unidade e está atribuído ficará com mais de um andamento em aberto + //desta forma os andamentos com usuário nulo (envios do processo) serão listados depois + $atividadeDTO->setOrdStrSiglaUsuarioAtribuicao(InfraDTO::$TIPO_ORDENACAO_DESC); - } - $atividadeDTO->setDblIdProtocolo($dblIdProcedimento); - $atividadeDTO->setDthConclusao(null); + } + $atividadeDTO->setDblIdProtocolo($dblIdProcedimento); + $atividadeDTO->setDthConclusao(null); - //sigiloso sem credencial nao considera o usuario atual - if ($strStaNivelAcessoGlobal == ProtocoloRN::$NA_SIGILOSO) { + //sigiloso sem credencial nao considera o usuario atual + if ($strStaNivelAcessoGlobal == ProtocoloRN::$NA_SIGILOSO) { - $acessoDTO = new AcessoDTO(); - $acessoDTO->setDistinct(true); - $acessoDTO->retNumIdUsuario(); - $acessoDTO->setDblIdProtocolo($dblIdProcedimento); - $acessoDTO->setStrStaTipo(AcessoRN::$TA_CREDENCIAL_PROCESSO); + $acessoDTO = new AcessoDTO(); + $acessoDTO->setDistinct(true); + $acessoDTO->retNumIdUsuario(); + $acessoDTO->setDblIdProtocolo($dblIdProcedimento); + $acessoDTO->setStrStaTipo(AcessoRN::$TA_CREDENCIAL_PROCESSO); - $acessoRN = new AcessoRN(); - $arrAcessoDTO = $acessoRN->listar($acessoDTO); + $acessoRN = new AcessoRN(); + $arrAcessoDTO = $acessoRN->listar($acessoDTO); - $atividadeDTO->setNumIdUsuario(InfraArray::converterArrInfraDTO($arrAcessoDTO, 'IdUsuario'), InfraDTO::$OPER_IN); - } - $arrAtividadeDTO = $atividadeRN->listarRN0036($atividadeDTO); + $atividadeDTO->setNumIdUsuario(InfraArray::converterArrInfraDTO($arrAcessoDTO, 'IdUsuario'), InfraDTO::$OPER_IN); + } + $arrAtividadeDTO = $atividadeRN->listarRN0036($atividadeDTO); - if ($strStaNivelAcessoGlobal != ProtocoloRN::$NA_SIGILOSO) { - $arrAtividadeDTO = InfraArray::distinctArrInfraDTO($arrAtividadeDTO, 'SiglaUnidade'); - } - if (count($arrAtividadeDTO) == 0) { - $result['info'] = 'Processo não possui andamentos abertos.'; - $result['lista'] = array(); - $result['unidades'] = array(); - } else { - if (count($arrAtividadeDTO) == 1) { + if ($strStaNivelAcessoGlobal != ProtocoloRN::$NA_SIGILOSO) { + $arrAtividadeDTO = InfraArray::distinctArrInfraDTO($arrAtividadeDTO, 'SiglaUnidade'); + } + if (count($arrAtividadeDTO) == 0) { + $result['info'] = 'Processo não possui andamentos abertos.'; + $result['lista'] = array(); + $result['unidades'] = array(); + } else { + if (count($arrAtividadeDTO) == 1) { + $atividadeDTO = $arrAtividadeDTO[0]; + if ($strStaNivelAcessoGlobal != ProtocoloRN::$NA_SIGILOSO) { + $result['info'] = 'Processo aberto somente na unidade:'; + $result['unidades'][] = array( + 'id' => $atividadeDTO->getNumIdUnidade(), + 'nome' => $atividadeDTO->getStrSiglaUnidade() + ); + $result['lista'][] = array( + 'sigla' => $atividadeDTO->getStrSiglaUnidade() + ); + } else { + $result['info'] = 'Processo aberto com o usuário:'; $atividadeDTO = $arrAtividadeDTO[0]; - if ($strStaNivelAcessoGlobal != ProtocoloRN::$NA_SIGILOSO) { - $result['info'] = 'Processo aberto somente na unidade:'; + $result['unidades'][] = array( + 'id' => $atividadeDTO->getNumIdUnidade(), + 'nome' => $atividadeDTO->getStrSiglaUnidade() + ); + $result['lista'][] = array( + 'sigla' => $atividadeDTO->getStrNomeUsuario() + ); + } + } else { + if ($strStaNivelAcessoGlobal != ProtocoloRN::$NA_SIGILOSO) { + $result['info'] = 'Processo aberto nas unidades:'; + foreach ($arrAtividadeDTO as $atividadeDTO) { $result['unidades'][] = array( 'id' => $atividadeDTO->getNumIdUnidade(), 'nome' => $atividadeDTO->getStrSiglaUnidade() ); + $sigla = $atividadeDTO->getStrSiglaUnidade(); + if ($atividadeDTO->getNumIdUsuarioAtribuicao() != null) { + $sigla .= ' (atribuído a ' . $atividadeDTO->getStrNomeUsuarioAtribuicao() . ')'; + } $result['lista'][] = array( - 'sigla' => $atividadeDTO->getStrSiglaUnidade() + 'sigla' => $sigla ); - } else { - $result['info'] = 'Processo aberto com o usuário:'; - $atividadeDTO = $arrAtividadeDTO[0]; + } + } else { + $result['info'] = 'Processo aberto com os usuários:'; + foreach ($arrAtividadeDTO as $atividadeDTO) { $result['unidades'][] = array( 'id' => $atividadeDTO->getNumIdUnidade(), 'nome' => $atividadeDTO->getStrSiglaUnidade() ); + $sigla = $atividadeDTO->getStrNomeUsuario() . ' na unidade ' . $atividadeDTO->getStrSiglaUnidade(); $result['lista'][] = array( - 'sigla' => $atividadeDTO->getStrNomeUsuario() + 'sigla' => $sigla ); } - } else { - if ($strStaNivelAcessoGlobal != ProtocoloRN::$NA_SIGILOSO) { - $result['info'] = 'Processo aberto nas unidades:'; - foreach ($arrAtividadeDTO as $atividadeDTO) { - $result['unidades'][] = array( - 'id' => $atividadeDTO->getNumIdUnidade(), - 'nome' => $atividadeDTO->getStrSiglaUnidade() - ); - $sigla = $atividadeDTO->getStrSiglaUnidade(); - if ($atividadeDTO->getNumIdUsuarioAtribuicao() != null) { - $sigla .= ' (atribuído a ' . $atividadeDTO->getStrNomeUsuarioAtribuicao() . ')'; - } - $result['lista'][] = array( - 'sigla' => $sigla - ); - } - } else { - $result['info'] = 'Processo aberto com os usuários:'; - foreach ($arrAtividadeDTO as $atividadeDTO) { - $result['unidades'][] = array( - 'id' => $atividadeDTO->getNumIdUnidade(), - 'nome' => $atividadeDTO->getStrSiglaUnidade() - ); - $sigla = $atividadeDTO->getStrNomeUsuario() . ' na unidade ' . $atividadeDTO->getStrSiglaUnidade(); - $result['lista'][] = array( - 'sigla' => $sigla - ); - } - } } } - - return MdWsSeiRest::formataRetornoSucessoREST(null, $result); - } catch (Exception $e) { - return MdWsSeiRest::formataRetornoErroREST($e); } + + return $result; } /** -- libgit2 0.21.2