From f6e960cd5e3717baac7911c16ee20287f447cfde Mon Sep 17 00:00:00 2001 From: eduardo.batista Date: Wed, 15 Mar 2017 10:09:33 -0300 Subject: [PATCH] [FEAT] Adicionando sobrestar proceso. --- controlador_ws.php | 30 +++++++++++++++++++++++++++++- rn/MdWsSeiProcedimentoRN.php | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------- teste.php | 7 +++++++ 3 files changed, 147 insertions(+), 9 deletions(-) diff --git a/controlador_ws.php b/controlador_ws.php index d37789c..bef39cc 100644 --- a/controlador_ws.php +++ b/controlador_ws.php @@ -6,8 +6,10 @@ require_once dirname(__FILE__).'/../../SEI.php'; require_once dirname(__FILE__).'/vendor/autoload.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 ''; -mb_internal_encoding('utf-8'); function response_to_utf8($item){ @@ -185,6 +187,32 @@ $app->group('/api/v1',function(){ $dto->setDblIdProcedimento($request->getParam('procedimento')); return $response->withJSON(response_to_utf8($rn->removerSobrestamentoProcesso($dto))); }); + $this->get('/listar/ciencia/{protocolo}', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiProcedimentoRN(); + $dto = new ProtocoloDTO(); + $dto->setDblIdProtocolo($request->getAttribute('route')->getArgument('protocolo')); + return $response->withJSON(response_to_utf8($rn->listarCienciaProcesso($dto))); + }); + $this->post('/sobrestar/processo', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiProcedimentoRN(); + $dto = new EntradaSobrestarProcessoAPI(); + if($request->getParam('protocoloFormatado')){ + $dto->setProtocoloProcedimento($request->getParam('protocoloFormatado')); + } + if($request->getParam('protocolo')){ + $dto->setIdProcedimento($request->getParam('protocolo')); + } + if($request->getParam('protocoloVinculado')){ + $dto->setIdProcedimentoVinculado($request->getParam('protocoloVinculado')); + } + if($request->getParam('protocoloFormatadoVinculado')){ + $dto->setProtocoloProcedimentoVinculado($request->getParam('protocoloFormatadoVinculado')); + } + $dto->setMotivo($request->getParam('motivo')); + return $response->withJSON(response_to_utf8($rn->sobrestamentoProcesso($dto))); + }); })->add( new TokenValidationMiddleware()); }); diff --git a/rn/MdWsSeiProcedimentoRN.php b/rn/MdWsSeiProcedimentoRN.php index 3760e6f..3eca6c7 100644 --- a/rn/MdWsSeiProcedimentoRN.php +++ b/rn/MdWsSeiProcedimentoRN.php @@ -8,13 +8,51 @@ class MdWsSeiProcedimentoRN extends InfraRN { } /** + * Metodo de sobrestamento de processo + * @param EntradaSobrestarProcessoAPI $entradaSobrestarProcessoAPI + * @return array + */ + protected function sobrestamentoProcessoControlado(EntradaSobrestarProcessoAPI $entradaSobrestarProcessoAPI){ + try{ + $seiRN = new SeiRN(); + $seiRN->sobrestarProcesso($entradaSobrestarProcessoAPI); + return array( + 'sucesso' => true, + 'mensage' => 'Processo sobrestado com sucesso' + ); + }catch (Exception $e){ + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e + ); + } + } + + /** * @param $protocolo * @return array */ protected function removerSobrestamentoProcessoControlado(ProcedimentoDTO $procedimentoDTOParam){ try{ if(!$procedimentoDTOParam->getDblIdProcedimento()){ - throw new InfraException('Procedimento n�o informado.'); + throw new InfraException('Procedimento n?o informado.'); } $seiRN = new SeiRN(); $entradaRemoverSobrestamentoProcessoAPI = new EntradaRemoverSobrestamentoProcessoAPI(); @@ -133,7 +171,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { } if(!$mdWsSeiProtocoloDTOConsulta->isSetNumIdUnidadeAtividade()){ - throw new InfraException('� obrigat�rio informar a unidade.'); + throw new InfraException('Unidade não informada.'); } $mdWsSeiProtocoloDTO->setNumIdUnidadeAtividade($mdWsSeiProtocoloDTOConsulta->getNumIdUnidadeAtividade()); @@ -339,6 +377,71 @@ class MdWsSeiProcedimentoRN extends InfraRN { return ['retornoProgramado' => $retProgramado, 'expirado' => $expirado]; } + /** + * Metodo que retorna as ciencias nos processos + * @param ProtocoloDTO $protocoloDTOParam + * @return array + */ + protected function listarCienciaProcessoConectado(ProtocoloDTO $protocoloDTOParam){ + try{ + if(!$protocoloDTOParam->isSetDblIdProtocolo()){ + throw new InfraException('Protocolo não informado.'); + } + + $result = array(); + $mdWsSeiProcessoRN = new MdWsSeiProcessoRN(); + $atividadeDTOConsulta = new AtividadeDTO(); + $atividadeDTOConsulta->setDblIdProtocolo($protocoloDTOParam->getDblIdProtocolo()); + $atividadeDTOConsulta->setNumIdTarefa(TarefaRN::$TI_PROCESSO_CIENCIA); + $atividadeDTOConsulta->retDthAbertura(); + $atividadeDTOConsulta->retStrSiglaUnidade(); + $atividadeDTOConsulta->retStrNomeTarefa(); + $atividadeDTOConsulta->retStrSiglaUsuarioOrigem(); + $atividadeDTOConsulta->retNumIdAtividade(); + $atividadeRN = new AtividadeRN(); + $ret = $atividadeRN->listarRN0036($atividadeDTOConsulta); + /** @var AtividadeDTO $atividadeDTO */ + foreach($ret as $atividadeDTO){ + $mdWsSeiProcessoDTO = new MdWsSeiProcessoDTO(); + $mdWsSeiProcessoDTO->setStrTemplate($atividadeDTO->getStrNomeTarefa()); + $mdWsSeiProcessoDTO->setNumIdAtividade($atividadeDTO->getNumIdAtividade()); + $result[] = array( + 'data' => $atividadeDTO->getDthAbertura(), + 'unidade' => $atividadeDTO->getStrSiglaUnidade(), + 'nome' => $atividadeDTO->getStrSiglaUsuarioOrigem(), + 'descricao' => $mdWsSeiProcessoRN->traduzirTemplate($mdWsSeiProcessoDTO) + ); + } + return array( + 'sucesso' => true, + 'data' => $result + ); + }catch (Exception $e){ + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e + ); + } + } + /** * Metodo que da ciencia ao processo/procedimento @@ -357,7 +460,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { return array( 'sucesso' => true, - 'mensagem' => 'Ciência processo realizado com sucesso!' + 'mensagem' => 'Ciência processo realizado com sucesso!' ); }catch (Exception $e){ $mensagem = $e->getMessage(); @@ -387,7 +490,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){ @@ -401,7 +504,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { return array( 'sucesso' => true, - 'mensagem' => 'Processo concluído com sucesso!' + 'mensagem' => 'Processo concluído com sucesso!' ); }catch (Exception $e){ $mensagem = $e->getMessage(); @@ -432,7 +535,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { * Metodo que atribui o processo a uma pessoa * @param EntradaAtribuirProcessoAPI $entradaAtribuirProcessoAPI * @info Os parametros IdUsuario, ProtocoloProcedimento e SinReabrir sao obrigatorios. O parametro ProtocoloProcedimento - * recebe o n�mero do ProtocoloProcedimentoFormatadoPesquisa da tabela protocolo + * recebe o n?mero do ProtocoloProcedimentoFormatadoPesquisa da tabela protocolo * @return array */ protected function atribuirProcessoControlado(EntradaAtribuirProcessoAPI $entradaAtribuirProcessoAPI){ @@ -441,7 +544,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { throw new InfraException('E obrigatorio informar o protocolo do processo!'); } if(!$entradaAtribuirProcessoAPI->getIdUsuario()){ - throw new InfraException('E obrigatorio informar o usu�rio do processo!'); + throw new InfraException('E obrigatorio informar o usu?rio do processo!'); } $objSeiRN = new SeiRN(); @@ -449,7 +552,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { return array( 'sucesso' => true, - 'mensagem' => 'Processo atribuído com sucesso!' + 'mensagem' => 'Processo atribuído com sucesso!' ); }catch (Exception $e){ $mensagem = $e->getMessage(); diff --git a/teste.php b/teste.php index 30c08a4..65406f9 100644 --- a/teste.php +++ b/teste.php @@ -101,6 +101,13 @@ class TesteProcedimento { var_dump($rn->removerSobrestamentoProcesso($dto)); } + public function listarCienciaProcessoConectado(){ + $rn = new MdWsSeiProcedimentoRN(); + $dto = new ProtocoloDTO(); + $dto->setDblIdProtocolo(15); + var_dump($rn->listarCienciaProcesso($dto)); + } + //o----- public function concluirProcessoControlado(){ -- libgit2 0.21.2