From 640f095e7ffb32116866aaf51a92dd0f50a0888c Mon Sep 17 00:00:00 2001 From: Thiago Farias Date: Thu, 19 Oct 2017 10:25:46 -0200 Subject: [PATCH] Sprint 1 Release 5 - Primeiro commit --- PENControlador.php | 3 +++ PENIntegracao.php | 27 +++++++++++++++++++++++++++ bd/PenHipoteseLegalBD.php | 12 ++++++++++++ bd/PenParametroBD.php | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ dto/PenHipoteseLegalDTO.php | 25 +++++++++++++++++++++++++ dto/PenParametroDTO.php | 24 ++++++++++++++++++++++++ dto/PenRelHipoteseLegalDTO.php | 25 +++++++++++++++++++++++++ pen_map_hipotese_legal_enviado_cadastrar.php | 221 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ pen_map_hipotese_legal_enviado_listar.php | 385 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ pen_map_hipotese_legal_padrao_cadastrar.php | 176 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ pen_map_hipotese_legal_recebido_cadastrar.php | 221 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ pen_map_hipotese_legal_recebido_listar.php | 390 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ rn/PenAtualizadorRN.php | 285 ++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- rn/PenAtualizarSeiRN.php | 1070 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ rn/PenHipoteseLegalRN.php | 31 +++++++++++++++++++++++++++++++ rn/PenParametroRN.php | 144 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ rn/PenRelHipoteseLegalEnvioRN.php | 28 ++++++++++++++++++++++++++++ rn/PenRelHipoteseLegalRN.php | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ rn/PenRelHipoteseLegalRecebidoRN.php | 28 ++++++++++++++++++++++++++++ sei_atualizar_versao_modulo_pen.php | 4 +--- sip_atualizar_versao_modulo_pen.php | 627 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 21 files changed, 2734 insertions(+), 1160 deletions(-) create mode 100644 bd/PenHipoteseLegalBD.php create mode 100644 bd/PenParametroBD.php create mode 100644 dto/PenHipoteseLegalDTO.php create mode 100644 dto/PenParametroDTO.php create mode 100644 dto/PenRelHipoteseLegalDTO.php create mode 100644 pen_map_hipotese_legal_enviado_cadastrar.php create mode 100644 pen_map_hipotese_legal_enviado_listar.php create mode 100644 pen_map_hipotese_legal_padrao_cadastrar.php create mode 100644 pen_map_hipotese_legal_recebido_cadastrar.php create mode 100644 pen_map_hipotese_legal_recebido_listar.php create mode 100644 rn/PenHipoteseLegalRN.php create mode 100644 rn/PenParametroRN.php create mode 100644 rn/PenRelHipoteseLegalEnvioRN.php create mode 100644 rn/PenRelHipoteseLegalRN.php create mode 100644 rn/PenRelHipoteseLegalRecebidoRN.php diff --git a/PENControlador.php b/PENControlador.php index a1e7e10..b0aa8b7 100644 --- a/PENControlador.php +++ b/PENControlador.php @@ -54,6 +54,9 @@ class PENControlador implements ISeiControlador { case 'pen_procedimento_estado': require_once dirname(__FILE__) . '/pen_procedimento_estado.php'; return true; + + + } return false; diff --git a/PENIntegracao.php b/PENIntegracao.php index 33c970d..cfdf712 100644 --- a/PENIntegracao.php +++ b/PENIntegracao.php @@ -206,6 +206,33 @@ class PENIntegracao extends SeiIntegracao { case 'pen_procedimento_estado': require_once dirname(__FILE__) . '/pen_procedimento_estado.php'; return true; + + // Mapeamento de Hipóteses Legais de Envio + case 'pen_map_hipotese_legal_enviado_cadastrar': + case 'pen_map_hipotese_legal_enviado_visualizar': + require_once dirname(__FILE__) . '/pen_map_hipotese_legal_enviado_cadastrar.php'; + return true; + + case 'pen_map_hipotese_legal_enviado_listar': + case 'pen_map_hipotese_legal_enviado_excluir': + require_once dirname(__FILE__) . '/pen_map_hipotese_legal_enviado_listar.php'; + return true; + + // Mapeamento de Hipóteses Legais de Recebimento + case 'pen_map_hipotese_legal_recebido_cadastrar': + case 'pen_map_hipotese_legal_recebido_visualizar': + require_once dirname(__FILE__) . '/pen_map_hipotese_legal_recebido_cadastrar.php'; + return true; + + case 'pen_map_hipotese_legal_recebido_listar': + case 'pen_map_hipotese_legal_recebido_excluir': + require_once dirname(__FILE__) . '/pen_map_hipotese_legal_recebido_listar.php'; + return true; + + case 'pen_map_hipotese_legal_padrao_cadastrar': + case 'pen_map_hipotese_legal_padrao_visualizar': + require_once dirname(__FILE__) . '/pen_map_hipotese_legal_padrao_cadastrar.php'; + return true; } return false; diff --git a/bd/PenHipoteseLegalBD.php b/bd/PenHipoteseLegalBD.php new file mode 100644 index 0000000..7dee37e --- /dev/null +++ b/bd/PenHipoteseLegalBD.php @@ -0,0 +1,12 @@ +getObjInfraIBanco()->formatarGravacaoStr($strNome); + + $rs = $this->getObjInfraIBanco()->consultarSql($sql); + + if ($rs[0]['existe'] == 0) { + + if (strlen($strNome) > 100) { + throw new InfraException('Nome do parmetro possui tamanho superior a 100 caracteres.'); + } + + $sql = ''; + $sql .= ' INSERT INTO infra_parametro (nome,valor)'; + $sql .= ' VALUES '; + $sql .= ' (' . $this->getObjInfraIBanco()->formatarGravacaoStr($strNome) . ',' . $this->getObjInfraIBanco()->formatarGravacaoStr($strValor) . ')'; + + } else { + $sql = ''; + $sql .= ' UPDATE infra_parametro '; + $sql .= ' SET valor = ' . $this->getObjInfraIBanco()->formatarGravacaoStr($strValor); + $sql .= ' WHERE nome = ' . $this->getObjInfraIBanco()->formatarGravacaoStr($strNome); + } + + $ret = $this->getObjInfraIBanco()->executarSql($sql); + + return $ret; + } + + public function isSetValor($strNome) { + + $sql = ''; + $sql .= ' SELECT valor'; + $sql .= ' FROM md_pen_parametro '; + $sql .= ' WHERE nome = ' . $this->getObjInfraIBanco()->formatarGravacaoStr($strNome); + + $rs = $this->getObjInfraIBanco()->consultarSql($sql); + + if (count($rs) == 0) { + return false; + } + + return true; + } +} diff --git a/dto/PenHipoteseLegalDTO.php b/dto/PenHipoteseLegalDTO.php new file mode 100644 index 0000000..d176384 --- /dev/null +++ b/dto/PenHipoteseLegalDTO.php @@ -0,0 +1,25 @@ +adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdHipoteseLegal', 'id_hipotese_legal'); + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'Nome', 'nome'); + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'Ativo', 'sin_ativo'); + + $this->configurarPK('IdHipoteseLegal',InfraDTO::$TIPO_PK_SEQUENCIAL); + + //$this->configurarExclusaoLogica('Ativo', 'N'); + } +} diff --git a/dto/PenParametroDTO.php b/dto/PenParametroDTO.php new file mode 100644 index 0000000..b3f2fb1 --- /dev/null +++ b/dto/PenParametroDTO.php @@ -0,0 +1,24 @@ +adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'Nome', 'nome'); + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'Valor', 'valor'); + + $this->configurarPK('Nome',InfraDTO::$TIPO_PK_INFORMADO); + } +} diff --git a/dto/PenRelHipoteseLegalDTO.php b/dto/PenRelHipoteseLegalDTO.php new file mode 100644 index 0000000..97e00b5 --- /dev/null +++ b/dto/PenRelHipoteseLegalDTO.php @@ -0,0 +1,25 @@ +adicionarAtributoTabela(InfraDTO::$PREFIXO_DBL, 'IdMap', 'id_mapeamento'); + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdHipoteseLegal', 'id_hipotese_legal'); + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdBarramento', 'id_hipotese_legal_pen'); + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'Tipo', 'tipo'); + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'Ativo', 'sin_ativo'); + + $this->configurarPK('IdMap',InfraDTO::$TIPO_PK_SEQUENCIAL); + + //$this->configurarExclusaoLogica('Ativo', 'N'); + } +} diff --git a/pen_map_hipotese_legal_enviado_cadastrar.php b/pen_map_hipotese_legal_enviado_cadastrar.php new file mode 100644 index 0000000..8b53c63 --- /dev/null +++ b/pen_map_hipotese_legal_enviado_cadastrar.php @@ -0,0 +1,221 @@ +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."); + } + + $objPenRelHipoteseLegalRN = new PenRelHipoteseLegalEnvioRN(); + + //-------------------------------------------------------------------------- + // Ao por POST esta salvando o formulrio + if(strtoupper($_SERVER['REQUEST_METHOD']) === 'POST') { + + if(!array_key_exists('id_hipotese_legal', $_POST) || empty($_POST['id_hipotese_legal'])) { + throw new InfraException('Nenhuma "Espécie Documental" foi selecionada'); + } + + if(!array_key_exists('id_barramento', $_POST) || empty($_POST['id_barramento'])) { + throw new InfraException('Nenhum "Tipo de Documento" foi selecionado'); + } + + $objPenRelHipoteseLegalDTO = new PenRelHipoteseLegalDTO(); + $objPenRelHipoteseLegalDTO->setNumIdHipoteseLegal($_POST['id_hipotese_legal']); + $objPenRelHipoteseLegalDTO->setNumIdBarramento($_POST['id_barramento']); + $objPenRelHipoteseLegalDTO->setStrTipo('E');// Enviado + + $numIdMapeamento = 0; + if(array_key_exists(PEN_PAGINA_GET_ID, $_GET) && !empty($_GET[PEN_PAGINA_GET_ID])) { + $objPenRelHipoteseLegalDTO->setDblIdMap($_GET[PEN_PAGINA_GET_ID]); + $mapeamento = $objPenRelHipoteseLegalRN->alterar($objPenRelHipoteseLegalDTO); + $numIdMapeamento = $_GET[PEN_PAGINA_GET_ID]; + } + else { + $mapeamento = $objPenRelHipoteseLegalRN->cadastrar($objPenRelHipoteseLegalDTO); + $numIdMapeamento = $mapeamento->getDblIdMap(); + } + + header('Location: '.$objSessao->assinarLink('controlador.php?acao='.PEN_RECURSO_BASE.'_listar&acao_origem='.$_GET['acao'].'&id_mapeamento='.$numIdMapeamento.PaginaSEI::getInstance()->montarAncora($numIdMapeamento))); + 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])){ + + $objPenRelHipoteseLegalDTO = new PenRelHipoteseLegalDTO(); + $objPenRelHipoteseLegalDTO->setDblIdMap($_GET[PEN_PAGINA_GET_ID]); + $objPenRelHipoteseLegalDTO->retTodos(); + + $objEspecieDocumentalBD = new GenericoBD(BancoSEI::getInstance()); + $objPenRelHipoteseLegalDTO = $objEspecieDocumentalBD->consultar($objPenRelHipoteseLegalDTO); + } + + if(empty($objPenRelHipoteseLegalDTO)){ + $objPenRelHipoteseLegalDTO = new PenRelHipoteseLegalDTO(); + $objPenRelHipoteseLegalDTO->setNumIdHipoteseLegal(0); + $objPenRelHipoteseLegalDTO->setNumIdBarramento(0); + } + + + if(array_key_exists(PEN_PAGINA_GET_ID, $_GET) && !empty($_GET[PEN_PAGINA_GET_ID])) { + $objPenRelHipoteseLegalDTO->setDblIdMap($_GET[PEN_PAGINA_GET_ID]); + } + + //-------------------------------------------------------------------------- + // Auto-Complete + //-------------------------------------------------------------------------- + // Mapeamento da hipotese legal do local j utilizados + $arrNumIdHipoteseLegal = $objPenRelHipoteseLegalRN->getIdHipoteseLegalEmUso($objPenRelHipoteseLegalDTO, 'E'); + + // Mapeamento da hipotese legal local + $objHipoteseLegalDTO = new HipoteseLegalDTO(); + if(!empty($arrNumIdHipoteseLegal)) { + // Remove os que j esto em uso + $objHipoteseLegalDTO->setNumIdHipoteseLegal($arrNumIdHipoteseLegal, InfraDTO::$OPER_NOT_IN); + } + $objHipoteseLegalDTO->setStrStaNivelAcesso(ProtocoloRN::$NA_RESTRITO); //Restrito + $objHipoteseLegalDTO->setStrSinAtivo('S'); + $objHipoteseLegalDTO->setOrdStrNome(InfraDTO::$TIPO_ORDENACAO_ASC); + $objHipoteseLegalDTO->retNumIdHipoteseLegal(); + $objHipoteseLegalDTO->retStrNome(); + + $objHipoteseLegalRN = new HipoteseLegalRN(); + $arrMapIdHipoteseLegal = InfraArray::converterArrInfraDTO($objHipoteseLegalRN->listar($objHipoteseLegalDTO), 'Nome', 'IdHipoteseLegal'); + + // Mapeamento da hipotese legal remota + $objPenHipoteseLegalDTO = new PenHipoteseLegalDTO(); + $objPenHipoteseLegalDTO->setOrdStrNome(InfraDTO::$TIPO_ORDENACAO_ASC); + $objPenHipoteseLegalDTO->retNumIdHipoteseLegal(); + $objPenHipoteseLegalDTO->retStrNome(); + + $objPenHipoteseLegalRN = new PenHipoteseLegalRN(); + $arrMapIdBarramento = InfraArray::converterArrInfraDTO($objPenHipoteseLegalRN->listar($objPenHipoteseLegalDTO), 'Nome', 'IdHipoteseLegal'); + //-------------------------------------------------------------------------- +} +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(); ?> diff --git a/pen_map_hipotese_legal_enviado_listar.php b/pen_map_hipotese_legal_enviado_listar.php new file mode 100644 index 0000000..3522cb6 --- /dev/null +++ b/pen_map_hipotese_legal_enviado_listar.php @@ -0,0 +1,385 @@ +setBolLigado(false); + $objDebug->setBolDebugInfra(true); + $objDebug->limpar(); + + $objSessao->validarLink(); + $objSessao->validarPermissao(PEN_RECURSO_ATUAL); + + $objBanco->abrirConexao(); + + + //-------------------------------------------------------------------------- + // Ações + if(array_key_exists('acao', $_GET)) { + + $arrParam = array_merge($_GET, $_POST); + + switch($_GET['acao']) { + + case PEN_RECURSO_BASE.'_excluir': + + if(array_key_exists('hdnInfraItensSelecionados', $arrParam) && !empty($arrParam['hdnInfraItensSelecionados'])) { + + $objPenRelHipoteseLegalDTO = new PenRelHipoteseLegalDTO(); + $objPenRelHipoteseLegalRN = new PenRelHipoteseLegalEnvioRN(); + + if(is_array($arrParam['hdnInfraItensSelecionados'])) { + + foreach($arrParam['hdnInfraItensSelecionados'] as $dblIdMap) { + + $objPenRelHipoteseLegalDTO->setDblIdMap($dblIdMap); + $objPenRelHipoteseLegalRN->excluir($objPenRelHipoteseLegalDTO); + } + } + else { + + $objPenRelHipoteseLegalDTO->setDblIdMap($arrParam['hdnInfraItensSelecionados']); + $objPenRelHipoteseLegalRN->excluir($objPenRelHipoteseLegalDTO); + } + + $objPagina->adicionarMensagem(sprintf('%s foi excluido com sucesso.', PEN_PAGINA_TITULO), InfraPagina::$TIPO_MSG_AVISO); + + header('Location: '.SessaoSEI::getInstance()->assinarLink('controlador.php?acao='.$_GET['acao_retorno'].'&acao_origem='.$_GET['acao_origem'])); + exit(0); + } + else { + + throw new InfraException('Nenhum Registro foi selecionado para executar esta ação'); + } + break; + + case PEN_RECURSO_BASE.'_desativar': + + if(array_key_exists('hdnInfraItensSelecionados', $arrParam) && !empty($arrParam['hdnInfraItensSelecionados'])) { + + PenRelHipoteseLegalRN::mudarEstado(explode(',', $arrParam['hdnInfraItensSelecionados']), 'N'); + + $objPagina->adicionarMensagem('Desativado com sucesso.', InfraPagina::$TIPO_MSG_AVISO); + + header('Location: '.SessaoSEI::getInstance()->assinarLink('controlador.php?acao='.$_GET['acao_retorno'].'&acao_origem='.$_GET['acao_origem'])); + exit(0); + } + else { + + throw new InfraException('Nenhum Registro foi selecionado para executar esta ação'); + } + break; + + case PEN_RECURSO_BASE.'_ativar': + if(array_key_exists('hdnInfraItensSelecionados', $arrParam) && !empty($arrParam['hdnInfraItensSelecionados'])) { + + PenRelHipoteseLegalRN::mudarEstado(explode(',', $arrParam['hdnInfraItensSelecionados']), 'S'); + + $objPagina->adicionarMensagem('Ativado com sucesso.', InfraPagina::$TIPO_MSG_AVISO); + + header('Location: '.SessaoSEI::getInstance()->assinarLink('controlador.php?acao='.$_GET['acao_retorno'].'&acao_origem='.$_GET['acao_origem'])); + exit(0); + } + break; + + case PEN_RECURSO_BASE.'_listar': + // Ação padrão desta tela + break; + + default: + throw new InfraException('Ação não permitida nesta tela'); + + } + } + //-------------------------------------------------------------------------- + + $arrComandos = array(); + $arrComandos[] = ''; + $arrComandos[] = ''; + //$arrComandos[] = ''; + //$arrComandos[] = ''; + $arrComandos[] = ''; + $arrComandos[] = ''; + + //-------------------------------------------------------------------------- + // DTO de paginao + + $objPenRelHipoteseLegalDTO = new PenRelHipoteseLegalDTO(); + $objPenRelHipoteseLegalDTO->setStrTipo('E'); + $objPenRelHipoteseLegalDTO->retTodos(); + //-------------------------------------------------------------------------- + // Filtragem + if(array_key_exists('id_barramento', $_POST) && (!empty($_POST['id_barramento']) && $_POST['id_barramento'] !== 'null')) { + $objPenRelHipoteseLegalDTO->setNumIdBarramento($_POST['id_barramento']); + } + + if(array_key_exists('id_hipotese_legal', $_POST) && (!empty($_POST['id_hipotese_legal']) && $_POST['id_barramento'] !== 'null')) { + $objPenRelHipoteseLegalDTO->setNumIdHipoteseLegal($_POST['id_hipotese_legal']); + } + + $objFiltroDTO = clone $objPenRelHipoteseLegalDTO; + + if(!$objFiltroDTO->isSetNumIdBarramento()) { + $objFiltroDTO->setNumIdBarramento(''); + } + + if(!$objFiltroDTO->isSetNumIdHipoteseLegal()) { + $objFiltroDTO->setNumIdHipoteseLegal(''); + } + //-------------------------------------------------------------------------- + $objGenericoBD = new GenericoBD($objBanco); + + // Mapeamento da hipotese legal remota + $objPenHipoteseLegalDTO = new PenHipoteseLegalDTO(); + $objPenHipoteseLegalDTO->setDistinct(true); + $objPenHipoteseLegalDTO->setOrdStrNome(InfraDTO::$TIPO_ORDENACAO_ASC); + $objPenHipoteseLegalDTO->retNumIdHipoteseLegal(); + $objPenHipoteseLegalDTO->retStrNome(); + + $objPenHipoteseLegalRN = new PenHipoteseLegalRN(); + $arrMapIdBarramento = InfraArray::converterArrInfraDTO($objPenHipoteseLegalRN->listar($objPenHipoteseLegalDTO), 'Nome', 'IdHipoteseLegal'); + + // Mapeamento da hipotese legal local + $objHipoteseLegalDTO = new HipoteseLegalDTO(); + $objHipoteseLegalDTO->setDistinct(true); + $objHipoteseLegalDTO->setStrStaNivelAcesso(ProtocoloRN::$NA_RESTRITO); //Restrito + $objHipoteseLegalDTO->setStrSinAtivo('S'); + $objHipoteseLegalDTO->setOrdStrNome(InfraDTO::$TIPO_ORDENACAO_ASC); + $objHipoteseLegalDTO->retNumIdHipoteseLegal(); + $objHipoteseLegalDTO->retStrNome(); + + $objHipoteseLegalRN = new HipoteseLegalRN(); + $arrMapIdHipoteseLegal = InfraArray::converterArrInfraDTO($objHipoteseLegalRN->listar($objHipoteseLegalDTO), 'Nome', 'IdHipoteseLegal'); + //-------------------------------------------------------------------------- + // + //$objPagina->prepararOrdenacao($objPenRelHipoteseLegalDTO, 'IdMapeamento', InfraDTO::$TIPO_ORDENACAO_ASC); + $objPagina->prepararPaginacao($objPenRelHipoteseLegalDTO); + + $arrObjPenRelHipoteseLegalDTO = $objGenericoBD->listar($objPenRelHipoteseLegalDTO); + + $objPagina->processarPaginacao($objPenRelHipoteseLegalDTO); + + $numRegistros = count($arrObjPenRelHipoteseLegalDTO); + + if(!empty($arrObjPenRelHipoteseLegalDTO)){ + + $strResultado = ''; + + $strResultado .= ''."\n"; + $strResultado .= ''; + + $strResultado .= ''; + $strResultado .= ''."\n"; + $strResultado .= ''."\n"; + $strResultado .= ''."\n"; + $strResultado .= ''."\n"; + $strResultado .= ''."\n"; + $strCssTr = ''; + + $index = 0; + foreach($arrObjPenRelHipoteseLegalDTO as $objPenRelHipoteseLegalDTO) { + + $strCssTr = ($strCssTr == 'infraTrClara') ? 'infraTrEscura' : 'infraTrClara'; + + $strResultado .= ''; + $strResultado .= ''; + $strResultado .= ''; + $strResultado .= ''; + $strResultado .= ''; + $strResultado .= ''."\n"; + + $index++; + } + $strResultado .= '
'.$objPagina->gerarCaptionTabela(PEN_PAGINA_TITULO, $numRegistros).'
'.$objPagina->getThCheck().'Hipótese Legal - SEI '.$objSessao->getStrSiglaOrgaoUnidadeAtual().'Hipótese Legal - Tramitação PENAções
'.$objPagina->getTrCheck($index, $objPenRelHipoteseLegalDTO->getDblIdMap(), '').''.$arrMapIdHipoteseLegal[$objPenRelHipoteseLegalDTO->getNumIdHipoteseLegal()].''.$arrMapIdBarramento[$objPenRelHipoteseLegalDTO->getNumIdBarramento()].''; + + //$strResultado .= 'Consultar Mapeamento'; + if($objSessao->verificarPermissao('pen_map_hipotese_legal_enviado_alterar')) { + $strResultado .= 'Alterar Mapeamento'; + } + + if($objSessao->verificarPermissao('pen_map_hipotese_legal_enviado_excluir')) { + $strResultado .= 'Excluir Mapeamento'; + } + + $strResultado .= '
'; + } +} +catch(InfraException $e){ + + print '
';
+    print_r($e);
+    print '
'; + exit(0); + //$objPagina->processarExcecao($e); +} + + +$objPagina->montarDocType(); +$objPagina->abrirHtml(); +$objPagina->abrirHead(); +$objPagina->montarMeta(); +$objPagina->montarTitle(':: '.$objPagina->getStrNomeSistema().' - '.PEN_PAGINA_TITULO.' ::'); +$objPagina->montarStyle(); +?> + +montarJavaScript(); ?> + +fecharHead(); +$objPagina->abrirBody(PEN_PAGINA_TITULO,'onload="inicializar();"'); +?> +
+ + montarBarraComandosSuperior($arrComandos); ?> + montarAreaValidacao(); ?> + abrirAreaDados('12em'); ?> + + + + + + + + + fecharAreaDados(); ?> + + 0): ?> + montarAreaTabela($strResultado, $numRegistros); ?> + montarAreaDebug(); ?> + +
+

