Commit c536a3da9a333e1112f040d812bac2ee92a3113c

Authored by eduardo.batista
1 parent 2cc3d19e
Exists in master and in 1 other branch desenv

[FEAT] Alterando lógica de exibição de retorno programado na listagem de processos.

Estava implementado conforme WSSEI antigo feito pela MBA porém usava a última atividade que não é necessáriamente a atividade de envio. Com isso não retornava corretamente os retornos programados.

Foi criado um novo objeto para busca direta entre retorno programado e protocolo. Com isto retorna os retornos programados que ainda não tenham sido concluídos.
dto/MdWsSeiRetornoProgramadoDTO.php 0 → 100644
@@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
  1 +<?
  2 +
  3 +class MdWsSeiRetornoProgramadoDTO extends RetornoProgramadoDTO{
  4 +
  5 + public function montar(){
  6 + parent::montar();
  7 +
  8 + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_DBL,
  9 + 'IdProtocolo',
  10 + 'e.id_protocolo',
  11 + 'atividade e');
  12 +
  13 + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_DTH,
  14 + 'Conclusao',
  15 + 'e.dth_conclusao',
  16 + 'atividade e');
  17 + }
  18 +
  19 +}
rn/MdWsSeiProcedimentoRN.php
@@ -328,15 +328,17 @@ class MdWsSeiProcedimentoRN extends InfraRN { @@ -328,15 +328,17 @@ class MdWsSeiProcedimentoRN extends InfraRN {
328 $atividadeDTO = $arrAtividades[0]; 328 $atividadeDTO = $arrAtividades[0];
329 $documentoNovo = $atividadeDTO->getNumIdTarefa() == 1 ? 'S' : 'N'; 329 $documentoNovo = $atividadeDTO->getNumIdTarefa() == 1 ? 'S' : 'N';
330 $usuarioAtribuido = $atividadeDTO->getStrNomeUsuarioAtribuicao(); 330 $usuarioAtribuido = $atividadeDTO->getStrNomeUsuarioAtribuicao();
331 - $dadosRetornoProgramado = $this->checaRetornoProgramado($atividadeDTO);  
332 - $retornoProgramado = $dadosRetornoProgramado['retornoProgramado'];  
333 - $retornoAtrasado = $dadosRetornoProgramado['expirado'];  
334 - $retornoData = $dadosRetornoProgramado['data'];  
335 $tipoVisualizacao = $atividadeDTO->getNumTipoVisualizacao() == 0 ? 'S' : 'N'; 331 $tipoVisualizacao = $atividadeDTO->getNumTipoVisualizacao() == 0 ? 'S' : 'N';
336 if($atividadeDTO->getNumIdUsuarioVisualizacao() == $usuarioAtribuicaoAtividade){ 332 if($atividadeDTO->getNumIdUsuarioVisualizacao() == $usuarioAtribuicaoAtividade){
337 $usuarioVisualizacao = 'S'; 333 $usuarioVisualizacao = 'S';
338 } 334 }
339 } 335 }
  336 + $dadosRetornoProgramado = $this->checaRetornoProgramado($protocoloDTO);
  337 + if($dadosRetornoProgramado){
  338 + $retornoProgramado = $dadosRetornoProgramado['retornoProgramado'];
  339 + $retornoAtrasado = $dadosRetornoProgramado['expirado'];
  340 + $retornoData = $dadosRetornoProgramado['data'];
  341 + }
340 $documentoRN = new DocumentoRN(); 342 $documentoRN = new DocumentoRN();
341 $documentoDTOConsulta = new DocumentoDTO(); 343 $documentoDTOConsulta = new DocumentoDTO();
342 $documentoDTOConsulta->setDblIdProcedimento($protocoloDTO->getDblIdProtocolo()); 344 $documentoDTOConsulta->setDblIdProcedimento($protocoloDTO->getDblIdProtocolo());
@@ -432,26 +434,33 @@ class MdWsSeiProcedimentoRN extends InfraRN { @@ -432,26 +434,33 @@ class MdWsSeiProcedimentoRN extends InfraRN {
432 return $result; 434 return $result;
433 } 435 }
434 436
435 - private function checaRetornoProgramado(AtividadeDTO $atividadeDTO){ 437 + private function checaRetornoProgramado(ProtocoloDTO $protocoloDTO){
436 $retProgramado = 'N'; 438 $retProgramado = 'N';
437 $expirado = 'N'; 439 $expirado = 'N';
  440 + $dataRetorno = null;
438 $retornoProgramadoRN = new RetornoProgramadoRN(); 441 $retornoProgramadoRN = new RetornoProgramadoRN();
439 - $retornoProgramadoDTO = new RetornoProgramadoDTO();  
440 - $retornoProgramadoDTO->retDtaProgramada();  
441 - $retornoProgramadoDTO->adicionarCriterio(  
442 - array('IdAtividadeEnvio', 'IdAtividadeRetorno'), 442 + $retornoProgramadoDTOConsulta = new MdWsSeiRetornoProgramadoDTO();
  443 + $retornoProgramadoDTOConsulta->retDtaProgramada();
  444 + $retornoProgramadoDTOConsulta->retNumIdAtividadeEnvio();
  445 +
  446 + $retornoProgramadoDTOConsulta->adicionarCriterio(
  447 + array('IdProtocolo', 'Conclusao'),
443 array(InfraDTO::$OPER_IGUAL, InfraDTO::$OPER_IGUAL), 448 array(InfraDTO::$OPER_IGUAL, InfraDTO::$OPER_IGUAL),
444 - array($atividadeDTO->getNumIdAtividade(), null), 449 + array($protocoloDTO->getDblIdProtocolo(), null),
445 array(InfraDTO::$OPER_LOGICO_AND) 450 array(InfraDTO::$OPER_LOGICO_AND)
446 ); 451 );
447 - $retornoProgramadoDTO = $retornoProgramadoRN->consultar($retornoProgramadoDTO); 452 + $retornoProgramadoDTOConsulta->setNumMaxRegistrosRetorno(1);
  453 + $retornoProgramadoDTOConsulta->setOrdNumIdRetornoProgramado(InfraDTO::$TIPO_ORDENACAO_DESC);
  454 + $ret = $retornoProgramadoRN->listar($retornoProgramadoDTOConsulta);
448 455
449 - if ($retornoProgramadoDTO) { 456 + if ($ret) {
  457 + $retornoProgramadoDTO = $ret[0];
450 $expirado = ($retornoProgramadoDTO->getDtaProgramada() < new Datetime()); 458 $expirado = ($retornoProgramadoDTO->getDtaProgramada() < new Datetime());
451 $retProgramado = 'S'; 459 $retProgramado = 'S';
  460 + $dataRetorno = $retornoProgramadoDTO->getDtaProgramada();
452 } 461 }
453 462
454 - return ['retornoProgramado' => $retProgramado, 'expirado' => $expirado]; 463 + return ['retornoProgramado' => $retProgramado, 'expirado' => $expirado, 'data' => $dataRetorno];
455 } 464 }
456 465
457 /** 466 /**