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 | /** |