Nenhum mapeamento foi encontrado

+ +
+fecharBody(); ?> +fecharHtml(); ?> diff --git a/pen_map_hipotese_legal_padrao_cadastrar.php b/pen_map_hipotese_legal_padrao_cadastrar.php new file mode 100644 index 0000000..a4dccb3 --- /dev/null +++ b/pen_map_hipotese_legal_padrao_cadastrar.php @@ -0,0 +1,176 @@ +abrirConexao(); + + $objSessao->validarLink(); + $objSessao->validarPermissao(PEN_RECURSO_ATUAL); + + $arrComandos = array(); + + $bolSomenteLeitura = false; + + switch ($_GET['acao']) { + case PEN_RECURSO_BASE.'_cadastrar': + $arrComandos[] = ''; + $arrComandos[] = ''; + $strTitulo = 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."); + } + + //-------------------------------------------------------------------------- + // Ao por POST esta salvando o formulário + + $objPenParametroRN = new PenParametroRN(); + + if(strtoupper($_SERVER['REQUEST_METHOD']) === 'POST') { + + if(!array_key_exists('id_hipotese_legal', $_POST) || empty($_POST['id_hipotese_legal'])) { + throw new InfraException('Nenhuma "Espécie Documental" foi selecionada'); + } + + $objPenParametroDTO = new PenParametroDTO(); + $objPenParametroDTO->setStrNome('HIPOTESE_LEGAL_PADRAO'); + $objPenParametroDTO->retTodos(); + + if($objPenParametroRN->contar($objPenParametroDTO) > 0) { + $objPenParametroDTO->setStrValor($_POST['id_hipotese_legal']); + $objPenParametroRN->alterar($objPenParametroDTO); + } + else { + $objPenParametroDTO->setStrValor($_POST['id_hipotese_legal']); + $objPenParametroRN->cadastrar($objPenParametroDTO); + } + + $objPagina->adicionarMensagem('Hipótese de Restrição Padrão foi salva com sucesso', InfraPagina::$TIPO_MSG_AVISO); + + header('Location: '.$objSessao->assinarLink('controlador.php?acao='.PEN_RECURSO_BASE.'_cadastrar&acao_origem='.$_GET['acao'])); + exit(0); + } + else { + + $objPenParametroDTO = new PenParametroDTO(); + $objPenParametroDTO->setStrNome('HIPOTESE_LEGAL_PADRAO'); + $objPenParametroDTO->retTodos(); + + if($objPenParametroRN->contar($objPenParametroDTO) > 0) { + + $objPenParametroDTO = $objPenParametroRN->consultar($objPenParametroDTO); + } + else { + + $objPenParametroDTO->setStrValor('0'); + } + } + + //-------------------------------------------------------------------------- + // Auto-Complete + //-------------------------------------------------------------------------- + // Mapeamento da hipotese legal local + $objHipoteseLegalDTO = new HipoteseLegalDTO(); + $objHipoteseLegalDTO->setStrStaNivelAcesso(ProtocoloRN::$NA_RESTRITO); //Restrito + $objHipoteseLegalDTO->setStrSinAtivo('S'); + $objHipoteseLegalDTO->setOrdStrNome(InfraDTO::$TIPO_ORDENACAO_ASC); + $objHipoteseLegalDTO->retNumIdHipoteseLegal(); + $objHipoteseLegalDTO->retStrNome(); + + $objHipoteseLegalRN = new HipoteseLegalRN(); + $arrMapIdHipoteseLegal = InfraArray::converterArrInfraDTO($objHipoteseLegalRN->listar($objHipoteseLegalDTO), 'Nome', 'IdHipoteseLegal'); +} +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(); ?> diff --git a/pen_map_hipotese_legal_recebido_cadastrar.php b/pen_map_hipotese_legal_recebido_cadastrar.php new file mode 100644 index 0000000..29cf3e6 --- /dev/null +++ b/pen_map_hipotese_legal_recebido_cadastrar.php @@ -0,0 +1,221 @@ +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."); + } + + $objPenRelHipoteseLegalRN = new PenRelHipoteseLegalRecebidoRN(); + + //-------------------------------------------------------------------------- + // Ao por POST esta salvando o formulrio + if(strtoupper($_SERVER['REQUEST_METHOD']) === 'POST') { + + if(!array_key_exists('id_hipotese_legal', $_POST) || empty($_POST['id_hipotese_legal'])) { + throw new InfraException('Nenhuma "Espécie Documental" foi selecionada'); + } + + if(!array_key_exists('id_barramento', $_POST) || empty($_POST['id_barramento'])) { + throw new InfraException('Nenhum "Tipo de Documento" foi selecionado'); + } + + $objPenRelHipoteseLegalDTO = new PenRelHipoteseLegalDTO(); + $objPenRelHipoteseLegalDTO->setNumIdHipoteseLegal($_POST['id_hipotese_legal']); + $objPenRelHipoteseLegalDTO->setNumIdBarramento($_POST['id_barramento']); + $objPenRelHipoteseLegalDTO->setStrTipo('R');// Recebido + + $numIdMapeamento = 0; + if(array_key_exists(PEN_PAGINA_GET_ID, $_GET) && !empty($_GET[PEN_PAGINA_GET_ID])) { + $objPenRelHipoteseLegalDTO->setDblIdMap($_GET[PEN_PAGINA_GET_ID]); + $objPenRelHipoteseLegalRN->alterar($objPenRelHipoteseLegalDTO); + $numIdMapeamento = $_GET[PEN_PAGINA_GET_ID]; + } + else { + $mapeamento = $objPenRelHipoteseLegalRN->cadastrar($objPenRelHipoteseLegalDTO); + $numIdMapeamento = $mapeamento->getDblIdMap(); + } + + + header('Location: '.$objSessao->assinarLink('controlador.php?acao='.PEN_RECURSO_BASE.'_listar&acao_origem='.$_GET['acao'].'&acao_origem='.$_GET['acao'].'&id_mapeamento='.$numIdMapeamento.PaginaSEI::getInstance()->montarAncora($numIdMapeamento))); + 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])){ + + $objPenRelHipoteseLegalDTO = new PenRelHipoteseLegalDTO(); + $objPenRelHipoteseLegalDTO->setDblIdMap($_GET[PEN_PAGINA_GET_ID]); + $objPenRelHipoteseLegalDTO->retTodos(); + + $objEspecieDocumentalBD = new GenericoBD(BancoSEI::getInstance()); + $objPenRelHipoteseLegalDTO = $objEspecieDocumentalBD->consultar($objPenRelHipoteseLegalDTO); + } + + if(empty($objPenRelHipoteseLegalDTO)){ + $objPenRelHipoteseLegalDTO = new PenRelHipoteseLegalDTO(); + $objPenRelHipoteseLegalDTO->setNumIdHipoteseLegal(0); + $objPenRelHipoteseLegalDTO->setNumIdBarramento(0); + } + + + if(array_key_exists(PEN_PAGINA_GET_ID, $_GET) && !empty($_GET[PEN_PAGINA_GET_ID])) { + $objPenRelHipoteseLegalDTO->setDblIdMap($_GET[PEN_PAGINA_GET_ID]); + } + + //-------------------------------------------------------------------------- + // Auto-Complete + //-------------------------------------------------------------------------- + // Mapeamento da hipotese legal local + $objHipoteseLegalDTO = new HipoteseLegalDTO(); + $objHipoteseLegalDTO->setStrStaNivelAcesso(1); + $objHipoteseLegalDTO->setOrdStrNome(InfraDTO::$TIPO_ORDENACAO_ASC); + $objHipoteseLegalDTO->retNumIdHipoteseLegal(); + $objHipoteseLegalDTO->retStrNome(); + + $objHipoteseLegalRN = new HipoteseLegalRN(); + $arrMapIdHipoteseLegal = InfraArray::converterArrInfraDTO($objHipoteseLegalRN->listar($objHipoteseLegalDTO), 'Nome', 'IdHipoteseLegal'); + + // Mapeamento da hipotese legal do barramento j utilizados + $arrNumIdHipoteseLegal = $objPenRelHipoteseLegalRN->getIdBarramentoEmUso($objPenRelHipoteseLegalDTO, 'R'); + + // Mapeamento da hipotese legal remota + $objPenHipoteseLegalDTO = new PenHipoteseLegalDTO(); + $objPenHipoteseLegalDTO->setOrdStrNome(InfraDTO::$TIPO_ORDENACAO_ASC); + if(!empty($arrNumIdHipoteseLegal)) { + // Remove os que j esto em uso + $objPenHipoteseLegalDTO->setNumIdHipoteseLegal($arrNumIdHipoteseLegal, InfraDTO::$OPER_NOT_IN); + } + $objPenHipoteseLegalDTO->retNumIdHipoteseLegal(); + $objPenHipoteseLegalDTO->retStrNome(); + + $objPenHipoteseLegalRN = new PenHipoteseLegalRN(); + $arrMapIdBarramento = InfraArray::converterArrInfraDTO($objPenHipoteseLegalRN->listar($objPenHipoteseLegalDTO), 'Nome', 'IdHipoteseLegal'); + //-------------------------------------------------------------------------- +} +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(); ?> diff --git a/pen_map_hipotese_legal_recebido_listar.php b/pen_map_hipotese_legal_recebido_listar.php new file mode 100644 index 0000000..6852a54 --- /dev/null +++ b/pen_map_hipotese_legal_recebido_listar.php @@ -0,0 +1,390 @@ +setBolLigado(false); + $objDebug->setBolDebugInfra(true); + $objDebug->limpar(); + + $objSessao->validarLink(); + $objSessao->validarPermissao(PEN_RECURSO_ATUAL); + + $objBanco->abrirConexao(); + + //-------------------------------------------------------------------------- + // Aes + if(array_key_exists('acao', $_GET)) { + + $arrParam = array_merge($_GET, $_POST); + + switch($_GET['acao']) { + + case PEN_RECURSO_BASE.'_excluir': + + if(array_key_exists('hdnInfraItensSelecionados', $arrParam) && !empty($arrParam['hdnInfraItensSelecionados'])) { + + $objPenRelHipoteseLegalDTO = new PenRelHipoteseLegalDTO(); + $objPenRelHipoteseLegalRN = new PenRelHipoteseLegalRecebidoRN(); + + if(is_array($arrParam['hdnInfraItensSelecionados'])) { + + foreach($arrParam['hdnInfraItensSelecionados'] as $dblIdMap) { + + $objPenRelHipoteseLegalDTO->setDblIdMap($dblIdMap); + $objPenRelHipoteseLegalRN->excluir($objPenRelHipoteseLegalDTO); + } + } + else { + + $objPenRelHipoteseLegalDTO->setDblIdMap($arrParam['hdnInfraItensSelecionados']); + $objPenRelHipoteseLegalRN->excluir($objPenRelHipoteseLegalDTO); + } + + $objPagina->adicionarMensagem(sprintf('%s foi excluido com sucesso.', PEN_PAGINA_TITULO), InfraPagina::$TIPO_MSG_AVISO); + + header('Location: '.SessaoSEI::getInstance()->assinarLink('controlador.php?acao='.$_GET['acao_retorno'].'&acao_origem='.$_GET['acao_origem'])); + exit(0); + } + else { + + throw new InfraException('Nenhum Registro foi selecionado para executar esta ação'); + } + break; + + case PEN_RECURSO_BASE.'_desativar': + + if(array_key_exists('hdnInfraItensSelecionados', $arrParam) && !empty($arrParam['hdnInfraItensSelecionados'])) { + + PenRelHipoteseLegalRN::mudarEstado(explode(',', $arrParam['hdnInfraItensSelecionados']), 'N'); + + $objPagina->adicionarMensagem('Desativado com sucesso.', InfraPagina::$TIPO_MSG_AVISO); + + header('Location: '.SessaoSEI::getInstance()->assinarLink('controlador.php?acao='.$_GET['acao_retorno'].'&acao_origem='.$_GET['acao_origem'])); + exit(0); + } + else { + + throw new InfraException('Nenhum Registro foi selecionado para executar esta ação'); + } + break; + + case PEN_RECURSO_BASE.'_ativar': + if(array_key_exists('hdnInfraItensSelecionados', $arrParam) && !empty($arrParam['hdnInfraItensSelecionados'])) { + + PenRelHipoteseLegalRN::mudarEstado(explode(',', $arrParam['hdnInfraItensSelecionados']), 'S'); + + $objPagina->adicionarMensagem('Ativado com sucesso.', InfraPagina::$TIPO_MSG_AVISO); + + header('Location: '.SessaoSEI::getInstance()->assinarLink('controlador.php?acao='.$_GET['acao_retorno'].'&acao_origem='.$_GET['acao_origem'])); + exit(0); + } + break; + + case PEN_RECURSO_BASE.'_listar': + // Ação padrão desta tela + break; + + default: + throw new InfraException('Ação não permitida nesta tela'); + + } + } + //-------------------------------------------------------------------------- + + $arrComandos = array(); + $arrComandos[] = ''; + $arrComandos[] = ''; + //$arrComandos[] = ''; + //$arrComandos[] = ''; + $arrComandos[] = ''; + $arrComandos[] = ''; + + //-------------------------------------------------------------------------- + // DTO de paginao + + $objPenRelHipoteseLegalDTO = new PenRelHipoteseLegalDTO(); + $objPenRelHipoteseLegalDTO->setStrTipo('R'); + $objPenRelHipoteseLegalDTO->retTodos(); + //-------------------------------------------------------------------------- + // Filtragem + if(array_key_exists('id_barramento', $_POST) && (!empty($_POST['id_barramento']) && $_POST['id_barramento'] !== 'null')) { + $objPenRelHipoteseLegalDTO->setNumIdBarramento($_POST['id_barramento']); + } + + if(array_key_exists('id_hipotese_legal', $_POST) && (!empty($_POST['id_hipotese_legal']) && $_POST['id_barramento'] !== 'null')) { + $objPenRelHipoteseLegalDTO->setNumIdHipoteseLegal($_POST['id_hipotese_legal']); + } + + $objFiltroDTO = clone $objPenRelHipoteseLegalDTO; + + if(!$objFiltroDTO->isSetNumIdBarramento()) { + $objFiltroDTO->setNumIdBarramento(''); + } + + if(!$objFiltroDTO->isSetNumIdHipoteseLegal()) { + $objFiltroDTO->setNumIdHipoteseLegal(''); + } + //-------------------------------------------------------------------------- + $objGenericoBD = new GenericoBD($objBanco); + + // Mapeamento da hipotese legal remota + $objPenHipoteseLegalDTO = new PenHipoteseLegalDTO(); + $objPenHipoteseLegalDTO->setDistinct(true); + $objPenHipoteseLegalDTO->setOrdStrNome(InfraDTO::$TIPO_ORDENACAO_ASC); + $objPenHipoteseLegalDTO->retNumIdHipoteseLegal(); + $objPenHipoteseLegalDTO->retStrNome(); + + $objPenHipoteseLegalRN = new PenHipoteseLegalRN(); + $arrMapIdBarramento = InfraArray::converterArrInfraDTO($objPenHipoteseLegalRN->listar($objPenHipoteseLegalDTO), 'Nome', 'IdHipoteseLegal'); + + // Mapeamento da hipotese legal local + $objHipoteseLegalDTO = new HipoteseLegalDTO(); + $objHipoteseLegalDTO->setStrStaNivelAcesso(ProtocoloRN::$NA_RESTRITO); //Restrito + $objHipoteseLegalDTO->setStrSinAtivo('S'); + $objHipoteseLegalDTO->setDistinct(true); + $objHipoteseLegalDTO->setOrdStrNome(InfraDTO::$TIPO_ORDENACAO_ASC); + $objHipoteseLegalDTO->retNumIdHipoteseLegal(); + $objHipoteseLegalDTO->retStrNome(); + + $objHipoteseLegalRN = new HipoteseLegalRN(); + $arrMapIdHipoteseLegal = InfraArray::converterArrInfraDTO($objHipoteseLegalRN->listar($objHipoteseLegalDTO), 'Nome', 'IdHipoteseLegal'); + //-------------------------------------------------------------------------- + // + //$objPagina->prepararOrdenacao($objPenRelHipoteseLegalDTO, 'IdMapeamento', InfraDTO::$TIPO_ORDENACAO_ASC); + $objPagina->prepararPaginacao($objPenRelHipoteseLegalDTO); + + $arrObjPenRelHipoteseLegalDTO = $objGenericoBD->listar($objPenRelHipoteseLegalDTO); + + $objPagina->processarPaginacao($objPenRelHipoteseLegalDTO); + + $numRegistros = count($arrObjPenRelHipoteseLegalDTO); + + if(!empty($arrObjPenRelHipoteseLegalDTO)){ + + $strResultado = ''; + + $strResultado .= ''."\n"; + $strResultado .= ''; + + $strResultado .= ''; + $strResultado .= ''."\n"; + $strResultado .= ''."\n"; + $strResultado .= ''."\n"; + $strResultado .= ''."\n"; + $strResultado .= ''."\n"; + $strCssTr = ''; + + $index = 0; + foreach($arrObjPenRelHipoteseLegalDTO as $objPenRelHipoteseLegalDTO) { + + $strCssTr = ($strCssTr == 'infraTrClara') ? 'infraTrEscura' : 'infraTrClara'; + + $strResultado .= ''; + $strResultado .= ''; + $strResultado .= ''; + $strResultado .= ''; + $strResultado .= ''; + $strResultado .= ''."\n"; + + $index++; + } + $strResultado .= '
'.$objPagina->gerarCaptionTabela(PEN_PAGINA_TITULO, $numRegistros).'
'.$objPagina->getThCheck().'Hipótese Legal - SEI '.$objSessao->getStrSiglaOrgaoUnidadeAtual().'Hipótese Legal - Tramitação PENAções
'.$objPagina->getTrCheck($index, $objPenRelHipoteseLegalDTO->getDblIdMap(), '').''.$arrMapIdHipoteseLegal[$objPenRelHipoteseLegalDTO->getNumIdHipoteseLegal()].''.$arrMapIdBarramento[$objPenRelHipoteseLegalDTO->getNumIdBarramento()].''; + + //$strResultado .= 'Consultar Mapeamento'; + if($objSessao->verificarPermissao('pen_map_hipotese_legal_recebido_alterar')) { + $strResultado .= 'Alterar Mapeamento'; + } + + if($objSessao->verificarPermissao('pen_map_hipotese_legal_recebido_excluir')) { + $strResultado .= 'Excluir Mapeamento'; + } + + $strResultado .= '
'; + } +} +catch(InfraException $e){ + + print '
';
+    print_r($e);
+    print '
'; + exit(0); + //$objPagina->processarExcecao($e); +} + + +$objPagina->montarDocType(); +$objPagina->abrirHtml(); +$objPagina->abrirHead(); +$objPagina->montarMeta(); +$objPagina->montarTitle(':: '.$objPagina->getStrNomeSistema().' - '.PEN_PAGINA_TITULO.' ::'); +$objPagina->montarStyle(); +?> + +montarJavaScript(); ?> + +fecharHead(); +$objPagina->abrirBody(PEN_PAGINA_TITULO,'onload="inicializar();"'); +?> +
+ + montarBarraComandosSuperior($arrComandos); ?> + montarAreaValidacao(); ?> + abrirAreaDados('12em'); ?> + + + + + + + + + fecharAreaDados(); ?> + + 0): ?> + montarAreaTabela($strResultado, $numRegistros); ?> + montarAreaDebug(); ?> + +
+

Nenhum mapeamento foi encontrado

