Commit a2d67f415032664c709c8b3cfae7b8203366420b

Authored by eduardo.batista
1 parent 877982cd
Exists in master and in 1 other branch desenv

[FEAT] Subindo novos serviços;

controlador_ws.php
... ... @@ -63,6 +63,40 @@ $app->group('/api/v1',function(){
63 63 });
64 64  
65 65 /**
  66 + * Grupo de controlador de Usuário
  67 + */
  68 + $this->group('/usuario', function(){
  69 + $this->post('/alterar/unidade', function($request, $response, $args){
  70 + /** @var $request Slim\Http\Request */
  71 + $rn = new MdWsSeiUsuarioRN();
  72 + return $response->withJSON($rn->alterarUnidadeAtual($request->getParam('unidade')));
  73 + });
  74 +
  75 + })->add( new TokenValidationMiddleware());
  76 +
  77 + /**
  78 + * Grupo de controlador de Unidades
  79 + */
  80 + $this->group('/unidade', function(){
  81 + $this->get('/pesquisar', function($request, $response, $args){
  82 + /** @var $request Slim\Http\Request */
  83 + $rn = new MdWsSeiUnidadeRN();
  84 + $dto = new UnidadeDTO();
  85 + if($request->getParam('limit')){
  86 + $dto->setNumMaxRegistrosRetorno($request->getParam('limit'));
  87 + }
  88 + if(!is_null($request->getParam('start'))){
  89 + $dto->setNumPaginaAtual($request->getParam('start'));
  90 + }
  91 + if($request->getParam('filter')){
  92 + $dto->setStrSigla($request->getParam('filter'));
  93 + }
  94 + return $response->withJSON($rn->pesquisarUnidade($dto));
  95 + });
  96 +
  97 + })->add( new TokenValidationMiddleware());
  98 +
  99 + /**
66 100 * Grupo de controlador de anotacao
67 101 */
68 102 $this->group('/anotacao', function(){
... ... @@ -176,6 +210,15 @@ $app->group('/api/v1',function(){
176 210 }
177 211 return $response->withJSON($rn->listarDocumentosProcesso($dto));
178 212 });
  213 + $this->get('/baixar/anexo/{protocolo}', function($request, $response, $args){
  214 + /** @var $request Slim\Http\Request */
  215 + $rn = new MdWsSeiDocumentoRN();
  216 + $dto = new ProtocoloDTO();
  217 + if($request->getAttribute('route')->getArgument('protocolo')){
  218 + $dto->setDblIdProtocolo($request->getAttribute('route')->getArgument('protocolo'));
  219 + }
  220 + return $response->withJSON($rn->downloadAnexo($dto));
  221 + });
179 222  
180 223 })->add( new TokenValidationMiddleware());
181 224  
... ... @@ -289,6 +332,48 @@ $app->group('/api/v1',function(){
289 332 return $response->withJSON($rn->pesquisarProcedimento($dto));
290 333 });
291 334  
  335 + /**
  336 + * Método que envia o processo
  337 + * Parametros={
  338 + * {"name"="numeroProcesso", "dataType"="integer", "required"=true, "description"="Número do processo visível para o usuário, ex: 12.1.000000077-4"},
  339 + * {"name"="unidadesDestino", "dataType"="integer", "required"=true, "description"="Identificar do usuário que receberá a atribuição."},
  340 + * {"name"="sinManterAbertoUnidade", "dataType"="integer", "required"=true, "description"="S/N - sinalizador indica se o processo deve ser mantido aberto na unidade de origem"},
  341 + * {"name"="sinRemoverAnotacao", "dataType"="integer", "required"=true, "description"="S/N - sinalizador indicando se deve ser removida anotação do processo"},
  342 + * {"name"="sinEnviarEmailNotificacao", "dataType"="integer", "required"=true, "description"="S/N - sinalizador indicando se deve ser enviado email de aviso para as unidades destinatárias"},
  343 + * {"name"="dataRetornoProgramado", "dataType"="integer", "required"=true, "description"="Data para definição de Retorno Programado (passar nulo se não for desejado)"},
  344 + * {"name"="diasRetornoProgramado", "dataType"="integer", "required"=true, "description"="Número de dias para o Retorno Programado (valor padrão nulo)"},
  345 + * {"name"="sinDiasUteisRetornoProgramado", "dataType"="integer", "required"=true, "description"="S/N - sinalizador indica se o valor passado no parâmetro"},
  346 + * {"name"="sinReabrir", "dataType"="integer", "required"=false, "description"="S/N - sinalizador indica se deseja reabrir o processo na unidade atual"}
  347 + * }
  348 + */
  349 + $this->post('/enviar', function($request, $response, $args){
  350 + /** @var $request Slim\Http\Request */
  351 + $rn = new MdWsSeiProcedimentoRN();
  352 + $dto = $rn->encapsulaEnviarProcessoEntradaEnviarProcessoAPI($request->getParams());
  353 + return $response->withJSON($rn->enviarProcesso($dto));
  354 + });
  355 + $this->post('/concluir', function($request, $response, $args){
  356 + /** @var $request Slim\Http\Request */
  357 + $rn = new MdWsSeiProcedimentoRN();
  358 + $dto = new EntradaConcluirProcessoAPI();
  359 + if($request->getParam('numeroProcesso')){
  360 + $dto->setProtocoloProcedimento($request->getParam('numeroProcesso'));
  361 + }
  362 + return $response->withJSON($rn->concluirProcesso($dto));
  363 + });
  364 + $this->post('/acompanhar', function($request, $response, $args){
  365 + /** @var $request Slim\Http\Request */
  366 + $rn = new MdWsSeiAcompanhamentoRN();
  367 + $dto = $rn->encapsulaAcompanhamento($request->getParams());
  368 + return $response->withJSON($rn->cadastrarAcompanhamento($dto));
  369 + });
  370 + $this->post('/agendar/retorno/programado', function($request, $response, $args){
  371 + /** @var $request Slim\Http\Request */
  372 + $rn = new MdWsSeiRetornoProgramadoRN();
  373 + $dto = $rn->encapsulaRetornoProgramado($request->getParams());
  374 + return $response->withJSON($rn->agendarRetornoProgramado($dto));
  375 + });
  376 +
