From ec6003f2a307bf2be3e6c71204e98b28ce6b2a72 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 3 Jun 2019 14:47:23 -0300 Subject: [PATCH] [UPD] - ENVIO PROCESSO ANEXO --- pen_procedimento_expedir.php | 35 +++++++++++++++++++++++++++++++++-- pen_procedimento_expedir_validar.php | 27 ++++++++++++++++++++++----- rn/ExpedirProcedimentoRN.php | 22 ++++++++++++++-------- 3 files changed, 69 insertions(+), 15 deletions(-) diff --git a/pen_procedimento_expedir.php b/pen_procedimento_expedir.php index c00cde2..9b524de 100644 --- a/pen_procedimento_expedir.php +++ b/pen_procedimento_expedir.php @@ -110,7 +110,8 @@ try { $strNomeUnidadeDestino = $_POST['txtUnidade']; $numIdMotivoUrgente = $_POST['selMotivosUrgencia']; $boolSinUrgente = $objPaginaSEI->getCheckbox($_POST['chkSinUrgente'], true, false); - $arrIdProcedimentosApensados = $objPaginaSEI->getArrValuesSelect($_POST['hdnProcedimentosApensados']); + //aqui + //$arrIdProcedimentosApensados = $objPaginaSEI->getArrValuesSelect(37); //Carregar dados do procedimento na primeiro acesso à página if (!isset($_POST['hdnIdProcedimento'])) { @@ -130,6 +131,9 @@ try { // $objPaginaSEI->processarExcecao($e); // } + + + $numIdProcedimento = $objProcedimentoDTO->getDblIdProcedimento(); $strProtocoloProcedimentoFormatado = $objProcedimentoDTO->getStrProtocoloProcedimentoFormatado(); } @@ -140,6 +144,29 @@ try { //Tratamento da ação de expedir o procedimento if(isset($_POST['sbmExpedir'])) { + //Consulta do ID Pai + $objRelProtocoloProtocoloDTO1 = new RelProtocoloProtocoloDTO(); + $objRelProtocoloProtocoloDTO1->setDblIdProtocolo1($idProcedimento); + $objRelProtocoloProtocoloDTO1->setStrStaAssociacao(RelProtocoloProtocoloRN ::$TA_PROCEDIMENTO_ANEXADO); + $objRelProtocoloProtocoloDTO1->retDblIdProtocolo1(); + $objRelProtocoloProtocoloDTO1->retDblIdProtocolo2(); + + /* + * Consulta processos que estão anexados no processo pai + */ + $objRelProtocoloProtocoloRN = new RelProtocoloProtocoloRN(); + $objRelProtocoloProtocoloDTOAux = new RelProtocoloProtocoloDTO(); + $objRelProtocoloProtocoloDTOAux = $objRelProtocoloProtocoloRN->listarRN0187($objRelProtocoloProtocoloDTO1); + $arrIdProtocolosAnexados = null; + + // Cria um array com os id's dos processo anexados + if(!empty($objRelProtocoloProtocoloDTOAux)) { + foreach ($objRelProtocoloProtocoloDTOAux as $objProtocoloAnexado) { + $arrIdProtocolosAnexados[] = $objProtocoloAnexado->getDblIdProtocolo2(); + } + } + + $strTituloPagina = "Envio externo do processo $strProtocoloProcedimentoFormatado"; $objPaginaSEI->prepararBarraProgresso($strTitulo, $strTituloPagina); @@ -155,7 +182,8 @@ try { $objExpedirProcedimentoDTO->setStrRepositorioDestino($strRepositorio); $objExpedirProcedimentoDTO->setNumIdUnidadeDestino($numIdUnidadeDestino); $objExpedirProcedimentoDTO->setStrUnidadeDestino($strNomeUnidadeDestino); - $objExpedirProcedimentoDTO->setArrIdProcessoApensado($arrIdProcedimentosApensados); + // $objExpedirProcedimentoDTO->setArrIdProcessoApensado($arrIdProcedimentosApensados); + $objExpedirProcedimentoDTO->setArrIdProcessoApensado($arrIdProtocolosAnexados); $objExpedirProcedimentoDTO->setBolSinUrgente($boolSinUrgente); $objExpedirProcedimentoDTO->setDblIdProcedimento($numIdProcedimento); $objExpedirProcedimentoDTO->setNumIdMotivoUrgencia($numIdMotivoUrgente); @@ -516,6 +544,9 @@ function enviarForm(el){ alert(strRespMensagem); return false; } + // if(resp.hope){ + // alert(JSON.parse(resp.hope)); + // } var strAction = 'formatarXHTML($objSessaoSEI->assinarLink('controlador.php?acao='.$_GET['acao'] . '&acao_origem=' . $_GET['acao'] . '&acao_destino=' . $_GET['acao'] .'&'.$strParametros.'&executar=1')); ?>'; abrirBarraProgresso(document.forms['frmExpedirProcedimento'], strAction, 600, 200); } diff --git a/pen_procedimento_expedir_validar.php b/pen_procedimento_expedir_validar.php index 57c80c3..5fc085b 100644 --- a/pen_procedimento_expedir_validar.php +++ b/pen_procedimento_expedir_validar.php @@ -42,12 +42,26 @@ try { $objRelProtocoloProtocoloDTO1->setDblIdProtocolo1($dblIdProcedimento); $objRelProtocoloProtocoloDTO1->setStrStaAssociacao(RelProtocoloProtocoloRN ::$TA_PROCEDIMENTO_ANEXADO); $objRelProtocoloProtocoloDTO1->retDblIdProtocolo1(); + $objRelProtocoloProtocoloDTO1->retDblIdProtocolo2(); //Consulta do ID Filhos $objRelProtocoloProtocoloDTO2 = new RelProtocoloProtocoloDTO(); $objRelProtocoloProtocoloDTO2->setDblIdProtocolo2($dblIdProcedimento); $objRelProtocoloProtocoloDTO2->setStrStaAssociacao(RelProtocoloProtocoloRN ::$TA_PROCEDIMENTO_ANEXADO); $objRelProtocoloProtocoloDTO2->retDblIdProtocolo2(); + /* + * Consulta processos que estão anexados no processo pai + */ + $objRelProtocoloProtocoloDTOAux = new RelProtocoloProtocoloDTO(); + $objRelProtocoloProtocoloDTOAux = $objRelProtocoloProtocoloRN->listarRN0187($objRelProtocoloProtocoloDTO1); + $arrIdProtocolosAnexados = null; + + // Cria um array com os id's dos processo anexados + if(!empty($objRelProtocoloProtocoloDTOAux)) { + foreach ($objRelProtocoloProtocoloDTOAux as $objProtocoloAnexado) { + $arrIdProtocolosAnexados[] = $objProtocoloAnexado->getDblIdProtocolo2(); + } + } $numCount1 = $objRelProtocoloProtocoloRN->contarRN0843($objRelProtocoloProtocoloDTO1); $numCount2 = $objRelProtocoloProtocoloRN->contarRN0843($objRelProtocoloProtocoloDTO2); @@ -55,9 +69,9 @@ try { if ($numCount1 > 0 && $numCount2 > 0) { $objInfraException->adicionarValidacao('Esse processo está anexado a outro processo e possui outros em anexo, portanto não pode ser tramitado.', $strProtocoloFormatado); } else { - if ($numCount1 > 0) { - $objInfraException->adicionarValidacao('Esse processo possuí outros em anexo, portanto não pode ser tramitado externamente.', $strProtocoloFormatado); - } +// if ($numCount1 > 0) { +// $objInfraException->adicionarValidacao('Esse processo possuí outros em anexo, portanto não pode ser tramitado externamente.', $strProtocoloFormatado); +// } if ($numCount2 > 0) { $objInfraException->adicionarValidacao('Esse processo está anexado a outro processo, portanto não pode ser tramitado.', $strProtocoloFormatado); @@ -83,9 +97,9 @@ try { $objExpedirProcedimentosRN->validarPreCondicoesExpedirProcedimento($objInfraException, $objProcedimentoDTO, $strProtocoloFormatado); // Processos apensados - if(array_key_exists('selProcedimentosApensados', $_POST) && is_array($_POST['selProcedimentosApensados'])){ + if($arrIdProtocolosAnexados){ - foreach($_POST['selProcedimentosApensados'] as $dblIdProcedimento) { + foreach($arrIdProtocolosAnexados as $dblIdProcedimento) { $objProcedimentoDTO = $objExpedirProcedimentosRN->consultarProcedimento($dblIdProcedimento); @@ -120,6 +134,9 @@ if($objInfraException->contemValidacoes()) { } else { $arrResponse['sucesso'] = true; + if($arrIdProtocolosAnexados){ + $arrResponse['arrayIdProtocolosAnexados'] = $arrIdProtocolosAnexados; + } } print json_encode($arrResponse); diff --git a/rn/ExpedirProcedimentoRN.php b/rn/ExpedirProcedimentoRN.php index 872612f..5afe00f 100644 --- a/rn/ExpedirProcedimentoRN.php +++ b/rn/ExpedirProcedimentoRN.php @@ -352,6 +352,7 @@ class ExpedirProcedimentoRN extends InfraRN { //Registra andamento para processos apensados que foram expedidos if(isset($objProcesso->processoApensado) && is_array($objProcesso->processoApensado)) { foreach($objProcesso->processoApensado as $objProcessoApensado) { + $this->registrarAndamentoExpedicaoProcesso($objExpedirProcedimentoDTO, $objProcessoApensado); } } @@ -441,8 +442,13 @@ class ExpedirProcedimentoRN extends InfraRN { $this->atribuirDataHoraDeRegistro($objProcesso, $objProcedimentoDTO->getDblIdProcedimento()); $this->atribuirDocumentos($objProcesso, $dblIdProcedimento, $parObjMetadadosTramiteAnterior); $this->atribuirDadosInteressados($objProcesso, $dblIdProcedimento); - $this->adicionarProcessosApensados($objProcesso, $arrIdProcessoApensado); - + /* + * Verificação adicionada pois a função construirProcesso + * possui chamada recursiva dentro da função adicionarProcessosApensados + */ + if($arrIdProcessoApensado) { + $this->adicionarProcessosApensados($objProcesso, $arrIdProcessoApensado); + } $objProcesso->idProcedimentoSEI = $dblIdProcedimento; return $objProcesso; } @@ -1422,12 +1428,12 @@ class ExpedirProcedimentoRN extends InfraRN { private function adicionarProcessosApensados($objProcesso, $arrIdProcessoApensado) { - if(isset($arrIdProcessoApensado) && is_array($arrIdProcessoApensado) && count($arrIdProcessoApensado) > 0) { - $objProcesso->processoApensado = array(); - foreach($arrIdProcessoApensado as $idProcedimentoApensado) { - $objProcesso->processoApensado[] = $this->construirProcesso($idProcedimentoApensado); - } - } +// if(isset($arrIdProcessoApensado) && is_array($arrIdProcessoApensado) && count($arrIdProcessoApensado) > 0) { +// $objProcesso->processoApensado = array(); +// foreach($arrIdProcessoApensado as $idProcedimentoApensado) { +// $objProcesso->processoApensado[] = $this->construirProcesso($idProcedimentoApensado); +// } +// } } private function consultarUnidade($numIdUnidade) -- libgit2 0.21.2