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 @@ |
| 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 | 328 | $atividadeDTO = $arrAtividades[0]; |
| 329 | 329 | $documentoNovo = $atividadeDTO->getNumIdTarefa() == 1 ? 'S' : 'N'; |
| 330 | 330 | $usuarioAtribuido = $atividadeDTO->getStrNomeUsuarioAtribuicao(); |
| 331 | - $dadosRetornoProgramado = $this->checaRetornoProgramado($atividadeDTO); | |
| 332 | - $retornoProgramado = $dadosRetornoProgramado['retornoProgramado']; | |
| 333 | - $retornoAtrasado = $dadosRetornoProgramado['expirado']; | |
| 334 | - $retornoData = $dadosRetornoProgramado['data']; | |
| 335 | 331 | $tipoVisualizacao = $atividadeDTO->getNumTipoVisualizacao() == 0 ? 'S' : 'N'; |
| 336 | 332 | if($atividadeDTO->getNumIdUsuarioVisualizacao() == $usuarioAtribuicaoAtividade){ |
| 337 | 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 | 342 | $documentoRN = new DocumentoRN(); |
| 341 | 343 | $documentoDTOConsulta = new DocumentoDTO(); |
| 342 | 344 | $documentoDTOConsulta->setDblIdProcedimento($protocoloDTO->getDblIdProtocolo()); |
| ... | ... | @@ -432,26 +434,33 @@ class MdWsSeiProcedimentoRN extends InfraRN { |
| 432 | 434 | return $result; |
| 433 | 435 | } |
| 434 | 436 | |
| 435 | - private function checaRetornoProgramado(AtividadeDTO $atividadeDTO){ | |
| 437 | + private function checaRetornoProgramado(ProtocoloDTO $protocoloDTO){ | |
| 436 | 438 | $retProgramado = 'N'; |
| 437 | 439 | $expirado = 'N'; |
| 440 | + $dataRetorno = null; | |
| 438 | 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 | 448 | array(InfraDTO::$OPER_IGUAL, InfraDTO::$OPER_IGUAL), |
| 444 | - array($atividadeDTO->getNumIdAtividade(), null), | |
| 449 | + array($protocoloDTO->getDblIdProtocolo(), null), | |
| 445 | 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 | 458 | $expirado = ($retornoProgramadoDTO->getDtaProgramada() < new Datetime()); |
| 451 | 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 | /** | ... | ... |