From 8c17532680241dcfdc13fc3ab5e787a0eae39bcc Mon Sep 17 00:00:00 2001 From: eduardo.batista Date: Sat, 20 May 2017 21:36:07 -0300 Subject: [PATCH] [FEAT] Utilizando mesma regra de verificação de retorno programado. --- rn/MdWsSeiProcedimentoRN.php | 65 +++++++++++++++++++++++++---------------------------------------- 1 file changed, 25 insertions(+), 40 deletions(-) diff --git a/rn/MdWsSeiProcedimentoRN.php b/rn/MdWsSeiProcedimentoRN.php index ecb924b..f559fec 100644 --- a/rn/MdWsSeiProcedimentoRN.php +++ b/rn/MdWsSeiProcedimentoRN.php @@ -377,14 +377,33 @@ class MdWsSeiProcedimentoRN extends InfraRN { if($atividadePendenciaDTO->getNumTipoVisualizacao() & AtividadeRN::$TV_PUBLICACAO){ $processoPublicado = 'S'; } + $retornoProgramadoDTOConsulta = new RetornoProgramadoDTO(); + $retornoProgramadoDTOConsulta->retDblIdProtocoloAtividadeEnvio(); + $retornoProgramadoDTOConsulta->retStrSiglaUnidadeOrigemAtividadeEnvio(); + $retornoProgramadoDTOConsulta->retStrSiglaUnidadeAtividadeEnvio(); + $retornoProgramadoDTOConsulta->retDtaProgramada(); + $retornoProgramadoDTOConsulta->setNumIdUnidadeAtividadeEnvio(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); + $retornoProgramadoDTOConsulta->setDblIdProtocoloAtividadeEnvio(array_unique(InfraArray::converterArrInfraDTO($arrAtividadePendenciaDTO, 'IdProtocolo')), InfraDTO::$OPER_IN); + $retornoProgramadoDTOConsulta->setNumIdAtividadeRetorno(null); + $objRetornoProgramadoRN = new RetornoProgramadoRN(); + $arrRetornoProgramadoDTO = $objRetornoProgramadoRN->listar($retornoProgramadoDTOConsulta); + if($arrRetornoProgramadoDTO){ + $retornoProgramado = 'S'; + $strDataAtual = InfraData::getStrDataAtual(); + foreach($arrRetornoProgramadoDTO as $retornoProgramadoDTO){ + $numPrazo = InfraData::compararDatas($strDataAtual,$retornoProgramadoDTO->getDtaProgramada()); + if($numPrazo < 0){ + $retornoAtrasado = 'S'; + $retornoData = array( + 'date' => $retornoProgramadoDTO->getDtaProgramada(), + 'unidade' => $retornoProgramadoDTO->getStrSiglaUnidadeOrigemAtividadeEnvio() + ); + + } + } + } } - $dadosRetornoProgramado = $this->checaRetornoProgramado($protocoloDTO); - if($dadosRetornoProgramado){ - $retornoProgramado = $dadosRetornoProgramado['retornoProgramado']; - $retornoAtrasado = $dadosRetornoProgramado['expirado']; - $retornoData = $dadosRetornoProgramado['data']; - } $documentoRN = new DocumentoRN(); $documentoDTOConsulta = new DocumentoDTO(); $documentoDTOConsulta->setDblIdProcedimento($protocoloDTO->getDblIdProtocolo()); @@ -488,40 +507,6 @@ class MdWsSeiProcedimentoRN extends InfraRN { return $result; } - private function checaRetornoProgramado(ProtocoloDTO $protocoloDTO){ - $retProgramado = 'N'; - $expirado = 'N'; - $dadosRetorno = null; - $retornoProgramadoRN = new RetornoProgramadoRN(); - $retornoProgramadoDTOConsulta = new MdWsSeiRetornoProgramadoDTO(); - $retornoProgramadoDTOConsulta->retDtaProgramada(); - $retornoProgramadoDTOConsulta->retNumIdAtividadeEnvio(); - $retornoProgramadoDTOConsulta->retStrSiglaUnidadeAtividadeEnvio(); - - $retornoProgramadoDTOConsulta->adicionarCriterio( - array('IdProtocolo', 'Conclusao'), - array(InfraDTO::$OPER_IGUAL, InfraDTO::$OPER_IGUAL), - array($protocoloDTO->getDblIdProtocolo(), null), - array(InfraDTO::$OPER_LOGICO_AND) - ); - $retornoProgramadoDTOConsulta->setNumMaxRegistrosRetorno(1); - $retornoProgramadoDTOConsulta->setOrdNumIdRetornoProgramado(InfraDTO::$TIPO_ORDENACAO_DESC); - $ret = $retornoProgramadoRN->listar($retornoProgramadoDTOConsulta); - - if ($ret) { - $retornoProgramadoDTO = $ret[0]; - $expirado = ($retornoProgramadoDTO->getDtaProgramada() < new Datetime()); - $retProgramado = 'S'; - $dadosRetorno = array( - 'date' => $retornoProgramadoDTO->getDtaProgramada(), - 'unidade' => $retornoProgramadoDTO->getStrSiglaUnidadeAtividadeEnvio() - ); - - } - - return ['retornoProgramado' => $retProgramado, 'expirado' => $expirado, 'data' => $dadosRetorno]; - } - /** * Metodo que retorna as ciencias nos processos * @param ProtocoloDTO $protocoloDTOParam -- libgit2 0.21.2