setBolLigado(true); //InfraDebug::getInstance()->setBolDebugInfra(true); //InfraDebug::getInstance()->limpar(); ////////////////////////////////////////////////////////////////////////////// $objSessaoSEI = SessaoSEI::getInstance(); $objPaginaSEI = PaginaSEI::getInstance(); $objSessaoSEI->validarLink(); $objSessaoSEI->validarPermissao($_GET['acao']); $strParametros = ''; $bolErrosValidacao = false; $executarExpedicao = false; $arrComandos = array(); $objExpedirProcedimentosRN = new ExpedirProcedimentoRN(); $idProcedimento = filter_var($_GET['id_procedimento'], FILTER_SANITIZE_NUMBER_INT); if(!$idProcedimento){ throw new InfraException('Processo não informado.'); } if ($idProcedimento) { $strParametros .= '&id_procedimento=' . $idProcedimento; } if (isset($_GET['arvore'])) { $objPaginaSEI->setBolArvore($_GET['arvore']); $strParametros .= '&arvore=' . $_GET['arvore']; } if (isset($_GET['executar'])) { $executarExpedicao = filter_var($_GET['executar'], FILTER_VALIDATE_BOOLEAN); } //$objPaginaSEI->setBolExibirMensagens(false); //$resultProcessosAnexados = $objExpedirProcedimentosRN->consultarProcessosApensados($idProcedimento); //$strLinkAssuntosSelecao = $objSessaoSEI->assinarLink('controlador.php?acao=pen_procedimento_processo_anexado&tipo_selecao=2&id_object=objLupaAssuntos'); switch ($_GET['acao']) { case 'pen_procedimento_expedir': $strTitulo = 'Envio Externo de Processo'; $arrComandos[] = ''; $arrComandos[] = ''; //TODO: Avaliar a necessidade de validar cada um dos parâmetros do PEN exigidos por essa funcionalidade //Obter dados do repositório em que o SEI está registrado (Repositório de Origem) $objPenParametroRN = new PenParametroRN(); $numIdRepositorioOrigem = $objPenParametroRN->getParametro('PEN_ID_REPOSITORIO_ORIGEM'); //Preparação dos dados para montagem da tela de expedição de processos $repositorios = $objExpedirProcedimentosRN->listarRepositoriosDeEstruturas(); $motivosDeUrgencia = $objExpedirProcedimentosRN->consultarMotivosUrgencia(); $idRepositorioSelecionado = (isset($numIdRepositorio)) ? $numIdRepositorio : ''; $strItensSelRepositorioEstruturas = InfraINT::montarSelectArray('', 'Selecione', $idRepositorioSelecionado, $repositorios); $idMotivosUrgenciaSelecionado = (isset($idMotivosUrgenciaSelecionado)) ? $idMotivosUrgenciaSelecionado : ''; $strItensSelMotivosUrgencia = InfraINT::montarSelectArray('', 'Selecione', $idMotivosUrgenciaSelecionado, $motivosDeUrgencia); $strLinkAjaxUnidade = $objSessaoSEI->assinarLink('controlador_ajax.php?acao_ajax=pen_unidade_auto_completar_expedir_procedimento'); $strLinkAjaxProcedimentoApensado = $objSessaoSEI->assinarLink('controlador_ajax.php?acao_ajax=pen_apensados_auto_completar_expedir_procedimento'); //$strLinkUnidadeSelecao = $objSessaoSEI->assinarLink('controlador.php?acao=pen_unidade_sel_expedir_procedimento&tipo_selecao=2&id_object=objLupaUnidades'); //$strLinkRepositorioSelecao = $objSessaoSEI->assinarLink('controlador.php?acao=pen_repositorio_selecionar_expedir_procedimento&tipo_selecao=2&id_object=objLupaProcedimentosApensados'); $strLinkProcedimentosApensadosSelecao = $objSessaoSEI->assinarLink('controlador.php?acao=pen_apensados_selecionar_expedir_procedimento&tipo_selecao=2&id_object=objLupaProcedimentosApensados&id_procedimento='.$idProcedimento.''); //TODO: Obter dados do repositório e unidade de orígem através de serviço do PEN //Obtenção dos parâmetros selecionados pelo usuário //TODO: Obter repositório de origem a partir dos parâmetros do sistema //$numIdRepositorioOrigem = 1; //$numIdUnidadeOrigem = 161313; //TODO: Atualmente, o campo ID Unidade RH irá conter o código da unidade registrado no barramento. //A ideia é que no futura, o campo contenha o código do SIORG e busque no barramento qual o código da estrutura //$objSessaoSEI->getNumIdUnidadeAtual() $objUnidadeDTO = new PenUnidadeDTO(); $objUnidadeDTO->retNumIdUnidadeRH(); $objUnidadeDTO->setNumIdUnidade($objSessaoSEI->getNumIdUnidadeAtual()); $objUnidadeRN = new UnidadeRN(); $objUnidadeDTO = $objUnidadeRN->consultarRN0125($objUnidadeDTO); if (!$objUnidadeDTO) { throw new InfraException("A unidade atual não foi mapeada."); } $numIdUnidadeOrigem = $objUnidadeDTO->getNumIdUnidadeRH(); $numIdProcedimento = $_POST['hdnIdProcedimento']; $strProtocoloProcedimentoFormatado = $_POST['txtProtocoloExibir']; $numIdRepositorio = $_POST['selRepositorioEstruturas']; $strRepositorio = (array_key_exists($numIdRepositorio, $repositorios) ? $repositorios[$numIdRepositorio] : ''); $numIdUnidadeDestino = $_POST['hdnIdUnidade']; $strNomeUnidadeDestino = $_POST['txtUnidade']; $numIdMotivoUrgente = $_POST['selMotivosUrgencia']; $boolSinUrgente = $objPaginaSEI->getCheckbox($_POST['chkSinUrgente'], true, false); $arrIdProcedimentosApensados = $objPaginaSEI->getArrValuesSelect($_POST['hdnProcedimentosApensados']); //Carregar dados do procedimento na primeiro acesso à página if (!isset($_POST['hdnIdProcedimento'])) { $objProcedimentoRN = new ProcedimentoRN(); $objProcedimentoDTO = $objExpedirProcedimentosRN->consultarProcedimento($idProcedimento); // $objProcedimentoDTO->setArrObjDocumentoDTO($objExpedirProcedimentosRN->listarDocumentos($idProcedimento)); // $objProcedimentoDTO->setArrObjParticipanteDTO($objExpedirProcedimentosRN->listarInteressados($idProcedimento)); // // try { // //Validação das pré-condições para que o processo possa ser expedido // $objInfraException = new InfraException(); // $objExpedirProcedimentosRN->validarPreCondicoesExpedirProcedimento($objInfraException, $objProcedimentoDTO); // $objInfraException->lancarValidacoes(); // } catch(Exception $e){ // $bolErrosValidacao = true; // $objPaginaSEI->processarExcecao($e); // } $numIdProcedimento = $objProcedimentoDTO->getDblIdProcedimento(); $strProtocoloProcedimentoFormatado = $objProcedimentoDTO->getStrProtocoloProcedimentoFormatado(); } //------------------------------------------------------------------ // Executado dentro da window //------------------------------------------------------------------ //Tratamento da ação de expedir o procedimento if(isset($_POST['sbmExpedir'])) { $strTituloPagina = "Envio externo do processo $strProtocoloProcedimentoFormatado"; $objPaginaSEI->prepararBarraProgresso($strTitulo, $strTituloPagina); $objExpedirProcedimentoDTO = new ExpedirProcedimentoDTO(); //TODO: Remover atribuição de tais parâmetros de $objExpedirProcedimentoDTO->setNumIdRepositorioOrigem($numIdRepositorioOrigem); $objExpedirProcedimentoDTO->setNumIdUnidadeOrigem($numIdUnidadeOrigem); //$objExpedirProcedimentoDTO->setNumIdUnidadeAtual($objSessaoSEI->getNumIdUnidadeAtual()); $objExpedirProcedimentoDTO->setNumIdRepositorioDestino($numIdRepositorio); $objExpedirProcedimentoDTO->setStrRepositorioDestino($strRepositorio); $objExpedirProcedimentoDTO->setNumIdUnidadeDestino($numIdUnidadeDestino); $objExpedirProcedimentoDTO->setStrUnidadeDestino($strNomeUnidadeDestino); $objExpedirProcedimentoDTO->setArrIdProcessoApensado($arrIdProcedimentosApensados); $objExpedirProcedimentoDTO->setBolSinUrgente($boolSinUrgente); $objExpedirProcedimentoDTO->setDblIdProcedimento($numIdProcedimento); $objExpedirProcedimentoDTO->setNumIdMotivoUrgencia($numIdMotivoUrgente); try { $respostaExpedir = $objExpedirProcedimentosRN->expedirProcedimento($objExpedirProcedimentoDTO); //Adiciona o botão Fechar para a janela echo ''; } catch(\Exception $e) { $objPaginaSEI->processarExcecao($e); } $objPaginaSEI->finalizarBarraProgresso(null, false); } //------------------------------------------------------------------ break; default: throw new InfraException("Ação '" . $_GET['acao'] . "' não reconhecida."); } } catch (Exception $e) { //$objPaginaSEI->finalizarBarraProgresso($objSessaoSEI->assinarLink('controlador.php?acao='.$objPaginaSEI->getAcaoRetorno().'&acao_origem='.$_GET['acao'].'#ID-'.$IdProcedimento)); //$objPaginaSEI->processarExcecao($e); throw new InfraException("Error Processing Request 11", $e); } $objPaginaSEI->montarDocType(); $objPaginaSEI->abrirHtml(); $objPaginaSEI->abrirHead(); $objPaginaSEI->montarMeta(); $objPaginaSEI->montarTitle(':: ' . $objPaginaSEI->getStrNomeSistema() . ' - ' . $strTitulo . ' ::'); $objPaginaSEI->montarStyle(); ?> montarJavaScript(); ?> fecharHead(); $objPaginaSEI->abrirBody($strTitulo, 'onload="inicializar();"'); ?>
montarBarraLocalizacao($strTitulo); $objPaginaSEI->montarBarraComandosSuperior($arrComandos); //$objPaginaSEI->montarAreaValidacao(); ?>
Selecionar Unidades
montarBarraComandosInferior($arrComandos); ?>
montarAreaDebug(); $objPaginaSEI->fecharBody(); $objPaginaSEI->fecharHtml(); ?>