From a2d67f415032664c709c8b3cfae7b8203366420b Mon Sep 17 00:00:00 2001 From: eduardo.batista Date: Tue, 21 Mar 2017 14:14:32 -0300 Subject: [PATCH] [FEAT] Subindo novos serviços; --- controlador_ws.php | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ rn/MdWsSeiAcompanhamentoRN.php | 22 ++++++++-------------- rn/MdWsSeiDocumentoRN.php | 26 ++++++++++++++------------ rn/MdWsSeiProcedimentoRN.php | 8 +++++--- rn/MdWsSeiRetornoProgramadoRN.php | 2 ++ rn/MdWsSeiUnidadeRN.php | 22 +++++++++++++++++++--- rn/MdWsSeiUsuarioRN.php | 14 ++++++++++++++ teste.php | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------ 8 files changed, 211 insertions(+), 62 deletions(-) diff --git a/controlador_ws.php b/controlador_ws.php index 8dbef67..4896bf8 100644 --- a/controlador_ws.php +++ b/controlador_ws.php @@ -63,6 +63,40 @@ $app->group('/api/v1',function(){ }); /** + * Grupo de controlador de Usuário + */ + $this->group('/usuario', function(){ + $this->post('/alterar/unidade', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiUsuarioRN(); + return $response->withJSON($rn->alterarUnidadeAtual($request->getParam('unidade'))); + }); + + })->add( new TokenValidationMiddleware()); + + /** + * Grupo de controlador de Unidades + */ + $this->group('/unidade', function(){ + $this->get('/pesquisar', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiUnidadeRN(); + $dto = new UnidadeDTO(); + if($request->getParam('limit')){ + $dto->setNumMaxRegistrosRetorno($request->getParam('limit')); + } + if(!is_null($request->getParam('start'))){ + $dto->setNumPaginaAtual($request->getParam('start')); + } + if($request->getParam('filter')){ + $dto->setStrSigla($request->getParam('filter')); + } + return $response->withJSON($rn->pesquisarUnidade($dto)); + }); + + })->add( new TokenValidationMiddleware()); + + /** * Grupo de controlador de anotacao */ $this->group('/anotacao', function(){ @@ -176,6 +210,15 @@ $app->group('/api/v1',function(){ } return $response->withJSON($rn->listarDocumentosProcesso($dto)); }); + $this->get('/baixar/anexo/{protocolo}', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiDocumentoRN(); + $dto = new ProtocoloDTO(); + if($request->getAttribute('route')->getArgument('protocolo')){ + $dto->setDblIdProtocolo($request->getAttribute('route')->getArgument('protocolo')); + } + return $response->withJSON($rn->downloadAnexo($dto)); + }); })->add( new TokenValidationMiddleware()); @@ -289,6 +332,48 @@ $app->group('/api/v1',function(){ return $response->withJSON($rn->pesquisarProcedimento($dto)); }); + /** + * Método que envia o processo + * Parametros={ + * {"name"="numeroProcesso", "dataType"="integer", "required"=true, "description"="Número do processo visível para o usuário, ex: 12.1.000000077-4"}, + * {"name"="unidadesDestino", "dataType"="integer", "required"=true, "description"="Identificar do usuário que receberá a atribuição."}, + * {"name"="sinManterAbertoUnidade", "dataType"="integer", "required"=true, "description"="S/N - sinalizador indica se o processo deve ser mantido aberto na unidade de origem"}, + * {"name"="sinRemoverAnotacao", "dataType"="integer", "required"=true, "description"="S/N - sinalizador indicando se deve ser removida anotação do processo"}, + * {"name"="sinEnviarEmailNotificacao", "dataType"="integer", "required"=true, "description"="S/N - sinalizador indicando se deve ser enviado email de aviso para as unidades destinatárias"}, + * {"name"="dataRetornoProgramado", "dataType"="integer", "required"=true, "description"="Data para definição de Retorno Programado (passar nulo se não for desejado)"}, + * {"name"="diasRetornoProgramado", "dataType"="integer", "required"=true, "description"="Número de dias para o Retorno Programado (valor padrão nulo)"}, + * {"name"="sinDiasUteisRetornoProgramado", "dataType"="integer", "required"=true, "description"="S/N - sinalizador indica se o valor passado no parâmetro"}, + * {"name"="sinReabrir", "dataType"="integer", "required"=false, "description"="S/N - sinalizador indica se deseja reabrir o processo na unidade atual"} + * } + */ + $this->post('/enviar', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiProcedimentoRN(); + $dto = $rn->encapsulaEnviarProcessoEntradaEnviarProcessoAPI($request->getParams()); + return $response->withJSON($rn->enviarProcesso($dto)); + }); + $this->post('/concluir', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiProcedimentoRN(); + $dto = new EntradaConcluirProcessoAPI(); + if($request->getParam('numeroProcesso')){ + $dto->setProtocoloProcedimento($request->getParam('numeroProcesso')); + } + return $response->withJSON($rn->concluirProcesso($dto)); + }); + $this->post('/acompanhar', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiAcompanhamentoRN(); + $dto = $rn->encapsulaAcompanhamento($request->getParams()); + return $response->withJSON($rn->cadastrarAcompanhamento($dto)); + }); + $this->post('/agendar/retorno/programado', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiRetornoProgramadoRN(); + $dto = $rn->encapsulaRetornoProgramado($request->getParams()); + return $response->withJSON($rn->agendarRetornoProgramado($dto)); + }); + })->add( new TokenValidationMiddleware()); /** diff --git a/rn/MdWsSeiAcompanhamentoRN.php b/rn/MdWsSeiAcompanhamentoRN.php index 454bd55..7072de8 100644 --- a/rn/MdWsSeiAcompanhamentoRN.php +++ b/rn/MdWsSeiAcompanhamentoRN.php @@ -15,6 +15,8 @@ class MdWsSeiAcompanhamentoRN extends InfraRN { } if (isset($post['unidade'])){ $acompanhamentoDTO->setNumIdUnidade($post['unidade']); + }else{ + $acompanhamentoDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); } if (isset($post['grupo'])){ @@ -22,10 +24,15 @@ class MdWsSeiAcompanhamentoRN extends InfraRN { } if (isset($post['usuario'])){ $acompanhamentoDTO->setNumIdUsuarioGerador($post['usuario']); + }else{ + $acompanhamentoDTO->setNumIdUsuarioGerador(SessaoSEI::getInstance()->getNumIdUsuario()); } - if (isset($post['observacao'])){ + if (isset($post['observacao'])){ $acompanhamentoDTO->setStrObservacao($post['observacao']); } + $acompanhamentoDTO->setDthGeracao(InfraData::getStrDataHoraAtual()); + $acompanhamentoDTO->setNumTipoVisualizacao(AtividadeRN::$TV_VISUALIZADO); + $acompanhamentoDTO->setNumIdAcompanhamento(null); return $acompanhamentoDTO; @@ -34,20 +41,7 @@ class MdWsSeiAcompanhamentoRN extends InfraRN { protected function cadastrarAcompanhamentoControlado(AcompanhamentoDTO $acompanhamentoDTO){ try{ $acompanhamentoRN = new AcompanhamentoRN(); - $acompanhamentoDTO->setDthGeracao(InfraData::getStrDataHoraAtual()); - $pesquisaDTO = new AcompanhamentoDTO(); - $pesquisaDTO->setOrdNumIdAcompanhamento(InfraDTO::$TIPO_ORDENACAO_DESC); - $pesquisaDTO->setNumMaxRegistrosRetorno(1); - $pesquisaDTO->retNumIdAcompanhamento(); - $result = $acompanhamentoRN->listar($pesquisaDTO); - $numIdAcompanhamento = 1; - if(!empty($result)){ - $pesquisaDTO = end($result); - $numIdAcompanhamento = $pesquisaDTO->getNumIdAcompanhamento()+1; - } - $acompanhamentoDTO->setNumIdAcompanhamento($numIdAcompanhamento); $acompanhamentoRN->cadastrar($acompanhamentoDTO); - return MdWsSeiRest::formataRetornoSucessoREST('Acompanhamento realizado com sucesso!'); }catch (Exception $e){ return MdWsSeiRest::formataRetornoErroREST($e); diff --git a/rn/MdWsSeiDocumentoRN.php b/rn/MdWsSeiDocumentoRN.php index 6b06a20..502bbc9 100644 --- a/rn/MdWsSeiDocumentoRN.php +++ b/rn/MdWsSeiDocumentoRN.php @@ -219,23 +219,24 @@ class MdWsSeiDocumentoRN extends InfraRN { } } - protected function downloadAnexoConectado(ProtocoloDTO $protocoloDTO){ + protected function downloadAnexoConectado(ProtocoloDTO $protocoloDTOParam){ try{ - if(!$protocoloDTO->isSetDblIdProtocolo() || !$protocoloDTO->getDblIdProtocolo()){ + if(!$protocoloDTOParam->isSetDblIdProtocolo() || !$protocoloDTOParam->getDblIdProtocolo()){ throw new InfraException('O protocolo deve ser informado!'); } - $documentoDTO = new DocumentoDTO(); - $documentoDTO->setDblIdProtocoloProtocolo($protocoloDTO->getDblIdProtocolo()); - $documentoDTO->retStrConteudo(); - $documentoDTO->retStrConteudoAssinatura(); + $documentoDTOConsulta = new DocumentoDTO(); + $documentoDTOConsulta->setDblIdProtocoloProtocolo($protocoloDTOParam->getDblIdProtocolo()); + $documentoDTOConsulta->retStrConteudo(); + $documentoDTOConsulta->retStrConteudoAssinatura(); $documentoBD = new DocumentoRN(); - $resultDocumento = $documentoBD->listarRN0008($documentoDTO); + $resultDocumento = $documentoBD->listarRN0008($documentoDTOConsulta); if(!empty($resultDocumento)){ - $documento = $resultDocumento[0]; - if ($documento->getStrConteudo()) { - $html = $documento->getStrConteudo() . $documento->getStrConteudoAssinatura(); - return ["html" => $html]; + /** @var DocumentoDTO $documentoDTO */ + $documentoDTO = $resultDocumento[0]; + if ($documentoDTO->getStrConteudo()) { + $html = $documentoDTO->getStrConteudo() . $documentoDTO->getStrConteudoAssinatura(); + return MdWsSeiRest::formataRetornoSucessoREST(null, array('html' => $html)); } } @@ -245,7 +246,7 @@ class MdWsSeiDocumentoRN extends InfraRN { $anexoDTO->retDthInclusao(); $anexoDTO->retStrNome(); $anexoDTO->retStrHash(); - $anexoDTO->setDblIdProtocolo($protocoloDTO->getDblIdProtocolo()); + $anexoDTO->setDblIdProtocolo($protocoloDTOParam->getDblIdProtocolo()); $anexoDTO->setStrSinAtivo('S'); $anexoRN = new AnexoRN(); $resultAnexo = $anexoRN->listarRN0218($anexoDTO); @@ -254,6 +255,7 @@ class MdWsSeiDocumentoRN extends InfraRN { } $anexo = $resultAnexo[0]; SeiINT::download($anexo); + exit; }catch (Exception $e){ return MdWsSeiRest::formataRetornoErroREST($e); } diff --git a/rn/MdWsSeiProcedimentoRN.php b/rn/MdWsSeiProcedimentoRN.php index 8528f34..4d790f4 100644 --- a/rn/MdWsSeiProcedimentoRN.php +++ b/rn/MdWsSeiProcedimentoRN.php @@ -514,7 +514,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { /** * Metodo que conclui o procedimento/processo * @param EntradaConcluirProcessoAPI $entradaConcluirProcessoAPI - * @info ele recebe o n?mero do ProtocoloProcedimentoFormatadoPesquisa da tabela protocolo + * @info ele recebe o número do ProtocoloProcedimentoFormatadoPesquisa da tabela protocolo * @return array */ protected function concluirProcessoControlado(EntradaConcluirProcessoAPI $entradaConcluirProcessoAPI){ @@ -567,8 +567,8 @@ class MdWsSeiProcedimentoRN extends InfraRN { if(isset($post['numeroProcesso'])){ $entradaEnviarProcessoAPI->setProtocoloProcedimento($post['numeroProcesso']); } - if(isset($post['unidadeDestino'])){ - $entradaEnviarProcessoAPI->setUnidadesDestino($post['unidadeDestino']); + if(isset($post['unidadesDestino'])){ + $entradaEnviarProcessoAPI->setUnidadesDestino(explode(',', $post['unidadesDestino'])); } if(isset($post['sinManterAbertoUnidade'])){ $entradaEnviarProcessoAPI->setSinManterAbertoUnidade($post['sinManterAbertoUnidade']); @@ -578,6 +578,8 @@ class MdWsSeiProcedimentoRN extends InfraRN { } if(isset($post['sinEnviarEmailNotificacao'])){ $entradaEnviarProcessoAPI->setSinEnviarEmailNotificacao($post['sinEnviarEmailNotificacao']); + }else{ + $entradaEnviarProcessoAPI->setSinEnviarEmailNotificacao('N'); } if(isset($post['dataRetornoProgramado'])){ $entradaEnviarProcessoAPI->setDataRetornoProgramado($post['dataRetornoProgramado']); diff --git a/rn/MdWsSeiRetornoProgramadoRN.php b/rn/MdWsSeiRetornoProgramadoRN.php index 1922c2b..e40ccd6 100644 --- a/rn/MdWsSeiRetornoProgramadoRN.php +++ b/rn/MdWsSeiRetornoProgramadoRN.php @@ -13,6 +13,8 @@ class MdWsSeiRetornoProgramadoRN extends InfraRN { $retornoProgramadoDTO->setDthAlteracao(null); if (isset($post['usuario'])) { $retornoProgramadoDTO->setNumIdUsuario($post['usuario']); + }else{ + $retornoProgramadoDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); } if (isset($post['atividadeEnvio'])) { diff --git a/rn/MdWsSeiUnidadeRN.php b/rn/MdWsSeiUnidadeRN.php index 9203ee6..57238b9 100644 --- a/rn/MdWsSeiUnidadeRN.php +++ b/rn/MdWsSeiUnidadeRN.php @@ -8,15 +8,31 @@ class MdWsSeiUnidadeRN extends InfraRN { } /** - * Retorna todas as unidades cadastradas + * Pesquisa as unidades pela sigla */ - protected function listarUnidadesConectado(){ + protected function pesquisarUnidadeConectado(UnidadeDTO $unidadeDTOParam){ try{ $unidadeRN = new UnidadeRN(); $unidadeDTO = new UnidadeDTO(); + if($unidadeDTOParam->getNumMaxRegistrosRetorno()){ + $unidadeDTO->setNumMaxRegistrosRetorno($unidadeDTOParam->getNumMaxRegistrosRetorno()); + }else{ + $unidadeDTO->setNumMaxRegistrosRetorno(10); + } + if(!is_null($unidadeDTOParam->getNumPaginaAtual())){ + $unidadeDTO->setNumPaginaAtual($unidadeDTOParam->getNumPaginaAtual()); + }else{ + $unidadeDTO->setNumPaginaAtual(0); + } + if($unidadeDTOParam->isSetStrSigla()){ + $filter = '%'.$unidadeDTOParam->getStrSigla().'%'; + $unidadeDTO->setStrSigla($filter, InfraDTO::$OPER_LIKE, true); + } + $unidadeDTO->setStrSinAtivo('S'); $unidadeDTO->retNumIdUnidade(); $unidadeDTO->retStrSigla(); $unidadeDTO->retStrDescricao(); + $unidadeDTO->setOrdStrSigla(InfraDTO::$TIPO_ORDENACAO_ASC); $ret = $unidadeRN->listarRN0127($unidadeDTO); $result = array(); /** @var UnidadeDTO $unDTO */ @@ -28,7 +44,7 @@ class MdWsSeiUnidadeRN extends InfraRN { ); } - return MdWsSeiRest::formataRetornoSucessoREST(null, $result); + return MdWsSeiRest::formataRetornoSucessoREST(null, $result, $unidadeDTO->getNumTotalRegistros()); }catch (Exception $e){ return MdWsSeiRest::formataRetornoErroREST($e); } diff --git a/rn/MdWsSeiUsuarioRN.php b/rn/MdWsSeiUsuarioRN.php index 4b5dcf9..a1b1ef9 100644 --- a/rn/MdWsSeiUsuarioRN.php +++ b/rn/MdWsSeiUsuarioRN.php @@ -204,4 +204,18 @@ class MdWsSeiUsuarioRN extends InfraRN { return base64_encode($senha); } + /** + * Altera a unidade atual do Usuário + * @param $idUnidade + */ + public function alterarUnidadeAtual($idUnidade){ + try{ + $_POST['selInfraUnidades'] = $idUnidade; + SessaoSEI::getInstance()->trocarUnidadeAtual(); + return MdWsSeiRest::formataRetornoSucessoREST('Unidade alterada com sucesso!'); + }catch (Exception $e){ + return MdWsSeiRest::formataRetornoErroREST($e); + } + } + } \ No newline at end of file diff --git a/teste.php b/teste.php index 4d013d5..f40d57c 100644 --- a/teste.php +++ b/teste.php @@ -5,6 +5,7 @@ require_once __DIR__.'/../../SEI.php'; ini_set('xdebug.var_display_max_depth', 100); ini_set('xdebug.var_display_max_children', 100); ini_set('xdebug.var_display_max_data', 2048); +echo ''; $b = new MdWsSeiUsuarioRN(); $token = $b->tokenEncode('teste', 'teste'); @@ -112,6 +113,13 @@ class TesteDocumento { var_dump($rn->apiAssinarDocumento(22, 0, 'Fiscal de Contrato - Administrativo', 'teste', 'teste', 100000001)); } + public function downloadAnexoConectado(){ + $rn = new MdWsSeiDocumentoRN(); + $dto = new ProtocoloDTO(); + $dto->setDblIdProtocolo(32); + var_dump($rn->downloadAnexo($dto)); + } + } @@ -175,15 +183,31 @@ class TesteProcedimento { var_dump($rn->darCiencia($dto)); } - //o----- + + public function enviarProcessoControlado(){ + $rn = new MdWsSeiProcedimentoRN(); + $dto = $rn->encapsulaEnviarProcessoEntradaEnviarProcessoAPI( + array( + 'numeroProcesso' => '99990.000009/2017-29', + 'unidadesDestino' => '110000002,110000003', + 'sinManterAbertoUnidade' => 'S', + 'sinRemoverAnotacao' => 'S', + 'dataRetornoProgramado' => '21/03/2017' + ) + ); + var_dump($rn->enviarProcesso($dto)); + } public function concluirProcessoControlado(){ $api = new EntradaConcluirProcessoAPI(); - $api->setProtocoloProcedimento('99990000001201762'); + $api->setProtocoloProcedimento('99990.000009/2017-29'); $rn = new MdWsSeiProcedimentoRN(); var_dump($rn->concluirProcesso($api)); } + //o----- antigos + + public function atribuirProcessoControlado(){ $api = new EntradaAtribuirProcessoAPI(); $api->setProtocoloProcedimento('99990000001201762'); @@ -204,34 +228,6 @@ class TesteProcedimento { } } - - - - - - - - - -//o----- -class TesteUnidade { - - public function listarUnidadesConectado(){ - $mdUnidade = new MdWsSeiUnidadeRN(); - var_dump($mdUnidade->listarUnidades()); - } -} -class TesteOrgao { - - public function listarOrgaoConectado(){ - $orgaoDTO = new OrgaoDTO(); - $orgaoDTO->setNumMaxRegistrosRetorno(10); - $orgaoDTO->setNumPaginaAtual(0); - $mdUnidade = new MdWsSeiOrgaoRN(); - var_dump($mdUnidade->listarOrgao($orgaoDTO)); - } -} - class TesteGrupoAcompanhamento { public function listarGrupoAcompanhamentoConectado(){ @@ -242,6 +238,30 @@ class TesteGrupoAcompanhamento { $rn = new MdWsSeiGrupoAcompanhamentoRN(); var_dump($rn->listarGrupoAcompanhamento($dto)); } + + public function cadastrarAcompanhamentoControlado(){ + $rn = new MdWsSeiAcompanhamentoRN(); + $dto = $rn->encapsulaAcompanhamento( + array( + 'protocolo' => 25, + 'unidade' => 110000001, + 'grupo' => 1, + 'usuario' => 100000001, + 'observacao' => 'acompanhar!', + ) + ); + var_dump($rn->cadastrarAcompanhamento($dto)); + } +} + +class TesteUnidade { + + public function pesquisarUnidadeConectado(){ + $rn = new MdWsSeiUnidadeRN(); + $dto = new UnidadeDTO(); + $dto->setStrSigla('teste'); + var_dump($rn->pesquisarUnidade()); + } } class TesteRetornoProgramado { @@ -260,6 +280,20 @@ class TesteRetornoProgramado { } + + +//o----- +class TesteOrgao { + + public function listarOrgaoConectado(){ + $orgaoDTO = new OrgaoDTO(); + $orgaoDTO->setNumMaxRegistrosRetorno(10); + $orgaoDTO->setNumPaginaAtual(0); + $mdUnidade = new MdWsSeiOrgaoRN(); + var_dump($mdUnidade->listarOrgao($orgaoDTO)); + } +} + class TesteObservacao { public function criarObservacaoControlado(){ -- libgit2 0.21.2