From 877982cd2e21f3c810c0ea6c942df0e9f3d97d64 Mon Sep 17 00:00:00 2001 From: eduardo.batista Date: Sun, 19 Mar 2017 17:29:31 -0300 Subject: [PATCH] [FEAT] Implementando mais serviços. --- controlador_ws.php | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- dto/MdWsSeiProtocoloDTO.php | 2 +- rn/MdWsSeiAssinanteRN.php | 39 ++++++++++++++++++++++++++------------- rn/MdWsSeiGrupoAcompanhamentoRN.php | 40 +++++++++++++++++++++++----------------- rn/MdWsSeiProcedimentoRN.php | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- teste.php | 18 ++++++++++++++++++ 6 files changed, 216 insertions(+), 37 deletions(-) diff --git a/controlador_ws.php b/controlador_ws.php index 77e259b..8dbef67 100644 --- a/controlador_ws.php +++ b/controlador_ws.php @@ -159,12 +159,12 @@ $app->group('/api/v1',function(){ $request->getParam('usuario') )); }); - $this->get('/listar', function($request, $response, $args){ + $this->get('/listar/{procedimento}', function($request, $response, $args){ /** @var $request Slim\Http\Request */ $rn = new MdWsSeiDocumentoRN(); $dto = new DocumentoDTO(); - if($request->getParam('procedimento')){ - $dto->setDblIdProcedimento($request->getParam('procedimento')); + if($request->getAttribute('route')->getArgument('procedimento')){ + $dto->setDblIdProcedimento($request->getAttribute('route')->getArgument('procedimento')); } if($request->getParam('limit')){ $dto->setNumMaxRegistrosRetorno($request->getParam('limit')); @@ -216,6 +216,15 @@ $app->group('/api/v1',function(){ $dto->setMotivo($request->getParam('motivo')); return $response->withJSON($rn->sobrestamentoProcesso($dto)); }); + $this->post('/{procedimento}/ciencia', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiProcedimentoRN(); + $dto = new ProcedimentoDTO(); + if($request->getAttribute('route')->getArgument('procedimento')){ + $dto->setDblIdProcedimento($request->getAttribute('route')->getArgument('procedimento')); + } + return $response->withJSON($rn->darCiencia($dto)); + }); $this->get('/listar/sobrestamento/{protocolo}', function($request, $response, $args){ /** @var $request Slim\Http\Request */ $rn = new MdWsSeiProcedimentoRN(); @@ -261,6 +270,25 @@ $app->group('/api/v1',function(){ return $response->withJSON($rn->listarProcessos($dto)); }); + $this->get('/pesquisar', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiProcedimentoRN(); + $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)); + }); + })->add( new TokenValidationMiddleware()); /** @@ -284,5 +312,62 @@ $app->group('/api/v1',function(){ }); })->add( new TokenValidationMiddleware()); + + /** + * Grupo de controlador de Assinante + */ + $this->group('/assinante', function(){ + $this->get('/listar/{unidade}', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiAssinanteRN(); + $dto = new AssinanteDTO(); + if($request->getAttribute('route')->getArgument('unidade')){ + $dto->setNumIdUnidade($request->getAttribute('route')->getArgument('unidade')); + } + if($request->getParam('limit')){ + $dto->setNumMaxRegistrosRetorno($request->getParam('limit')); + } + if(!is_null($request->getParam('start'))){ + $dto->setNumPaginaAtual($request->getParam('start')); + } + return $response->withJSON($rn->listarAssinante($dto)); + }); + + })->add( new TokenValidationMiddleware()); + + /** + * Grupo de controlador de Grupo de Acompanhamento + */ + $this->group('/grupoacompanhamento', function(){ + $this->get('/listar/{unidade}', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiGrupoAcompanhamentoRN(); + $dto = new GrupoAcompanhamentoDTO(); + if($request->getAttribute('route')->getArgument('unidade')){ + $dto->setNumIdUnidade($request->getAttribute('route')->getArgument('unidade')); + } + if($request->getParam('limit')){ + $dto->setNumMaxRegistrosRetorno($request->getParam('limit')); + } + if(!is_null($request->getParam('start'))){ + $dto->setNumPaginaAtual($request->getParam('start')); + } + return $response->withJSON($rn->listarGrupoAcompanhamento($dto)); + }); + + })->add( new TokenValidationMiddleware()); + + /** + * Grupo de controlador de Observação + */ + $this->group('/observacao', function(){ + $this->post('/', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiObservacaoRN(); + $dto = $rn->encapsulaObservacao($request->getParams()); + return $response->withJSON($rn->criarObservacao($dto)); + }); + + })->add( new TokenValidationMiddleware()); }); $app->run(); diff --git a/dto/MdWsSeiProtocoloDTO.php b/dto/MdWsSeiProtocoloDTO.php index 958d6a8..82a9731 100644 --- a/dto/MdWsSeiProtocoloDTO.php +++ b/dto/MdWsSeiProtocoloDTO.php @@ -8,7 +8,7 @@ class MdWsSeiProtocoloDTO extends ProtocoloDTO{ parent::montar(); $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_NUM, - 'idGrupoAcompanhamentoProcedimento', + 'IdGrupoAcompanhamentoProcedimento', 'id_grupo_acompanhamento', 'acompanhamento'); diff --git a/rn/MdWsSeiAssinanteRN.php b/rn/MdWsSeiAssinanteRN.php index 320d97c..68260a6 100644 --- a/rn/MdWsSeiAssinanteRN.php +++ b/rn/MdWsSeiAssinanteRN.php @@ -10,28 +10,41 @@ class MdWsSeiAssinanteRN extends InfraRN { /** * Retorna todas as funcoes/cargos cadastrados * @param AssinanteDTO $assinanteDTO - * @info Para retornar a consulta paginada e necessario passar dentro do DTO os parametros: - * - setNumMaxRegistrosRetorno - maximo de registros por pagina (limit) - * - setNumPaginaAtual - pagina atual (offset) * @return array */ - protected function listarAssinanteConectado(AssinanteDTO $assinanteDTO){ + protected function listarAssinanteConectado(AssinanteDTO $assinanteDTOParam){ try{ $result = array(); - $assinanteDTO->retNumIdAssinante(); - $assinanteDTO->retStrCargoFuncao(); - $assinanteDTO->setOrdStrCargoFuncao(InfraDTO::$TIPO_ORDENACAO_ASC); + $assinanteDTOConsulta = new AssinanteDTO(); + if(!$assinanteDTOParam->isSetNumIdUnidade()){ + $assinanteDTOConsulta->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); + }else{ + $assinanteDTOConsulta->setNumIdUnidade($assinanteDTOParam->getNumIdUnidade()); + } + if($assinanteDTOParam->getNumMaxRegistrosRetorno()){ + $assinanteDTOConsulta->setNumMaxRegistrosRetorno($assinanteDTOParam->getNumMaxRegistrosRetorno()); + }else{ + $assinanteDTOConsulta->setNumMaxRegistrosRetorno(10); + } + if(!is_null($assinanteDTOParam->getNumPaginaAtual())){ + $assinanteDTOConsulta->setNumPaginaAtual($assinanteDTOParam->getNumPaginaAtual()); + }else{ + $assinanteDTOConsulta->setNumPaginaAtual(0); + } + $assinanteDTOConsulta->retNumIdAssinante(); + $assinanteDTOConsulta->retStrCargoFuncao(); + $assinanteDTOConsulta->setOrdStrCargoFuncao(InfraDTO::$TIPO_ORDENACAO_ASC); $assinanteRN = new AssinanteRN(); - $ret = $assinanteRN->pesquisar($assinanteDTO); - /** @var AssinanteDTO $assinDTO */ - foreach($ret as $assinDTO){ + $ret = $assinanteRN->pesquisar($assinanteDTOConsulta); + /** @var AssinanteDTO $assinanteDTO */ + foreach($ret as $assinanteDTO){ $result[] = array( - 'id' => $assinDTO->getNumIdAssinante(), - 'nome' => $assinDTO->getStrCargoFuncao(), + 'id' => $assinanteDTO->getNumIdAssinante(), + 'nome' => $assinanteDTO->getStrCargoFuncao(), ); } - return MdWsSeiRest::formataRetornoSucessoREST(null, $result, $assinanteDTO->getNumTotalRegistros()); + return MdWsSeiRest::formataRetornoSucessoREST(null, $result, $assinanteDTOConsulta->getNumTotalRegistros()); }catch (Exception $e){ return MdWsSeiRest::formataRetornoErroREST($e); } diff --git a/rn/MdWsSeiGrupoAcompanhamentoRN.php b/rn/MdWsSeiGrupoAcompanhamentoRN.php index 6162f83..daabf30 100644 --- a/rn/MdWsSeiGrupoAcompanhamentoRN.php +++ b/rn/MdWsSeiGrupoAcompanhamentoRN.php @@ -9,35 +9,41 @@ class MdWsSeiGrupoAcompanhamentoRN extends InfraRN { /** * Retorna todos os grupos de acompanhamento - * @param OrgaoDTO $orgaoDTO - * @info para paginacao e necessario informar dentro do DTO os parametros abaixo: - * - setNumMaxRegistrosRetorno - * - setNumPaginaAtual + * @param GrupoAcompanhamentoDTO $grupoAcompanhamentoDTOParam * @return array */ - protected function listarGrupoAcompanhamentoConectado(GrupoAcompanhamentoDTO $grupoAcompanhamentoDTO){ + protected function listarGrupoAcompanhamentoConectado(GrupoAcompanhamentoDTO $grupoAcompanhamentoDTOParam){ try{ $result = array(); + $grupoAcompanhamentoDTOConsulta = new GrupoAcompanhamentoDTO(); $grupoAcompanhamentoRN = new GrupoAcompanhamentoRN(); - if(!$grupoAcompanhamentoDTO->isRetNumIdGrupoAcompanhamento()){ - $grupoAcompanhamentoDTO->retNumIdGrupoAcompanhamento(); + $grupoAcompanhamentoDTOConsulta->retNumIdGrupoAcompanhamento(); + $grupoAcompanhamentoDTOConsulta->retStrNome(); + if(!$grupoAcompanhamentoDTOParam->isSetNumIdUnidade()){ + $grupoAcompanhamentoDTOConsulta->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); + }else{ + $grupoAcompanhamentoDTOConsulta->setNumIdUnidade($grupoAcompanhamentoDTOParam->getNumIdUnidade()); } - if(!$grupoAcompanhamentoDTO->isRetStrNome()){ - $grupoAcompanhamentoDTO->retStrNome(); + if($grupoAcompanhamentoDTOParam->getNumMaxRegistrosRetorno()){ + $grupoAcompanhamentoDTOConsulta->setNumMaxRegistrosRetorno($grupoAcompanhamentoDTOParam->getNumMaxRegistrosRetorno()); + }else{ + $grupoAcompanhamentoDTOConsulta->setNumMaxRegistrosRetorno(10); } - if(!$grupoAcompanhamentoDTO->isSetNumIdUnidade()){ - $grupoAcompanhamentoDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); + if(!is_null($grupoAcompanhamentoDTOParam->getNumPaginaAtual())){ + $grupoAcompanhamentoDTOConsulta->setNumPaginaAtual($grupoAcompanhamentoDTOParam->getNumPaginaAtual()); + }else{ + $grupoAcompanhamentoDTOConsulta->setNumPaginaAtual(0); } - $ret = $grupoAcompanhamentoRN->listar($grupoAcompanhamentoDTO); - /** @var GrupoAcompanhamentoDTO $grupDTO */ - foreach($ret as $grupDTO){ + $ret = $grupoAcompanhamentoRN->listar($grupoAcompanhamentoDTOConsulta); + /** @var GrupoAcompanhamentoDTO $grupoAcompanhamentoDTO */ + foreach($ret as $grupoAcompanhamentoDTO){ $result[] = array( - 'id' => $grupDTO->getNumIdGrupoAcompanhamento(), - 'nome' => $grupDTO->getStrNome() + 'id' => $grupoAcompanhamentoDTO->getNumIdGrupoAcompanhamento(), + 'nome' => $grupoAcompanhamentoDTO->getStrNome() ); } - return MdWsSeiRest::formataRetornoSucessoREST(null, $result, $grupoAcompanhamentoDTO->getNumTotalRegistros()); + return MdWsSeiRest::formataRetornoSucessoREST(null, $result, $grupoAcompanhamentoDTOConsulta->getNumTotalRegistros()); }catch (Exception $e){ return MdWsSeiRest::formataRetornoErroREST($e); } diff --git a/rn/MdWsSeiProcedimentoRN.php b/rn/MdWsSeiProcedimentoRN.php index ae9ea6d..8528f34 100644 --- a/rn/MdWsSeiProcedimentoRN.php +++ b/rn/MdWsSeiProcedimentoRN.php @@ -121,6 +121,11 @@ class MdWsSeiProcedimentoRN extends InfraRN { } } + /** + * Método que retorna os procedimentos com acompanhamento + * @param MdWsSeiProtocoloDTO $mdWsSeiProtocoloDTOConsulta + * @return array + */ protected function listarProcedimentoAcompanhamentoConectado(MdWsSeiProtocoloDTO $mdWsSeiProtocoloDTOConsulta) { try{ $usuarioAtribuicaoAtividade = null; @@ -161,6 +166,58 @@ class MdWsSeiProcedimentoRN extends InfraRN { } /** + * Método que retorna os procedimentos com acompanhamento com filtro opcional de grupo de acompanhamento e protocolo + * formatado + * @param MdWsSeiProtocoloDTO $mdWsSeiProtocoloDTOParam + * @return array + */ + protected function pesquisarProcedimentoConectado(MdWsSeiProtocoloDTO $mdWsSeiProtocoloDTOParam) { + try{ + $usuarioAtribuicaoAtividade = null; + $mdWsSeiProtocoloDTOConsulta = new MdWsSeiProtocoloDTO(); + $mdWsSeiProtocoloDTOConsulta->retDblIdProtocolo(); + $mdWsSeiProtocoloDTOConsulta->retTodos(); + $mdWsSeiProtocoloDTOConsulta->retStrNomeTipoProcedimentoProcedimento(); + $mdWsSeiProtocoloDTOConsulta->retStrSiglaUnidadeGeradora(); + $mdWsSeiProtocoloDTOConsulta->retStrSinCienciaProcedimento(); + + if($mdWsSeiProtocoloDTOParam->isSetNumIdGrupoAcompanhamentoProcedimento()){ + $mdWsSeiProtocoloDTOConsulta->setNumIdGrupoAcompanhamentoProcedimento( + $mdWsSeiProtocoloDTOParam->isSetNumIdGrupoAcompanhamentoProcedimento() + ); + } + if($mdWsSeiProtocoloDTOParam->isSetStrProtocoloFormatadoPesquisa()){ + $strProtocoloFormatado = InfraUtil::retirarFormatacao( + $mdWsSeiProtocoloDTOParam->getStrProtocoloFormatadoPesquisa(), false + ); + $mdWsSeiProtocoloDTOConsulta->setStrProtocoloFormatadoPesquisa( + '%'.$strProtocoloFormatado.'%', + InfraDTO::$OPER_LIKE + ); + } + + if(is_null($mdWsSeiProtocoloDTOParam->getNumPaginaAtual())){ + $mdWsSeiProtocoloDTOConsulta->setNumPaginaAtual(0); + }else{ + $mdWsSeiProtocoloDTOConsulta->setNumPaginaAtual($mdWsSeiProtocoloDTOParam->getNumPaginaAtual()); + } + + if(!$mdWsSeiProtocoloDTOParam->isSetNumMaxRegistrosRetorno()){ + $mdWsSeiProtocoloDTOConsulta->setNumMaxRegistrosRetorno(10); + }else{ + $mdWsSeiProtocoloDTOConsulta->setNumMaxRegistrosRetorno($mdWsSeiProtocoloDTOParam->getNumMaxRegistrosRetorno()); + } + $protocoloRN = new ProtocoloRN(); + $ret = $protocoloRN->listarRN0668($mdWsSeiProtocoloDTOConsulta); + $result = $this->montaRetornoListagemProcessos($ret, $usuarioAtribuicaoAtividade); + + return MdWsSeiRest::formataRetornoSucessoREST(null, $result, $mdWsSeiProtocoloDTOConsulta->getNumTotalRegistros()); + }catch (Exception $e){ + return MdWsSeiRest::formataRetornoErroREST($e); + } + } + + /** * Metodo que lista os processos * @param MdWsSeiProtocoloDTO $mdWsSeiProtocoloDTO * @return array @@ -439,14 +496,14 @@ class MdWsSeiProcedimentoRN extends InfraRN { * @info E obrigatorio informar o id do procedimento * @return array */ - protected function darCienciaControlado(ProcedimentoDTO $procedimentoDTO){ + protected function darCienciaControlado(ProcedimentoDTO $procedimentoDTOParam){ try{ - if(!$procedimentoDTO->isSetDblIdProcedimento()){ + if(!$procedimentoDTOParam->isSetDblIdProcedimento()){ throw new InfraException('E obrigatorio informar o procedimento!'); } $procedimentoRN = new ProcedimentoRN(); - $procedimentoRN->darCiencia($procedimentoDTO); + $procedimentoRN->darCiencia($procedimentoDTOParam); return MdWsSeiRest::formataRetornoSucessoREST('Ciência processo realizado com sucesso!'); }catch (Exception $e){ diff --git a/teste.php b/teste.php index 681962c..4d013d5 100644 --- a/teste.php +++ b/teste.php @@ -157,6 +157,24 @@ class TesteProcedimento { var_dump($rn->listarProcessos($dto)); } + public function pesquisarProcedimentoConectado(){ + $rn = new MdWsSeiProcedimentoRN(); + $dto = new MdWsSeiProtocoloDTO(); + $dto->setNumIdGrupoAcompanhamentoProcedimento(1); + $dto->setStrProtocoloFormatadoPesquisa('000001'); + $dto->setNumPaginaAtual(0); + $dto->setNumMaxRegistrosRetorno(10); + + var_dump($rn->pesquisarProcedimento($dto)); + } + + public function darCienciaControlado(){ + $rn = new MdWsSeiProcedimentoRN(); + $dto = new ProcedimentoDTO(); + $dto->setDblIdProcedimento(1); + var_dump($rn->darCiencia($dto)); + } + //o----- public function concluirProcessoControlado(){ -- libgit2 0.21.2