+ +
+fecharBody(); ?> +fecharHtml(); ?> diff --git a/rn/PenAtualizadorRN.php b/rn/PenAtualizadorRN.php index efe3338..d496bce 100644 --- a/rn/PenAtualizadorRN.php +++ b/rn/PenAtualizadorRN.php @@ -1,29 +1,19 @@ objInfraBanco)) { + $this->objInfraBanco = BancoSEI::getInstance(); + $this->objInfraBanco->abrirConexao(); + } + + return $this->objInfraBanco; + } + /** * Inicia a conexão com o banco de dados */ - protected function inicializarObjMetaBanco(){ - if(empty($this->objMeta)) { + protected function inicializarObjMetaBanco() { + if (empty($this->objMeta)) { $this->objMeta = new PenMetaBD($this->inicializarObjInfraIBanco()); } return $this->objMeta; } - + /** * Adiciona uma mensagem ao output para o usuário * @@ -67,7 +64,7 @@ abstract class PenAtualizadorRN extends InfraRN { protected function logar($strMsg) { $this->objDebug->gravar($strMsg); } - + /** * Inicia o script criando um contator interno do tempo de execução * @@ -88,259 +85,37 @@ abstract class PenAtualizadorRN extends InfraRN { protected function finalizar() { $this->logar('TEMPO TOTAL DE EXECUCAO: ' . InfraUtil::verificarTempoProcessamento($this->numSeg) . ' s'); - + $this->objDebug->setBolLigado(false); $this->objDebug->setBolDebugInfra(false); $this->objDebug->setBolEcho(false); - + print PHP_EOL; die(); } - - /** - * Método criado em função de um bug com a InfraRN na linha 69, onde usamos - * uma instância do banco do SIP e a versão esta no banco SEI, essa verificação - * e lançamento de uma excessão pelos bancos terem nome diferentes tava o - * atualizado - * - * @todo Migrar para classe PenMetaBD - * @return null - */ - protected function setVersao($strRegexVersao, $objInfraBanco = null){ - - InfraDebug::getInstance()->gravarInfra(sprintf('[%s->%s]', get_class($this), __FUNCTION__)); - - - if($this->getVersao($objInfraBanco)) { - - $sql = sprintf("UPDATE infra_parametro SET valor = '%s' WHERE nome = '%s'", $strRegexVersao, $this->sei_versao); - } - else { - - $sql = sprintf("INSERT INTO infra_parametro(nome, valor) VALUES('%s', '%s')", $this->sei_versao, $strRegexVersao); - } - - if(empty($objInfraBanco)) { - - $objInfraBanco = $this->inicializarObjInfraIBanco(); - } - - $objInfraBanco->executarSql($sql); - - return $strRegexVersao; - } - - /** - * Retorna a versão atual do modulo, se já foi instalado - * - * @todo Migrar para classe PenMetaBD - * @param InfraBanco $objInfraBanco Conexão com o banco SEI ou SIP - * @return string - */ - protected function getVersao($objInfraBanco = null){ - - InfraDebug::getInstance()->gravarInfra(sprintf('[%s->%s]', get_class($this), __FUNCTION__)); - - $sql = sprintf("SELECT valor FROM infra_parametro WHERE nome = '%s'", $this->sei_versao); - - if(empty($objInfraBanco)) { - - $objInfraBanco = $this->inicializarObjInfraIBanco(); - } - - $arrResultado = $objInfraBanco->consultarSql($sql); - - if(empty($arrResultado)) { - return null; - } - - $arrLinha = current($arrResultado); - - return $arrLinha['valor']; - } - - /** - * Verifica se o número da versão é valido - * - * @param string $strVersao Versão a ser instalada - * @return bool - */ - protected function isVersaoValida($strVersao = self::VER_NONE){ - - if(empty($strVersao)) { - return false; - } - - // Remove os caracteres não númericos - $strVersao = preg_replace('/\D+/', '', $strVersao); - - // Tem que no mínimo 3 digitos - if (strlen($strVersao) < 3) { - return false; - } - - return is_numeric($strVersao) ? true : false; - } - - /** - * Verifica se um paramêtro existe, caso sim retorna o seu valor, senão - * retorna o default especificado. - * - * @param string $strChave Nome do paramêtro - * @param string $strParam String a ser formatada com o valor do paramêtro - * @param string $strParamDefault String que retorna caso o valor do - * paramêtro não exista - * @param bool $bolAlgumFiltroUsado Ponteiro de controle para verificar se - * pelo menos um paramêtro foi encontrado - * @return string - */ - private function getStrArg($strChave = '', $strParam = '', $strParamDefault = '', &$bolAlgumFiltroUsado){ - - if(array_key_exists($strChave, $this->arrArgs)) { - $bolAlgumFiltroUsado = true; - return sprintf($strParam, str_pad($this->arrArgs[$strChave], 3, '0', STR_PAD_LEFT)); - } - return $strParamDefault; - } - - /** - * Retorna a última versão disponivel. Verifica as constantes que iniciam - * com VER_ - */ - private function getUltimaVersao(){ - - $objReflection = new ReflectionClass(__CLASS__); - $arrVersao = array_flip(preg_grep('/^VER\_/', array_flip($objReflection->getConstants()))); - sort($arrVersao); - return array_pop($arrVersao); - } - - /** - * Encontra os métodos com notação para instalar a versão selecionada - * - * @return string Número da versão - */ - protected function executarControlado(){ - - $this->inicializarObjMetaBanco() - ->isDriverSuportado() - ->isDriverPermissao() - ->isVersaoSuportada(SEI_VERSAO, $this->versaoMinRequirida); - - $arrMetodo = array(); - - // Retorna a última versão disponibilizada pelo script. Sempre tenta atualizar - // para versão mais antiga - $strVersaoInstalar = $this->getUltimaVersao(); - - //throw new InfraException($strVersaoInstalar); - $objInfraBanco = $this->inicializarObjInfraIBanco(); - // Versão atual - $strPenVersao = $this->getVersao($objInfraBanco); - if(!$this->isVersaoValida($strPenVersao)) { - // Não instalado - $strPenVersao = $this->setVersao(self::VER_NONE, $objInfraBanco); - } - - $numPenVersao = str_replace('.', '', $strPenVersao); - $numVersaoInstalar = intval(preg_replace('/\D+/', '', $strVersaoInstalar)); - - $bolAlgumFiltroUsado = false; - $strRegexRelease = $this->getStrArg('release', '(R%s)', '(R[0-9]{1,3})?', $bolAlgumFiltroUsado); - $strRegexSprint = $this->getStrArg('sprint', '(S%s)', '(S[0-9]{1,3})?', $bolAlgumFiltroUsado); - $strRegexItem = $this->getStrArg('user-story', '(US%s)', '(US|IW[0-9]{1,3})?', $bolAlgumFiltroUsado); - $strRegexItem = $this->getStrArg('item-worker', '(IW%s)', $strRegexItem, $bolAlgumFiltroUsado); - - // Instalar todas atualizações - if($bolAlgumFiltroUsado === false) { - - $strRegexVersao = sprintf('[%d-%d]', ($numPenVersao + 1), $numVersaoInstalar); - } - // Instalar somente a solicitada - else { - // Caso algum paramêtro seja adicionado não deve passar para próxima versão - $strVersaoInstalar = $strPenVersao; - $strRegexVersao = intval(substr($strPenVersao, -1) + 1); - } - - // instalarV[0-9]{1,2}[0-9](R[0-9]{1,3})?(S[0-9]{1,3})?(US|IW[0-9]{1,4})? - $strRegex = sprintf('/^instalarV%s%s%s%s/i', $strRegexVersao, $strRegexRelease, $strRegexSprint, $strRegexItem); - - // Tenta encontrar métodos que iniciem com instalar - $arrMetodo = (array)preg_grep ($strRegex, get_class_methods($this)); - - $proximaVersao = $numPenVersao + 1; - - foreach($arrMetodo as $key => $metodo){ - $vers = str_replace('instalarV', '', $metodo); - $vers = (int) substr($vers, 0, 3); - - if($proximaVersao > $vers){ - unset($arrMetodo[$key]); - } - } - - if(empty($arrMetodo)) { - - throw new InfraException(sprintf('NENHUMA ATUALIZACAO FOI ENCONTRADA SUPERIOR A VERSAO %s DO MODULO PEN', $strPenVersao)); - } - else { - - foreach($arrMetodo as $strMetodo) { - - $this->{$strMetodo}(); - } - } - $this->setVersao($strVersaoInstalar, $objInfraBanco); - - return $strVersaoInstalar; - } - - /** - * Método que inicia o processo - */ - public function atualizarVersao() { - - $this->inicializar('INICIANDO ATUALIZACAO DO MODULO PEN NO SEI VERSAO '.SEI_VERSAO); - - try { - $strRegexVersao = $this->executar(); - $this->logar('ATUALIZADA VERSAO: '.$strRegexVersao); - } - catch(InfraException $e) { - - $this->logar('Erro: '.$e->getStrDescricao()); - } - catch (\Exception $e) { - - $this->logar('Erro: '.$e->getMessage()); - } - - $this->finalizar(); - } - /** * Construtor * * @param array $arrArgs Argumentos enviados pelo script */ - public function __construct($arrArgs = array()) { - + public function __construct() { + + parent::__construct(); ini_set('max_execution_time', '0'); ini_set('memory_limit', '-1'); @ini_set('zlib.output_compression', '0'); @ini_set('implicit_flush', '1'); ob_implicit_flush(); - $this->arrArgs = $arrArgs; - + $this->inicializarObjInfraIBanco(); $this->inicializarObjMetaBanco(); - + $this->objDebug = InfraDebug::getInstance(); $this->objDebug->setBolLigado(true); $this->objDebug->setBolDebugInfra(true); $this->objDebug->setBolEcho(true); $this->objDebug->limpar(); } -} \ No newline at end of file + +} diff --git a/rn/PenAtualizarSeiRN.php b/rn/PenAtualizarSeiRN.php index eb75431..41e13f8 100644 --- a/rn/PenAtualizarSeiRN.php +++ b/rn/PenAtualizarSeiRN.php @@ -1,31 +1,82 @@ - [ +// 'instalarv100', +// ], +// '1.0.0' => [ +//// 'instalarv101', +// ], +// ]; + + public function __construct() { + parent::__construct(); + } - protected $versaoMinRequirida = '2.6.0'; - protected $sei_versao = 'PEN_VERSAO_MODULO_SEI'; - - protected function inicializarObjInfraIBanco() { - if(empty($this->objBanco)) { + public function atualizarVersao() { + try { + $this->inicializar('INICIANDO ATUALIZACAO DO MODULO PEN NO SEI VERSAO ' . SEI_VERSAO); + + //testando se esta usando BDs suportados + if (!(BancoSEI::getInstance() instanceof InfraMySql) && + !(BancoSEI::getInstance() instanceof InfraSqlServer) && + !(BancoSEI::getInstance() instanceof InfraOracle)) { + + $this->finalizar('BANCO DE DADOS NAO SUPORTADO: ' . get_parent_class(BancoSEI::getInstance()), true); + } + + //testando permissoes de criações de tabelas + $objInfraMetaBD = new InfraMetaBD($this->objInfraBanco); - $this->objBanco = BancoSEI::getInstance(); + if (count($objInfraMetaBD->obterTabelas('pen_sei_teste')) == 0) { + BancoSEI::getInstance()->executarSql('CREATE TABLE pen_sei_teste (id ' . $objInfraMetaBD->tipoNumero() . ' null)'); + } + BancoSEI::getInstance()->executarSql('DROP TABLE pen_sei_teste'); + + + $objInfraParametro = new InfraParametro($this->objInfraBanco); + + //$strVersaoAtual = $objInfraParametro->getValor('SEI_VERSAO', false); + $strVersaoModuloPen = $objInfraParametro->getValor($this->nomeParametroModulo, false); + + //VERIFICANDO QUAL VERSAO DEVE SER INSTALADA NESTA EXECUCAO + if (InfraString::isBolVazia($strVersaoModuloPen)) { + //nao tem nenhuma versao ainda, instalar todas + $this->instalarV100(); + $this->instalarV101(); + } else if ($strVersaoModuloPen == '1.0.0') { + $this->instalarV101(); + } else if ($strVersaoModuloPen == '1.0.1') { + } + + + InfraDebug::getInstance()->setBolDebugInfra(true); + } catch (Exception $e) { + + InfraDebug::getInstance()->setBolLigado(false); + InfraDebug::getInstance()->setBolDebugInfra(false); + InfraDebug::getInstance()->setBolEcho(false); + throw new InfraException('Erro atualizando VERSAO.', $e); } - return $this->objBanco; } - - protected function instalarV001(){ - $objInfraBanco = $this->inicializarObjInfraIBanco(); - $objMetaBD = $this->inicializarObjMetaBanco(); + /* Contem atualizações da versao 1.0.0 do modulo */ + protected function instalarV100() { + + $objInfraBanco = $this->objInfraBanco; + $objMetaBD = $this->objMeta; $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_processo_eletronico', 'cols' => array( - 'numero_registro'=> array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), + 'numero_registro' => array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), 'id_procedimento' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO) ), 'pk' => array('numero_registro'), @@ -34,17 +85,17 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { 'procedimento' => array('id_procedimento', 'id_procedimento') ) )); - + $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_tramite', 'cols' => array( 'numero_registro' => array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), - 'id_tramite'=> array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), - 'ticket_envio_componentes'=> array($objMetaBD->tipoTextoGrande(), PenMetaBD::SNULLO), - 'dth_registro'=> array($objMetaBD->tipoDataHora(), PenMetaBD::SNULLO), - 'id_andamento'=> array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO), - 'id_usuario'=> array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO), - 'id_unidade'=> array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO) + 'id_tramite' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), + 'ticket_envio_componentes' => array($objMetaBD->tipoTextoGrande(), PenMetaBD::SNULLO), + 'dth_registro' => array($objMetaBD->tipoDataHora(), PenMetaBD::SNULLO), + 'id_andamento' => array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO), + 'id_usuario' => array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO), + 'id_unidade' => array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO) ), 'pk' => array('id_tramite'), 'uk' => array('numero_registro', 'id_tramite'), @@ -54,13 +105,13 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { 'unidade' => array('id_unidade', 'id_unidade') ) )); - + $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_especie_documental', 'cols' => array( - 'id_especie'=> array($objMetaBD->tipoNumero(16), PenMetaBD::NNULLO), - 'nome_especie'=> array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::NNULLO), - 'descricao'=> array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::NNULLO) + 'id_especie' => array($objMetaBD->tipoNumero(16), PenMetaBD::NNULLO), + 'nome_especie' => array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::NNULLO), + 'descricao' => array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::NNULLO) ), 'pk' => array('id_especie') )); @@ -68,9 +119,9 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_tramite_pendente', 'cols' => array( - 'id'=> array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), - 'numero_tramite'=> array($objMetaBD->tipoTextoVariavel(255)), - 'id_atividade_expedicao'=> array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO) + 'id' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), + 'numero_tramite' => array($objMetaBD->tipoTextoVariavel(255)), + 'id_atividade_expedicao' => array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO) ), 'pk' => array('id') )); @@ -78,19 +129,19 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_tramite_recibo_envio', 'cols' => array( - 'numero_registro'=> array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), + 'numero_registro' => array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), 'id_tramite' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), 'dth_recebimento' => array($objMetaBD->tipoDataHora(), PenMetaBD::NNULLO), 'hash_assinatura' => array($objMetaBD->tipoTextoVariavel(345), PenMetaBD::NNULLO) ), - 'pk' => array('numero_registro', 'id_tramite') + 'pk' => array('numero_registro', 'id_tramite') )); $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_procedimento_andamento', 'cols' => array( - 'id_andamento'=> array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), + 'id_andamento' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), 'id_procedimento' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), 'id_tramite' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), 'situacao' => array($objMetaBD->tipoTextoFixo(1), 'N'), @@ -99,13 +150,13 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { 'hash' => array($objMetaBD->tipoTextoFixo(32), PenMetaBD::NNULLO), 'id_tarefa' => array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::NNULLO) ), - 'pk' => array('id_andamento') + 'pk' => array('id_andamento') )); $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_protocolo', 'cols' => array( - 'id_protocolo'=> array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), + 'id_protocolo' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), 'sin_obteve_recusa' => array($objMetaBD->tipoTextoFixo(1), 'N') ), 'pk' => array('id_protocolo'), @@ -114,14 +165,14 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { ) )); - /* $objMetaBD->criarTabela(array( - 'tabela' => 'md_pen_tramite_recusado', - 'cols' => array( - 'numero_registro'=> array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), - 'id_tramite' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO) - ), - 'pk' => array('id_tramite') - ));*/ + /* $objMetaBD->criarTabela(array( + 'tabela' => 'md_pen_tramite_recusado', + 'cols' => array( + 'numero_registro'=> array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), + 'id_tramite' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO) + ), + 'pk' => array('id_tramite') + )); */ $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_recibo_tramite', @@ -141,10 +192,10 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_recibo_tramite_enviado', 'cols' => array( - 'numero_registro'=> array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), + 'numero_registro' => array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), 'id_tramite' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), - 'dth_recebimento'=> array($objMetaBD->tipoDataHora(), PenMetaBD::NNULLO), - 'hash_assinatura'=> array($objMetaBD->tipoTextoVariavel(345), PenMetaBD::NNULLO), + 'dth_recebimento' => array($objMetaBD->tipoDataHora(), PenMetaBD::NNULLO), + 'hash_assinatura' => array($objMetaBD->tipoTextoVariavel(345), PenMetaBD::NNULLO), 'cadeia_certificado ' => array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::NNULLO) ), 'pk' => array('numero_registro', 'id_tramite'), @@ -156,10 +207,10 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_recibo_tramite_recebido', 'cols' => array( - 'numero_registro'=> array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), + 'numero_registro' => array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), 'id_tramite' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), - 'dth_recebimento'=> array($objMetaBD->tipoDataHora(), PenMetaBD::NNULLO), - 'hash_assinatura'=> array($objMetaBD->tipoTextoVariavel(345), PenMetaBD::NNULLO) + 'dth_recebimento' => array($objMetaBD->tipoDataHora(), PenMetaBD::NNULLO), + 'hash_assinatura' => array($objMetaBD->tipoTextoVariavel(345), PenMetaBD::NNULLO) ), 'pk' => array('numero_registro', 'id_tramite', 'hash_assinatura'), 'fks' => array( @@ -170,9 +221,9 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_rel_processo_apensado', 'cols' => array( - 'numero_registro'=> array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), + 'numero_registro' => array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), 'id_procedimento_apensado' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), - 'protocolo'=> array($objMetaBD->tipoTextoVariavel(50), PenMetaBD::NNULLO) + 'protocolo' => array($objMetaBD->tipoTextoVariavel(50), PenMetaBD::NNULLO) ), 'pk' => array('numero_registro', 'id_procedimento_apensado'), 'fks' => array( @@ -183,9 +234,9 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_rel_serie_especie', 'cols' => array( - 'codigo_especie'=> array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), + 'codigo_especie' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), 'id_serie' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), - 'sin_padrao'=> array($objMetaBD->tipoTextoFixo(1), 'N') + 'sin_padrao' => array($objMetaBD->tipoTextoFixo(1), 'N') ), 'pk' => array('id_serie'), 'uk' => array('codigo_especie', 'id_serie'), @@ -193,12 +244,12 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { 'serie' => array('id_serie', 'id_serie') ) )); - + $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_rel_tarefa_operacao', 'cols' => array( - 'id_tarefa'=> array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), - 'codigo_operacao'=> array($objMetaBD->tipoTextoFixo(2), PenMetaBD::NNULLO) + 'id_tarefa' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), + 'codigo_operacao' => array($objMetaBD->tipoTextoFixo(2), PenMetaBD::NNULLO) ), 'pk' => array('id_tarefa', 'codigo_operacao'), 'fks' => array( @@ -209,9 +260,9 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_rel_tipo_documento_mapeamento_recebido', 'cols' => array( - 'codigo_especie'=> array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), - 'id_serie'=> array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), - 'sin_padrao'=> array($objMetaBD->tipoTextoFixo(2), PenMetaBD::NNULLO) + 'codigo_especie' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), + 'id_serie' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), + 'sin_padrao' => array($objMetaBD->tipoTextoFixo(2), PenMetaBD::NNULLO) ), 'pk' => array('codigo_especie', 'id_serie'), 'fks' => array( @@ -222,21 +273,21 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_componente_digital', 'cols' => array( - 'numero_registro'=> array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), - 'id_procedimento'=> array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), - 'id_documento'=> array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), - 'id_tramite'=> array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), - 'id_anexo'=> array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO), - 'protocolo'=> array($objMetaBD->tipoTextoVariavel(50), PenMetaBD::NNULLO), - 'nome'=> array($objMetaBD->tipoTextoVariavel(100), PenMetaBD::NNULLO), - 'hash_conteudo'=> array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::NNULLO), - 'algoritmo_hash'=> array($objMetaBD->tipoTextoVariavel(20), PenMetaBD::NNULLO), - 'tipo_conteudo'=> array($objMetaBD->tipoTextoFixo(3), PenMetaBD::NNULLO), - 'mime_type'=> array($objMetaBD->tipoTextoVariavel(100), PenMetaBD::NNULLO), - 'dados_complementares'=> array($objMetaBD->tipoTextoVariavel(1000), PenMetaBD::SNULLO), - 'tamanho'=> array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), - 'ordem'=> array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), - 'sin_enviar'=> array($objMetaBD->tipoTextoFixo(1), 'N') + 'numero_registro' => array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), + 'id_procedimento' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), + 'id_documento' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), + 'id_tramite' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), + 'id_anexo' => array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO), + 'protocolo' => array($objMetaBD->tipoTextoVariavel(50), PenMetaBD::NNULLO), + 'nome' => array($objMetaBD->tipoTextoVariavel(100), PenMetaBD::NNULLO), + 'hash_conteudo' => array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::NNULLO), + 'algoritmo_hash' => array($objMetaBD->tipoTextoVariavel(20), PenMetaBD::NNULLO), + 'tipo_conteudo' => array($objMetaBD->tipoTextoFixo(3), PenMetaBD::NNULLO), + 'mime_type' => array($objMetaBD->tipoTextoVariavel(100), PenMetaBD::NNULLO), + 'dados_complementares' => array($objMetaBD->tipoTextoVariavel(1000), PenMetaBD::SNULLO), + 'tamanho' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), + 'ordem' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), + 'sin_enviar' => array($objMetaBD->tipoTextoFixo(1), 'N') ), 'pk' => array('numero_registro', 'id_procedimento', 'id_documento', 'id_tramite'), 'fks' => array( @@ -251,33 +302,33 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_unidade', 'cols' => array( - 'id_unidade'=> array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), - 'id_unidade_rh'=> array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO) + 'id_unidade' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), + 'id_unidade_rh' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO) ), 'pk' => array('id_unidade'), 'fks' => array( 'unidade' => array('id_unidade', 'id_unidade') ) )); - + //---------------------------------------------------------------------- // Novas sequências //---------------------------------------------------------------------- $objInfraSequencia = new InfraSequencia($objInfraBanco); - - if(!$objInfraSequencia->verificarSequencia('md_pen_procedimento_andamento')){ - + + if (!$objInfraSequencia->verificarSequencia('md_pen_procedimento_andamento')) { + $objInfraSequencia->criarSequencia('md_pen_procedimento_andamento', '1', '1', '9999999999'); } - - if(!$objInfraSequencia->verificarSequencia('md_pen_tramite_pendente')){ + + if (!$objInfraSequencia->verificarSequencia('md_pen_tramite_pendente')) { $objInfraSequencia->criarSequencia('md_pen_tramite_pendente', '1', '1', '9999999999'); } //---------------------------------------------------------------------- // Parâmetros //---------------------------------------------------------------------- - + $objInfraParametro = new InfraParametro($objInfraBanco); $objInfraParametro->setValor('PEN_ID_REPOSITORIO_ORIGEM', ''); @@ -288,223 +339,223 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $objInfraParametro->setValor('PEN_ENDERECO_WEBSERVICE_PENDENCIAS', ''); $objInfraParametro->setValor('PEN_UNIDADE_GERADORA_DOCUMENTO_RECEBIDO', ''); $objInfraParametro->setValor('PEN_LOCALIZACAO_CERTIFICADO_DIGITAL', ''); - + //---------------------------------------------------------------------- // Especie de Documento //---------------------------------------------------------------------- - + $objBD = new GenericoBD($this->inicializarObjInfraIBanco()); $objDTO = new EspecieDocumentalDTO(); - $fnCadastrar = function($dblIdEspecie, $strNomeEspecie, $strDescricao) use($objDTO, $objBD){ - + $fnCadastrar = function($dblIdEspecie, $strNomeEspecie, $strDescricao) use($objDTO, $objBD) { + $objDTO->unSetTodos(); $objDTO->setStrNomeEspecie($strNomeEspecie); - if($objBD->contar($objDTO) == 0){ + if ($objBD->contar($objDTO) == 0) { $objDTO->setDblIdEspecie($dblIdEspecie); $objDTO->setStrDescricao($strDescricao); $objBD->cadastrar($objDTO); - } + } }; - $fnCadastrar(1,'Abaixo-assinado','Podendo ser complementado: de Reivindicação'); - $fnCadastrar(2,'Acórdão','Expressa decisão proferida pelo Conselho Diretor, não abrangida pelos demais instrumentos deliberativos anteriores.'); - $fnCadastrar(3,'Acordo','Podendo ser complementado: de Nível de Serviço; Coletivo de Trabalho'); - $fnCadastrar(4,'Alvará','Podendo ser complementado: de Funcionamento; Judicial'); - $fnCadastrar(5,'Anais','Podendo ser complementado: de Eventos; de Engenharia'); - $fnCadastrar(6,'Anteprojeto','Podendo ser complementado: de Lei'); - $fnCadastrar(7,'Apólice','Podendo ser complementado: de Seguro'); - $fnCadastrar(8,'Apostila','Podendo ser complementado: de Curso'); - $fnCadastrar(9,'Ata','Como Documento Externo pode ser complementado: de Reunião; de Realização de Pregão'); - $fnCadastrar(10,'Atestado','Podendo ser complementado: Médico; de Comparecimento; de Capacidade Técnica'); - $fnCadastrar(11,'Ato','Expressa decisão sobre outorga, expedição, modificação, transferência, prorrogação, adaptação e extinção de concessões, permissões e autorizações para exploração de serviços, uso de recursos escassos e exploração de satélite, e Chamamento Público.'); - $fnCadastrar(12,'Auto','Podendo ser complementado: de Vistoria; de Infração'); - $fnCadastrar(13,'Aviso','Podendo ser complementado: de Recebimento; de Sinistro; de Férias'); - $fnCadastrar(14,'Balancete','Podendo ser complementado: Financeiro'); - $fnCadastrar(15,'Balanço','Podendo ser complementado: Patrimonial - BP; Financeiro'); - $fnCadastrar(16,'Bilhete','Podendo ser complementado: de Pagamento; de Loteria'); - $fnCadastrar(17,'Boletim','Podendo ser complementado: de Ocorrência; Informativo'); - $fnCadastrar(18,'Carta','Podendo ser complementado: Convite'); - $fnCadastrar(19,'Cartaz','Podendo ser complementado: de Evento'); - $fnCadastrar(20,'Cédula','Podendo ser complementado: de Identidade; de Crédito Bancário; de Crédito Comercial; de Crédito Imobiliário'); - $fnCadastrar(21,'Certidão','Como Documento Externo pode ser complementado: de Tempo de Serviço; de Nascimento; de Casamento; de Óbito; Negativa de Falência ou Concordata; Negativa de Débitos Trabalhistas; Negativa de Débitos Tributários'); - $fnCadastrar(22,'Certificado','Podendo ser complementado: de Conclusão de Curso; de Calibração de Equipamento; de Marca'); - $fnCadastrar(23,'Cheque','Podendo ser complementado: Caução'); - $fnCadastrar(24,'Comprovante','Podendo ser complementado: de Despesa; de Rendimento; de Residência; de Matrícula; de União Estável'); - $fnCadastrar(25,'Comunicado','Expediente interno entre uma unidade administrativa e um servidor ou entre um servidor e uma unidade administrativa de um mesmo órgão público.'); - $fnCadastrar(26,'Consulta','Podendo ser complementado: Pública; Interna'); - $fnCadastrar(27,'Contracheque','Espécie própria'); - $fnCadastrar(28,'Contrato','Como Documento Externo pode ser complementado: Social'); - $fnCadastrar(29,'Convênio','Espécie própria'); - $fnCadastrar(30,'Convite','Podendo ser complementado: de Reunião; para Evento; de Casamento'); - $fnCadastrar(31,'Convenção','Podendo ser complementado: Coletiva de Trabalho; Internacional'); - $fnCadastrar(32,'Crachá','Podendo ser complementado: de Identificação; de Evento'); - $fnCadastrar(33,'Cronograma','Podendo ser complementado: de Projeto; de Estudos'); - $fnCadastrar(34,'Currículo','Podendo ser complementado: de Candidato'); - $fnCadastrar(35,'Debênture','Espécie própria'); - $fnCadastrar(36,'Decisão','Podendo ser complementado: Administrativa; Judicial'); - $fnCadastrar(37,'Declaração','Como Documento Externo pode ser complementado: de Imposto de Renda; de Conformidade; de Responsabilidade Técnica; de Acumulação de Aposentadoria; de Acumulação de Cargos; de Informações Econômico-Fiscais da Pessoa Jurídica $fnCadastrar(DIPJ);'); - $fnCadastrar(38,'Decreto','Espécie própria'); - $fnCadastrar(39,'Deliberação','Podendo ser complementado: de Recursos; do Conselho'); - $fnCadastrar(40,'Demonstrativo','Podendo ser complementado: Financeiro; de Pagamento; de Arrecadação'); - $fnCadastrar(41,'Depoimento','Podendo ser complementado: das Testemunhas'); - $fnCadastrar(42,'Despacho','Espécie própria'); - $fnCadastrar(43,'Diário','Podendo ser complementado: de Justiça; Oficial'); - $fnCadastrar(44,'Diploma','Podendo ser complementado: de Conclusão de Curso'); - $fnCadastrar(45,'Diretriz','Podendo ser complementado: Orçamentária'); - $fnCadastrar(46,'Dissertação','Podendo ser complementado: de Mestrado'); - $fnCadastrar(47,'Dossiê','Podendo ser complementado: de Processo; Técnico'); - $fnCadastrar(48,'Edital','Podendo ser complementado: de Convocação; de Intimação; de Lançamento'); - $fnCadastrar(49,'E-mail','Indicado nos Parâmetros para corresponder ao envio de Correspondência Eletrônica do SEI'); - $fnCadastrar(50,'Embargos','Podendo ser complementado: de Declaração; de Execução ou Infringentes'); - $fnCadastrar(51,'Emenda','Podendo ser complementado: Constitucional; de Comissão; de Bancada; de Relatoria'); - $fnCadastrar(52,'Escala','Podendo ser complementado: de Férias'); - $fnCadastrar(53,'Escritura','Podendo ser complementado: Pública; de Imóvel'); - $fnCadastrar(54,'Estatuto','Podendo ser complementado: Social'); - $fnCadastrar(55,'Exposição de Motivos','Espécie própria'); - $fnCadastrar(56,'Extrato','Podendo ser complementado: de Sistemas; Bancário'); - $fnCadastrar(57,'Fatura','Espécie própria'); - $fnCadastrar(58,'Ficha','Podendo ser complementado: de Cadastro; de Inscrição'); - $fnCadastrar(59,'Fluxograma','Podendo ser complementado: de Processo; de Documentos; de Blocos'); - $fnCadastrar(60,'Folha','Podendo ser complementado: de Frequência de Estagiário; de Frequência de Servidor'); - $fnCadastrar(61,'Folheto/Folder','Podendo ser complementado: de Evento'); - $fnCadastrar(62,'Formulário','Podendo ser complementado: de Contato; de Revisão'); - $fnCadastrar(63,'Grade Curricular','Podendo ser complementado: do Curso'); - $fnCadastrar(64,'Guia','Podendo ser complementado: de Recolhimento da União'); - $fnCadastrar(65,'Histórico','Podendo ser complementado: Escolar'); - $fnCadastrar(66,'Indicação','Espécie própria utilizada pelo Poder Legislativo'); - $fnCadastrar(67,'Informe','Como Documento Externo pode ser complementado: de Rendimentos'); - $fnCadastrar(68,'Instrução','Podendo ser complementado: Normativa'); - $fnCadastrar(69,'Inventário','Podendo ser complementado: de Estoque; Extrajudicial; Judicial; em Cartório'); - $fnCadastrar(70,'Laudo','Podendo ser complementado: Médico; Conclusivo'); - $fnCadastrar(71,'Lei','Podendo ser complementado: Complementar'); - $fnCadastrar(72,'Lista/Listagem','Podendo ser complementado: de Presença'); - $fnCadastrar(73,'Livro','Podendo ser complementado: Caixa'); - $fnCadastrar(74,'Mandado','Podendo ser complementado: de Busca e Apreensão; de Citação; de Intimação'); - $fnCadastrar(75,'Manifesto','Espécie própria'); - $fnCadastrar(76,'Manual','Podendo ser complementado: do Usuário; do Sistema; do Equipamento'); - $fnCadastrar(77,'Mapa','Podendo ser complementado: de Ruas; de Risco'); - $fnCadastrar(78,'Medida Provisória','Espécie própria'); - $fnCadastrar(79,'Memorando','Como Documento Externo pode ser complementado: de Entendimento'); - $fnCadastrar(80,'Memorando-circular','Mesma definição do Memorando com apenas uma diferença: é encaminhado simultaneamente a mais de um cargo.'); - $fnCadastrar(81,'Memorial','Podendo ser complementado: Descritivo; de Incorporação'); - $fnCadastrar(82,'Mensagem','Podendo ser complementado: de Aniversário; de Boas Vindas'); - $fnCadastrar(83,'Minuta','Podendo ser complementado: de Portaria; de Resolução'); - $fnCadastrar(84,'Moção','Podendo ser complementado: de Apoio; de Pesar; de Repúdio'); - $fnCadastrar(85,'Norma','Podendo ser complementado: Técnica; de Conduta'); - $fnCadastrar(86,'Nota','Podendo ser complementado: Técnica; de Empenho'); - $fnCadastrar(87,'Notificação','Podendo ser complementado: de Lançamento'); - $fnCadastrar(88,'Ofício','Modalidades de comunicação oficial. É expedido para e pelas autoridades. Tem como finalidade o tratamento de assuntos oficiais pelos órgãos da Administração Pública entre si e também com particulares.'); - $fnCadastrar(89,'Ofício-Circular','Espécie própria'); - $fnCadastrar(90,'Orçamento','Podendo ser complementado: de Obra; de Serviço'); - $fnCadastrar(91,'Ordem','Podendo ser complementado: de Serviço; de Compra; do Dia'); - $fnCadastrar(92,'Organograma','Podendo ser complementado: da Empresa'); - $fnCadastrar(93,'Orientação','Podendo ser complementado: Normativa; Jurisprudencial'); - $fnCadastrar(94,'Panfleto','Podendo ser complementado: de Promoção; de Evento'); - $fnCadastrar(95,'Parecer','Tipo de Documento próprio da AGU e outros órgãos públicos.'); - $fnCadastrar(96,'Passaporte','Espécie própria'); - $fnCadastrar(97,'Pauta','Podendo ser complementado: de Julgamentos; de Audiências; das Seções'); - $fnCadastrar(98,'Petição','Podendo ser complementado: Inicial; Incidental'); - $fnCadastrar(99,'Planilha','Podendo ser complementado: de Custos e Formação de Preços'); - $fnCadastrar(100,'Plano','Podendo ser complementado: de Serviço; de Contas Contábil'); - $fnCadastrar(101,'Planta','Podendo ser complementado: Baixa; de Localização; de Situação'); - $fnCadastrar(102,'Portaria','Expressa decisão relativa a assuntos de interesse interno da Agência.'); - $fnCadastrar(103,'Precatório','Podendo ser complementado: Alimentar; Federal; Estadual; Municipal'); - $fnCadastrar(104,'Processo','Processo'); - $fnCadastrar(105,'Procuração','Espécie própria'); - $fnCadastrar(106,'Programa','Podendo ser complementado: de Governo; de Melhoria'); - $fnCadastrar(107,'Projeto','Podendo ser complementado: Técnico; Comercial'); - $fnCadastrar(108,'Prontuário','Podendo ser complementado: Médico; Odontológico'); - $fnCadastrar(109,'Pronunciamento','Espécie própria'); - $fnCadastrar(110,'Proposta','Podendo ser complementado: Comercial; de Orçamento; Técnica'); - $fnCadastrar(111,'Prospecto','Podendo ser complementado: de Fundos'); - $fnCadastrar(112,'Protocolo','Podendo ser complementado: de Entendimentos; de Entrega'); - $fnCadastrar(113,'Prova','Podendo ser complementado: de Conceito; de Proficiência'); - $fnCadastrar(114,'Questionário','Podendo ser complementado: de Avaliação; de Pesquisa; Socioeconômico'); - $fnCadastrar(115,'Receita','Espécie própria'); - $fnCadastrar(116,'Recibo','Podendo ser complementado: de Pagamento; de Entrega'); - $fnCadastrar(117,'Recurso','Podendo ser complementado: Administrativo; Judicial'); - $fnCadastrar(118,'Regimento','Podendo ser complementado: Interno'); - $fnCadastrar(119,'Registro','Podendo ser complementado: de Detalhes de Chamadas - CDR; de Acesso; Comercial'); - $fnCadastrar(120,'Regulamento','Podendo ser complementado: Geral; Disciplinar; de Administração'); - $fnCadastrar(121,'Relação','Podendo ser complementado: de Bens Reversíveis - RBR'); - $fnCadastrar(122,'Relatório','Podendo ser complementado: de Conformidade; de Medições; de Prestação de Contas; de Viagem a Serviço; Fotográfico; Técnico'); - $fnCadastrar(123,'Release','Podendo ser complementado: de Resultados; de Produtos; de Serviços'); - $fnCadastrar(124,'Representação','Podendo ser complementado: Comercial; Processual; Fiscal'); - $fnCadastrar(125,'Requerimento','Podendo ser complementado: Administrativo; de Adaptação; de Alteração Técnica; de Alteração Técnica; de Autocadastramento de Estação; de Licenciamento de Estação; de Serviço de Telecomunicações'); - $fnCadastrar(126,'Requisição','Podendo ser complementado: de Auditoria; de Exclusão; de Segunda Via'); - $fnCadastrar(127,'Resolução','Expressa decisão quanto ao provimento normativo que regula a implementação da política de telecomunicações brasileira, a prestação dos serviços de telecomunicações, a administração dos recursos à prestação e o funcionamento da Agência.'); - $fnCadastrar(128,'Resumo','Podendo ser complementado: Técnico'); - $fnCadastrar(129,'Roteiro','Podendo ser complementado: de Instalação; de Inspeção'); - $fnCadastrar(130,'Sentença','Podendo ser complementado: de Mérito; Terminativa; Declaratória; Constitutiva; Condenatória; Mandamental; Executiva'); - $fnCadastrar(131,'Sinopse','Podendo ser complementado: do Livro; do Estudo Técnico'); - $fnCadastrar(132,'Solicitação','Podendo ser complementado: de Pagamento'); - $fnCadastrar(133,'Súmula','Expressa decisão quanto à interpretação da legislação de telecomunicações e fixa entendimento sobre matérias de competência da Agência, com efeito vinculativo.'); - $fnCadastrar(134,'Tabela','Podendo ser complementado: de Visto; de Passaporte; de Certidão'); - $fnCadastrar(135,'Telegrama','Espécie própria'); - $fnCadastrar(136,'Termo','Podendo ser complementado: de Opção por Auxílio Financeiro; de Opção para Contribuição ao CPSS; de Conciliação; de Devolução; de Doação; de Recebimento; de Rescisão; de Compromisso de Estágio; de Representação; de Responsabilidade de Instalação - TRI'); - $fnCadastrar(137,'Tese','Podendo ser complementado: de Doutorado'); - $fnCadastrar(138,'Testamento','Podendo ser complementado: Particular; Vital; Cerrado; Conjuntivo'); - $fnCadastrar(139,'Título','Podendo ser complementado: de Eleitor; Público; de Capitalização'); - $fnCadastrar(140,'Voto','Espécie própria'); - $fnCadastrar(141,'Carteira','Podendo ser complementado: Nacional de Habilitação'); - $fnCadastrar(142,'Cartão','Podendo ser complementado: de Identificação'); - $fnCadastrar(143,'CPF/CIC','Espécie própria'); - $fnCadastrar(144,'CNPJ','Espécie própria'); - $fnCadastrar(145,'Calendário','Podendo ser complementado: de Reuniões'); - $fnCadastrar(146,'CNH','CNH'); - $fnCadastrar(147,'RG','RG'); - $fnCadastrar(148,'Agenda','Podendo ser complementado: de Reunião'); - $fnCadastrar(149,'Análise','Como Documento Externo pode ser complementado: Contábil'); - $fnCadastrar(150,'Anotação','Podendo ser complementado: de Responsabilidade Técnica - ART'); - $fnCadastrar(151,'Áudio','Podendo ser complementado: de Reunião'); - $fnCadastrar(152,'Boleto','Podendo ser complementado: de Pagamento; de Cobrança; de Cobrança Registrada; de Cobrança sem Registro'); - $fnCadastrar(153,'Conta','Podendo ser complementado: Telefônica; de Água; de Luz'); - $fnCadastrar(154,'Contrarrazões','Podendo ser complementado: em Recurso; em Apelação; em Embargos Infringentes'); - $fnCadastrar(155,'Correspondência','Espécie própria'); - $fnCadastrar(156,'Cota','Tipo de Documento próprio da AGU.'); - $fnCadastrar(157,'Credencial','Podendo ser complementado: de Segurança; de Agente de Fiscalização'); - $fnCadastrar(158,'Croqui','Podendo ser complementado: de Acesso, Urbano'); - $fnCadastrar(159,'Defesa','Podendo ser complementado: Administrativa; Judicial'); - $fnCadastrar(160,'Demonstração','Podendo ser complementado: de Resultado do Exercício - DRE; de Fluxo de Caixa; Financeira; Contábil'); - $fnCadastrar(161,'Denúncia','Espécie própria'); - $fnCadastrar(162,'Esclarecimento','Espécie própria utilizada em Licitação $fnCadastrar(ComprasNet);'); - $fnCadastrar(163,'Escrituração','Podendo ser complementado: Contábil Digital - ECD; Fiscal Digital - EFD; Fiscal Digital - EFD-Contribuições'); - $fnCadastrar(164,'Estratégia','Podendo ser complementado: da Contratação'); - $fnCadastrar(165,'Impugnação','Espécie própria utilizada em Licitação $fnCadastrar(ComprasNet);'); - $fnCadastrar(166,'Informação','Tipo de Documento próprio da AGU.'); - $fnCadastrar(167,'Intenção','Podendo ser complementado: de Recurso; de Compra; de Venda'); - $fnCadastrar(168,'Licença','Podendo ser complementado: de Estação'); - $fnCadastrar(169,'Matéria','Podendo ser complementado: para Apreciação'); - $fnCadastrar(170,'Material','Podendo ser complementado: Publicitário; de Evento; de Promoção'); - $fnCadastrar(171,'Memória','Podendo ser complementado: de Cálculo'); - $fnCadastrar(172,'Movimentação','Podendo ser complementado: de Bens Móveis'); - $fnCadastrar(173,'Pedido','Podendo ser complementado: de Reconsideração; de Esclarecimento'); - $fnCadastrar(174,'Reclamação','Espécie própria'); - $fnCadastrar(175,'Referendo','Espécie própria'); - $fnCadastrar(176,'Resultado','Podendo ser complementado: de Exame Médico; de Contestação'); - $fnCadastrar(177,'Vídeo','Podendo ser complementado: de Reunião'); - - + $fnCadastrar(1, 'Abaixo-assinado', 'Podendo ser complementado: de Reivindicação'); + $fnCadastrar(2, 'Acórdão', 'Expressa decisão proferida pelo Conselho Diretor, não abrangida pelos demais instrumentos deliberativos anteriores.'); + $fnCadastrar(3, 'Acordo', 'Podendo ser complementado: de Nível de Serviço; Coletivo de Trabalho'); + $fnCadastrar(4, 'Alvará', 'Podendo ser complementado: de Funcionamento; Judicial'); + $fnCadastrar(5, 'Anais', 'Podendo ser complementado: de Eventos; de Engenharia'); + $fnCadastrar(6, 'Anteprojeto', 'Podendo ser complementado: de Lei'); + $fnCadastrar(7, 'Apólice', 'Podendo ser complementado: de Seguro'); + $fnCadastrar(8, 'Apostila', 'Podendo ser complementado: de Curso'); + $fnCadastrar(9, 'Ata', 'Como Documento Externo pode ser complementado: de Reunião; de Realização de Pregão'); + $fnCadastrar(10, 'Atestado', 'Podendo ser complementado: Médico; de Comparecimento; de Capacidade Técnica'); + $fnCadastrar(11, 'Ato', 'Expressa decisão sobre outorga, expedição, modificação, transferência, prorrogação, adaptação e extinção de concessões, permissões e autorizações para exploração de serviços, uso de recursos escassos e exploração de satélite, e Chamamento Público.'); + $fnCadastrar(12, 'Auto', 'Podendo ser complementado: de Vistoria; de Infração'); + $fnCadastrar(13, 'Aviso', 'Podendo ser complementado: de Recebimento; de Sinistro; de Férias'); + $fnCadastrar(14, 'Balancete', 'Podendo ser complementado: Financeiro'); + $fnCadastrar(15, 'Balanço', 'Podendo ser complementado: Patrimonial - BP; Financeiro'); + $fnCadastrar(16, 'Bilhete', 'Podendo ser complementado: de Pagamento; de Loteria'); + $fnCadastrar(17, 'Boletim', 'Podendo ser complementado: de Ocorrência; Informativo'); + $fnCadastrar(18, 'Carta', 'Podendo ser complementado: Convite'); + $fnCadastrar(19, 'Cartaz', 'Podendo ser complementado: de Evento'); + $fnCadastrar(20, 'Cédula', 'Podendo ser complementado: de Identidade; de Crédito Bancário; de Crédito Comercial; de Crédito Imobiliário'); + $fnCadastrar(21, 'Certidão', 'Como Documento Externo pode ser complementado: de Tempo de Serviço; de Nascimento; de Casamento; de Óbito; Negativa de Falência ou Concordata; Negativa de Débitos Trabalhistas; Negativa de Débitos Tributários'); + $fnCadastrar(22, 'Certificado', 'Podendo ser complementado: de Conclusão de Curso; de Calibração de Equipamento; de Marca'); + $fnCadastrar(23, 'Cheque', 'Podendo ser complementado: Caução'); + $fnCadastrar(24, 'Comprovante', 'Podendo ser complementado: de Despesa; de Rendimento; de Residência; de Matrícula; de União Estável'); + $fnCadastrar(25, 'Comunicado', 'Expediente interno entre uma unidade administrativa e um servidor ou entre um servidor e uma unidade administrativa de um mesmo órgão público.'); + $fnCadastrar(26, 'Consulta', 'Podendo ser complementado: Pública; Interna'); + $fnCadastrar(27, 'Contracheque', 'Espécie própria'); + $fnCadastrar(28, 'Contrato', 'Como Documento Externo pode ser complementado: Social'); + $fnCadastrar(29, 'Convênio', 'Espécie própria'); + $fnCadastrar(30, 'Convite', 'Podendo ser complementado: de Reunião; para Evento; de Casamento'); + $fnCadastrar(31, 'Convenção', 'Podendo ser complementado: Coletiva de Trabalho; Internacional'); + $fnCadastrar(32, 'Crachá', 'Podendo ser complementado: de Identificação; de Evento'); + $fnCadastrar(33, 'Cronograma', 'Podendo ser complementado: de Projeto; de Estudos'); + $fnCadastrar(34, 'Currículo', 'Podendo ser complementado: de Candidato'); + $fnCadastrar(35, 'Debênture', 'Espécie própria'); + $fnCadastrar(36, 'Decisão', 'Podendo ser complementado: Administrativa; Judicial'); + $fnCadastrar(37, 'Declaração', 'Como Documento Externo pode ser complementado: de Imposto de Renda; de Conformidade; de Responsabilidade Técnica; de Acumulação de Aposentadoria; de Acumulação de Cargos; de Informações Econômico-Fiscais da Pessoa Jurídica $fnCadastrar(DIPJ);'); + $fnCadastrar(38, 'Decreto', 'Espécie própria'); + $fnCadastrar(39, 'Deliberação', 'Podendo ser complementado: de Recursos; do Conselho'); + $fnCadastrar(40, 'Demonstrativo', 'Podendo ser complementado: Financeiro; de Pagamento; de Arrecadação'); + $fnCadastrar(41, 'Depoimento', 'Podendo ser complementado: das Testemunhas'); + $fnCadastrar(42, 'Despacho', 'Espécie própria'); + $fnCadastrar(43, 'Diário', 'Podendo ser complementado: de Justiça; Oficial'); + $fnCadastrar(44, 'Diploma', 'Podendo ser complementado: de Conclusão de Curso'); + $fnCadastrar(45, 'Diretriz', 'Podendo ser complementado: Orçamentária'); + $fnCadastrar(46, 'Dissertação', 'Podendo ser complementado: de Mestrado'); + $fnCadastrar(47, 'Dossiê', 'Podendo ser complementado: de Processo; Técnico'); + $fnCadastrar(48, 'Edital', 'Podendo ser complementado: de Convocação; de Intimação; de Lançamento'); + $fnCadastrar(49, 'E-mail', 'Indicado nos Parâmetros para corresponder ao envio de Correspondência Eletrônica do SEI'); + $fnCadastrar(50, 'Embargos', 'Podendo ser complementado: de Declaração; de Execução ou Infringentes'); + $fnCadastrar(51, 'Emenda', 'Podendo ser complementado: Constitucional; de Comissão; de Bancada; de Relatoria'); + $fnCadastrar(52, 'Escala', 'Podendo ser complementado: de Férias'); + $fnCadastrar(53, 'Escritura', 'Podendo ser complementado: Pública; de Imóvel'); + $fnCadastrar(54, 'Estatuto', 'Podendo ser complementado: Social'); + $fnCadastrar(55, 'Exposição de Motivos', 'Espécie própria'); + $fnCadastrar(56, 'Extrato', 'Podendo ser complementado: de Sistemas; Bancário'); + $fnCadastrar(57, 'Fatura', 'Espécie própria'); + $fnCadastrar(58, 'Ficha', 'Podendo ser complementado: de Cadastro; de Inscrição'); + $fnCadastrar(59, 'Fluxograma', 'Podendo ser complementado: de Processo; de Documentos; de Blocos'); + $fnCadastrar(60, 'Folha', 'Podendo ser complementado: de Frequência de Estagiário; de Frequência de Servidor'); + $fnCadastrar(61, 'Folheto/Folder', 'Podendo ser complementado: de Evento'); + $fnCadastrar(62, 'Formulário', 'Podendo ser complementado: de Contato; de Revisão'); + $fnCadastrar(63, 'Grade Curricular', 'Podendo ser complementado: do Curso'); + $fnCadastrar(64, 'Guia', 'Podendo ser complementado: de Recolhimento da União'); + $fnCadastrar(65, 'Histórico', 'Podendo ser complementado: Escolar'); + $fnCadastrar(66, 'Indicação', 'Espécie própria utilizada pelo Poder Legislativo'); + $fnCadastrar(67, 'Informe', 'Como Documento Externo pode ser complementado: de Rendimentos'); + $fnCadastrar(68, 'Instrução', 'Podendo ser complementado: Normativa'); + $fnCadastrar(69, 'Inventário', 'Podendo ser complementado: de Estoque; Extrajudicial; Judicial; em Cartório'); + $fnCadastrar(70, 'Laudo', 'Podendo ser complementado: Médico; Conclusivo'); + $fnCadastrar(71, 'Lei', 'Podendo ser complementado: Complementar'); + $fnCadastrar(72, 'Lista/Listagem', 'Podendo ser complementado: de Presença'); + $fnCadastrar(73, 'Livro', 'Podendo ser complementado: Caixa'); + $fnCadastrar(74, 'Mandado', 'Podendo ser complementado: de Busca e Apreensão; de Citação; de Intimação'); + $fnCadastrar(75, 'Manifesto', 'Espécie própria'); + $fnCadastrar(76, 'Manual', 'Podendo ser complementado: do Usuário; do Sistema; do Equipamento'); + $fnCadastrar(77, 'Mapa', 'Podendo ser complementado: de Ruas; de Risco'); + $fnCadastrar(78, 'Medida Provisória', 'Espécie própria'); + $fnCadastrar(79, 'Memorando', 'Como Documento Externo pode ser complementado: de Entendimento'); + $fnCadastrar(80, 'Memorando-circular', 'Mesma definição do Memorando com apenas uma diferença: é encaminhado simultaneamente a mais de um cargo.'); + $fnCadastrar(81, 'Memorial', 'Podendo ser complementado: Descritivo; de Incorporação'); + $fnCadastrar(82, 'Mensagem', 'Podendo ser complementado: de Aniversário; de Boas Vindas'); + $fnCadastrar(83, 'Minuta', 'Podendo ser complementado: de Portaria; de Resolução'); + $fnCadastrar(84, 'Moção', 'Podendo ser complementado: de Apoio; de Pesar; de Repúdio'); + $fnCadastrar(85, 'Norma', 'Podendo ser complementado: Técnica; de Conduta'); + $fnCadastrar(86, 'Nota', 'Podendo ser complementado: Técnica; de Empenho'); + $fnCadastrar(87, 'Notificação', 'Podendo ser complementado: de Lançamento'); + $fnCadastrar(88, 'Ofício', 'Modalidades de comunicação oficial. É expedido para e pelas autoridades. Tem como finalidade o tratamento de assuntos oficiais pelos órgãos da Administração Pública entre si e também com particulares.'); + $fnCadastrar(89, 'Ofício-Circular', 'Espécie própria'); + $fnCadastrar(90, 'Orçamento', 'Podendo ser complementado: de Obra; de Serviço'); + $fnCadastrar(91, 'Ordem', 'Podendo ser complementado: de Serviço; de Compra; do Dia'); + $fnCadastrar(92, 'Organograma', 'Podendo ser complementado: da Empresa'); + $fnCadastrar(93, 'Orientação', 'Podendo ser complementado: Normativa; Jurisprudencial'); + $fnCadastrar(94, 'Panfleto', 'Podendo ser complementado: de Promoção; de Evento'); + $fnCadastrar(95, 'Parecer', 'Tipo de Documento próprio da AGU e outros órgãos públicos.'); + $fnCadastrar(96, 'Passaporte', 'Espécie própria'); + $fnCadastrar(97, 'Pauta', 'Podendo ser complementado: de Julgamentos; de Audiências; das Seções'); + $fnCadastrar(98, 'Petição', 'Podendo ser complementado: Inicial; Incidental'); + $fnCadastrar(99, 'Planilha', 'Podendo ser complementado: de Custos e Formação de Preços'); + $fnCadastrar(100, 'Plano', 'Podendo ser complementado: de Serviço; de Contas Contábil'); + $fnCadastrar(101, 'Planta', 'Podendo ser complementado: Baixa; de Localização; de Situação'); + $fnCadastrar(102, 'Portaria', 'Expressa decisão relativa a assuntos de interesse interno da Agência.'); + $fnCadastrar(103, 'Precatório', 'Podendo ser complementado: Alimentar; Federal; Estadual; Municipal'); + $fnCadastrar(104, 'Processo', 'Processo'); + $fnCadastrar(105, 'Procuração', 'Espécie própria'); + $fnCadastrar(106, 'Programa', 'Podendo ser complementado: de Governo; de Melhoria'); + $fnCadastrar(107, 'Projeto', 'Podendo ser complementado: Técnico; Comercial'); + $fnCadastrar(108, 'Prontuário', 'Podendo ser complementado: Médico; Odontológico'); + $fnCadastrar(109, 'Pronunciamento', 'Espécie própria'); + $fnCadastrar(110, 'Proposta', 'Podendo ser complementado: Comercial; de Orçamento; Técnica'); + $fnCadastrar(111, 'Prospecto', 'Podendo ser complementado: de Fundos'); + $fnCadastrar(112, 'Protocolo', 'Podendo ser complementado: de Entendimentos; de Entrega'); + $fnCadastrar(113, 'Prova', 'Podendo ser complementado: de Conceito; de Proficiência'); + $fnCadastrar(114, 'Questionário', 'Podendo ser complementado: de Avaliação; de Pesquisa; Socioeconômico'); + $fnCadastrar(115, 'Receita', 'Espécie própria'); + $fnCadastrar(116, 'Recibo', 'Podendo ser complementado: de Pagamento; de Entrega'); + $fnCadastrar(117, 'Recurso', 'Podendo ser complementado: Administrativo; Judicial'); + $fnCadastrar(118, 'Regimento', 'Podendo ser complementado: Interno'); + $fnCadastrar(119, 'Registro', 'Podendo ser complementado: de Detalhes de Chamadas - CDR; de Acesso; Comercial'); + $fnCadastrar(120, 'Regulamento', 'Podendo ser complementado: Geral; Disciplinar; de Administração'); + $fnCadastrar(121, 'Relação', 'Podendo ser complementado: de Bens Reversíveis - RBR'); + $fnCadastrar(122, 'Relatório', 'Podendo ser complementado: de Conformidade; de Medições; de Prestação de Contas; de Viagem a Serviço; Fotográfico; Técnico'); + $fnCadastrar(123, 'Release', 'Podendo ser complementado: de Resultados; de Produtos; de Serviços'); + $fnCadastrar(124, 'Representação', 'Podendo ser complementado: Comercial; Processual; Fiscal'); + $fnCadastrar(125, 'Requerimento', 'Podendo ser complementado: Administrativo; de Adaptação; de Alteração Técnica; de Alteração Técnica; de Autocadastramento de Estação; de Licenciamento de Estação; de Serviço de Telecomunicações'); + $fnCadastrar(126, 'Requisição', 'Podendo ser complementado: de Auditoria; de Exclusão; de Segunda Via'); + $fnCadastrar(127, 'Resolução', 'Expressa decisão quanto ao provimento normativo que regula a implementação da política de telecomunicações brasileira, a prestação dos serviços de telecomunicações, a administração dos recursos à prestação e o funcionamento da Agência.'); + $fnCadastrar(128, 'Resumo', 'Podendo ser complementado: Técnico'); + $fnCadastrar(129, 'Roteiro', 'Podendo ser complementado: de Instalação; de Inspeção'); + $fnCadastrar(130, 'Sentença', 'Podendo ser complementado: de Mérito; Terminativa; Declaratória; Constitutiva; Condenatória; Mandamental; Executiva'); + $fnCadastrar(131, 'Sinopse', 'Podendo ser complementado: do Livro; do Estudo Técnico'); + $fnCadastrar(132, 'Solicitação', 'Podendo ser complementado: de Pagamento'); + $fnCadastrar(133, 'Súmula', 'Expressa decisão quanto à interpretação da legislação de telecomunicações e fixa entendimento sobre matérias de competência da Agência, com efeito vinculativo.'); + $fnCadastrar(134, 'Tabela', 'Podendo ser complementado: de Visto; de Passaporte; de Certidão'); + $fnCadastrar(135, 'Telegrama', 'Espécie própria'); + $fnCadastrar(136, 'Termo', 'Podendo ser complementado: de Opção por Auxílio Financeiro; de Opção para Contribuição ao CPSS; de Conciliação; de Devolução; de Doação; de Recebimento; de Rescisão; de Compromisso de Estágio; de Representação; de Responsabilidade de Instalação - TRI'); + $fnCadastrar(137, 'Tese', 'Podendo ser complementado: de Doutorado'); + $fnCadastrar(138, 'Testamento', 'Podendo ser complementado: Particular; Vital; Cerrado; Conjuntivo'); + $fnCadastrar(139, 'Título', 'Podendo ser complementado: de Eleitor; Público; de Capitalização'); + $fnCadastrar(140, 'Voto', 'Espécie própria'); + $fnCadastrar(141, 'Carteira', 'Podendo ser complementado: Nacional de Habilitação'); + $fnCadastrar(142, 'Cartão', 'Podendo ser complementado: de Identificação'); + $fnCadastrar(143, 'CPF/CIC', 'Espécie própria'); + $fnCadastrar(144, 'CNPJ', 'Espécie própria'); + $fnCadastrar(145, 'Calendário', 'Podendo ser complementado: de Reuniões'); + $fnCadastrar(146, 'CNH', 'CNH'); + $fnCadastrar(147, 'RG', 'RG'); + $fnCadastrar(148, 'Agenda', 'Podendo ser complementado: de Reunião'); + $fnCadastrar(149, 'Análise', 'Como Documento Externo pode ser complementado: Contábil'); + $fnCadastrar(150, 'Anotação', 'Podendo ser complementado: de Responsabilidade Técnica - ART'); + $fnCadastrar(151, 'Áudio', 'Podendo ser complementado: de Reunião'); + $fnCadastrar(152, 'Boleto', 'Podendo ser complementado: de Pagamento; de Cobrança; de Cobrança Registrada; de Cobrança sem Registro'); + $fnCadastrar(153, 'Conta', 'Podendo ser complementado: Telefônica; de Água; de Luz'); + $fnCadastrar(154, 'Contrarrazões', 'Podendo ser complementado: em Recurso; em Apelação; em Embargos Infringentes'); + $fnCadastrar(155, 'Correspondência', 'Espécie própria'); + $fnCadastrar(156, 'Cota', 'Tipo de Documento próprio da AGU.'); + $fnCadastrar(157, 'Credencial', 'Podendo ser complementado: de Segurança; de Agente de Fiscalização'); + $fnCadastrar(158, 'Croqui', 'Podendo ser complementado: de Acesso, Urbano'); + $fnCadastrar(159, 'Defesa', 'Podendo ser complementado: Administrativa; Judicial'); + $fnCadastrar(160, 'Demonstração', 'Podendo ser complementado: de Resultado do Exercício - DRE; de Fluxo de Caixa; Financeira; Contábil'); + $fnCadastrar(161, 'Denúncia', 'Espécie própria'); + $fnCadastrar(162, 'Esclarecimento', 'Espécie própria utilizada em Licitação $fnCadastrar(ComprasNet);'); + $fnCadastrar(163, 'Escrituração', 'Podendo ser complementado: Contábil Digital - ECD; Fiscal Digital - EFD; Fiscal Digital - EFD-Contribuições'); + $fnCadastrar(164, 'Estratégia', 'Podendo ser complementado: da Contratação'); + $fnCadastrar(165, 'Impugnação', 'Espécie própria utilizada em Licitação $fnCadastrar(ComprasNet);'); + $fnCadastrar(166, 'Informação', 'Tipo de Documento próprio da AGU.'); + $fnCadastrar(167, 'Intenção', 'Podendo ser complementado: de Recurso; de Compra; de Venda'); + $fnCadastrar(168, 'Licença', 'Podendo ser complementado: de Estação'); + $fnCadastrar(169, 'Matéria', 'Podendo ser complementado: para Apreciação'); + $fnCadastrar(170, 'Material', 'Podendo ser complementado: Publicitário; de Evento; de Promoção'); + $fnCadastrar(171, 'Memória', 'Podendo ser complementado: de Cálculo'); + $fnCadastrar(172, 'Movimentação', 'Podendo ser complementado: de Bens Móveis'); + $fnCadastrar(173, 'Pedido', 'Podendo ser complementado: de Reconsideração; de Esclarecimento'); + $fnCadastrar(174, 'Reclamação', 'Espécie própria'); + $fnCadastrar(175, 'Referendo', 'Espécie própria'); + $fnCadastrar(176, 'Resultado', 'Podendo ser complementado: de Exame Médico; de Contestação'); + $fnCadastrar(177, 'Vídeo', 'Podendo ser complementado: de Reunião'); + + //---------------------------------------------------------------------- // Tarefas //---------------------------------------------------------------------- $objDTO = new TarefaDTO(); - $fnCadastrar = function($strNome = '', $strHistoricoCompleto = 'N', $strHistoricoCompleto = 'N', $strFecharAndamentosAbertos = 'N', $strLancarAndamentoFechado = 'N', $strPermiteProcessoFechado = 'N', $strIdTarefaModulo = '') use($objDTO, $objBD){ - + $fnCadastrar = function($strNome = '', $strHistoricoCompleto = 'N', $strHistoricoCompleto = 'N', $strFecharAndamentosAbertos = 'N', $strLancarAndamentoFechado = 'N', $strPermiteProcessoFechado = 'N', $strIdTarefaModulo = '') use($objDTO, $objBD) { + $objDTO->unSetTodos(); $objDTO->setStrIdTarefaModulo($strIdTarefaModulo); - if($objBD->contar($objDTO) == 0){ - + if ($objBD->contar($objDTO) == 0) { + $objUltimaTarefaDTO = new TarefaDTO(); $objUltimaTarefaDTO->retNumIdTarefa(); $objUltimaTarefaDTO->setNumMaxRegistrosRetorno(1); $objUltimaTarefaDTO->setOrd('IdTarefa', InfraDTO::$TIPO_ORDENACAO_DESC); $objUltimaTarefaDTO = $objBD->consultar($objUltimaTarefaDTO); - + $objDTO->setNumIdTarefa($objUltimaTarefaDTO->getNumIdTarefa() + 1); $objDTO->setStrNome($strNome); $objDTO->setStrSinHistoricoResumido($strHistoricoCompleto); @@ -513,11 +564,11 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $objDTO->setStrSinLancarAndamentoFechado($strLancarAndamentoFechado); $objDTO->setStrSinPermiteProcessoFechado($strPermiteProcessoFechado); $objDTO->setStrIdTarefaModulo($strIdTarefaModulo); - $objBD->cadastrar($objDTO); - } + $objBD->cadastrar($objDTO); + } }; - - + + $fnCadastrar('Processo trâmitado externamente para a entidade @UNIDADE_DESTINO@ - @REPOSITORIO_DESTINO@ (@PROCESSO@, @UNIDADE@, @USUARIO@)', 'S', 'S', 'N', 'S', 'N', 'PEN_PROCESSO_EXPEDIDO'); $fnCadastrar('Processo recebido da entidade @ENTIDADE_ORIGEM@ - @REPOSITORIO_ORIGEM@ (@PROCESSO@, @ENTIDADE_ORIGEM@, @UNIDADE_DESTINO@, @USUARIO@)', 'S', 'S', 'N', 'S', 'N', 'PEN_PROCESSO_RECEBIDO'); $fnCadastrar('O processo foi recusado pelo orgão @UNIDADE_DESTINO@ pelo seguinte motivo: @MOTIVO@', 'S', 'S', 'N', 'N', 'S', 'PEN_PROCESSO_RECUSADO'); @@ -529,195 +580,161 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { //---------------------------------------------------------------------- $objDTO = new RelTarefaOperacaoDTO(); - $fnCadastrar = function($strCodigoOperacao, $numIdTarefa) use($objDTO, $objBD){ + $fnCadastrar = function($strCodigoOperacao, $numIdTarefa) use($objDTO, $objBD) { $objDTO->unSetTodos(); $objDTO->setStrCodigoOperacao($strCodigoOperacao); $objDTO->setNumIdTarefa($numIdTarefa); - if($objBD->contar($objDTO) == 0){ - $objBD->cadastrar($objDTO); - } + if ($objBD->contar($objDTO) == 0) { + $objBD->cadastrar($objDTO); + } }; //$fnCadastrar("01", 0);// Registro (Padrão); - $fnCadastrar("02", 32);// Envio de documento avulso/processo ($TI_PROCESSO_REMETIDO_UNIDADE = 32;); - $fnCadastrar("03", 51);// Cancelamento/exclusao ou envio de documento ($TI_CANCELAMENTO_DOCUMENTO = 51;); - $fnCadastrar("04", 13);// Recebimento de documento ($TI_RECEBIMENTO_DOCUMENTO = 13;); - $fnCadastrar("05", 1);// Autuacao ($TI_GERACAO_PROCEDIMENTO = 1;); - $fnCadastrar("06", 101);// Juntada por anexacao ($TI_ANEXADO_PROCESSO = 101;); + $fnCadastrar("02", 32); // Envio de documento avulso/processo ($TI_PROCESSO_REMETIDO_UNIDADE = 32;); + $fnCadastrar("03", 51); // Cancelamento/exclusao ou envio de documento ($TI_CANCELAMENTO_DOCUMENTO = 51;); + $fnCadastrar("04", 13); // Recebimento de documento ($TI_RECEBIMENTO_DOCUMENTO = 13;); + $fnCadastrar("05", 1); // Autuacao ($TI_GERACAO_PROCEDIMENTO = 1;); + $fnCadastrar("06", 101); // Juntada por anexacao ($TI_ANEXADO_PROCESSO = 101;); //$fnCadastrar("07", 0);// Juntada por apensacao; //$fnCadastrar("08", 0);// Desapensacao; - $fnCadastrar("09", 24);// Arquivamento ($TI_ARQUIVAMENTO = 24;); + $fnCadastrar("09", 24); // Arquivamento ($TI_ARQUIVAMENTO = 24;); //$fnCadastrar("10", 0);// Arquivamento no Arquivo Nacional; //$fnCadastrar("11", 0);// Eliminacao; //$fnCadastrar("12", 0);// Sinistro; //$fnCadastrar("13", 0);// Reconstituicao de processo; - $fnCadastrar("14", 26);// Desarquivamento ($TI_DESARQUIVAMENTO = 26;); + $fnCadastrar("14", 26); // Desarquivamento ($TI_DESARQUIVAMENTO = 26;); //$fnCadastrar("15", 0);// Desmembramento; //$fnCadastrar("16", 0);// Desentranhamento; //$fnCadastrar("17", 0);// Encerramento/abertura de volume no processo; //$fnCadastrar("18", 0);// Registro de extravio; - + $objDTO = new InfraAgendamentoTarefaDTO(); - $fnCadastrar = function($strComando, $strDesc) use($objDTO, $objBD, $objRN){ + $fnCadastrar = function($strComando, $strDesc) use($objDTO, $objBD, $objRN) { $objDTO->unSetTodos(); $objDTO->setStrComando($strComando); - - if($objBD->contar($objDTO) == 0){ - + + if ($objBD->contar($objDTO) == 0) { + $objDTO->setStrDescricao($strDesc); $objDTO->setStrStaPeriodicidadeExecucao('D'); $objDTO->setStrPeriodicidadeComplemento('0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23'); $objDTO->setStrSinAtivo('S'); $objDTO->setStrSinSucesso('S'); - + $objBD->cadastrar($objDTO); - } + } }; - + $fnCadastrar('PENAgendamentoRN::seiVerificarServicosBarramento', 'Verificação dos serviços de fila de processamento estão em execução'); - + //---------------------------------------------------------------------- // Correções para id_unidade_rh //---------------------------------------------------------------------- $objDTO = new UnidadeDTO(); $objDTO->retNumIdUnidade(); - + $arrObjDTO = $objBD->listar($objDTO); - if(!empty($arrObjDTO)) { - + if (!empty($arrObjDTO)) { + $objDTO = new PenUnidadeDTO(); - - foreach($arrObjDTO as $objUnidadeDTO) { - + + foreach ($arrObjDTO as $objUnidadeDTO) { + $objDTO->unSetTodos(); $objDTO->setNumIdUnidade($objUnidadeDTO->getNumIdUnidade()); - - if($objBD->contar($objDTO) == 0) { + + if ($objBD->contar($objDTO) == 0) { $objDTO->setNumIdUnidadeRH(0); $objBD->cadastrar($objDTO); - } + } } } - //---------------------------------------------------------------------- - } - - /** - * Tratamento da Fila do Gearman - * - * @refs 3670 - */ - protected function instalarV002R003S000US024(){ - - $objInfraBanco = $this->inicializarObjInfraIBanco(); - $objMetaBD = $this->inicializarObjMetaBanco(); + /* ---------- antigo método (instalarV002R003S000US024) ---------- */ + $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_tramite_processado', 'cols' => array( - 'id_tramite'=> array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), + 'id_tramite' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), 'dth_ultimo_processamento' => array($objMetaBD->tipoDataHora(), PenMetaBD::NNULLO), 'numero_tentativas' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), 'sin_recebimento_concluido' => array($objMetaBD->tipoTextoFixo(1), PenMetaBD::NNULLO) ), 'pk' => array('id_tramite') - )); - + )); + $objInfraParametro = new InfraParametro($objInfraBanco); $objInfraParametro->setValor('PEN_NUMERO_TENTATIVAS_TRAMITE_RECEBIMENTO', '3'); - } - - /** - * Erro no histórico de processo no momento do recebimento - * - * @refs 3671 - */ - protected function instalarV002R003S000IW001(){ - $objInfraBanco = $this->inicializarObjInfraIBanco(); - //$objMetaBD = $this->inicializarObjMetaBanco(); + + /* ---------- antigo método (instalarV002R003S000IW001) ---------- */ + $objDTO = new TarefaDTO(); $objBD = new TarefaBD($objInfraBanco); - - $fnAlterar = function($strIdTarefaModulo, $strNome) use($objDTO, $objBD){ - + + $fnAlterar = function($strIdTarefaModulo, $strNome) use($objDTO, $objBD) { + $objDTO->unSetTodos(); $objDTO->setStrIdTarefaModulo($strIdTarefaModulo); $objDTO->setNumMaxRegistrosRetorno(1); $objDTO->retStrNome(); $objDTO->retNumIdTarefa(); - + $objDTO = $objBD->consultar($objDTO); - - if(empty($objDTO)){ - + + if (empty($objDTO)) { + $objDTO->setStrNome($strNome); - $objBD->cadastrar($objDTO); - }else{ - + $objBD->cadastrar($objDTO); + } else { + $objDTO->setStrNome($strNome); - $objBD->alterar($objDTO); - } + $objBD->alterar($objDTO); + } }; - + $fnAlterar('PEN_PROCESSO_RECEBIDO', 'Processo recebido da entidade @ENTIDADE_ORIGEM@ - @REPOSITORIO_ORIGEM@'); - } - - /** - * Tratamento da Fila do Gearman para Recibos de Conclusão de Trâmite - * - * @refs 3791 - */ - protected function instalarV002R003S001US035(){ + /* ---------- antigo método (instalarV002R003S001US035) ---------- */ $objMetaBanco = $this->inicializarObjMetaBanco(); - if(!$objMetaBanco->isColuna('md_pen_tramite_processado', 'tipo_tramite_processo')) { + if (!$objMetaBanco->isColuna('md_pen_tramite_processado', 'tipo_tramite_processo')) { $objMetaBanco->adicionarColuna('md_pen_tramite_processado', 'tipo_tramite_processo', 'CHAR(2)', PenMetaBD::NNULLO); $objMetaBanco->adicionarValorPadraoParaColuna('md_pen_tramite_processado', 'tipo_tramite_processo', 'RP'); } - - if($objMetaBanco->isChaveExiste('md_pen_tramite_processado', 'pk_md_pen_tramite_processado')) { - + + if ($objMetaBanco->isChaveExiste('md_pen_tramite_processado', 'pk_md_pen_tramite_processado')) { + $objMetaBanco->removerChavePrimaria('md_pen_tramite_processado', 'pk_md_pen_tramite_processado'); $objMetaBanco->adicionarChavePrimaria('md_pen_tramite_processado', 'pk_md_pen_tramite_processado', array('id_tramite', 'tipo_tramite_processo')); } - } - - /** - * Erro no Mapeamento Tipo de Documento de Envio - * - * @refs 3870 - */ - protected function instalarV003R003S003IW001() { - - $objMetaBD = $this->inicializarObjMetaBanco(); - $objInfraBanco = $this->inicializarObjInfraIBanco(); - + /* ---------- antigo método (instalarV003R003S003IW001) ---------- */ + //---------------------------------------------------------------------- // Novas sequências //---------------------------------------------------------------------- $objInfraSequencia = new InfraSequencia($objInfraBanco); - - if(!$objInfraSequencia->verificarSequencia('md_pen_rel_doc_map_enviado')){ + + if (!$objInfraSequencia->verificarSequencia('md_pen_rel_doc_map_enviado')) { $objInfraSequencia->criarSequencia('md_pen_rel_doc_map_enviado', '1', '1', '9999999999'); } - - if(!$objInfraSequencia->verificarSequencia('md_pen_rel_doc_map_recebido')){ + + if (!$objInfraSequencia->verificarSequencia('md_pen_rel_doc_map_recebido')) { $objInfraSequencia->criarSequencia('md_pen_rel_doc_map_recebido', '1', '1', '9999999999'); } - + $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_rel_doc_map_enviado', 'cols' => array( - 'id_mapeamento'=> array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), - 'codigo_especie'=> array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), + 'id_mapeamento' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), + 'codigo_especie' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), 'id_serie' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), 'sin_padrao' => array($objMetaBD->tipoTextoFixo(1), 'S') ), @@ -732,8 +749,8 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_rel_doc_map_recebido', 'cols' => array( - 'id_mapeamento'=> array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), - 'codigo_especie'=> array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), + 'id_mapeamento' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), + 'codigo_especie' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), 'id_serie' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), 'sin_padrao' => array($objMetaBD->tipoTextoFixo(1), 'S') ), @@ -743,104 +760,92 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { 'serie' => array('id_serie', 'id_serie'), 'md_pen_especie_documental' => array('id_especie', 'codigo_especie'), ) - )); - + )); + $objBD = new GenericoBD($objInfraBanco); - - if($objMetaBD->isTabelaExiste('md_pen_rel_tipo_documento_mapeamento_recebido')) { - + + if ($objMetaBD->isTabelaExiste('md_pen_rel_tipo_documento_mapeamento_recebido')) { + $objDTO = new PenRelTipoDocMapRecebidoDTO(); - $fnCadastrar = function($numCodigoEspecie, $numIdSerie) use($objDTO, $objBD){ - + $fnCadastrar = function($numCodigoEspecie, $numIdSerie) use($objDTO, $objBD) { + $objDTO->unSetTodos(); $objDTO->setNumCodigoEspecie($numCodigoEspecie); $objDTO->setNumIdSerie($numIdSerie); - if($objBD->contar($objDTO) == 0){ - + if ($objBD->contar($objDTO) == 0) { + $objDTO->setStrPadrao('S'); - $objBD->cadastrar($objDTO); - } + $objBD->cadastrar($objDTO); + } }; - + $arrDados = $objInfraBanco->consultarSql('SELECT DISTINCT codigo_especie, id_serie FROM md_pen_rel_tipo_documento_mapeamento_recebido'); - if(!empty($arrDados)) { - foreach($arrDados as $arrDocMapRecebido) { + if (!empty($arrDados)) { + foreach ($arrDados as $arrDocMapRecebido) { $fnCadastrar($arrDocMapRecebido['codigo_especie'], $arrDocMapRecebido['id_serie']); } } - $objMetaBD->removerTabela('md_pen_rel_tipo_documento_mapeamento_recebido'); + $objMetaBD->removerTabela('md_pen_rel_tipo_documento_mapeamento_recebido'); } - - - if($objMetaBD->isTabelaExiste('md_pen_rel_serie_especie')) { - + + + if ($objMetaBD->isTabelaExiste('md_pen_rel_serie_especie')) { + $objDTO = new PenRelTipoDocMapEnviadoDTO(); - $fnCadastrar = function($numCodigoEspecie, $numIdSerie) use($objDTO, $objBD){ - + $fnCadastrar = function($numCodigoEspecie, $numIdSerie) use($objDTO, $objBD) { + $objDTO->unSetTodos(); $objDTO->setNumCodigoEspecie($numCodigoEspecie); $objDTO->setNumIdSerie($numIdSerie); - if($objBD->contar($objDTO) == 0){ - + if ($objBD->contar($objDTO) == 0) { + $objDTO->setStrPadrao('S'); - $objBD->cadastrar($objDTO); - } + $objBD->cadastrar($objDTO); + } }; - + $arrDados = $objInfraBanco->consultarSql('SELECT DISTINCT codigo_especie, id_serie FROM md_pen_rel_serie_especie'); - if(!empty($arrDados)) { - foreach($arrDados as $arrDocMapEnviado) { + if (!empty($arrDados)) { + foreach ($arrDados as $arrDocMapEnviado) { $fnCadastrar($arrDocMapEnviado['codigo_especie'], $arrDocMapEnviado['id_serie']); } } - $objMetaBD->removerTabela('md_pen_rel_serie_especie'); + $objMetaBD->removerTabela('md_pen_rel_serie_especie'); } - } - protected function instalarV004R003S003IW002(){ + /* ---------- antigo método (instalarV004R003S003IW002) ---------- */ $strTipo = $this->inicializarObjMetaBanco()->tipoTextoGrande(); $this->inicializarObjMetaBanco() - ->alterarColuna('md_pen_recibo_tramite', 'cadeia_certificado', $strTipo) - ->alterarColuna('md_pen_recibo_tramite_enviado', 'cadeia_certificado', $strTipo); - } - - /** - * Criar script de BD para voltar o processo ao normal, como um processo de contingência - * - * @version 4 - * @release 3 - * @sprint 5 - * @refs 4047 - * @return null - */ - protected function instalarV005R003S005IW018(){ + ->alterarColuna('md_pen_recibo_tramite', 'cadeia_certificado', $strTipo) + ->alterarColuna('md_pen_recibo_tramite_enviado', 'cadeia_certificado', $strTipo); + /* ---------- antigo método (instalarV005R003S005IW018) ---------- */ $objBD = new GenericoBD($this->inicializarObjInfraIBanco()); $objDTO = new TarefaDTO(); - $fnCadastrar = function($strNome = '', $strHistoricoCompleto = 'N', $strHistoricoCompleto = 'N', $strFecharAndamentosAbertos = 'N', $strLancarAndamentoFechado = 'N', $strPermiteProcessoFechado = 'N', $strIdTarefaModulo = '') use($objDTO, $objBD){ - + $fnCadastrar = function($strNome = '', $strHistoricoCompleto = 'N', $strHistoricoCompleto = 'N', $strFecharAndamentosAbertos = 'N', $strLancarAndamentoFechado = 'N', $strPermiteProcessoFechado = 'N', $strIdTarefaModulo = '') use($objDTO, $objBD) { + $objDTO->unSetTodos(); $objDTO->setStrIdTarefaModulo($strIdTarefaModulo); - if($objBD->contar($objDTO) == 0){ - + if ($objBD->contar($objDTO) == 0) { + $objUltimaTarefaDTO = new TarefaDTO(); $objUltimaTarefaDTO->retNumIdTarefa(); $objUltimaTarefaDTO->setNumMaxRegistrosRetorno(1); $objUltimaTarefaDTO->setOrd('IdTarefa', InfraDTO::$TIPO_ORDENACAO_DESC); $objUltimaTarefaDTO = $objBD->consultar($objUltimaTarefaDTO); - + $objDTO->setNumIdTarefa($objUltimaTarefaDTO->getNumIdTarefa() + 1); $objDTO->setStrNome($strNome); $objDTO->setStrSinHistoricoResumido($strHistoricoCompleto); @@ -849,115 +854,196 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $objDTO->setStrSinLancarAndamentoFechado($strLancarAndamentoFechado); $objDTO->setStrSinPermiteProcessoFechado($strPermiteProcessoFechado); $objDTO->setStrIdTarefaModulo($strIdTarefaModulo); - $objBD->cadastrar($objDTO); - } + $objBD->cadastrar($objDTO); + } }; - + $fnCadastrar('O trâmite externo do processo foi abortado manualmente devido a falha no trâmite', 'S', 'S', 'N', 'N', 'S', 'PEN_EXPEDICAO_PROCESSO_ABORTADA'); - } - - /** - * Criar script de BD para voltar o processo ao normal, como um processo de contingência - * - * @version 4 - * @release 3 - * @sprint 5 - * @refs 4047 - * @return null - */ - protected function instalarV005R003S005IW023(){ + /* ---------- antigo método (instalarV005R003S005IW023) ---------- */ $objBD = new GenericoBD($this->inicializarObjInfraIBanco()); - + $objDTO = new TarefaDTO(); $objDTO->retNumIdTarefa(); $objDTO->retStrNome(); - $fnAtualizar = function($strIdTarefaModulo, $strNome) use($objDTO, $objBD){ - + $fnAtualizar = function($strIdTarefaModulo, $strNome) use($objDTO, $objBD) { + $objDTO->unSetTodos(); $objDTO->setStrIdTarefaModulo($strIdTarefaModulo); $objTarefaDTO = $objBD->consultar($objDTO); - - if(!empty($objTarefaDTO)) { - + + if (!empty($objTarefaDTO)) { + $objTarefaDTO->setStrNome($strNome); - - $objBD->alterar($objTarefaDTO); - } + + $objBD->alterar($objTarefaDTO); + } }; // Tramitação externa do processo @processo@ concluída com sucesso. Recebido na @UnidadeDestino@ - @hierarquia_superior@ -@repositório_de_estruturas@ $fnAtualizar('PEN_PROCESSO_EXPEDIDO', 'Processo em tramitação externa para @UNIDADE_DESTINO@ - @UNIDADE_DESTINO_HIRARQUIA@ - @REPOSITORIO_DESTINO@'); $fnAtualizar('PEN_PROCESSO_RECEBIDO', 'Processo recebido da unidade externa @ENTIDADE_ORIGEM@ - @ENTIDADE_ORIGEM_HIRARQUIA@ - @REPOSITORIO_ORIGEM@'); $fnAtualizar('PEN_OPERACAO_EXTERNA', 'Tramitação externa do processo @PROTOCOLO_FORMATADO@ concluída com sucesso. Recebido em @UNIDADE_DESTINO@ - @UNIDADE_DESTINO_HIRARQUIA@ - @REPOSITORIO_DESTINO@'); - } - - protected function instalarV006R004S004WI001() { + + /* ---------- antigo método (instalarV006R004S004WI001) ---------- */ $objInfraParametro = new InfraParametro($this->getObjInfraIBanco()); $objInfraParametro->setValor('PEN_TAMANHO_MAXIMO_DOCUMENTO_EXPEDIDO', 50); - } - - protected function instalarV007R004S005WI002() { - - $objMetaBD = $this->inicializarObjMetaBanco(); - - $objMetaBD->criarTabela(array( + /* ---------- antigo método (instalarV007R004S005WI002) ---------- */ + + $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_recibo_tramite_hash', 'cols' => array( - 'id_tramite_hash'=> array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), - 'numero_registro'=> array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), + 'id_tramite_hash' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), + 'numero_registro' => array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), 'id_tramite' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), 'tipo_recibo' => array($objMetaBD->tipoTextoFixo(1), PenMetaBD::NNULLO), 'hash_componente_digital ' => array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::NNULLO) ), - 'pk' => array('id_tramite_hash'), + 'pk' => array('id_tramite_hash'), 'fks' => array( 'md_pen_tramite' => array(array('numero_registro', 'id_tramite'), array('numero_registro', 'id_tramite')) ) - )); - - - + )); + $objMetaBD->adicionarColuna('md_pen_recibo_tramite_recebido', 'cadeia_certificado', $this->inicializarObjMetaBanco()->tipoTextoGrande(), PenMetaBD::SNULLO); - + $objInfraSequencia = new InfraSequencia($this->getObjInfraIBanco()); - - if(!$objInfraSequencia->verificarSequencia('md_pen_recibo_tramite_hash')){ - + + if (!$objInfraSequencia->verificarSequencia('md_pen_recibo_tramite_hash')) { + $objInfraSequencia->criarSequencia('md_pen_recibo_tramite_hash', '1', '1', '9999999999'); } - } - - protected function instalarV008R004S006IW003(){ - $objBD = new GenericoBD($this->inicializarObjInfraIBanco()); + /* ---------- antigo método (instalarV008R004S006WI001) ---------- */ +// $objMetaBD = $this->inicializarObjMetaBanco(); +// $objMetaBD->alterarColuna('md_pen_recibo_tramite', 'dth_recebimento', 'VARCHAR(60)', PenMetaBD::NNULLO); +// $objMetaBD->alterarColuna('md_pen_recibo_tramite_enviado', 'dth_recebimento', 'VARCHAR(60)', PenMetaBD::NNULLO); +// $objMetaBD->alterarColuna('md_pen_recibo_tramite_recebido', 'dth_recebimento', 'VARCHAR(60)', PenMetaBD::NNULLO); + + $objInfraParametroDTO = new InfraParametroDTO(); + $objInfraParametroDTO->setStrNome($this->nomeParametroModulo); + $objInfraParametroDTO->setStrValor('1.0.0'); + $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco()); + $objInfraParametroBD->cadastrar($objInfraParametroDTO); + + $this->logar(' EXECUTADA A INSTALACAO DA VERSAO 0.0.1 DO MODULO PEN NO SEI COM SUCESSO'); + } + + /* Contem atualizações da versao 1.0.1 do modulo */ + protected function instalarV101() { + /* ---------- antigo método (instalarV008R004S006IW003) ---------- */ + $objBD = new GenericoBD($this->inicializarObjInfraIBanco()); + $objTarefaDTO = new TarefaDTO(); $objTarefaDTO->setStrIdTarefaModulo('PEN_PROCESSO_RECEBIDO'); $objTarefaDTO->retNumIdTarefa(); - + $objTarefaDTO = $objBD->consultar($objTarefaDTO); - + $objTarefaDTO->setStrSinLancarAndamentoFechado('N'); $objTarefaDTO->setStrSinPermiteProcessoFechado('S'); + + $objBD->alterar($objTarefaDTO); - $objBD->alterar($objTarefaDTO); + /* ---------- antigo método (instalarV006R004S001US039) ---------- */ + $objMetaBD = $this->inicializarObjMetaBanco(); + $objInfraBanco = $this->inicializarObjInfraIBanco(); - } - - public function instalarV100R004S006IW004(){ - //Atualiza o parâmetro - } - - - /* protected function instalarV008R004S006WI001(){ + $objMetaBD->criarTabela(array( + 'tabela' => 'md_pen_hipotese_legal', + 'cols' => array( + 'id_hipotese_legal'=> array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), + 'nome' => array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::NNULLO), + 'sin_ativo' => array($objMetaBD->tipoTextoFixo(1), 'S'), + ), + 'pk' => array('id_hipotese_legal') + )); + + $objMetaBD->criarTabela(array( + 'tabela' => 'md_pen_rel_hipotese_legal', + 'cols' => array( + 'id_mapeamento' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), + 'id_hipotese_legal'=> array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), + 'id_hipotese_legal_pen'=> array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO), + 'tipo' => array($objMetaBD->tipoTextoFixo(1), 'E'), + 'sin_ativo' => array($objMetaBD->tipoTextoFixo(1), 'S'), + ), + 'pk' => array('id_mapeamento'), + 'fks' => array( + 'hipotese_legal' => array('id_hipotese_legal', 'id_hipotese_legal'), + 'md_pen_hipotese_legal' => array('id_hipotese_legal', 'id_hipotese_legal_pen') + ) + )); + + $objInfraSequencia = new InfraSequencia($objInfraBanco); + + if(!$objInfraSequencia->verificarSequencia('md_pen_hipotese_legal')){ + $objInfraSequencia->criarSequencia('md_pen_hipotese_legal', '1', '1', '9999999999'); + } + + if(!$objInfraSequencia->verificarSequencia('md_pen_rel_hipotese_legal')){ + $objInfraSequencia->criarSequencia('md_pen_rel_hipotese_legal', '1', '1', '9999999999'); + } + + $objHipoteseLegalDTO = new HipoteseLegalDTO(); + $objHipoteseLegalDTO->setDistinct(true); + $objHipoteseLegalDTO->setStrStaNivelAcesso(1); + $objHipoteseLegalDTO->setOrdStrNome(InfraDTO::$TIPO_ORDENACAO_ASC); + $objHipoteseLegalDTO->retNumIdHipoteseLegal(); + $objHipoteseLegalDTO->retStrNome(); + + $objHipoteseLegalBD = new HipoteseLegalBD($this->inicializarObjInfraIBanco()); + $arrMapIdHipoteseLegal = InfraArray::converterArrInfraDTO($objHipoteseLegalBD->listar($objHipoteseLegalDTO), 'Nome', 'IdHipoteseLegal'); + + if(!empty($arrMapIdHipoteseLegal)) { + + $objPenHipoteseLegalDTO = new PenHipoteseLegalDTO(); + $objPenHipoteseLegalBD = new PenHipoteseLegalBD($this->inicializarObjInfraIBanco()); + + $fnCadastrar = function($numIdHipoteseLegal, $strNome = '') use($objPenHipoteseLegalDTO, $objPenHipoteseLegalBD){ + + $objPenHipoteseLegalDTO->unSetTodos(); + $objPenHipoteseLegalDTO->setNumIdHipoteseLegal($numIdHipoteseLegal); + + if($objPenHipoteseLegalBD->contar($objPenHipoteseLegalDTO) == 0){ + + $objPenHipoteseLegalDTO->setStrAtivo('S'); + $objPenHipoteseLegalDTO->setStrNome($strNome); + $objPenHipoteseLegalBD->cadastrar($objPenHipoteseLegalDTO); + } + }; + + foreach($arrMapIdHipoteseLegal as $numIdHipoteseLegal => $strNome) { + + $fnCadastrar($numIdHipoteseLegal, $strNome); + } + } + $objMetaBD = $this->inicializarObjMetaBanco(); + + $objMetaBD->criarTabela(array( + 'tabela' => 'md_pen_parametro', + 'cols' => array( + 'nome'=> array($objMetaBD->tipoTextoVariavel(100), PenMetaBD::NNULLO), + 'valor' => array($objMetaBD->tipoTextoGrande(), PenMetaBD::NNULLO) + ), + 'pk' => array('nome') + )); + - $objMetaBD->alterarColuna('md_pen_recibo_tramite', 'dth_recebimento', 'VARCHAR(60)', PenMetaBD::NNULLO); - $objMetaBD->alterarColuna('md_pen_recibo_tramite_enviado', 'dth_recebimento', 'VARCHAR(60)', PenMetaBD::NNULLO); - $objMetaBD->alterarColuna('md_pen_recibo_tramite_recebido', 'dth_recebimento', 'VARCHAR(60)', PenMetaBD::NNULLO); - } */ + /* altera o parâmetro da versão de banco */ + $objInfraParametroDTO = new InfraParametroDTO(); + $objInfraParametroDTO->setStrNome($this->nomeParametroModulo); + $objInfraParametroDTO->setStrValor('1.0.0'); + $objInfraParametroDTO->retTodos(); + + $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco()); + $objInfraParametroDTO = $objInfraParametroBD->consultar($objInfraParametroDTO); + $objInfraParametroDTO->setStrValor('1.0.1'); + $objInfraParametroBD->alterar($objInfraParametroDTO); + } -} \ No newline at end of file +} diff --git a/rn/PenHipoteseLegalRN.php b/rn/PenHipoteseLegalRN.php new file mode 100644 index 0000000..1e52a92 --- /dev/null +++ b/rn/PenHipoteseLegalRN.php @@ -0,0 +1,31 @@ +validarAuditarPermissao('email_sistema_excluir', __METHOD__, $arrObjEmailSistemaDTO); + + $objBD = new GenericoBD($this->inicializarObjInfraIBanco()); + + return $objBD->listar($objDTO); + } + catch (Exception $e) { + throw new InfraException('Erro excluindo E-mail do Sistema.', $e); + } + } +} diff --git a/rn/PenParametroRN.php b/rn/PenParametroRN.php new file mode 100644 index 0000000..19370d7 --- /dev/null +++ b/rn/PenParametroRN.php @@ -0,0 +1,144 @@ +inicializarObjInfraIBanco()); + + return $objBD->contar($objDTO); + } + catch (Exception $e) { + throw new InfraException('Erro ao contar parâmetro.', $e); + } + + } + + protected function consultarControlado(PenParametroDTO $objDTO){ + + try { + + SessaoSEI::getInstance()->validarAuditarPermissao('pen_map_hipotese_legal_padrao_cadastrar', __METHOD__, $objDTO); + + $objBD = new PenParametroBD($this->inicializarObjInfraIBanco()); + + return $objBD->consultar($objDTO); + } + catch (Exception $e) { + throw new InfraException('Erro ao listar parâmetro.', $e); + } + } + + protected function listarControlado(PenParametroDTO $objDTO){ + + try { + + SessaoSEI::getInstance()->validarAuditarPermissao('pen_map_hipotese_legal_padrao_cadastrar', __METHOD__, $objDTO); + + $objBD = new PenParametroBD($this->inicializarObjInfraIBanco()); + + return $objBD->listar($objDTO); + } + catch (Exception $e) { + throw new InfraException('Erro ao listar parâmetro.', $e); + } + } + + protected function cadastrarControlado(PenParametroDTO $objDTO){ + + try { + + SessaoSEI::getInstance()->validarAuditarPermissao('pen_map_hipotese_legal_padrao_cadastrar', __METHOD__, $objDTO); + + $objBD = new PenParametroBD($this->inicializarObjInfraIBanco()); + + return $objBD->cadastrar($objDTO); + } + catch (Exception $e) { + throw new InfraException('Erro ao cadastrar parâmetro.', $e); + } + } + + protected function alterarControlado(PenParametroDTO $objDTO){ + + try { + + SessaoSEI::getInstance()->validarAuditarPermissao('pen_map_hipotese_legal_padrao_cadastrar', __METHOD__, $objDTO); + + $objBD = new PenParametroBD($this->inicializarObjInfraIBanco()); + + return $objBD->alterar($objDTO); + } + catch (Exception $e) { + throw new InfraException('Erro ao alterar parâmetro.', $e); + } + } + + protected function excluirControlado(PenParametroDTO $objDTO){ + + try { + + SessaoSEI::getInstance()->validarAuditarPermissao('pen_map_hipotese_legal_padrao_cadastrar', __METHOD__, $objDTO); + + $objBD = new PenParametroBD($this->inicializarObjInfraIBanco()); + + return $objBD->excluir($objDTO); + } + catch (Exception $e) { + throw new InfraException('Erro ao excluir parâmetro.', $e); + } + } + + protected function desativarControlado(PenParametroDTO $objDTO){ + + try { + + + } + catch (Exception $e) { + throw new InfraException('Erro ao desativar parâmetro.', $e); + } + } + + protected function reativarControlado(PenParametroDTO $objDTO){ + + try { + + + } + catch (Exception $e) { + throw new InfraException('Erro ao reativar parâmetro.', $e); + } + } + + public function setValor($strNome, $strValor){ + + try { + + $objBD = new PenParametroBD($this->inicializarObjInfraIBanco()); + + return $objBD->setValor($strNome, $strValor); + } + catch (Exception $e) { + throw new InfraException('Erro ao reativar parâmetro.', $e); + } + } + + public function isSetValor($strNome){ + + return $objBD->isSetValor($strNome); + } +} diff --git a/rn/PenRelHipoteseLegalEnvioRN.php b/rn/PenRelHipoteseLegalEnvioRN.php new file mode 100644 index 0000000..bea3b6c --- /dev/null +++ b/rn/PenRelHipoteseLegalEnvioRN.php @@ -0,0 +1,28 @@ +validarAuditarPermissao('pen_map_hipotese_legal_enviado_listar', __METHOD__, $objDTO); + return parent::listarConectado($objDTO); + } + public function alterar(PenRelHipoteseLegalDTO $objDTO){ + SessaoSEI::getInstance()->validarAuditarPermissao('pen_map_hipotese_legal_enviado_alterar', __METHOD__, $objDTO); + return parent::alterarConectado($objDTO); + } + public function cadastrar(PenRelHipoteseLegalDTO $objDTO){ + SessaoSEI::getInstance()->validarAuditarPermissao('pen_map_hipotese_legal_enviado_cadastrar', __METHOD__, $objDTO); + return parent::cadastrarConectado($objDTO); + } + public function excluir(PenRelHipoteseLegalDTO $objDTO){ + SessaoSEI::getInstance()->validarAuditarPermissao('pen_map_hipotese_legal_enviado_excluir', __METHOD__, $objDTO); + return parent::excluirConectado($objDTO); + } +} diff --git a/rn/PenRelHipoteseLegalRN.php b/rn/PenRelHipoteseLegalRN.php new file mode 100644 index 0000000..c40e76b --- /dev/null +++ b/rn/PenRelHipoteseLegalRN.php @@ -0,0 +1,109 @@ +inicializarObjInfraIBanco()); + + return $objBD->listar($objDTO); + } + catch (Exception $e) { + throw new InfraException('Erro excluindo E-mail do Sistema.', $e); + } + } + + protected function alterarConectado(PenRelHipoteseLegalDTO $objDTO){ + + try { + + $objBD = new GenericoBD($this->inicializarObjInfraIBanco()); + + return $objBD->alterar($objDTO); + } + catch (Exception $e) { + throw new InfraException('Erro excluindo E-mail do Sistema.', $e); + } + } + + protected function cadastrarConectado(PenRelHipoteseLegalDTO $objDTO){ + + try { + + $objBD = new GenericoBD($this->inicializarObjInfraIBanco()); + + return $objBD->cadastrar($objDTO); + } + catch (Exception $e) { + throw new InfraException('Erro excluindo E-mail do Sistema.', $e); + } + } + + protected function excluirConectado(PenRelHipoteseLegalDTO $objDTO){ + + try { + + $objBD = new GenericoBD($this->inicializarObjInfraIBanco()); + + return $objBD->excluir($objDTO); + } + catch (Exception $e) { + throw new InfraException('Erro excluindo E-mail do Sistema.', $e); + } + } + + public function getIdBarramentoEmUso(PenRelHipoteseLegalDTO $objFiltroDTO, $strTipo = 'E'){ + + $objDTO = new PenRelHipoteseLegalDTO(); + $objDTO->setDistinct(true); + $objDTO->setStrTipo($strTipo); + $objDTO->retNumIdBarramento(); + + if($objFiltroDTO->isSetNumIdBarramento()) { + $objDTO->setNumIdBarramento($objFiltroDTO->getNumIdBarramento(), InfraDTO::$OPER_DIFERENTE); + } + + $arrObjDTO = $this->listar($objDTO); + + $arrIdBarramento = array(); + + if(!empty($arrObjDTO)) { + $arrIdBarramento = InfraArray::converterArrInfraDTO($arrObjDTO, 'IdBarramento'); + } + return $arrIdBarramento; + } + + public function getIdHipoteseLegalEmUso(PenRelHipoteseLegalDTO $objFiltroDTO, $strTipo = 'E'){ + + $objDTO = new PenRelHipoteseLegalDTO(); + $objDTO->setDistinct(true); + $objDTO->setStrTipo($strTipo); + $objDTO->retNumIdHipoteseLegal(); + + if($objFiltroDTO->isSetNumIdHipoteseLegal()) { + $objDTO->setNumIdHipoteseLegal($objFiltroDTO->getNumIdHipoteseLegal(), InfraDTO::$OPER_DIFERENTE); + } + + $arrObjDTO = $this->listar($objDTO); + + $arrIdBarramento = array(); + + if(!empty($arrObjDTO)) { + $arrIdBarramento = InfraArray::converterArrInfraDTO($arrObjDTO, 'IdHipoteseLegal'); + } + return $arrIdBarramento; + } +} diff --git a/rn/PenRelHipoteseLegalRecebidoRN.php b/rn/PenRelHipoteseLegalRecebidoRN.php new file mode 100644 index 0000000..6869e72 --- /dev/null +++ b/rn/PenRelHipoteseLegalRecebidoRN.php @@ -0,0 +1,28 @@ +validarAuditarPermissao('pen_map_hipotese_legal_recebido_listar', __METHOD__, $objDTO); + return parent::listarConectado($objDTO); + } + public function alterar(PenRelHipoteseLegalDTO $objDTO){ + SessaoSEI::getInstance()->validarAuditarPermissao('pen_map_hipotese_legal_recebido_alterar', __METHOD__, $objDTO); + return parent::alterarConectado($objDTO); + } + public function cadastrar(PenRelHipoteseLegalDTO $objDTO){ + SessaoSEI::getInstance()->validarAuditarPermissao('pen_map_hipotese_legal_recebido_cadastrar', __METHOD__, $objDTO); + return parent::cadastrarConectado($objDTO); + } + public function excluir(PenRelHipoteseLegalDTO $objDTO){ + SessaoSEI::getInstance()->validarAuditarPermissao('pen_map_hipotese_legal_recebido_excluir', __METHOD__, $objDTO); + return parent::excluirConectado($objDTO); + } +} diff --git a/sei_atualizar_versao_modulo_pen.php b/sei_atualizar_versao_modulo_pen.php index 5ea7fe7..7575a44 100644 --- a/sei_atualizar_versao_modulo_pen.php +++ b/sei_atualizar_versao_modulo_pen.php @@ -15,10 +15,8 @@ try { require_once dirname(__FILE__).'/../web/SEI.php'; - $objPenConsoleRN = new PenConsoleRN(); - $arrArgs = $objPenConsoleRN->getTokens(); - $objAtualizarRN = new PenAtualizarSeiRN($arrArgs); + $objAtualizarRN = new PenAtualizarSeiRN(); $objAtualizarRN->atualizarVersao(); exit(0); diff --git a/sip_atualizar_versao_modulo_pen.php b/sip_atualizar_versao_modulo_pen.php index b3576fb..4bd4d4e 100644 --- a/sip_atualizar_versao_modulo_pen.php +++ b/sip_atualizar_versao_modulo_pen.php @@ -424,15 +424,7 @@ class PenMetaBD extends InfraMetaBD { abstract class PenAtualizadorRN extends InfraRN { - const VER_NONE = '0.0.0'; // Modulo não instalado - const VER_001 = '0.0.1'; - const VER_002 = '0.0.2'; - const VER_003 = '0.0.3'; - const VER_004 = '0.0.4'; - const VER_005 = '0.0.5'; - const VER_100 = '1.0.0'; - - protected $sei_versao; + protected $sip_versao; /** * @var string Versão mínima requirida pelo sistema para instalação do PEN @@ -458,11 +450,18 @@ abstract class PenAtualizadorRN extends InfraRN { * @var integer Tempo de execução do script */ protected $numSeg = 0; + + protected $objInfraBanco ; - /** - * @var array Argumentos passados por linha de comando ao script - */ - protected $arrArgs = array(); + protected function inicializarObjInfraIBanco() { + + if (empty($this->objInfraBanco)) { + $this->objInfraBanco = BancoSip::getInstance(); + $this->objInfraBanco->abrirConexao(); + } + + return $this->objInfraBanco; + } /** * Inicia a conexão com o banco de dados @@ -513,286 +512,126 @@ abstract class PenAtualizadorRN extends InfraRN { } /** - * Método criado em função de um bug com a InfraRN na linha 69, onde usamos - * uma instância do banco do SIP e a versão esta no banco SEI, essa verificação - * e lançamento de uma excessão pelos bancos terem nome diferentes tava o - * atualizado - * - * @todo Migrar para classe PenMetaBD - * @return null - */ - protected function setVersao($strRegexVersao, $objInfraBanco = null) { - - InfraDebug::getInstance()->gravarInfra(sprintf('[%s->%s]', get_class($this), __FUNCTION__)); - - - if ($this->getVersao($objInfraBanco)) { - - $sql = sprintf("UPDATE infra_parametro SET valor = '%s' WHERE nome = '%s'", $strRegexVersao, $this->sei_versao); - } else { - - $sql = sprintf("INSERT INTO infra_parametro(nome, valor) VALUES('%s', '%s')", $this->sei_versao, $strRegexVersao); - } - - if (empty($objInfraBanco)) { - - $objInfraBanco = $this->inicializarObjInfraIBanco(); - } - - $objInfraBanco->executarSql($sql); - - return $strRegexVersao; - } - - /** - * Retorna a versão atual do modulo, se já foi instalado - * - * @todo Migrar para classe PenMetaBD - * @param InfraBanco $objInfraBanco Conexão com o banco SEI ou SIP - * @return string - */ - protected function getVersao($objInfraBanco = null) { - - InfraDebug::getInstance()->gravarInfra(sprintf('[%s->%s]', get_class($this), __FUNCTION__)); - - $sql = sprintf("SELECT valor FROM infra_parametro WHERE nome = '%s'", $this->sei_versao); - - if (empty($objInfraBanco)) { - - $objInfraBanco = $this->inicializarObjInfraIBanco(); - } - - $arrResultado = $objInfraBanco->consultarSql($sql); - - if (empty($arrResultado)) { - return null; - } - - $arrLinha = current($arrResultado); - - return $arrLinha['valor']; - } - - /** - * Verifica se o número da versão é valido - * - * @param string $strVersao Versão a ser instalada - * @return bool - */ - protected function isVersaoValida($strVersao = self::VER_NONE) { - - if (empty($strVersao)) { - return false; - } - - // Remove os caracteres não númericos - $strVersao = preg_replace('/\D+/', '', $strVersao); - - // Tem que no mínimo 3 digitos - if (strlen($strVersao) < 3) { - return false; - } - - return is_numeric($strVersao) ? true : false; - } - - /** - * Verifica se um paramêtro existe, caso sim retorna o seu valor, senão - * retorna o default especificado. + * Construtor * - * @param string $strChave Nome do paramêtro - * @param string $strParam String a ser formatada com o valor do paramêtro - * @param string $strParamDefault String que retorna caso o valor do - * paramêtro não exista - * @param bool $bolAlgumFiltroUsado Ponteiro de controle para verificar se - * pelo menos um paramêtro foi encontrado - * @return string - */ - private function getStrArg($strChave = '', $strParam = '', $strParamDefault = '', &$bolAlgumFiltroUsado) { - - if (array_key_exists($strChave, $this->arrArgs)) { - $bolAlgumFiltroUsado = true; - return sprintf($strParam, str_pad($this->arrArgs[$strChave], 3, '0', STR_PAD_LEFT)); - } - return $strParamDefault; - } - - /** - * Retorna a última versão disponivel. Verifica as constantes que iniciam - * com VER_ + * @param array $arrArgs Argumentos enviados pelo script */ - private function getUltimaVersao() { + public function __construct() { + + parent::__construct(); + ini_set('max_execution_time', '0'); + ini_set('memory_limit', '-1'); + @ini_set('zlib.output_compression', '0'); + @ini_set('implicit_flush', '1'); + ob_implicit_flush(); + + $this->inicializarObjInfraIBanco(); + $this->inicializarObjMetaBanco(); - $objReflection = new ReflectionClass(__CLASS__); - $arrVersao = array_flip(preg_grep('/^VER\_/', array_flip($objReflection->getConstants()))); - sort($arrVersao); - return array_pop($arrVersao); + $this->objDebug = InfraDebug::getInstance(); + $this->objDebug->setBolLigado(true); + $this->objDebug->setBolDebugInfra(true); + $this->objDebug->setBolEcho(true); + $this->objDebug->limpar(); } +} - /** - * Encontra os métodos com notação para instalar a versão selecionada - * - * @return string Número da versão - */ - protected function executarControlado() { - - $this->inicializarObjMetaBanco() - ->isDriverSuportado() - ->isDriverPermissao(); - //->isVersaoSuportada(SEI_VERSAO, $this->versaoMinRequirida); - - $arrMetodo = array(); - - // Retorna a última versão disponibilizada pelo script. Sempre tenta atualizar - // para versão mais antiga - $strVersaoInstalar = $this->getUltimaVersao(); - - //throw new InfraException($strVersaoInstalar); - $objInfraBanco = $this->inicializarObjInfraIBanco(); - // Versão atual - $strPenVersao = $this->getVersao($objInfraBanco); - if (!$this->isVersaoValida($strPenVersao)) { - // Não instalado - $strPenVersao = $this->setVersao(self::VER_NONE, $objInfraBanco); - } - - $numPenVersao = str_replace('.', '', $strPenVersao); - - $numVersaoInstalar = intval(preg_replace('/\D+/', '', $strVersaoInstalar)); - //$numVersaoInstalar = intval(substr($strVersaoInstalar, -1)); - - $bolAlgumFiltroUsado = false; - $strRegexRelease = $this->getStrArg('release', '(R%s)', '(R[0-9]{1,3})?', $bolAlgumFiltroUsado); - $strRegexSprint = $this->getStrArg('sprint', '(S%s)', '(S[0-9]{1,3})?', $bolAlgumFiltroUsado); - $strRegexItem = $this->getStrArg('user-story', '(US%s)', '(US|IW[0-9]{1,3})?', $bolAlgumFiltroUsado); - $strRegexItem = $this->getStrArg('item-worker', '(IW%s)', $strRegexItem, $bolAlgumFiltroUsado); +class PenAtualizarSipRN extends PenAtualizadorRN { - // Instalar todas atualizações - if ($bolAlgumFiltroUsado === false) { - - /*list($v1, $r1, $s1) = explode('.', '1.0.1'); - list($v2, $r2, $s2) = explode('.', $strVersaoInstalar); + protected $versaoMinRequirida = '1.30.0'; + protected $sip_versao = 'PEN_VERSAO_MODULO_SIP'; + private $arrRecurso = array(); + private $arrMenu = array(); + + public function atualizarVersao() { + try { + $this->inicializar('INICIANDO ATUALIZACAO DO MODULO PEN NO SIP VERSAO 1.0.0'); - $s1 = intval($s1) + 1; - $r1 = intval($r1) + 1; */ + //testando versao do framework +// $numVersaoInfraRequerida = '1.415'; +// if (VERSAO_INFRA >= $numVersaoInfraRequerida) { +// $this->finalizar('VERSAO DO FRAMEWORK PHP INCOMPATIVEL (VERSAO ATUAL ' . VERSAO_INFRA . ', VERSAO REQUERIDA ' . $numVersaoInfraRequerida . ')', true); +// } - // 0.0.5 - 1.5.0 - // 1.1.1 - 1.5.0 + //testando se esta usando BDs suportados + if (!(BancoSip::getInstance() instanceof InfraMySql) && + !(BancoSip::getInstance() instanceof InfraSqlServer) && + !(BancoSip::getInstance() instanceof InfraOracle)) { - // (00[6-9]|1[5-9][0-9]) - // (11[1-9]|1[5-9][0-9]) - // $strRegexVersao = sprintf('(%s[%s-9][%s-9]|%s[%s-9][%s-9])', $v1, $r1, $s1, $v2, $r2, $s2); + $this->finalizar('BANCO DE DADOS NAO SUPORTADO: ' . get_parent_class(BancoSip::getInstance()), true); + } - $strRegexVersao = sprintf('[%d-%d]', ($numPenVersao + 1), $numVersaoInstalar); - } - // Instalar somente a solicitada - else { - // Caso algum paramêtro seja adicionado não deve passar para próxima versão - $strVersaoInstalar = $strPenVersao; - $strRegexVersao = intval(substr($strPenVersao, -1) + 1); - } + + //testando permissoes de criações de tabelas + $objInfraMetaBD = new InfraMetaBD($this->objInfraBanco); + + if (count($objInfraMetaBD->obterTabelas('pen_sip_teste')) == 0) { + BancoSip::getInstance()->executarSql('CREATE TABLE pen_sip_teste (id ' . $objInfraMetaBD->tipoNumero() . ' null)'); + } + BancoSip::getInstance()->executarSql('DROP TABLE pen_sip_teste'); - // instalarV[0-9]{1,2}[0-9](R[0-9]{1,3})?(S[0-9]{1,3})?(US|IW[0-9]{1,4})? - $strRegex = sprintf('/^instalarV%s%s%s%s/i', $strRegexVersao, $strRegexRelease, $strRegexSprint, $strRegexItem - ); - - - // Tenta encontrar métodos que iniciem com instalar - $arrMetodo = (array) preg_grep($strRegex, get_class_methods($this)); + $objInfraParametro = new InfraParametro($this->objInfraBanco); - $proximaVersao = $numPenVersao + 1; - - foreach($arrMetodo as $key => $metodo){ - $vers = str_replace('instalarV', '', $metodo); - $vers = (int) substr($vers, 0, 3); - - if($proximaVersao > $vers){ - unset($arrMetodo[$key]); + //$strVersaoAtual = $objInfraParametro->getValor('SEI_VERSAO', false); + $strVersaoModuloPen = $objInfraParametro->getValor($this->sip_versao, false); + + //VERIFICANDO QUAL VERSAO DEVE SER INSTALADA NESTA EXECUCAO + if (InfraString::isBolVazia($strVersaoModuloPen)) { + //nao tem nenhuma versao ainda, instalar todas + $this->instalarV100(); + $this->instalarV101(); + } else if ($strVersaoModuloPen == '1.0.0') { + $this->instalarV101(); } - } - - if (empty($arrMetodo)) { - throw new InfraException(sprintf('NENHUMA ATUALIZACAO FOI ENCONTRADA SUPERIOR A VERSAO %s DO MODULO PEN', $strPenVersao)); - } else { - foreach ($arrMetodo as $strMetodo) { + InfraDebug::getInstance()->setBolDebugInfra(true); + } catch (Exception $e) { - $this->{$strMetodo}(); - } + InfraDebug::getInstance()->setBolLigado(false); + InfraDebug::getInstance()->setBolDebugInfra(false); + InfraDebug::getInstance()->setBolEcho(false); + throw new InfraException('Erro atualizando VERSAO.', $e); } - $this->setVersao($strVersaoInstalar, $objInfraBanco); - - return $strVersaoInstalar; } - + /** - * Método que inicia o processo + * Inicia o script criando um contator interno do tempo de execução + * + * @return null */ - public function atualizarVersao() { - - $this->inicializar('INICIANDO ATUALIZACAO DO MODULO PEN NO SEI VERSAO ' . SIP_VERSAO); - - try { - - $strRegexVersao = $this->executar(); - $this->logar('ATUALIZADA VERSAO: ' . $strRegexVersao); - } catch (InfraException $e) { - - $this->logar('Erro: ' . $e->getStrDescricao()); - } catch (\Exception $e) { + protected function inicializar($strTitulo) { - $this->logar('Erro: ' . $e->getMessage()); - } + $this->numSeg = InfraUtil::verificarTempoProcessamento(); - $this->finalizar(); + $this->logar($strTitulo); } - + /** - * Construtor + * Finaliza o script informando o tempo de execução. * - * @param array $arrArgs Argumentos enviados pelo script + * @return null */ - public function __construct($arrArgs = array()) { - - ini_set('max_execution_time', '0'); - ini_set('memory_limit', '-1'); - @ini_set('zlib.output_compression', '0'); - @ini_set('implicit_flush', '1'); - ob_implicit_flush(); + protected function finalizar() { - $this->arrArgs = $arrArgs; + $this->logar('TEMPO TOTAL DE EXECUCAO: ' . InfraUtil::verificarTempoProcessamento($this->numSeg) . ' s'); - $this->inicializarObjMetaBanco(); + $this->objDebug->setBolLigado(false); + $this->objDebug->setBolDebugInfra(false); + $this->objDebug->setBolEcho(false); - $this->objDebug = InfraDebug::getInstance(); - $this->objDebug->setBolLigado(true); - $this->objDebug->setBolDebugInfra(true); - $this->objDebug->setBolEcho(true); - $this->objDebug->limpar(); + print PHP_EOL; + die(); } - -} - -class PenAtualizarSipRN extends PenAtualizadorRN { - - protected $versaoMinRequirida = '1.30.0'; - protected $sei_versao = 'PEN_VERSAO_MODULO_SIP'; - private $arrRecurso = array(); - private $arrMenu = array(); - + /** - * Retorna/Cria a conexão com o banco de dados + * Adiciona uma mensagem ao output para o usuário * - * @return InfraIBanco + * @return null */ - protected function inicializarObjInfraIBanco() { - if (empty($this->objBanco)) { - - $this->objBanco = BancoSip::getInstance(); - } - return $this->objBanco; + protected function logar($strMsg) { + $this->objDebug->gravar($strMsg); } /** @@ -883,7 +722,7 @@ class PenAtualizarSipRN extends PenAtualizadorRN { $objDTO->setNumMaxRegistrosRetorno(1); $objDTO->retNumIdItemMenu(); - $objBD = new ItemMenuBD($this->inicializarObjInfraIBanco()); + $objBD = new ItemMenuBD($this->objInfraBanco); $objDTO = $objBD->consultar($objDTO); if (empty($objDTO)) { @@ -917,7 +756,7 @@ class PenAtualizarSipRN extends PenAtualizadorRN { if (!empty($this->arrRecurso)) { $objDTO = new RelPerfilRecursoDTO(); - $objBD = new RelPerfilRecursoBD($this->inicializarObjInfraIBanco()); + $objBD = new RelPerfilRecursoBD($this->objInfraBanco); foreach ($this->arrRecurso as $numIdRecurso) { @@ -937,7 +776,7 @@ class PenAtualizarSipRN extends PenAtualizadorRN { if (!empty($this->arrMenu)) { $objDTO = new RelPerfilItemMenuDTO(); - $objBD = new RelPerfilItemMenuBD($this->inicializarObjInfraIBanco()); + $objBD = new RelPerfilItemMenuBD($this->objInfraBanco); foreach ($this->arrMenu as $array) { @@ -959,7 +798,7 @@ class PenAtualizarSipRN extends PenAtualizadorRN { public function atribuirPerfil($numIdSistema) { $objDTO = new PerfilDTO(); - $objBD = new PerfilBD($this->inicializarObjInfraIBanco()); + $objBD = new PerfilBD($this->objInfraBanco); $objRN = $this; // Vincula a um perfil os recursos e menus adicionados nos métodos criarMenu e criarReturso @@ -986,8 +825,8 @@ class PenAtualizarSipRN extends PenAtualizadorRN { /** * Instala/Atualiza os módulo PEN para versão 1.0 */ - protected function instalarV001() { - $numIdSistema = $this->getNumIdSistema('SEI'); + protected function instalarV100() { + $numIdSistema = $this->getNumIdSistema('SEI'); $numIdMenu = $this->getNumIdMenu('Principal', $numIdSistema); //---------------------------------------------------------------------- @@ -1010,7 +849,7 @@ class PenAtualizarSipRN extends PenAtualizadorRN { $objItemMenuDTO->setNumMaxRegistrosRetorno(1); $objItemMenuDTO->retNumIdItemMenu(); - $objItemMenuBD = new ItemMenuBD($this->inicializarObjInfraIBanco()); + $objItemMenuBD = new ItemMenuBD($this->objInfraBanco); $objItemMenuDTO = $objItemMenuBD->consultar($objItemMenuDTO); if (empty($objItemMenuDTO)) { @@ -1045,16 +884,12 @@ class PenAtualizarSipRN extends PenAtualizadorRN { $this->criarMenu('Listar', 20, $numIdItemMenuPai, $numIdMenu, $numIdRecurso, $numIdSistema); //Atribui as permissões aos recursos e menus - $this->atribuirPerfil($numIdSistema); - } - - protected function instalarV003R003S003IW001() { - - $objBD = new ItemMenuBD($this->inicializarObjInfraIBanco()); + $this->atribuirPerfil($numIdSistema); + + // ---------- antigo método (instalarV003R003S003IW001) ---------- // + $objBD = new ItemMenuBD($this->objInfraBanco); - //---------------------------------------------------------------------- // Achar o root - $numIdSistema = $this->getNumIdSistema('SEI'); $numIdMenu = $this->getNumIdMenu('Principal', $numIdSistema); @@ -1110,165 +945,137 @@ class PenAtualizarSipRN extends PenAtualizadorRN { $objBD->excluir($objItemMenuDTO); } - } - } - - protected function instalarV100R001S001IW001(){ - - } - -} - -class PenConsoleRN extends InfraRN { - - protected $objRN; - protected $strAction; - protected $arrTokens = array(); - protected $objInfraBanco; - - public function __construct($objRN = null, $tokens = array()) { - - if(!is_null($objRN)) { - - parent::__construct(); - - if(!is_object($objRN)) { - throw new InfraException('Requerido objeto Infra'); - } - - if(get_parent_class($objRN) !== 'InfraRN') { - throw new InfraException('Requerido objeto Infra que seja extendido de InfraRN'); - } - - $this->objRN = $objRN; } - if(empty($tokens)) { - $tokens = $_SERVER['argv']; - } + $objInfraParametroDTO = new InfraParametroDTO(); + $objInfraParametroDTO->setStrNome($this->sip_versao); + $objInfraParametroDTO->setStrValor('1.0.0'); - $this->criarTokens($tokens); - } - - /** - * Inicializador o banco de dados - */ - protected function inicializarObjInfraIBanco() { - if(empty($this->objInfraBanco)){ - $this->objInfraBanco = BancoSEI::getInstance(); - } - return $this->objInfraBanco; + $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco()); + $objInfraParametroBD->cadastrar($objInfraParametroDTO); } /** - * Processa os parâmetros passados ao script pelo cli - * - * @param array $arguments - * @return null + * Instala/Atualiza os módulo PEN para versão 1.0.1 */ - protected function criarTokens($arguments = array()){ - - if(empty($arguments)) { - throw new InfraException('Script não pode ser executado pela web'); - } - - $strScript = array_shift($arguments); + protected function instalarV101() { + // ---------- antigo método (instalarV006R004S001US039) ---------- // + $objItemMenuBD = new ItemMenuBD($this->inicializarObjInfraIBanco()); - if(!empty($this->objRN)) { - - $strAction = array_shift($arguments); - - if(substr($strAction, 0, 2) == '--') { - throw new InfraException('O primeiro paramêtro deve ser uma action da RN'); - } - - $this->strAction = $strAction; + $numIdSistema = $this->getNumIdSistema('SEI'); + $numIdMenu = $this->getNumIdMenu('Principal', $numIdSistema); + + $objItemMenuDTO = new ItemMenuDTO(); + $objItemMenuDTO->setNumIdSistema($numIdSistema); + $objItemMenuDTO->setNumIdMenu($numIdMenu); + $objItemMenuDTO->setStrRotulo('Processo Eletrnico Nacional'); + $objItemMenuDTO->setNumMaxRegistrosRetorno(1); + $objItemMenuDTO->retNumIdItemMenu(); + + $objItemMenuDTO = $objItemMenuBD->consultar($objItemMenuDTO); + + if(empty($objItemMenuDTO)) { + throw new InfraException('Menu "Processo Eletrnico Nacional" no foi localizado'); } - - foreach($arguments as $key => $argument) { - if(substr($argument, 0, 2) === '--'){ + // Administrao > Mapeamento de Hipteses Legais de Envio + $numIdItemMenu = $this->criarMenu('Mapeamento de Hipteses Legais', 20, $objItemMenuDTO->getNumIdItemMenu(), $numIdMenu, null, $numIdSistema); - $string = preg_replace('/^--/', '', $argument); - $array = explode('=', $string); + // Administrao > Mapeamento de Hipteses Legais de Envio > Envio + $numIdItemMenu = $this->criarMenu('Envio', 10, $numIdItemMenu, $numIdMenu, null, $numIdSistema); - $key = array_shift($array); - $value = (count($array) > 0) ? array_shift($array) : true; + // Administrao > Mapeamento de Hipteses Legais de Envio > Envio > Cadastrar + $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_enviado_alterar', 'Alterar de mapeamento de Hipteses Legais de Envio', $numIdSistema); + $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_enviado_cadastrar', 'Cadastro de mapeamento de Hipteses Legais de Envio', $numIdSistema); + $this->criarMenu('Cadastrar', 10, $numIdItemMenu, $numIdMenu, $numIdRecurso, $numIdSistema); - $this->arrTokens[$key] = $value; - } - } - } - - /** - * Retorna os parâmetros - */ - public function getTokens(){ - return $this->arrTokens; - } + // Administrao > Mapeamento de Hipteses Legais de Envio > Envio > Listar + $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_enviado_excluir', 'Excluir mapeamento de Hipteses Legais de Envio', $numIdSistema); + $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_enviado_listar', 'Listagem de mapeamento de Hipteses Legais de Envio', $numIdSistema); + $this->criarMenu('Listar', 20, $numIdItemMenu, $numIdMenu, $numIdRecurso, $numIdSistema); + + //Atribui as permisses aos recursos e menus + $this->atribuirPerfil($numIdSistema); - public function run(){ - - if(empty($this->objRN)) { - throw new InfraException('Nenhuma RN foi adicionada ao console'); - } - - if(!method_exists($this->objRN, $this->strAction)) { - - throw new InfraException(sprintf('Nenhuma ação "%s" foi encontrada em %s '.PHP_EOL.$this->objRN->ajuda(), $this->strAction, get_class($this->objRN))); - } - - if(array_key_exists('ajuda', $this->arrTokens)) { - - print $this->objRN->ajuda(); - return true; + + // ---------- antigo método (instalarV006R004S001US040) ---------- // + $objBD = new ItemMenuBD($this->inicializarObjInfraIBanco()); + + //---------------------------------------------------------------------- + // Achar o root + + $numIdSistema = $this->getNumIdSistema('SEI'); + $numIdMenu = $this->getNumIdMenu('Principal', $numIdSistema); + + $objDTO = new ItemMenuDTO(); + $objDTO->setNumIdSistema($numIdSistema); + $objDTO->setNumIdMenu($numIdMenu); + $objDTO->setStrRotulo('Mapeamento de Hipteses Legais'); + $objDTO->setNumMaxRegistrosRetorno(1); + $objDTO->retNumIdItemMenu(); + + $objDTO = $objBD->consultar($objDTO); + + if(empty($objDTO)) { + throw new InfraException('Menu "Processo Eletrnico Nacional" no foi localizado'); } + + // Administrao > Mapeamento de Hipteses Legais de Envio > Envio + $numIdItemMenu = $this->criarMenu('Recebimento', 20, $objDTO->getNumIdItemMenu(), $numIdMenu, null, $numIdSistema); + + // Administrao > Mapeamento de Hipteses Legais de Envio > Envio > Cadastrar + $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_recebido_alterar', 'Alterar de mapeamento de Hipteses Legais de Recebimento', $numIdSistema); + $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_recebido_cadastrar', 'Cadastro de mapeamento de Hipteses Legais de Recebimento', $numIdSistema); + $this->criarMenu('Cadastrar', 10, $numIdItemMenu, $numIdMenu, $numIdRecurso, $numIdSistema); + + // Administrao > Mapeamento de Hipteses Legais de Envio > Envio > Listar + $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_recebido_excluir', 'Excluir mapeamento de Hipteses Legais de Recebimento', $numIdSistema); + $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_recebido_listar', 'Listagem de mapeamento de Hipteses Legais de Recebimento', $numIdSistema); + $this->criarMenu('Listar', 20, $numIdItemMenu, $numIdMenu, $numIdRecurso, $numIdSistema); + + //Atribui as permisses aos recursos e menus + $this->atribuirPerfil($numIdSistema); - return call_user_func(array($this->objRN, $this->strAction), $this->getTokens()); - } - - public static function format($strMensagem = '', $strFonte = '', $bolBold = false){ - - $strBold = ($bolBold !== false) ? '1' : '0'; - - //$strMensagem = escapeshellarg($strMensagem); - - if(!empty($strFonte)) { - - switch($strFonte){ + // ---------- antigo método (instalarV006R004S001US043) ---------- // + $objBD = new ItemMenuBD($this->inicializarObjInfraIBanco()); - case 'green': - $strMensagem = "\033[".$strBold.";32m".$strMensagem; - break; - - case 'red': - $strMensagem = "\033[".$strBold.";31m".$strMensagem; - break; - - case 'blue': - $strMensagem = "\033[".$strBold.";34m".$strMensagem; - break; - - case 'yellow': - $strMensagem = "\033[".$strBold.";33m".$strMensagem; - break; + $numIdSistema = $this->getNumIdSistema('SEI'); + $numIdMenu = $this->getNumIdMenu('Principal', $numIdSistema); - } + $objDTO = new ItemMenuDTO(); + $objDTO->setNumIdSistema($numIdSistema); + $objDTO->setNumIdMenu($numIdMenu); + $objDTO->setStrRotulo('Mapeamento de Hipteses Legais'); + $objDTO->setNumMaxRegistrosRetorno(1); + $objDTO->retNumIdItemMenu(); + + $objDTO = $objBD->consultar($objDTO); + + if(empty($objDTO)) { + throw new InfraException('Menu "Processo Eletrnico Nacional" no foi localizado'); } - return static::resetAfter($strMensagem); - } - - public static function resetAfter($strMensagem = ''){ + + $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_padrao_cadastrar', 'Acesso ao formulrio de cadastro de mapeamento de Hipteses Legais Padro', $numIdSistema); + + $this->criarMenu('Indicar Hiptese de Restrio Padro', 30, $objDTO->getNumIdItemMenu(), $numIdMenu, $numIdRecurso, $numIdSistema); + $this->criarRecurso('pen_map_hipotese_legal_padrao', 'Mtodo Cadastrar Padro da RN de mapeamento de Hipteses Legais', $numIdSistema); + $this->atribuirPerfil($numIdSistema); + + /* altera o parâmetro da versão de banco */ + $objInfraParametroDTO = new InfraParametroDTO(); + $objInfraParametroDTO->setStrNome($this->sip_versao); + $objInfraParametroDTO->retTodos(); + + $objInfraParametroBD = new InfraParametroBD($this->inicializarObjInfraIBanco()); + $objInfraParametroDTO = $objInfraParametroBD->consultar($objInfraParametroDTO); + $objInfraParametroDTO->setStrValor('1.0.1'); + $objInfraParametroBD->alterar($objInfraParametroDTO); - return $strMensagem. "\033[0m"; } } try { - - $objPenConsoleRN = new PenConsoleRN(); - $arrArgs = $objPenConsoleRN->getTokens(); - + $objAtualizarRN = new PenAtualizarSipRN($arrArgs); $objAtualizarRN->atualizarVersao(); @@ -1278,7 +1085,7 @@ try { print InfraException::inspecionar($e); try { - LogSEI::getInstance()->gravar(InfraException::inspecionar($e)); +// LogSEI::getInstance()->gravar(InfraException::inspecionar($e)); } catch (Exception $e) { } -- libgit2 0.21.2