292 377 })->add( new TokenValidationMiddleware());
293 378  
294 379 /**
... ...
rn/MdWsSeiAcompanhamentoRN.php
... ... @@ -15,6 +15,8 @@ class MdWsSeiAcompanhamentoRN extends InfraRN {
15 15 }
16 16 if (isset($post['unidade'])){
17 17 $acompanhamentoDTO->setNumIdUnidade($post['unidade']);
  18 + }else{
  19 + $acompanhamentoDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
18 20 }
19 21  
20 22 if (isset($post['grupo'])){
... ... @@ -22,10 +24,15 @@ class MdWsSeiAcompanhamentoRN extends InfraRN {
22 24 }
23 25 if (isset($post['usuario'])){
24 26 $acompanhamentoDTO->setNumIdUsuarioGerador($post['usuario']);
  27 + }else{
  28 + $acompanhamentoDTO->setNumIdUsuarioGerador(SessaoSEI::getInstance()->getNumIdUsuario());
25 29 }
26   - if (isset($post['observacao'])){
  30 + if (isset($post['observacao'])){
27 31 $acompanhamentoDTO->setStrObservacao($post['observacao']);
28 32 }
  33 + $acompanhamentoDTO->setDthGeracao(InfraData::getStrDataHoraAtual());
  34 + $acompanhamentoDTO->setNumTipoVisualizacao(AtividadeRN::$TV_VISUALIZADO);
  35 + $acompanhamentoDTO->setNumIdAcompanhamento(null);
29 36  
30 37 return $acompanhamentoDTO;
31 38  
... ... @@ -34,20 +41,7 @@ class MdWsSeiAcompanhamentoRN extends InfraRN {
34 41 protected function cadastrarAcompanhamentoControlado(AcompanhamentoDTO $acompanhamentoDTO){
35 42 try{
36 43 $acompanhamentoRN = new AcompanhamentoRN();
37   - $acompanhamentoDTO->setDthGeracao(InfraData::getStrDataHoraAtual());
38   - $pesquisaDTO = new AcompanhamentoDTO();
39   - $pesquisaDTO->setOrdNumIdAcompanhamento(InfraDTO::$TIPO_ORDENACAO_DESC);
40   - $pesquisaDTO->setNumMaxRegistrosRetorno(1);
41   - $pesquisaDTO->retNumIdAcompanhamento();
42   - $result = $acompanhamentoRN->listar($pesquisaDTO);
43   - $numIdAcompanhamento = 1;
44   - if(!empty($result)){
45   - $pesquisaDTO = end($result);
46   - $numIdAcompanhamento = $pesquisaDTO->getNumIdAcompanhamento()+1;
47   - }
48   - $acompanhamentoDTO->setNumIdAcompanhamento($numIdAcompanhamento);
49 44 $acompanhamentoRN->cadastrar($acompanhamentoDTO);
50   -
51 45 return MdWsSeiRest::formataRetornoSucessoREST('Acompanhamento realizado com sucesso!');
52 46 }catch (Exception $e){
53 47 return MdWsSeiRest::formataRetornoErroREST($e);
... ...
rn/MdWsSeiDocumentoRN.php
... ... @@ -219,23 +219,24 @@ class MdWsSeiDocumentoRN extends InfraRN {
219 219 }
220 220 }
221 221  
222   - protected function downloadAnexoConectado(ProtocoloDTO $protocoloDTO){
  222 + protected function downloadAnexoConectado(ProtocoloDTO $protocoloDTOParam){
223 223 try{
224   - if(!$protocoloDTO->isSetDblIdProtocolo() || !$protocoloDTO->getDblIdProtocolo()){
  224 + if(!$protocoloDTOParam->isSetDblIdProtocolo() || !$protocoloDTOParam->getDblIdProtocolo()){
225 225 throw new InfraException('O protocolo deve ser informado!');
226 226 }
227   - $documentoDTO = new DocumentoDTO();
228   - $documentoDTO->setDblIdProtocoloProtocolo($protocoloDTO->getDblIdProtocolo());
229   - $documentoDTO->retStrConteudo();
230   - $documentoDTO->retStrConteudoAssinatura();
  227 + $documentoDTOConsulta = new DocumentoDTO();
  228 + $documentoDTOConsulta->setDblIdProtocoloProtocolo($protocoloDTOParam->getDblIdProtocolo());
  229 + $documentoDTOConsulta->retStrConteudo();
  230 + $documentoDTOConsulta->retStrConteudoAssinatura();
231 231 $documentoBD = new DocumentoRN();
232   - $resultDocumento = $documentoBD->listarRN0008($documentoDTO);
  232 + $resultDocumento = $documentoBD->listarRN0008($documentoDTOConsulta);
233 233  
234 234 if(!empty($resultDocumento)){
235   - $documento = $resultDocumento[0];
236   - if ($documento->getStrConteudo()) {
237   - $html = $documento->getStrConteudo() . $documento->getStrConteudoAssinatura();
238   - return ["html" => $html];
  235 + /** @var DocumentoDTO $documentoDTO */
  236 + $documentoDTO = $resultDocumento[0];
  237 + if ($documentoDTO->getStrConteudo()) {
  238 + $html = $documentoDTO->getStrConteudo() . $documentoDTO->getStrConteudoAssinatura();
  239 + return MdWsSeiRest::formataRetornoSucessoREST(null, array('html' => $html));
239 240 }
240 241 }
241 242  
... ... @@ -245,7 +246,7 @@ class MdWsSeiDocumentoRN extends InfraRN {
245 246 $anexoDTO->retDthInclusao();
246 247 $anexoDTO->retStrNome();
247 248 $anexoDTO->retStrHash();
248   - $anexoDTO->setDblIdProtocolo($protocoloDTO->getDblIdProtocolo());
  249 + $anexoDTO->setDblIdProtocolo($protocoloDTOParam->getDblIdProtocolo());
249 250 $anexoDTO->setStrSinAtivo('S');
250 251 $anexoRN = new AnexoRN();
251 252 $resultAnexo = $anexoRN->listarRN0218($anexoDTO);
... ... @@ -254,6 +255,7 @@ class MdWsSeiDocumentoRN extends InfraRN {
254 255 }
255 256 $anexo = $resultAnexo[0];
256 257 SeiINT::download($anexo);
  258 + exit;
257 259 }catch (Exception $e){
258 260 return MdWsSeiRest::formataRetornoErroREST($e);
259 261 }
... ...
rn/MdWsSeiProcedimentoRN.php
... ... @@ -514,7 +514,7 @@ class MdWsSeiProcedimentoRN extends InfraRN {
514 514 /**
515 515 * Metodo que conclui o procedimento/processo
516 516 * @param EntradaConcluirProcessoAPI $entradaConcluirProcessoAPI
517   - * @info ele recebe o n?mero do ProtocoloProcedimentoFormatadoPesquisa da tabela protocolo
  517 + * @info ele recebe o número do ProtocoloProcedimentoFormatadoPesquisa da tabela protocolo
518 518 * @return array
519 519 */
520 520 protected function concluirProcessoControlado(EntradaConcluirProcessoAPI $entradaConcluirProcessoAPI){
... ... @@ -567,8 +567,8 @@ class MdWsSeiProcedimentoRN extends InfraRN {
567 567 if(isset($post['numeroProcesso'])){
568 568 $entradaEnviarProcessoAPI->setProtocoloProcedimento($post['numeroProcesso']);
569 569 }
570   - if(isset($post['unidadeDestino'])){
571   - $entradaEnviarProcessoAPI->setUnidadesDestino($post['unidadeDestino']);
  570 + if(isset($post['unidadesDestino'])){
  571 + $entradaEnviarProcessoAPI->setUnidadesDestino(explode(',', $post['unidadesDestino']));
572 572 }
573 573 if(isset($post['sinManterAbertoUnidade'])){
574 574 $entradaEnviarProcessoAPI->setSinManterAbertoUnidade($post['sinManterAbertoUnidade']);
... ... @@ -578,6 +578,8 @@ class MdWsSeiProcedimentoRN extends InfraRN {
578 578 }
579 579 if(isset($post['sinEnviarEmailNotificacao'])){
580 580 $entradaEnviarProcessoAPI->setSinEnviarEmailNotificacao($post['sinEnviarEmailNotificacao']);
  581 + }else{
  582 + $entradaEnviarProcessoAPI->setSinEnviarEmailNotificacao('N');
581 583 }
582 584 if(isset($post['dataRetornoProgramado'])){
583 585 $entradaEnviarProcessoAPI->setDataRetornoProgramado($post['dataRetornoProgramado']);
... ...
rn/MdWsSeiRetornoProgramadoRN.php
... ... @@ -13,6 +13,8 @@ class MdWsSeiRetornoProgramadoRN extends InfraRN {
13 13 $retornoProgramadoDTO->setDthAlteracao(null);
14 14 if (isset($post['usuario'])) {
15 15 $retornoProgramadoDTO->setNumIdUsuario($post['usuario']);
  16 + }else{
  17 + $retornoProgramadoDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario());
16 18 }
17 19  
18 20 if (isset($post['atividadeEnvio'])) {
... ...
rn/MdWsSeiUnidadeRN.php
... ... @@ -8,15 +8,31 @@ class MdWsSeiUnidadeRN extends InfraRN {
8 8 }
9 9  
10 10 /**
11   - * Retorna todas as unidades cadastradas
  11 + * Pesquisa as unidades pela sigla
12 12 */
13   - protected function listarUnidadesConectado(){
  13 + protected function pesquisarUnidadeConectado(UnidadeDTO $unidadeDTOParam){
14 14 try{
15 15 $unidadeRN = new UnidadeRN();
16 16 $unidadeDTO = new UnidadeDTO();
  17 + if($unidadeDTOParam->getNumMaxRegistrosRetorno()){
  18 + $unidadeDTO->setNumMaxRegistrosRetorno($unidadeDTOParam->getNumMaxRegistrosRetorno());
  19 + }else{
  20 + $unidadeDTO->setNumMaxRegistrosRetorno(10);
  21 + }
  22 + if(!is_null($unidadeDTOParam->getNumPaginaAtual())){
  23 + $unidadeDTO->setNumPaginaAtual($unidadeDTOParam->getNumPaginaAtual());
  24 + }else{
  25 + $unidadeDTO->setNumPaginaAtual(0);
  26 + }
  27 + if($unidadeDTOParam->isSetStrSigla()){
  28 + $filter = '%'.$unidadeDTOParam->getStrSigla().'%';
  29 + $unidadeDTO->setStrSigla($filter, InfraDTO::$OPER_LIKE, true);
  30 + }
  31 + $unidadeDTO->setStrSinAtivo('S');
17 32 $unidadeDTO->retNumIdUnidade();
18 33 $unidadeDTO->retStrSigla();
19 34 $unidadeDTO->retStrDescricao();
  35 + $unidadeDTO->setOrdStrSigla(InfraDTO::$TIPO_ORDENACAO_ASC);
20 36 $ret = $unidadeRN->listarRN0127($unidadeDTO);
21 37 $result = array();
22 38 /** @var UnidadeDTO $unDTO */
... ... @@ -28,7 +44,7 @@ class MdWsSeiUnidadeRN extends InfraRN {
28 44 );
29 45 }
30 46  
31   - return MdWsSeiRest::formataRetornoSucessoREST(null, $result);
  47 + return MdWsSeiRest::formataRetornoSucessoREST(null, $result, $unidadeDTO->getNumTotalRegistros());
32 48 }catch (Exception $e){
33 49 return MdWsSeiRest::formataRetornoErroREST($e);
34 50 }
... ...
rn/MdWsSeiUsuarioRN.php
... ... @@ -204,4 +204,18 @@ class MdWsSeiUsuarioRN extends InfraRN {
204 204 return base64_encode($senha);
205 205 }
206 206  
  207 + /**
  208 + * Altera a unidade atual do Usuário
  209 + * @param $idUnidade
  210 + */
  211 + public function alterarUnidadeAtual($idUnidade){
  212 + try{
  213 + $_POST['selInfraUnidades'] = $idUnidade;
  214 + SessaoSEI::getInstance()->trocarUnidadeAtual();
  215 + return MdWsSeiRest::formataRetornoSucessoREST('Unidade alterada com sucesso!');
  216 + }catch (Exception $e){
  217 + return MdWsSeiRest::formataRetornoErroREST($e);
  218 + }
  219 + }
  220 +
207 221 }
208 222 \ No newline at end of file
... ...
teste.php
... ... @@ -5,6 +5,7 @@ require_once __DIR__.'/../../SEI.php';
5 5 ini_set('xdebug.var_display_max_depth', 100);
6 6 ini_set('xdebug.var_display_max_children', 100);
7 7 ini_set('xdebug.var_display_max_data', 2048);
  8 +echo '<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>';
8 9  
9 10 $b = new MdWsSeiUsuarioRN();
10 11 $token = $b->tokenEncode('teste', 'teste');
... ... @@ -112,6 +113,13 @@ class TesteDocumento {
112 113 var_dump($rn->apiAssinarDocumento(22, 0, 'Fiscal de Contrato - Administrativo', 'teste', 'teste', 100000001));
113 114 }
114 115  
  116 + public function downloadAnexoConectado(){
  117 + $rn = new MdWsSeiDocumentoRN();
  118 + $dto = new ProtocoloDTO();
  119 + $dto->setDblIdProtocolo(32);
  120 + var_dump($rn->downloadAnexo($dto));
  121 + }
  122 +
115 123 }
116 124  
117 125  
... ... @@ -175,15 +183,31 @@ class TesteProcedimento {
175 183 var_dump($rn->darCiencia($dto));
176 184 }
177 185  
178   - //o-----
  186 +
  187 + public function enviarProcessoControlado(){
  188 + $rn = new MdWsSeiProcedimentoRN();
  189 + $dto = $rn->encapsulaEnviarProcessoEntradaEnviarProcessoAPI(
  190 + array(
  191 + 'numeroProcesso' => '99990.000009/2017-29',
  192 + 'unidadesDestino' => '110000002,110000003',
  193 + 'sinManterAbertoUnidade' => 'S',
  194 + 'sinRemoverAnotacao' => 'S',
  195 + 'dataRetornoProgramado' => '21/03/2017'
  196 + )
  197 + );
  198 + var_dump($rn->enviarProcesso($dto));
  199 + }
179 200  
180 201 public function concluirProcessoControlado(){
181 202 $api = new EntradaConcluirProcessoAPI();
182   - $api->setProtocoloProcedimento('99990000001201762');
  203 + $api->setProtocoloProcedimento('99990.000009/2017-29');
183 204 $rn = new MdWsSeiProcedimentoRN();
184 205 var_dump($rn->concluirProcesso($api));
185 206 }
186 207  
  208 + //o----- antigos
  209 +
  210 +
187 211 public function atribuirProcessoControlado(){
188 212 $api = new EntradaAtribuirProcessoAPI();
189 213 $api->setProtocoloProcedimento('99990000001201762');
... ... @@ -204,34 +228,6 @@ class TesteProcedimento {
204 228 }
205 229 }
206 230  
207   -
208   -
209   -
210   -
211   -
212   -
213   -
214   -
215   -
216   -//o-----
217   -class TesteUnidade {
218   -
219   - public function listarUnidadesConectado(){
220   - $mdUnidade = new MdWsSeiUnidadeRN();
221   - var_dump($mdUnidade->listarUnidades());
222   - }
223   -}
224   -class TesteOrgao {
225   -
226   - public function listarOrgaoConectado(){
227   - $orgaoDTO = new OrgaoDTO();
228   - $orgaoDTO->setNumMaxRegistrosRetorno(10);
229   - $orgaoDTO->setNumPaginaAtual(0);
230   - $mdUnidade = new MdWsSeiOrgaoRN();
231   - var_dump($mdUnidade->listarOrgao($orgaoDTO));
232   - }
233   -}
234   -
235 231 class TesteGrupoAcompanhamento {
236 232  
237 233 public function listarGrupoAcompanhamentoConectado(){
... ... @@ -242,6 +238,30 @@ class TesteGrupoAcompanhamento {
242 238 $rn = new MdWsSeiGrupoAcompanhamentoRN();
243 239 var_dump($rn->listarGrupoAcompanhamento($dto));
244 240 }
  241 +
  242 + public function cadastrarAcompanhamentoControlado(){
  243 + $rn = new MdWsSeiAcompanhamentoRN();
  244 + $dto = $rn->encapsulaAcompanhamento(
  245 + array(
  246 + 'protocolo' => 25,
  247 + 'unidade' => 110000001,
  248 + 'grupo' => 1,
  249 + 'usuario' => 100000001,
  250 + 'observacao' => 'acompanhar!',
  251 + )
  252 + );
  253 + var_dump($rn->cadastrarAcompanhamento($dto));
  254 + }
  255 +}
  256 +
  257 +class TesteUnidade {
  258 +
  259 + public function pesquisarUnidadeConectado(){
  260 + $rn = new MdWsSeiUnidadeRN();
  261 + $dto = new UnidadeDTO();
  262 + $dto->setStrSigla('teste');
  263 + var_dump($rn->pesquisarUnidade());
  264 + }
245 265 }
246 266  
247 267 class TesteRetornoProgramado {
... ... @@ -260,6 +280,20 @@ class TesteRetornoProgramado {
260 280 }
261 281  
262 282  
  283 +
  284 +
  285 +//o-----
  286 +class TesteOrgao {
  287 +
  288 + public function listarOrgaoConectado(){
  289 + $orgaoDTO = new OrgaoDTO();
  290 + $orgaoDTO->setNumMaxRegistrosRetorno(10);
  291 + $orgaoDTO->setNumPaginaAtual(0);
  292 + $mdUnidade = new MdWsSeiOrgaoRN();
  293 + var_dump($mdUnidade->listarOrgao($orgaoDTO));
  294 + }
  295 +}
  296 +
263 297 class TesteObservacao {
264 298  
265 299 public function criarObservacaoControlado(){
... ...