abrirConexao(); $objSessao->validarLink(); $objSessao->validarPermissao(PEN_RECURSO_ATUAL); $arrComandos = array(); $bolSomenteLeitura = false; switch ($_GET['acao']) { case PEN_RECURSO_BASE.'_cadastrar': $arrComandos[] = ''; $arrComandos[] = ''; if(array_key_exists(PEN_PAGINA_GET_ID, $_GET) && !empty($_GET[PEN_PAGINA_GET_ID])){ $strTitulo = sprintf('Editar %s', PEN_PAGINA_TITULO); } else { $strTitulo = sprintf('Novo %s', PEN_PAGINA_TITULO); } break; case PEN_RECURSO_BASE.'_visualizar': $arrComandos[] = ''; $bolSomenteLeitura = true; $strTitulo = sprintf('Consultar %s', PEN_PAGINA_TITULO); break; default: throw new InfraException("Ação '" . $_GET['acao'] . "' não reconhecida."); } $objPenUnidadeRN = new PenUnidadeRN(); //-------------------------------------------------------------------------- // Ao por POST esta salvando o formulrio if(strtoupper($_SERVER['REQUEST_METHOD']) === 'POST') { if(!array_key_exists('id_unidade', $_POST) || empty($_POST['id_unidade'])) { throw new InfraException('Nenhuma "Unidade" foi selecionada'); } if(!array_key_exists('id_unidade_rh', $_POST) || $_POST['id_unidade_rh'] === '' || $_POST['id_unidade_rh'] === null) { throw new InfraException('Nenhuma "Unidade RH" foi selecionada'); } $objGenericoBD = new GenericoBD($objBanco); $objPenUnidadeRHDTO = new PenUnidadeDTO(); if ($_POST['id_unidade']) { $objPenUnidadeRHDTO->setNumIdUnidade($_POST['id_unidade'], InfraDTO::$OPER_DIFERENTE); } $objPenUnidadeRHDTO->setNumIdUnidadeRH($_POST['id_unidade_rh']); $objPenUnidadeRHDTO->retTodos(); $objResultado = $objGenericoBD->listar($objPenUnidadeRHDTO); if (count($objResultado) > 0) { throw new InfraException('Já existe um registro com a "Unidade RH" para o código: ' .$_POST['id_unidade_rh'] ); } $objPenUnidadeDTO = new PenUnidadeDTO(); $objPenUnidadeDTO->setNumIdUnidade($_POST['id_unidade']); $objPenUnidadeDTO->setNumIdUnidadeRH($_POST['id_unidade_rh']); $numIdUnidade = 0; if(array_key_exists(PEN_PAGINA_GET_ID, $_GET) && !empty($_GET[PEN_PAGINA_GET_ID])) { $objPenUnidadeDTO->setNumIdUnidade($_GET[PEN_PAGINA_GET_ID]); $unidade = $objPenUnidadeRN->alterar($objPenUnidadeDTO); $numIdUnidade = $_GET[PEN_PAGINA_GET_ID]; } else { $unidade = $objPenUnidadeRN->cadastrar($objPenUnidadeDTO); $numIdUnidade = $unidade->getNumIdUnidade(); } header('Location: '.$objSessao->assinarLink('controlador.php?acao='.PEN_RECURSO_BASE.'_listar&acao_origem='.$_GET['acao'].'&id_mapeamento='.$numIdUnidade.PaginaSEI::getInstance()->montarAncora($numIdUnidade))); exit(0); } // Ao por GET + ID esta carregando o formulrio else if(array_key_exists(PEN_PAGINA_GET_ID, $_GET) && !empty($_GET[PEN_PAGINA_GET_ID])){ $objPenUnidadeDTO = new PenUnidadeDTO(); $objPenUnidadeDTO->setNumIdUnidade($_GET[PEN_PAGINA_GET_ID]); $objPenUnidadeDTO->retTodos(); $objEspecieDocumentalBD = new GenericoBD(BancoSEI::getInstance()); $objPenUnidadeDTO = $objEspecieDocumentalBD->consultar($objPenUnidadeDTO); } if(empty($objPenUnidadeDTO)){ $objPenUnidadeDTO = new PenUnidadeDTO(); $objPenUnidadeDTO->setNumIdUnidade(0); $objPenUnidadeDTO->setNumIdUnidadeRH(0); } if(array_key_exists(PEN_PAGINA_GET_ID, $_GET) && !empty($_GET[PEN_PAGINA_GET_ID])) { $objPenUnidadeDTO->setNumIdUnidade($_GET[PEN_PAGINA_GET_ID]); } //Monta o select das unidades $objUnidadeDTO = new UnidadeDTO(); $arrNumIdUnidadeUsados = $objPenUnidadeRN->getIdUnidadeEmUso($objPenUnidadeDTO); if(!empty($arrNumIdUnidadeUsados)) { // Remove os que já estão em uso $objUnidadeDTO->setNumIdUnidade($arrNumIdUnidadeUsados, InfraDTO::$OPER_NOT_IN); } $objUnidadeDTO->retNumIdUnidade(); $objUnidadeDTO->retStrSigla(); $objUnidadeDTO->retStrDescricao(); $arrMapIdUnidade = array(); $objPenUnidadeRN = new PenUnidadeRN(); foreach ($objPenUnidadeRN->listar($objUnidadeDTO) as $dados) { $arrMapIdUnidade[$dados->getNumIdUnidade()] = $dados->getStrSigla() . ' - ' . $dados->getStrDescricao(); } } catch (InfraException $e) { $objPagina->processarExcecao($e); } catch(Exception $e) { $objPagina->processarExcecao($e); } // View ob_clean(); $objPagina->montarDocType(); $objPagina->abrirHtml(); $objPagina->abrirHead(); $objPagina->montarMeta(); $objPagina->montarTitle(':: ' . $objPagina->getStrNomeSistema() . ' - ' . $strTitulo . ' ::'); $objPagina->montarStyle(); ?> montarJavaScript(); ?> fecharHead(); $objPagina->abrirBody($strTitulo,'onload="inicializar();"'); ?>
montarBarraComandosSuperior($arrComandos); ?> montarAreaValidacao(); ?> abrirAreaDados('12em'); ?>




fecharAreaDados(); ?>
fecharBody(); ?> fecharHtml(); ?>