diff --git a/src/PENIntegracao.php b/src/PENIntegracao.php index 8859b590b..65a080a26 100755 --- a/src/PENIntegracao.php +++ b/src/PENIntegracao.php @@ -174,6 +174,47 @@ public function montarBotaoProcesso(ProcedimentoAPI $objSeiIntegracaoDTO) return array($strAcoesProcedimento); } + public function excluirHipoteseLegal($arrObjHipoteseLegalDTO) + { + $this->validarExcluirDesativarHipoteseLegal($arrObjHipoteseLegalDTO, 'exclusão'); + } + + public function desativarHipoteseLegal($arrObjHipoteseLegalDTO) + { + $this->validarExcluirDesativarHipoteseLegal($arrObjHipoteseLegalDTO, 'inativação'); + } + + public function validarExcluirDesativarHipoteseLegal($arrObjHipoteseLegalAPI, $strAcao) + { + $excecao = new InfraException(); + foreach ($arrObjHipoteseLegalAPI as $objHipoteseLegalAPI) { + $objPenHipoteseLegalDTO = new PenRelHipoteseLegalDTO(); + $objPenHipoteseLegalDTO->setNumIdHipoteseLegal($objHipoteseLegalAPI->getIdHipoteseLegal()); + $objPenHipoteseLegalDTO->retNumIdHipoteseLegal(); + $objPenHipoteseLegalDTO->setNumMaxRegistrosRetorno(1); + + $objPenRelHipoteseLegalEnvioRN = new PenRelHipoteseLegalEnvioRN(); + $objPenRelHipoteseLegalEnvioDTO = $objPenRelHipoteseLegalEnvioRN->consultar($objPenHipoteseLegalDTO); + + $objPenRelHipoteseLegalRecebidoRN = new PenRelHipoteseLegalRecebidoRN(); + $objPenRelHipoteseLegalRecebidoDTO = $objPenRelHipoteseLegalRecebidoRN->consultar($objPenHipoteseLegalDTO); + + if (!is_null($objPenRelHipoteseLegalEnvioDTO) || !is_null($objPenRelHipoteseLegalRecebidoDTO)) { + + $objPenHipoteseLegalDTO = new PenHipoteseLegalDTO(); + $objPenHipoteseLegalDTO->setNumIdHipoteseLegal($objHipoteseLegalAPI->getIdHipoteseLegal()); + $objPenHipoteseLegalDTO->retStrNome(); + + $objPenHipoteseLegalRN = new PenHipoteseLegalRN(); + $objPenHipoteseLegalDTO = $objPenHipoteseLegalRN->consultar($objPenHipoteseLegalDTO); + $nome = $objPenHipoteseLegalDTO->getStrNome(); + $excecao->lancarValidacao($this->getNome().": + A $strAcao da hipótese legal $nome não é permitida. + A referida hipótese legal está relacionada a uma hipótese legal do Tramita." + ); + } + } + } public function montarIconeControleProcessos($arrObjProcedimentoAPI = array()) { diff --git a/src/rn/PenHipoteseLegalRN.php b/src/rn/PenHipoteseLegalRN.php index 30fdd93dd..c23285fa0 100755 --- a/src/rn/PenHipoteseLegalRN.php +++ b/src/rn/PenHipoteseLegalRN.php @@ -53,4 +53,15 @@ protected function consultarControlado(PenHipoteseLegalDTO $objDTO) throw new InfraException('Erro consultando hipotese legal.', $e); } } + + protected function consultarConectado(PenHipoteseLegalDTO $objDTO) + { + try { + //Valida Permissao + $objBD = new GenericoBD(BancoSEI::getInstance()); + return $objBD->consultar($objDTO); + } catch (Exception $e) { + throw new InfraException('Erro ao consultar Hipotese Legal.', $e); + } + } }