From 823a7f4be90af4e718c129608f512cf4c9c25d2a Mon Sep 17 00:00:00 2001 From: eduardo.batista Date: Tue, 13 Jun 2017 16:37:58 -0300 Subject: [PATCH] [Feat] Alterando pesquisa de processos para buscar no solar. --- controlador_ws.php | 19 ++++++++++++++++++- dto/MdWsSeiPesquisaProtocoloSolrDTO.php | 25 +++++++++++++++++++++++++ rn/MdWsSeiProcedimentoRN.php | 570 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------ teste.php | 2 +- 4 files changed, 476 insertions(+), 140 deletions(-) create mode 100644 dto/MdWsSeiPesquisaProtocoloSolrDTO.php diff --git a/controlador_ws.php b/controlador_ws.php index ca34b52..a88adf7 100644 --- a/controlador_ws.php +++ b/controlador_ws.php @@ -6,7 +6,6 @@ require_once dirname(__FILE__).'/../../SEI.php'; require_once dirname(__FILE__).'/vendor/autoload.php'; - class TokenValidationMiddleware{ public function __invoke($request, $response, $next) { @@ -369,6 +368,24 @@ $app->group('/api/v1',function(){ $this->get('/pesquisar', function($request, $response, $args){ /** @var $request Slim\Http\Request */ $rn = new MdWsSeiProcedimentoRN(); + $dto = new MdWsSeiPesquisaProtocoloSolrDTO(); + if($request->getParam('grupo')){ + $dto->setNumIdGrupoAcompanhamentoProcedimento($request->getParam('grupo')); + } + if($request->getParam('protocoloPesquisa')){ + $dto->setStrProtocoloPesquisa(InfraUtil::retirarFormatacao($request->getParam('protocoloPesquisa'),false)); + } + if($request->getParam('limit')){ + $dto->setNumMaxRegistrosRetorno($request->getParam('limit')); + } + if(!is_null($request->getParam('start'))){ + $dto->setNumPaginaAtual($request->getParam('start')); + } + + return $response->withJSON($rn->pesquisarProcessosSolar($dto)); + exit; + + $dto = new MdWsSeiProtocoloDTO(); if($request->getParam('grupo')){ $dto->setNumIdGrupoAcompanhamentoProcedimento($request->getParam('grupo')); diff --git a/dto/MdWsSeiPesquisaProtocoloSolrDTO.php b/dto/MdWsSeiPesquisaProtocoloSolrDTO.php new file mode 100644 index 0000000..236b6c1 --- /dev/null +++ b/dto/MdWsSeiPesquisaProtocoloSolrDTO.php @@ -0,0 +1,25 @@ +adicionarAtributo(InfraDTO::$PREFIXO_STR, 'PalavrasChave'); + $this->adicionarAtributo(InfraDTO::$PREFIXO_STR, 'Descricao'); + $this->adicionarAtributo(InfraDTO::$PREFIXO_STR, 'Observacao'); + $this->adicionarAtributo(InfraDTO::$PREFIXO_STR, 'ProtocoloPesquisa'); + $this->adicionarAtributo(InfraDTO::$PREFIXO_NUM, 'IdTipoProcedimento'); + $this->adicionarAtributo(InfraDTO::$PREFIXO_NUM, 'IdSerie'); + $this->adicionarAtributo(InfraDTO::$PREFIXO_STR, 'Numero'); + $this->adicionarAtributo(InfraDTO::$PREFIXO_STR, 'StaTipoData'); + $this->adicionarAtributo(InfraDTO::$PREFIXO_DTA, 'Inicio'); + $this->adicionarAtributo(InfraDTO::$PREFIXO_DTA, 'Fim'); + $this->adicionarAtributo(InfraDTO::$PREFIXO_DBL, 'IdProcedimento'); + $this->adicionarAtributo(InfraDTO::$PREFIXO_NUM, 'IdGrupoAcompanhamentoProcedimento'); + } +} + +?> \ No newline at end of file diff --git a/rn/MdWsSeiProcedimentoRN.php b/rn/MdWsSeiProcedimentoRN.php index e0e9810..b12ae99 100644 --- a/rn/MdWsSeiProcedimentoRN.php +++ b/rn/MdWsSeiProcedimentoRN.php @@ -1,9 +1,11 @@ getDblIdProtocolo()){ + protected function listarUnidadesProcessoConectado(ProtocoloDTO $protocoloDTO) + { + try { + if (!$protocoloDTO->getDblIdProtocolo()) { throw new InfraException('Protocolo não informado.'); } $result = array(); @@ -26,7 +29,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { $relProtocoloProtocoloDTOConsulta->setNumPaginaAtual(0); $relProtocoloProtocoloRN = new RelProtocoloProtocoloRN(); $ret = $relProtocoloProtocoloRN->listarRN0187($relProtocoloProtocoloDTOConsulta); - if($ret){ + if ($ret) { /** @var RelProtocoloProtocoloDTO $relProtocoloProtocoloDTO */ $relProtocoloProtocoloDTO = $ret[0]; $result['processo'] = $relProtocoloProtocoloDTO->getDblIdProtocolo1(); @@ -34,7 +37,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { } return MdWsSeiRest::formataRetornoSucessoREST(null, $result); - }catch (Exception $e){ + } catch (Exception $e) { return MdWsSeiRest::formataRetornoErroREST($e); } } @@ -44,12 +47,13 @@ class MdWsSeiProcedimentoRN extends InfraRN { * @param AtividadeDTO $atividadeDTOParam * @return array */ - protected function listarSobrestamentoProcessoConectado(AtividadeDTO $atividadeDTOParam){ - try{ - if(!$atividadeDTOParam->isSetDblIdProtocolo()){ + protected function listarSobrestamentoProcessoConectado(AtividadeDTO $atividadeDTOParam) + { + try { + if (!$atividadeDTOParam->isSetDblIdProtocolo()) { throw new InfraException('Protocolo não informado.'); } - if(!$atividadeDTOParam->isSetNumIdUnidade()){ + if (!$atividadeDTOParam->isSetNumIdUnidade()) { $atividadeDTOParam->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); } @@ -64,7 +68,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { $ret = $atividadeRN->listarRN0036($atividadeDTOConsulta); /** @var AtividadeDTO $atividadeDTO */ - foreach($ret as $atividadeDTO){ + foreach ($ret as $atividadeDTO) { $result[] = array( 'idAtividade' => $atividadeDTO->getNumIdAtividade(), 'idProtocolo' => $atividadeDTO->getDblIdProtocolo(), @@ -77,7 +81,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { } return MdWsSeiRest::formataRetornoSucessoREST(null, $result); - }catch (Exception $e){ + } catch (Exception $e) { return MdWsSeiRest::formataRetornoErroREST($e); } } @@ -87,13 +91,14 @@ class MdWsSeiProcedimentoRN extends InfraRN { * @param EntradaSobrestarProcessoAPI $entradaSobrestarProcessoAPI * @return array */ - protected function sobrestamentoProcessoControlado(EntradaSobrestarProcessoAPI $entradaSobrestarProcessoAPI){ - try{ + protected function sobrestamentoProcessoControlado(EntradaSobrestarProcessoAPI $entradaSobrestarProcessoAPI) + { + try { $seiRN = new SeiRN(); $seiRN->sobrestarProcesso($entradaSobrestarProcessoAPI); return MdWsSeiRest::formataRetornoSucessoREST('Processo sobrestado com sucesso'); - }catch (Exception $e){ + } catch (Exception $e) { return MdWsSeiRest::formataRetornoErroREST($e); } } @@ -102,9 +107,10 @@ class MdWsSeiProcedimentoRN extends InfraRN { * @param $protocolo * @return array */ - protected function removerSobrestamentoProcessoControlado(ProcedimentoDTO $procedimentoDTOParam){ - try{ - if(!$procedimentoDTOParam->getDblIdProcedimento()){ + protected function removerSobrestamentoProcessoControlado(ProcedimentoDTO $procedimentoDTOParam) + { + try { + if (!$procedimentoDTOParam->getDblIdProcedimento()) { throw new InfraException('Procedimento n?o informado.'); } $seiRN = new SeiRN(); @@ -114,7 +120,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { $seiRN->removerSobrestamentoProcesso($entradaRemoverSobrestamentoProcessoAPI); return MdWsSeiRest::formataRetornoSucessoREST('Sobrestar cancelado com sucesso.'); - }catch (Exception $e){ + } catch (Exception $e) { return MdWsSeiRest::formataRetornoErroREST($e); } } @@ -124,29 +130,30 @@ class MdWsSeiProcedimentoRN extends InfraRN { * @param MdWsSeiProtocoloDTO $mdWsSeiProtocoloDTOConsulta * @return array */ - protected function listarProcedimentoAcompanhamentoConectado(MdWsSeiProtocoloDTO $mdWsSeiProtocoloDTOParam) { - try{ + protected function listarProcedimentoAcompanhamentoConectado(MdWsSeiProtocoloDTO $mdWsSeiProtocoloDTOParam) + { + try { $usuarioAtribuicaoAtividade = null; $mdWsSeiProtocoloDTOConsulta = new MdWsSeiProtocoloDTO(); - if($mdWsSeiProtocoloDTOParam->isSetNumIdGrupoAcompanhamentoProcedimento()){ + if ($mdWsSeiProtocoloDTOParam->isSetNumIdGrupoAcompanhamentoProcedimento()) { $mdWsSeiProtocoloDTOConsulta->setNumIdGrupoAcompanhamentoProcedimento($mdWsSeiProtocoloDTOParam->getNumIdGrupoAcompanhamentoProcedimento()); } - if(!$mdWsSeiProtocoloDTOParam->isSetNumIdUsuarioGeradorAcompanhamento()){ + if (!$mdWsSeiProtocoloDTOParam->isSetNumIdUsuarioGeradorAcompanhamento()) { $mdWsSeiProtocoloDTOConsulta->setNumIdUsuarioGeradorAcompanhamento(SessaoSEI::getInstance()->getNumIdUsuario()); - }else{ + } else { $mdWsSeiProtocoloDTOConsulta->setNumIdUsuarioGeradorAcompanhamento($mdWsSeiProtocoloDTOParam->getNumIdUsuarioGeradorAcompanhamento()); } - if(is_null($mdWsSeiProtocoloDTOParam->getNumPaginaAtual())){ + if (is_null($mdWsSeiProtocoloDTOParam->getNumPaginaAtual())) { $mdWsSeiProtocoloDTOConsulta->setNumPaginaAtual(0); - }else{ + } else { $mdWsSeiProtocoloDTOConsulta->setNumPaginaAtual($mdWsSeiProtocoloDTOParam->getNumPaginaAtual()); } - if(!$mdWsSeiProtocoloDTOParam->isSetNumMaxRegistrosRetorno()){ + if (!$mdWsSeiProtocoloDTOParam->isSetNumMaxRegistrosRetorno()) { $mdWsSeiProtocoloDTOConsulta->setNumMaxRegistrosRetorno(10); - }else{ + } else { $mdWsSeiProtocoloDTOConsulta->setNumMaxRegistrosRetorno($mdWsSeiProtocoloDTOParam->getNumMaxRegistrosRetorno()); } @@ -163,7 +170,65 @@ class MdWsSeiProcedimentoRN extends InfraRN { $result = $this->montaRetornoListagemProcessos($ret, $usuarioAtribuicaoAtividade); return MdWsSeiRest::formataRetornoSucessoREST(null, $result, $mdWsSeiProtocoloDTOConsulta->getNumTotalRegistros()); - }catch (Exception $e){ + } catch (Exception $e) { + return MdWsSeiRest::formataRetornoErroREST($e); + } + } + + /** + * Método que pesquisa todos o procedimentos em todas as unidades + * @param MdWsSeiProtocoloDTO $mdWsSeiProtocoloDTOParam + * @return array + */ + protected function pesquisarTodosProcessosConectado(MdWsSeiProtocoloDTO $mdWsSeiProtocoloDTOParam) + { + try { + $pesquisaPendenciaDTO = new MdWsSeiPesquisarPendenciaDTO(); + + $usuarioAtribuicaoAtividade = null; + if ($mdWsSeiProtocoloDTOParam->isSetNumIdUsuarioAtribuicaoAtividade()) { + $usuarioAtribuicaoAtividade = $mdWsSeiProtocoloDTOParam->getNumIdUsuarioAtribuicaoAtividade(); + } + + if (!is_null($mdWsSeiProtocoloDTOParam->getNumPaginaAtual())) { + $pesquisaPendenciaDTO->setNumPaginaAtual($mdWsSeiProtocoloDTOParam->getNumPaginaAtual()); + } else { + $pesquisaPendenciaDTO->setNumPaginaAtual(0); + } + + if ($mdWsSeiProtocoloDTOParam->isSetNumMaxRegistrosRetorno()) { + $pesquisaPendenciaDTO->setNumMaxRegistrosRetorno($mdWsSeiProtocoloDTOParam->getNumMaxRegistrosRetorno()); + } else { + $pesquisaPendenciaDTO->setNumMaxRegistrosRetorno(10); + } + if ($mdWsSeiProtocoloDTOParam->isSetNumIdGrupoAcompanhamentoProcedimento()) { + $pesquisaPendenciaDTO->setNumIdGrupoAcompanhamentoProcedimento( + $mdWsSeiProtocoloDTOParam->getNumIdGrupoAcompanhamentoProcedimento() + ); + } + if ($mdWsSeiProtocoloDTOParam->isSetStrProtocoloFormatadoPesquisa()) { + $strProtocoloFormatado = InfraUtil::retirarFormatacao( + $mdWsSeiProtocoloDTOParam->getStrProtocoloFormatadoPesquisa(), false + ); + $pesquisaPendenciaDTO->setStrProtocoloFormatadoPesquisaProtocolo( + '%' . $strProtocoloFormatado . '%', + InfraDTO::$OPER_LIKE + ); + } + + $atividadeRN = new MdWsSeiAtividadeRN(); + $pesquisaPendenciaDTO->setStrStaEstadoProcedimento(array(ProtocoloRN::$TE_NORMAL, ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO)); + $pesquisaPendenciaDTO->setStrSinAnotacoes('S'); + $pesquisaPendenciaDTO->setStrSinRetornoProgramado('S'); + $pesquisaPendenciaDTO->setStrSinCredenciais('S'); + $pesquisaPendenciaDTO->setStrSinSituacoes('S'); + $pesquisaPendenciaDTO->setStrSinMarcadores('S'); + + $ret = $atividadeRN->listarPendencias($pesquisaPendenciaDTO); + $result = $this->montaRetornoListagemProcessos($ret, $usuarioAtribuicaoAtividade); + + return MdWsSeiRest::formataRetornoSucessoREST(null, $result, $pesquisaPendenciaDTO->getNumTotalRegistros()); + } catch (Exception $e) { return MdWsSeiRest::formataRetornoErroREST($e); } } @@ -174,37 +239,38 @@ class MdWsSeiProcedimentoRN extends InfraRN { * @param MdWsSeiProtocoloDTO $mdWsSeiProtocoloDTOParam * @return array */ - protected function pesquisarProcedimentoConectado(MdWsSeiProtocoloDTO $mdWsSeiProtocoloDTOParam) { - try{ + protected function pesquisarProcedimentoConectado(MdWsSeiProtocoloDTO $mdWsSeiProtocoloDTOParam) + { + try { $pesquisaPendenciaDTO = new MdWsSeiPesquisarPendenciaDTO(); $usuarioAtribuicaoAtividade = null; - if($mdWsSeiProtocoloDTOParam->isSetNumIdUsuarioAtribuicaoAtividade()){ + if ($mdWsSeiProtocoloDTOParam->isSetNumIdUsuarioAtribuicaoAtividade()) { $usuarioAtribuicaoAtividade = $mdWsSeiProtocoloDTOParam->getNumIdUsuarioAtribuicaoAtividade(); } - if(!is_null($mdWsSeiProtocoloDTOParam->getNumPaginaAtual())){ + if (!is_null($mdWsSeiProtocoloDTOParam->getNumPaginaAtual())) { $pesquisaPendenciaDTO->setNumPaginaAtual($mdWsSeiProtocoloDTOParam->getNumPaginaAtual()); - }else{ + } else { $pesquisaPendenciaDTO->setNumPaginaAtual(0); } - if($mdWsSeiProtocoloDTOParam->isSetNumMaxRegistrosRetorno()){ + if ($mdWsSeiProtocoloDTOParam->isSetNumMaxRegistrosRetorno()) { $pesquisaPendenciaDTO->setNumMaxRegistrosRetorno($mdWsSeiProtocoloDTOParam->getNumMaxRegistrosRetorno()); - }else{ + } else { $pesquisaPendenciaDTO->setNumMaxRegistrosRetorno(10); } - if($mdWsSeiProtocoloDTOParam->isSetNumIdGrupoAcompanhamentoProcedimento()){ + if ($mdWsSeiProtocoloDTOParam->isSetNumIdGrupoAcompanhamentoProcedimento()) { $pesquisaPendenciaDTO->setNumIdGrupoAcompanhamentoProcedimento( $mdWsSeiProtocoloDTOParam->getNumIdGrupoAcompanhamentoProcedimento() ); } - if($mdWsSeiProtocoloDTOParam->isSetStrProtocoloFormatadoPesquisa()){ + if ($mdWsSeiProtocoloDTOParam->isSetStrProtocoloFormatadoPesquisa()) { $strProtocoloFormatado = InfraUtil::retirarFormatacao( $mdWsSeiProtocoloDTOParam->getStrProtocoloFormatadoPesquisa(), false ); $pesquisaPendenciaDTO->setStrProtocoloFormatadoPesquisaProtocolo( - '%'.$strProtocoloFormatado.'%', + '%' . $strProtocoloFormatado . '%', InfraDTO::$OPER_LIKE ); } @@ -212,7 +278,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { $atividadeRN = new MdWsSeiAtividadeRN(); $pesquisaPendenciaDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); $pesquisaPendenciaDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); - $pesquisaPendenciaDTO->setStrStaEstadoProcedimento(array(ProtocoloRN::$TE_NORMAL,ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO)); + $pesquisaPendenciaDTO->setStrStaEstadoProcedimento(array(ProtocoloRN::$TE_NORMAL, ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO)); $pesquisaPendenciaDTO->setStrSinAnotacoes('S'); $pesquisaPendenciaDTO->setStrSinRetornoProgramado('S'); $pesquisaPendenciaDTO->setStrSinCredenciais('S'); @@ -223,7 +289,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { $result = $this->montaRetornoListagemProcessos($ret, $usuarioAtribuicaoAtividade); return MdWsSeiRest::formataRetornoSucessoREST(null, $result, $pesquisaPendenciaDTO->getNumTotalRegistros()); - }catch (Exception $e){ + } catch (Exception $e) { return MdWsSeiRest::formataRetornoErroREST($e); } } @@ -233,53 +299,54 @@ class MdWsSeiProcedimentoRN extends InfraRN { * @param MdWsSeiProtocoloDTO $mdWsSeiProtocoloDTO * @return array */ - protected function listarProcessosConectado(MdWsSeiProtocoloDTO $mdWsSeiProtocoloDTOParam){ - try{ + protected function listarProcessosConectado(MdWsSeiProtocoloDTO $mdWsSeiProtocoloDTOParam) + { + try { $pesquisaPendenciaDTO = new MdWsSeiPesquisarPendenciaDTO(); $usuarioAtribuicaoAtividade = null; - if($mdWsSeiProtocoloDTOParam->isSetNumIdUsuarioAtribuicaoAtividade()){ + if ($mdWsSeiProtocoloDTOParam->isSetNumIdUsuarioAtribuicaoAtividade()) { $usuarioAtribuicaoAtividade = $mdWsSeiProtocoloDTOParam->getNumIdUsuarioAtribuicaoAtividade(); } - if(!is_null($mdWsSeiProtocoloDTOParam->getNumPaginaAtual())){ + if (!is_null($mdWsSeiProtocoloDTOParam->getNumPaginaAtual())) { $pesquisaPendenciaDTO->setNumPaginaAtual($mdWsSeiProtocoloDTOParam->getNumPaginaAtual()); - }else{ + } else { $pesquisaPendenciaDTO->setNumPaginaAtual(0); } - if($mdWsSeiProtocoloDTOParam->isSetNumMaxRegistrosRetorno()){ + if ($mdWsSeiProtocoloDTOParam->isSetNumMaxRegistrosRetorno()) { $pesquisaPendenciaDTO->setNumMaxRegistrosRetorno($mdWsSeiProtocoloDTOParam->getNumMaxRegistrosRetorno()); - }else{ + } else { $pesquisaPendenciaDTO->setNumMaxRegistrosRetorno(10); } - if($mdWsSeiProtocoloDTOParam->getStrSinApenasMeus() == 'S'){ + if ($mdWsSeiProtocoloDTOParam->getStrSinApenasMeus() == 'S') { $pesquisaPendenciaDTO->setStrStaTipoAtribuicao('M'); } $atividadeRN = new MdWsSeiAtividadeRN(); $pesquisaPendenciaDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); $pesquisaPendenciaDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); - $pesquisaPendenciaDTO->setStrStaEstadoProcedimento(array(ProtocoloRN::$TE_NORMAL,ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO)); + $pesquisaPendenciaDTO->setStrStaEstadoProcedimento(array(ProtocoloRN::$TE_NORMAL, ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO)); $pesquisaPendenciaDTO->setStrSinAnotacoes('S'); $pesquisaPendenciaDTO->setStrSinRetornoProgramado('S'); $pesquisaPendenciaDTO->setStrSinCredenciais('S'); $pesquisaPendenciaDTO->setStrSinSituacoes('S'); $pesquisaPendenciaDTO->setStrSinMarcadores('S'); - if($mdWsSeiProtocoloDTOParam->getStrSinTipoBusca() == MdWsSeiProtocoloDTO::SIN_TIPO_BUSCA_R){ + if ($mdWsSeiProtocoloDTOParam->getStrSinTipoBusca() == MdWsSeiProtocoloDTO::SIN_TIPO_BUSCA_R) { $pesquisaPendenciaDTO->setStrSinInicial('N'); $ret = $atividadeRN->listarPendencias($pesquisaPendenciaDTO); - }else if($mdWsSeiProtocoloDTOParam->getStrSinTipoBusca() == MdWsSeiProtocoloDTO::SIN_TIPO_BUSCA_G){ + } else if ($mdWsSeiProtocoloDTOParam->getStrSinTipoBusca() == MdWsSeiProtocoloDTO::SIN_TIPO_BUSCA_G) { $pesquisaPendenciaDTO->setStrSinInicial('S'); $ret = $atividadeRN->listarPendencias($pesquisaPendenciaDTO); - }else{ + } else { throw new InfraException('O tipo de busca deve ser (R)ecebidos ou (G)erados'); } $result = $this->montaRetornoListagemProcessos($ret, $usuarioAtribuicaoAtividade); return MdWsSeiRest::formataRetornoSucessoREST(null, $result, $pesquisaPendenciaDTO->getNumTotalRegistros()); - }catch (Exception $e){ + } catch (Exception $e) { return MdWsSeiRest::formataRetornoErroREST($e); } @@ -291,11 +358,11 @@ class MdWsSeiProcedimentoRN extends InfraRN { * @param null $usuarioAtribuicaoAtividade * @return array */ - private function montaRetornoListagemProcessos(array $ret, $usuarioAtribuicaoAtividade = null){ - + private function montaRetornoListagemProcessos(array $ret, $usuarioAtribuicaoAtividade = null) + { $result = array(); $protocoloRN = new ProtocoloRN(); - foreach($ret as $dto){ + foreach ($ret as $dto) { $usuarioAtribuido = null; $documentoNovo = 'N'; $documentoPublicado = 'N'; @@ -308,7 +375,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { $arrDadosAbertura = array(); $procedimentoDTO = null; $protocoloDTO = new MdWsSeiProtocoloDTO(); - if($dto instanceof ProcedimentoDTO){ + if ($dto instanceof ProcedimentoDTO) { $protocoloDTO = new MdWsSeiProtocoloDTO(); $protocoloDTO->setDblIdProtocolo($dto->getDblIdProcedimento()); $protocoloDTO->retDblIdProtocolo(); @@ -324,7 +391,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { $protocoloDTO->retStrSinCienciaProcedimento(); $protocoloDTO->retStrStaEstado(); $protocoloDTO = $protocoloRN->consultarRN0186($protocoloDTO); - }else{ + } else { $protocoloDTO = $dto; } @@ -347,25 +414,25 @@ class MdWsSeiProcedimentoRN extends InfraRN { $atividadeDTOConsulta->setOrdNumIdAtividade(InfraDTO::$TIPO_ORDENACAO_DESC); $arrAtividades = $atividadeRN->listarRN0036($atividadeDTOConsulta); - if($arrAtividades){ + if ($arrAtividades) { /** @var AtividadeDTO $atividadeDTO */ $atividadeDTO = $arrAtividades[0]; $documentoNovo = $atividadeDTO->getNumIdTarefa() == 1 ? 'S' : 'N'; $usuarioAtribuido = $atividadeDTO->getStrNomeUsuarioAtribuicao(); $tipoVisualizacao = $atividadeDTO->getNumTipoVisualizacao() == 0 ? 'S' : 'N'; - if($atividadeDTO->getNumIdUsuarioVisualizacao() == $usuarioAtribuicaoAtividade){ + if ($atividadeDTO->getNumIdUsuarioVisualizacao() == $usuarioAtribuicaoAtividade) { $usuarioVisualizacao = 'S'; } } $arrAtividadePendenciaDTO = array(); - if($dto instanceof ProcedimentoDTO){ + if ($dto instanceof ProcedimentoDTO) { $procedimentoDTO = $dto; $arrAtividadePendenciaDTO = $procedimentoDTO->getArrObjAtividadeDTO(); - }else{ - $pesquisaPendenciaDTO = new PesquisaPendenciaDTO(); + } else { + $pesquisaPendenciaDTO = new MdWsSeiPesquisarPendenciaDTO(); $pesquisaPendenciaDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); $pesquisaPendenciaDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); - $pesquisaPendenciaDTO->setStrStaEstadoProcedimento(array(ProtocoloRN::$TE_NORMAL,ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO)); + $pesquisaPendenciaDTO->setStrStaEstadoProcedimento(array(ProtocoloRN::$TE_NORMAL, ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO)); $pesquisaPendenciaDTO->setStrSinAnotacoes('S'); $pesquisaPendenciaDTO->setStrSinRetornoProgramado('S'); $pesquisaPendenciaDTO->setStrSinCredenciais('S'); @@ -373,20 +440,20 @@ class MdWsSeiProcedimentoRN extends InfraRN { $pesquisaPendenciaDTO->setStrSinMarcadores('S'); $pesquisaPendenciaDTO->setDblIdProtocolo($protocoloDTO->getDblIdProtocolo()); $arrProcedimentoDTO = $atividadeRN->listarPendencias($pesquisaPendenciaDTO); - if($arrProcedimentoDTO){ + if ($arrProcedimentoDTO) { $procedimentoDTO = $arrProcedimentoDTO[0]; $arrAtividadePendenciaDTO = $procedimentoDTO->getArrObjAtividadeDTO(); } } - if($arrAtividadePendenciaDTO){ + if ($arrAtividadePendenciaDTO) { $atividadePendenciaDTO = $arrAtividadePendenciaDTO[0]; - if($atividadePendenciaDTO->getNumTipoVisualizacao() & AtividadeRN::$TV_REMOCAO_SOBRESTAMENTO){ + if ($atividadePendenciaDTO->getNumTipoVisualizacao() & AtividadeRN::$TV_REMOCAO_SOBRESTAMENTO) { $processoRemocaoSobrestamento = 'S'; } - if($atividadePendenciaDTO->getNumTipoVisualizacao() & AtividadeRN::$TV_ATENCAO){ + if ($atividadePendenciaDTO->getNumTipoVisualizacao() & AtividadeRN::$TV_ATENCAO) { $processoDocumentoIncluidoAssinado = 'S'; } - if($atividadePendenciaDTO->getNumTipoVisualizacao() & AtividadeRN::$TV_PUBLICACAO){ + if ($atividadePendenciaDTO->getNumTipoVisualizacao() & AtividadeRN::$TV_PUBLICACAO) { $processoPublicado = 'S'; } $retornoProgramadoDTOConsulta = new RetornoProgramadoDTO(); @@ -399,12 +466,12 @@ class MdWsSeiProcedimentoRN extends InfraRN { $retornoProgramadoDTOConsulta->setNumIdAtividadeRetorno(null); $objRetornoProgramadoRN = new RetornoProgramadoRN(); $arrRetornoProgramadoDTO = $objRetornoProgramadoRN->listar($retornoProgramadoDTOConsulta); - if($arrRetornoProgramadoDTO){ + if ($arrRetornoProgramadoDTO) { $retornoProgramado = 'S'; $strDataAtual = InfraData::getStrDataAtual(); - foreach($arrRetornoProgramadoDTO as $retornoProgramadoDTO){ - $numPrazo = InfraData::compararDatas($strDataAtual,$retornoProgramadoDTO->getDtaProgramada()); - if($numPrazo < 0){ + foreach ($arrRetornoProgramadoDTO as $retornoProgramadoDTO) { + $numPrazo = InfraData::compararDatas($strDataAtual, $retornoProgramadoDTO->getDtaProgramada()); + if ($numPrazo < 0) { $retornoAtrasado = 'S'; $retornoData = array( 'date' => $retornoProgramadoDTO->getDtaProgramada(), @@ -421,10 +488,10 @@ class MdWsSeiProcedimentoRN extends InfraRN { $documentoDTOConsulta->setDblIdProcedimento($protocoloDTO->getDblIdProtocolo()); $documentoDTOConsulta->retDblIdDocumento(); $arrDocumentos = $documentoRN->listarRN0008($documentoDTOConsulta); - if($arrDocumentos){ + if ($arrDocumentos) { $arrIdDocumentos = array(); /** @var DocumentoDTO $documentoDTO */ - foreach($arrDocumentos as $documentoDTO){ + foreach ($arrDocumentos as $documentoDTO) { $arrIdDocumentos[] = $documentoDTO->getDblIdDocumento(); } $publiacaoRN = new PublicacaoRN(); @@ -454,15 +521,15 @@ class MdWsSeiProcedimentoRN extends InfraRN { //$anotacaoDTOConsulta->setNumIdUnidade($protocoloDTO->getNumIdUnidadeGeradora()); $arrAnotacao = $anotacaoRN->listar($anotacaoDTOConsulta); $possuiAnotacao = count($arrAnotacao) ? 'S' : 'N'; - foreach($arrAnotacao as $anotacaoDTO){ - if($anotacaoDTO->getStrSinPrioridade() == 'S'){ + foreach ($arrAnotacao as $anotacaoDTO) { + if ($anotacaoDTO->getStrSinPrioridade() == 'S') { $possuiAnotacaoPrioridade = 'S'; break; } } $resultAnotacao = array(); /** @var AnotacaoDTO $anotacaoDTO */ - foreach($arrAnotacao as $anotacaoDTO){ + foreach ($arrAnotacao as $anotacaoDTO) { $resultAnotacao[] = array( 'idAnotacao' => $anotacaoDTO->getNumIdAnotacao(), 'idProtocolo' => $anotacaoDTO->getDblIdProtocolo(), @@ -474,14 +541,14 @@ class MdWsSeiProcedimentoRN extends InfraRN { 'staAnotacao' => $anotacaoDTO->getStrStaAnotacao() ); } - if($procedimentoDTO && $procedimentoDTO->getStrStaEstadoProtocolo() != ProtocoloRN::$TE_PROCEDIMENTO_ANEXADO){ + if ($procedimentoDTO && $procedimentoDTO->getStrStaEstadoProtocolo() != ProtocoloRN::$TE_PROCEDIMENTO_ANEXADO) { $ret = $this->listarUnidadeAberturaProcedimento($procedimentoDTO); - if(!$ret['sucesso']){ + if (!$ret['sucesso']) { throw new Exception($ret['mensagem']); } $arrDadosAbertura = $ret['data']; } - + $result[] = array( 'id' => $protocoloDTO->getDblIdProtocolo(), 'status' => $protocoloDTO->getStrStaProtocolo(), @@ -526,9 +593,10 @@ class MdWsSeiProcedimentoRN extends InfraRN { return $result; } - - protected function listarUnidadeAberturaProcedimentoConectado(ProcedimentoDTO $procedimentoDTO){ - try{ + + protected function listarUnidadeAberturaProcedimentoConectado(ProcedimentoDTO $procedimentoDTO) + { + try { $result = array(); $atividadeRN = new MdWsSeiAtividadeRN(); $strStaNivelAcessoGlobal = $procedimentoDTO->getStrStaNivelAcessoGlobalProtocolo(); @@ -573,14 +641,14 @@ class MdWsSeiProcedimentoRN extends InfraRN { $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(); - }else{ + } else { if (count($arrAtividadeDTO) == 1) { $atividadeDTO = $arrAtividadeDTO[0]; if ($strStaNivelAcessoGlobal != ProtocoloRN::$NA_SIGILOSO) { @@ -601,7 +669,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { foreach ($arrAtividadeDTO as $atividadeDTO) { $sigla = $atividadeDTO->getStrSiglaUnidade(); if ($atividadeDTO->getNumIdUsuarioAtribuicao() != null) { - $sigla .= ' (atribuído a '.$atividadeDTO->getStrNomeUsuarioAtribuicao().')'; + $sigla .= ' (atribuído a ' . $atividadeDTO->getStrNomeUsuarioAtribuicao() . ')'; } $result['lista'][] = array( 'sigla' => $sigla @@ -610,7 +678,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { } else { $result['info'] = 'Processo aberto com os usuários:'; foreach ($arrAtividadeDTO as $atividadeDTO) { - $sigla = $atividadeDTO->getStrNomeUsuario().' na unidade '.$atividadeDTO->getStrSiglaUnidade(); + $sigla = $atividadeDTO->getStrNomeUsuario() . ' na unidade ' . $atividadeDTO->getStrSiglaUnidade(); $result['lista'][] = array( 'sigla' => $sigla ); @@ -618,9 +686,9 @@ class MdWsSeiProcedimentoRN extends InfraRN { } } } - + return MdWsSeiRest::formataRetornoSucessoREST(null, $result); - }catch (Exception $e){ + } catch (Exception $e) { return MdWsSeiRest::formataRetornoErroREST($e); } } @@ -630,9 +698,10 @@ class MdWsSeiProcedimentoRN extends InfraRN { * @param ProtocoloDTO $protocoloDTOParam * @return array */ - protected function listarCienciaProcessoConectado(ProtocoloDTO $protocoloDTOParam){ - try{ - if(!$protocoloDTOParam->isSetDblIdProtocolo()){ + protected function listarCienciaProcessoConectado(ProtocoloDTO $protocoloDTOParam) + { + try { + if (!$protocoloDTOParam->isSetDblIdProtocolo()) { throw new InfraException('Protocolo não informado.'); } @@ -649,7 +718,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { $atividadeRN = new AtividadeRN(); $ret = $atividadeRN->listarRN0036($atividadeDTOConsulta); /** @var AtividadeDTO $atividadeDTO */ - foreach($ret as $atividadeDTO){ + foreach ($ret as $atividadeDTO) { $mdWsSeiProcessoDTO = new MdWsSeiProcessoDTO(); $mdWsSeiProcessoDTO->setStrTemplate($atividadeDTO->getStrNomeTarefa()); $mdWsSeiProcessoDTO->setNumIdAtividade($atividadeDTO->getNumIdAtividade()); @@ -662,7 +731,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { } return MdWsSeiRest::formataRetornoSucessoREST(null, $result); - }catch (Exception $e){ + } catch (Exception $e) { return MdWsSeiRest::formataRetornoErroREST($e); } } @@ -674,9 +743,10 @@ class MdWsSeiProcedimentoRN extends InfraRN { * @info E obrigatorio informar o id do procedimento * @return array */ - protected function darCienciaControlado(ProcedimentoDTO $procedimentoDTOParam){ - try{ - if(!$procedimentoDTOParam->isSetDblIdProcedimento()){ + protected function darCienciaControlado(ProcedimentoDTO $procedimentoDTOParam) + { + try { + if (!$procedimentoDTOParam->isSetDblIdProcedimento()) { throw new InfraException('E obrigatorio informar o procedimento!'); } @@ -684,7 +754,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { $procedimentoRN->darCiencia($procedimentoDTOParam); return MdWsSeiRest::formataRetornoSucessoREST('Ciência processo realizado com sucesso!'); - }catch (Exception $e){ + } catch (Exception $e) { return MdWsSeiRest::formataRetornoErroREST($e); } } @@ -695,9 +765,10 @@ class MdWsSeiProcedimentoRN extends InfraRN { * @info ele recebe o número do ProtocoloProcedimentoFormatadoPesquisa da tabela protocolo * @return array */ - protected function concluirProcessoControlado(EntradaConcluirProcessoAPI $entradaConcluirProcessoAPI){ - try{ - if(!$entradaConcluirProcessoAPI->getProtocoloProcedimento()){ + protected function concluirProcessoControlado(EntradaConcluirProcessoAPI $entradaConcluirProcessoAPI) + { + try { + if (!$entradaConcluirProcessoAPI->getProtocoloProcedimento()) { throw new InfraException('E obrigtorio informar o protocolo do procedimento!'); } @@ -705,7 +776,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { $objSeiRN->concluirProcesso($entradaConcluirProcessoAPI); return MdWsSeiRest::formataRetornoSucessoREST('Processo concluído com sucesso!'); - }catch (Exception $e){ + } catch (Exception $e) { return MdWsSeiRest::formataRetornoErroREST($e); } } @@ -717,12 +788,13 @@ class MdWsSeiProcedimentoRN extends InfraRN { * recebe o n?mero do ProtocoloProcedimentoFormatadoPesquisa da tabela protocolo * @return array */ - protected function atribuirProcessoControlado(EntradaAtribuirProcessoAPI $entradaAtribuirProcessoAPI){ - try{ - if(!$entradaAtribuirProcessoAPI->getProtocoloProcedimento()){ + protected function atribuirProcessoControlado(EntradaAtribuirProcessoAPI $entradaAtribuirProcessoAPI) + { + try { + if (!$entradaAtribuirProcessoAPI->getProtocoloProcedimento()) { throw new InfraException('E obrigatorio informar o protocolo do processo!'); } - if(!$entradaAtribuirProcessoAPI->getIdUsuario()){ + if (!$entradaAtribuirProcessoAPI->getIdUsuario()) { throw new InfraException('E obrigatorio informar o usu?rio do processo!'); } @@ -730,7 +802,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { $objSeiRN->atribuirProcesso($entradaAtribuirProcessoAPI); return MdWsSeiRest::formataRetornoSucessoREST('Processo atribuído com sucesso!'); - }catch (Exception $e){ + } catch (Exception $e) { return MdWsSeiRest::formataRetornoErroREST($e); } } @@ -740,35 +812,36 @@ class MdWsSeiProcedimentoRN extends InfraRN { * @param array $post * @return EntradaEnviarProcessoAPI */ - public function encapsulaEnviarProcessoEntradaEnviarProcessoAPI(array $post){ + public function encapsulaEnviarProcessoEntradaEnviarProcessoAPI(array $post) + { $entradaEnviarProcessoAPI = new EntradaEnviarProcessoAPI(); - if(isset($post['numeroProcesso'])){ + if (isset($post['numeroProcesso'])) { $entradaEnviarProcessoAPI->setProtocoloProcedimento($post['numeroProcesso']); } - if(isset($post['unidadesDestino'])){ + if (isset($post['unidadesDestino'])) { $entradaEnviarProcessoAPI->setUnidadesDestino(explode(',', $post['unidadesDestino'])); } - if(isset($post['sinManterAbertoUnidade'])){ + if (isset($post['sinManterAbertoUnidade'])) { $entradaEnviarProcessoAPI->setSinManterAbertoUnidade($post['sinManterAbertoUnidade']); } - if(isset($post['sinRemoverAnotacao'])){ + if (isset($post['sinRemoverAnotacao'])) { $entradaEnviarProcessoAPI->setSinRemoverAnotacao($post['sinRemoverAnotacao']); } - if(isset($post['sinEnviarEmailNotificacao'])){ + if (isset($post['sinEnviarEmailNotificacao'])) { $entradaEnviarProcessoAPI->setSinEnviarEmailNotificacao($post['sinEnviarEmailNotificacao']); - }else{ + } else { $entradaEnviarProcessoAPI->setSinEnviarEmailNotificacao('N'); } - if(isset($post['dataRetornoProgramado'])){ + if (isset($post['dataRetornoProgramado'])) { $entradaEnviarProcessoAPI->setDataRetornoProgramado($post['dataRetornoProgramado']); } - if(isset($post['diasRetornoProgramado'])){ + if (isset($post['diasRetornoProgramado'])) { $entradaEnviarProcessoAPI->setDiasRetornoProgramado($post['diasRetornoProgramado']); } - if(isset($post['sinDiasUteisRetornoProgramado'])){ + if (isset($post['sinDiasUteisRetornoProgramado'])) { $entradaEnviarProcessoAPI->setSinDiasUteisRetornoProgramado($post['sinDiasUteisRetornoProgramado']); } - if(isset($post['sinReabrir'])){ + if (isset($post['sinReabrir'])) { $entradaEnviarProcessoAPI->setSinReabrir($post['sinReabrir']); } @@ -781,13 +854,14 @@ class MdWsSeiProcedimentoRN extends InfraRN { * @info Metodo auxiliar para encapsular dados encapsulaEnviarProcessoEntradaEnviarProcessoAPI * @return array */ - protected function enviarProcessoControlado(EntradaEnviarProcessoAPI $entradaEnviarProcessoAPI){ - try{ + protected function enviarProcessoControlado(EntradaEnviarProcessoAPI $entradaEnviarProcessoAPI) + { + try { $objSeiRN = new SeiRN(); $objSeiRN->enviarProcesso($entradaEnviarProcessoAPI); return MdWsSeiRest::formataRetornoSucessoREST('Processo enviado com sucesso!'); - }catch (Exception $e){ + } catch (Exception $e) { return MdWsSeiRest::formataRetornoErroREST($e); } } @@ -798,8 +872,9 @@ class MdWsSeiProcedimentoRN extends InfraRN { * - Se acesso liberado e chamar autenticação for false, o usuário não pode de jeito nenhum visualizar o processo/documento * @return array */ - protected function verificaAcessoConectado(ProtocoloDTO $protocoloDTOParam){ - try{ + protected function verificaAcessoConectado(ProtocoloDTO $protocoloDTOParam) + { + try { $acessoLiberado = false; $chamarAutenticacao = false; $protocoloRN = new ProtocoloRN(); @@ -808,10 +883,10 @@ class MdWsSeiProcedimentoRN extends InfraRN { $protocoloDTO->retStrStaNivelAcessoGlobal(); $protocoloDTO->retDblIdProtocolo(); $protocoloDTO = $protocoloRN->consultarRN0186($protocoloDTO); - if(!$protocoloDTO){ + if (!$protocoloDTO) { throw new Exception('Processo não encontrado!'); } - if($protocoloDTO->getStrStaNivelAcessoGlobal() == ProtocoloRN::$NA_SIGILOSO){ + if ($protocoloDTO->getStrStaNivelAcessoGlobal() == ProtocoloRN::$NA_SIGILOSO) { $objPesquisaProtocoloDTO = new PesquisaProtocoloDTO(); $objPesquisaProtocoloDTO->setStrStaTipo(ProtocoloRN::$TPP_PROCEDIMENTOS); $objPesquisaProtocoloDTO->setStrStaAcesso(ProtocoloRN::$TAP_AUTORIZADO); @@ -819,10 +894,10 @@ class MdWsSeiProcedimentoRN extends InfraRN { $objProtocoloRN = new ProtocoloRN(); $arrProtocoloDTO = $objProtocoloRN->pesquisarRN0967($objPesquisaProtocoloDTO); - if($arrProtocoloDTO){ + if ($arrProtocoloDTO) { $chamarAutenticacao = true; } - }else{ + } else { $acessoLiberado = true; $chamarAutenticacao = false; } @@ -832,7 +907,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { array('acessoLiberado' => $acessoLiberado, 'chamarAutenticacao' => $chamarAutenticacao) ); - }catch (Exception $e){ + } catch (Exception $e) { return MdWsSeiRest::formataRetornoErroREST($e); } } @@ -843,30 +918,249 @@ class MdWsSeiProcedimentoRN extends InfraRN { * @param ProtocoloDTO $protocoloDTO * @return array */ - public function apiIdentificacaoAcesso(UsuarioDTO $usuarioDTO, ProtocoloDTO $protocoloDTO){ - try{ + public function apiIdentificacaoAcesso(UsuarioDTO $usuarioDTO, ProtocoloDTO $protocoloDTO) + { + try { $objInfraSip = new InfraSip(SessaoSEI::getInstance()); $objInfraSip->autenticar(SessaoSEI::getInstance()->getNumIdOrgaoUsuario(), null, SessaoSEI::getInstance()->getStrSiglaUsuario(), $usuarioDTO->getStrSenha()); AuditoriaSEI::getInstance()->auditar('usuario_validar_acesso'); $ret = $this->verificaAcesso($protocoloDTO); - if(!$ret['sucesso']){ + if (!$ret['sucesso']) { return $ret; } $acessoAutorizado = false; - if($ret['data']['acessoLiberado'] || $ret['data']['chamarAutenticacao']){ + if ($ret['data']['acessoLiberado'] || $ret['data']['chamarAutenticacao']) { $acessoAutorizado = true; } return MdWsSeiRest::formataRetornoSucessoREST(null, array('acessoAutorizado' => $acessoAutorizado)); - }catch (InfraException $e){ + } catch (InfraException $e) { $infraValidacaoDTO = $e->getArrObjInfraValidacao()[0]; $eAuth = new Exception($infraValidacaoDTO->getStrDescricao(), $e->getCode(), $e); return MdWsSeiRest::formataRetornoErroREST($eAuth); - }catch (Exception $e){ + } catch (Exception $e) { return MdWsSeiRest::formataRetornoErroREST($e); } } + /** + * Método que consulta os processos no Solar + * @param MdWsSeiPesquisaProtocoloSolrDTO $pesquisaProtocoloSolrDTO + * @return array + */ + protected function pesquisarProcessosSolarConectado(MdWsSeiPesquisaProtocoloSolrDTO $pesquisaProtocoloSolrDTO) + { + try { + $partialfields = ''; + + if ($pesquisaProtocoloSolrDTO->isSetStrDescricao() && $pesquisaProtocoloSolrDTO->getStrDescricao() != null) { + if ($partialfields != '') { + $partialfields .= ' AND '; + } + $partialfields .= '(' . SolrUtil::formatarOperadores($pesquisaProtocoloSolrDTO->getStrDescricao(), 'desc') . ')'; + } + + if ($pesquisaProtocoloSolrDTO->isSetStrObservacao() && $pesquisaProtocoloSolrDTO->getStrObservacao() != null) { + if ($partialfields != '') { + $partialfields .= ' AND '; + } + $partialfields .= '(' . SolrUtil::formatarOperadores($pesquisaProtocoloSolrDTO->getStrObservacao(), 'obs_' . SessaoSEI::getInstance()->getNumIdUnidadeAtual()) . ')'; + } + + //o- verificar lógica do solar + if ($pesquisaProtocoloSolrDTO->isSetDblIdProcedimento() && $pesquisaProtocoloSolrDTO->getDblIdProcedimento() != null) { + if ($partialfields != '') { + $partialfields .= ' AND '; + } + + $objRelProtocoloProtocoloDTO = new RelProtocoloProtocoloDTO(); + $objRelProtocoloProtocoloDTO->retDblIdProtocolo2(); + $objRelProtocoloProtocoloDTO->setStrStaAssociacao(RelProtocoloProtocoloRN::$TA_PROCEDIMENTO_ANEXADO); + $objRelProtocoloProtocoloDTO->setDblIdProtocolo1($pesquisaProtocoloSolrDTO->getDblIdProcedimento()); + + $objRelProtocoloProtocoloRN = new RelProtocoloProtocoloRN(); + $arrIdProcessosAnexados = InfraArray::converterArrInfraDTO($objRelProtocoloProtocoloRN->listarRN0187($objRelProtocoloProtocoloDTO), 'IdProtocolo2'); + + if (count($arrIdProcessosAnexados) == 0) { + $partialfields .= '(id_proc:' . $pesquisaProtocoloSolrDTO->getDblIdProcedimento() . ')'; + } else { + + $strProcessos = 'id_proc:' . $pesquisaProtocoloSolrDTO->getDblIdProcedimento(); + foreach ($arrIdProcessosAnexados as $dblIdProcessoAnexado) { + $strProcessos .= ' OR id_proc:' . $dblIdProcessoAnexado; + } + + $partialfields .= '(' . $strProcessos . ')'; + } + } + + if ($pesquisaProtocoloSolrDTO->isSetStrProtocoloPesquisa() && $pesquisaProtocoloSolrDTO->getStrProtocoloPesquisa() != null) { + if ($partialfields != '') { + $partialfields .= ' AND '; + } + $partialfields .= '(prot_pesq:*' . InfraUtil::retirarFormatacao($pesquisaProtocoloSolrDTO->getStrProtocoloPesquisa(), false) . '*)'; + } + + if ($pesquisaProtocoloSolrDTO->isSetNumIdTipoProcedimento() && $pesquisaProtocoloSolrDTO->getNumIdTipoProcedimento() != null) { + if ($partialfields != '') { + $partialfields .= ' AND '; + } + $partialfields .= '(id_tipo_proc:' . $pesquisaProtocoloSolrDTO->getNumIdTipoProcedimento() . ')'; + } + + if ($pesquisaProtocoloSolrDTO->isSetNumIdSerie() && $pesquisaProtocoloSolrDTO->getNumIdSerie() != null) { + if ($partialfields != '') { + $partialfields .= ' AND '; + } + $partialfields .= '(id_serie:' . $pesquisaProtocoloSolrDTO->getNumIdSerie() . ')'; + } + + if ($pesquisaProtocoloSolrDTO->isSetStrNumero() && $pesquisaProtocoloSolrDTO->getStrNumero() != null) { + if ($partialfields != '') { + $partialfields .= ' AND '; + } + $partialfields .= '(numero:*' . $pesquisaProtocoloSolrDTO->getStrNumero() . '*)'; + } + + $dtaInicio = null; + $dtaFim = null; + if($pesquisaProtocoloSolrDTO->isSetStrStaTipoData()){ + if ($pesquisaProtocoloSolrDTO->getStrStaTipoData() == '0') { + $dtaInicio = $pesquisaProtocoloSolrDTO->getDtaInicio(); + $dtaFim = $pesquisaProtocoloSolrDTO->getDtaFim(); + } else if ($pesquisaProtocoloSolrDTO->getStrStaTipoData() == '30') { + $dtaInicio = InfraData::calcularData(30, InfraData::$UNIDADE_DIAS, InfraData::$SENTIDO_ATRAS); + $dtaFim = InfraData::getStrDataAtual(); + } else if ($pesquisaProtocoloSolrDTO->getStrStaTipoData() == '60') { + $dtaInicio = InfraData::calcularData(60, InfraData::$UNIDADE_DIAS, InfraData::$SENTIDO_ATRAS); + $dtaFim = InfraData::getStrDataAtual(); + } + } + + if ($dtaInicio != null && $dtaFim != null) { + $dia1 = substr($dtaInicio, 0, 2); + $mes1 = substr($dtaInicio, 3, 2); + $ano1 = substr($dtaInicio, 6, 4); + + $dia2 = substr($dtaFim, 0, 2); + $mes2 = substr($dtaFim, 3, 2); + $ano2 = substr($dtaFim, 6, 4); + + if ($partialfields != '') { + $partialfields .= ' AND '; + } + + $partialfields .= 'dta_ger:[' . $ano1 . '-' . $mes1 . '-' . $dia1 . 'T00:00:00Z TO ' . $ano2 . '-' . $mes2 . '-' . $dia2 . 'T00:00:00Z]'; + } + + $objUnidadeDTO = new UnidadeDTO(); + $objUnidadeDTO->setBolExclusaoLogica(false); + $objUnidadeDTO->retStrSinProtocolo(); + $objUnidadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); + + $objUnidadeRN = new UnidadeRN(); + $objUnidadeDTOAtual = $objUnidadeRN->consultarRN0125($objUnidadeDTO); + + if ($objUnidadeDTOAtual->getStrSinProtocolo() == 'N') { + + if ($partialfields != '') { + $partialfields .= ' AND '; + } + + $partialfields .= '(tipo_aces:P OR id_uni_aces:*;' . SessaoSEI::getInstance()->getNumIdUnidadeAtual() . ';*)'; + } + + if($pesquisaProtocoloSolrDTO->isSetNumIdGrupoAcompanhamentoProcedimento() && $pesquisaProtocoloSolrDTO->getNumIdGrupoAcompanhamentoProcedimento()) { + $protocoloRN = new ProtocoloRN(); + $mdWsSeiProtocoloDTO = new MdWsSeiProtocoloDTO(); + $mdWsSeiProtocoloDTO->setNumIdGrupoAcompanhamentoProcedimento($pesquisaProtocoloSolrDTO->getNumIdGrupoAcompanhamentoProcedimento()); + $mdWsSeiProtocoloDTO->retDblIdProtocolo(); + + $ret = $protocoloRN->listarRN0668($mdWsSeiProtocoloDTO); + if(!$ret){ + return MdWsSeiRest::formataRetornoSucessoREST(null, array(), 0); + } + if ($partialfields != '') { + $partialfields .= ' AND '; + } + $arrIdProcessosAcompanhamento = array(); + /** @var ProtocoloDTO $protocoloDTO */ + foreach($ret as $protocoloDTO){ + $arrIdProcessosAcompanhamento[] = 'id_proc:' . $protocoloDTO->getDblIdProtocolo(); + } + $partialfields .= '(' . implode(' OR ', $arrIdProcessosAcompanhamento) . ')'; + } + + $parametros = new stdClass(); + if($pesquisaProtocoloSolrDTO->isSetStrPalavrasChave()){ + $parametros->q = SolrUtil::formatarOperadores($pesquisaProtocoloSolrDTO->getStrPalavrasChave()); + } + + if ($parametros->q != '' && $partialfields != '') { + $parametros->q = '(' . $parametros->q . ') AND ' . $partialfields; + } else if ($partialfields != '') { + $parametros->q = $partialfields; + } + + $parametros->q = utf8_encode($parametros->q); + $start = 0; + $limit = 100; + if($pesquisaProtocoloSolrDTO->getNumPaginaAtual()){ + $start = $pesquisaProtocoloSolrDTO->getNumPaginaAtual(); + } + if($pesquisaProtocoloSolrDTO->getNumMaxRegistrosRetorno()){ + $limit = $pesquisaProtocoloSolrDTO->getNumMaxRegistrosRetorno(); + } + $parametros->start = $start; + $parametros->rows = $limit; + $parametros->sort = 'dta_ger desc, id_prot desc'; + + $urlBusca = ConfiguracaoSEI::getInstance()->getValor('Solr', 'Servidor') . '/' . ConfiguracaoSEI::getInstance()->getValor('Solr', 'CoreProtocolos') . '/select?' . http_build_query($parametros) . '&hl=true&hl.snippets=2&hl.fl=content&hl.fragsize=100&hl.maxAnalyzedChars=1048576&hl.alternateField=content&hl.maxAlternateFieldLength=100&fl=id,id_proc,id_doc,id_tipo_proc,id_serie,id_anexo,id_uni_ger,prot_doc,prot_proc,numero,id_usu_ger,dta_ger'; + + try { + $resultados = file_get_contents($urlBusca, false); + } catch (Exception $e) { + throw new InfraException('Erro realizando pesquisa no Solar.', $e, urldecode($urlBusca), false); + } + + if ($resultados == '') { + throw new InfraException('Nenhum retorno encontrado no resultado da pesquisa do Solar, verificar indexação.'); + } + + $xml = simplexml_load_string($resultados); + $arrRet = $xml->xpath('/response/result/@numFound'); + $total = array_shift($arrRet)->__toString(); + $arrIdProcessos = array(); + $registros = $xml->xpath('/response/result/doc'); + $numRegistros = sizeof($registros); + + for ($i = 0; $i < $numRegistros; $i++) { + $arrIdProcessos[] = SolrUtil::obterTag($registros[$i], 'id_proc', 'long'); + } + + $protocoloRN = new ProtocoloRN(); + $protocoloDTO = new MdWsSeiProtocoloDTO(); + $protocoloDTO->setDblIdProtocolo($arrIdProcessos, InfraDTO::$OPER_IN); + $protocoloDTO->retDblIdProtocolo(); + $protocoloDTO->retNumIdUnidadeGeradora(); + $protocoloDTO->retStrStaProtocolo(); + $protocoloDTO->retStrProtocoloFormatado(); + $protocoloDTO->retStrNomeTipoProcedimentoProcedimento(); + $protocoloDTO->retStrDescricao(); + $protocoloDTO->retStrSiglaUnidadeGeradora(); + $protocoloDTO->retStrStaGrauSigilo(); + $protocoloDTO->retStrStaNivelAcessoLocal(); + $protocoloDTO->retStrStaNivelAcessoGlobal(); + $protocoloDTO->retStrSinCienciaProcedimento(); + $protocoloDTO->retStrStaEstado(); + $arrProtocoloDTO = $protocoloRN->listarRN0668($protocoloDTO); + $result = $this->montaRetornoListagemProcessos($arrProtocoloDTO, null); + + return MdWsSeiRest::formataRetornoSucessoREST(null, $result, $total); + } catch (Exception $e) { + + } + } } \ No newline at end of file diff --git a/teste.php b/teste.php index e8bb78e..a0f5944 100644 --- a/teste.php +++ b/teste.php @@ -10,7 +10,7 @@ ini_set('xdebug.var_display_max_data', 2048); echo ''; $b = new MdWsSeiUsuarioRN(); -$token = $b->tokenEncode('teste2', 'teste2'); +$token = $b->tokenEncode('teste', 'teste'); echo 'Token: '; echo $token; echo '
'; -- libgit2 0.21.2