Commit c536a3da9a333e1112f040d812bac2ee92a3113c
1 parent
2cc3d19e
Exists in
master
and in
1 other branch
[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.
Showing
2 changed files
with
41 additions
and
13 deletions
Show diff stats
@@ -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 | /** |