diff --git a/src/PENIntegracao.php b/src/PENIntegracao.php index 1b71c3043..32073e9f3 100755 --- a/src/PENIntegracao.php +++ b/src/PENIntegracao.php @@ -1,7 +1,7 @@ '; } + $strAcoesProcedimento .= 'TESTE AQUII'; + return array($strAcoesProcedimento); } @@ -375,6 +377,11 @@ public function processarControlador($strAcao) require_once dirname(__FILE__) . '/pen_procedimento_expedido_listar.php'; break; + case 'pen_tramite_bloco_listar': + require_once dirname(__FILE__) . '/pen_tramite_bloco_listar.php'; + break; + + case 'pen_map_tipo_documento_envio_listar'; case 'pen_map_tipo_documento_envio_excluir'; case 'pen_map_tipo_documento_envio_desativar'; @@ -474,9 +481,15 @@ public function processarControlador($strAcao) require_once dirname(__FILE__) . '/pen_expedir_lote.php'; break; + case 'pen_expedir_lote_listar': - require_once dirname(__FILE__) . '/pen_expedir_lote_listar.php'; - break; + require_once dirname(__FILE__) . '/pen_expedir_lote_listar.php'; + break; + + // novo + case 'md_pen_tramita_em_bloco': + require_once dirname(__FILE__) . '/pen_tramite_bloco_listar.php'; + break; default: return false; diff --git a/src/bd/TramiteEmBlocoBD.php b/src/bd/TramiteEmBlocoBD.php new file mode 100644 index 000000000..fa4295b1d --- /dev/null +++ b/src/bd/TramiteEmBlocoBD.php @@ -0,0 +1,14 @@ +adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, + 'Id', + 'id'); + + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, + 'IdUnidade', + 'id_unidade'); + + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, + 'IdUsuario', + 'id_usuario'); + + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, + 'Descricao', + 'descricao'); + + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, + 'IdxBloco', + 'idx_bloco'); + + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, + 'StaTipo', + 'sta_tipo'); + + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, + 'StaEstado', + 'sta_estado'); + + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, + 'SiglaUnidade', + 'uc.sigla', + 'unidade uc'); + + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, + 'DescricaoUnidade', + 'uc.descricao', + 'unidade uc'); + + // $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_NUM, + // 'IdGrupoBlocoRelBlocoUnidade', + // 'id_grupo_bloco', + // 'rel_bloco_unidade'); + + // $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_NUM, + // 'IdUnidadeRelBlocoUnidade', + // 'id_unidade', + // 'rel_bloco_unidade'); + + // $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, + // 'SinPrioridadeRelBlocoUnidade', + // 'sin_prioridade', + // 'rel_bloco_unidade'); + + // $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, + // 'SinRevisaoRelBlocoUnidade', + // 'sin_revisao', + // 'rel_bloco_unidade'); + + // $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, + // 'SinComentarioRelBlocoUnidade', + // 'sin_comentario', + // 'rel_bloco_unidade'); + + // $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_NUM, + // 'IdUsuarioAtribuicaoRelBlocoUnidade', + // 'id_usuario_atribuicao', + // 'rel_bloco_unidade'); + + // $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, + // 'SinRetornadoRelBlocoUnidade', + // 'sin_retornado', + // 'rel_bloco_unidade'); + + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, + 'SiglaUnidadeRelBlocoUnidade', + 'ud.sigla', + 'unidade ud'); + + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, + 'DescricaoUnidadeRelBlocoUnidade', + 'ud.descricao', + 'unidade ud'); + + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, + 'SiglaUsuario', + 'sigla', + 'usuario'); + + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, + 'NomeUsuario', + 'nome', + 'usuario'); + + $this->adicionarAtributo(InfraDTO::$PREFIXO_STR,'TipoDescricao'); + // $this->adicionarAtributo(InfraDTO::$PREFIXO_STR,'StaEstadoDescricao'); + // //$this->adicionarAtributo(InfraDTO::$PREFIXO_STR,'SinVazio'); + // $this->adicionarAtributo(InfraDTO::$PREFIXO_STR,'PalavrasPesquisa'); + // $this->adicionarAtributo(InfraDTO::$PREFIXO_NUM,'Documentos'); + // $this->adicionarAtributo(InfraDTO::$PREFIXO_NUM,'Assinados'); + + // $this->adicionarAtributo(InfraDTO::$PREFIXO_OBJ,'RelBlocoUnidadeDTO'); + // $this->adicionarAtributo(InfraDTO::$PREFIXO_ARR,'ObjRelBlocoUnidadeDTO'); + // $this->adicionarAtributo(InfraDTO::$PREFIXO_ARR,'ObjRelBlocoProtocoloDTO'); + // $this->adicionarAtributo(InfraDTO::$PREFIXO_STR,'StaTipoAtribuicao'); + + $this->configurarPK('Id', InfraDTO::$TIPO_PK_NATIVA ); + + // $this->configurarFK('Id', 'rel_bloco_unidade', 'id'); + $this->configurarFK('IdUsuario', 'usuario', 'id_usuario'); + $this->configurarFK('IdUnidade', 'unidade uc', 'uc.id_unidade'); + // $this->configurarFK('IdUnidadeRelBlocoUnidade', 'unidade ud', 'ud.id_unidade'); + } +} +?> \ No newline at end of file diff --git a/src/pen_tramite_bloco_listar.php b/src/pen_tramite_bloco_listar.php new file mode 100644 index 000000000..ea622f785 --- /dev/null +++ b/src/pen_tramite_bloco_listar.php @@ -0,0 +1,425 @@ +validarLink(); + $objSessaoSEI->validarPermissao($_GET['acao']); + $arrComandos = array(); + + $strTitulo = 'Tramite em Bloco'; + + $objFiltroDTO = new ProtocoloDTO(); + $objFiltroDTO->setStrStaEstado(ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO); + $objFiltroDTO->retDblIdProtocolo(); + $objFiltroDTO->retStrProtocoloFormatado(); + + // Verificar no DTO sobre funções de agragação para clausula DISTINCT + if(get_parent_class(BancoSEI::getInstance()) != 'InfraMySqli') { + $objFiltroDTO->retDthConclusaoAtividade(); + } + $objPaginaSEI->prepararPaginacao($objFiltroDTO, 50); + + $objProcessoExpedidoRN = new ProcessoExpedidoRN(); + $arrObjProcessoExpedidoDTO = $objProcessoExpedidoRN->listarProcessoExpedido($objFiltroDTO); + + $numRegistros = 0; + + if(!empty($arrObjProcessoExpedidoDTO)) { + $arrObjProcessoExpedidoDTO = InfraArray::distinctArrInfraDTO($arrObjProcessoExpedidoDTO, 'IdProtocolo'); + $numRegistros = count($arrObjProcessoExpedidoDTO); + } + + $objPaginaSEI->processarPaginacao($objFiltroDTO); + + if (!empty($arrObjProcessoExpedidoDTO)) { + + $arrComandos[] = ''; + + $strSumarioTabela = 'Tabela de Processos.'; + $strCaptionTabela = 'Processos'; + + $strResultado .= '' . "\n"; + $strResultado .= ''; + $strResultado .= ''; + $strResultado .= '' . "\n"; + $strResultado .= '' . "\n"; + $strResultado .= '' . "\n"; + $strResultado .= '' . "\n"; + $strResultado .= '' . "\n"; + $strResultado .= '' . "\n"; + $strCssTr = ''; + + $numIndice = 1; + + foreach($arrObjProcessoExpedidoDTO as $objProcessoExpedidoDTO) { + + $strCssTr = ($strCssTr == '') ? '' : ''; + $strResultado .= $strCssTr; + + $strResultado .= ''."\n"; + $strResultado .= '' . "\n"; + $strResultado .= ''; + $strResultado .= ''; + $strResultado .= '' . "\n"; + $numIndice++; + } + $strResultado .= '
' . $objPaginaSEI->gerarCaptionTabela($strCaptionTabela, $numRegistros) . '
' . $objPaginaSEI->getThCheck() . 'ProcessoUsuárioData do EnvioUnidade Destino
'.$objPaginaSEI->getTrCheck($numIndice, $objProcessoExpedidoDTO->getDblIdProtocolo(), $objProcessoExpedidoDTO->getStrProtocoloFormatado()).''.$objProcessoExpedidoDTO->getStrProtocoloFormatado().'' . $objProcessoExpedidoDTO->getStrNomeUsuario() . '' . $objProcessoExpedidoDTO->getDthExpedido() . '' . $objProcessoExpedidoDTO->getStrDestino(); + + if ($bolAcaoRemoverSobrestamento) { + $strResultado .= 'Remover Sobrestamento '; + } + + $strResultado .= '
'; + } + + $arrComandos[] = ''; + $arrComandos[] = ''; + $arrComandos[] = ''; + $arrComandos[] = ''; + // Array de dados + $dados = array( + array("Número" => 1, "Sinalizações" => "Sinalização 1", "Estados" => "Estado 1", "Descrições" => "Descrição 1", "Ações" => ""), + array("Número" => 2, "Sinalizações" => "Sinalização 2", "Estados" => "Estado 2", "Descrições" => "Descrição 2", "Ações" => ""), + array("Número" => 3, "Sinalizações" => "Sinalização 3", "Estados" => "Estado 3", "Descrições" => "Descrição 3", "Ações" => "") + ); + + // Cabeçalho da tabela + $colunas = array("Número", "Sinalizações", "Estados", "Descrições", "Ações"); + + // Início da tabela + $strSumarioTabela = 'Tabela de Blocos Tramitados.'; + $strCaptionTabela = 'Blocos'; + + + $strResultado = "" . "\n"; + $strResultado .= ''; + $strResultado .= ""; + $strResultado .= ''."\n"; + + foreach ($colunas as $coluna) { + $strResultado .= ""; + } + $strResultado .= ""; + + // Linhas da tabela + foreach ($dados as $linha) { + $strResultado .= ""; + $strResultado .= ''; + // $strResultado .= ''; + foreach ($colunas as $key => $coluna) { + $strResultado .= ""; + } + + $strResultado .= ""; + } + + // Fim da tabela + $strResultado .= "
'.PaginaSEI::getInstance()->gerarCaptionTabela($strCaptionTabela, $numRegistros).'
'.PaginaSEI::getInstance()->getThCheck().'{$coluna}
'.PaginaSEI::getInstance()->getTrCheck($key,$key,$key).''.PaginaSEI::getInstance()->getTrCheck($i,$objBlocoDTO->getNumIdBloco(),$objBlocoDTO->getNumIdBloco()).' {$linha[$coluna]}"; + + // Adiciona botões na coluna de ações + if ($key === count($linha) - 1) { + + $id = $key; // $id = $objBlocoDTO->getNumIdBloco(); + + // visualizar + $strResultado .= 'Visualizar Processos '; + + // atribuir + $strResultado .= 'Atribuir Bloco '; + + // alterar + $strResultado .= 'Alterar Bloco '; + + // concluir + $strResultado .= 'Concluir Bloco '; + + // Excluir + $strResultado .= 'Excluir Bloco '; + } + + $strResultado .= "
"; + +} +catch (Exception $e) { + $objPaginaSEI->processarExcecao($e); +} + +$objPaginaSEI->montarDocType(); +$objPaginaSEI->abrirHtml(); +$objPaginaSEI->abrirHead(); +$objPaginaSEI->montarMeta(); +$objPaginaSEI->montarTitle(':: ' . $objPaginaSEI->getStrNomeSistema() . ' - ' . $strTitulo . ' ::'); +$objPaginaSEI->montarStyle(); +?> + +montarJavaScript(); ?> + + + + +fecharHead(); +$objPaginaSEI->abrirBody($strTitulo, 'onload="inicializar();"'); +?> +
+montarBarraComandosSuperior($arrComandos); + $objPaginaSEI->montarAreaTabela($strResultado, $numRegistros, true); + $objPaginaSEI->montarBarraComandosInferior($arrComandos); +?> +
+fecharBody(); +$objPaginaSEI->fecharHtml(); + + +endif; +?> + + + +fecharHead(); +$objPaginaSEI->abrirBody( $strTitulo, 'onload="inicializar();"'); +?> +
+ montarBarraComandosSuperior($arrComandos); + ?> +
+
+ + + + + +
+
+
+
+ Sinalizações + +
+ setCheckbox($strSinPrioridade)?> tabindex="getProxTabDados()?>" /> + +
+ +
+ setCheckbox($strSinRevisao)?> tabindex="getProxTabDados()?>" /> + +
+
+ setCheckbox($strSinComentario)?> tabindex="getProxTabDados()?>" /> + +
+
+
+ Estado + +
+ setCheckbox($strSinEstadoGerado)?> tabindex="getProxTabDados()?>"/> + +
+ +
+ setCheckbox($strSinEstadoDisponibilizado)?> tabindex="getProxTabDados()?>"/> + +
+ + + +
+ setCheckbox($strSinEstadoRetornado)?> tabindex="getProxTabDados()?>"/> + +
+ +
+ setCheckbox($strSinEstadoConcluido)?> tabindex="getProxTabDados()?>"/> + +
+ +
+
+
+
+ + + montarAreaTabela($strResultado, $numRegistros, true); + $objPaginaSEI->montarAreaDebug(); + $objPaginaSEI->montarBarraComandosInferior($arrComandos); + ?> +
+fecharBody(); +$objPaginaSEI->fecharHtml(); +?> + + + + diff --git a/src/pen_tramite_em_bloco_cadastro.php b/src/pen_tramite_em_bloco_cadastro.php new file mode 100755 index 000000000..c5abccb0f --- /dev/null +++ b/src/pen_tramite_em_bloco_cadastro.php @@ -0,0 +1,197 @@ +setBolLigado(false); + InfraDebug::getInstance()->setBolDebugInfra(true); + InfraDebug::getInstance()->limpar(); + ////////////////////////////////////////////////////////////////////////////// + + SessaoSEI::getInstance()->validarLink(); + + SessaoSEI::getInstance()->validarPermissao($_GET['acao']); + + $strParametros = ''; + if(isset($_GET['arvore'])) { + PaginaSEI::getInstance()->setBolArvore($_GET['arvore']); + $strParametros .= '&arvore='.$_GET['arvore']; + } + + if (isset($_GET['id_procedimento'])) { + $strParametros .= "&id_procedimento=".$_GET['id_procedimento']; + } + + if (isset($_GET['id_documento'])) { + $strParametros .= "&id_documento=".$_GET['id_documento']; + } + + $objTramiteEmBlocoDTO = new TramiteEmBlocoDTO(); + + $strDesabilitar = ''; + + $arrComandos = array(); + $bolCadastroOk = false; + + switch($_GET['acao']) { + case 'pen_tramite_em_bloco_cadastrar': + + $strTitulo = 'Novo Trâmite em Bloco'; + $arrComandos[] = ''; + $arrComandos[] = ''; + + $objTramiteEmBlocoDTO->setNumId(null); + $objTramiteEmBlocoDTO->setStrStaTipo(TramiteEmBlocoRN::$TB_INTERNO); + $objTramiteEmBlocoDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); + $objTramiteEmBlocoDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); + $objTramiteEmBlocoDTO->setStrDescricao($_POST['txtDescricao']); + $objTramiteEmBlocoDTO->setStrIdxBloco(null); + $objTramiteEmBlocoDTO->setStrStaEstado(TramiteEmBlocoRN::$TE_ABERTO); + if (isset($_POST['sbmCadastrarTramiteEmBloco'])) { + try{ + // + $objTramiteEmBlocoRN = new TramiteEmBlocoRN(); + $objTramiteEmBlocoDTO = $objTramiteEmBlocoRN->cadastrar($objTramiteEmBlocoDTO); + PaginaSEI::getInstance()->setStrMensagem('Trâmite em Bloco "' . $objTramiteEmBlocoDTO->getNumId() . '" cadastrado com sucesso.'); + header('Location: ' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=' . PaginaSEI::getInstance()->getAcaoRetorno() . '&acao_origem=' . $_GET['acao'] . '&id_bloco=' . $objTramiteEmBlocoDTO->getNumId() . $strParametros . PaginaSEI::getInstance()->montarAncora($objTramiteEmBlocoDTO->getNumId()))); + die; + }catch(Exception $e){ + PaginaSEI::getInstance()->processarExcecao($e); + } + } + break; + + case 'pen_tramite_em_bloco_alterar': + + $strTitulo = 'Alterar Trâmite em Bloco'; + $arrComandos[] = ''; + $strDesabilitar = 'disabled="disabled"'; + + if (isset($_GET['id_bloco'])){ + $objTramiteEmBlocoDTO->setNumId($_GET['id_bloco']); + $objTramiteEmBlocoDTO->retTodos(); + $objTramiteEmBlocoRN = new TramiteEmBlocoRN(); + $objTramiteEmBlocoDTO = $objTramiteEmBlocoRN->consultar($objTramiteEmBlocoDTO); + if ($objTramiteEmBlocoDTO==null){ + throw new InfraException("Registro não encontrado."); + } + } else { + $objTramiteEmBlocoDTO->setNumId($_POST['hdnIdBloco']); + $objTramiteEmBlocoDTO->setStrDescricao($_POST['txtDescricao']); + } + + $arrComandos[] = ''; + + if (isset($_POST['sbmAlterarBloco'])) { + try { + $objTramiteEmBlocoRN = new TramiteEmBlocoRN(); + $objTramiteEmBlocoRN->alterar($objTramiteEmBlocoDTO); + PaginaSEI::getInstance()->setStrMensagem('Trâmite em Bloco "'.$objTramiteEmBlocoDTO->getNumId().'" alterado com sucesso.'); + header('Location: '.SessaoSEI::getInstance()->assinarLink('controlador.php?acao='.PaginaSEI::getInstance()->getAcaoRetorno().'&acao_origem='.$_GET['acao'].PaginaSEI::getInstance()->montarAncora($objTramiteEmBlocoDTO->getNumId()))); + die; + } catch (Exception $e) { + PaginaSEI::getInstance()->processarExcecao($e); + } + } + break; + + default: + throw new InfraException("Ação '".$_GET['acao']."' não reconhecida."); + } + +} catch(Exception $e) { + PaginaSEI::getInstance()->processarExcecao($e); +} + +PaginaSEI::getInstance()->montarDocType(); +PaginaSEI::getInstance()->abrirHtml(); +PaginaSEI::getInstance()->abrirHead(); +PaginaSEI::getInstance()->montarMeta(); +PaginaSEI::getInstance()->montarTitle(PaginaSEI::getInstance()->getStrNomeSistema().' - '.$strTitulo); +PaginaSEI::getInstance()->montarStyle(); +PaginaSEI::getInstance()->abrirStyle(); +?> +#divIdentificacao {display:none;} +#lblIdBloco {position:absolute;left:0%;top:0%;width:25%;} +#txtIdBloco {position:absolute;left:0%;top:40%;width:25%;} + +#lblDescricao {position:absolute;left:0%;top:0%;width:95%;} +#txtDescricao {position:absolute;left:0%;top:18%;width:95%;} + +fecharStyle(); +PaginaSEI::getInstance()->montarJavaScript(); +PaginaSEI::getInstance()->abrirJavaScript(); +?> + +function inicializar(){ + + + + parent.document.getElementById('ifrVisualizacao').contentWindow.atualizarBlocos(getNumId()?>); + + window.parent.atualizarBlocos(getNumId()?>); + + self.setTimeout('infraFecharJanelaModal()',500); + return; + + + if (''=='pen_tramite_em_bloco_consultar') { + document.getElementById('divIdentificacao').style.display = 'block'; + infraDesabilitarCamposAreaDados(); + document.getElementById('btnFechar').focus(); + return; + } else if (''=='pen_tramite_em_bloco_cadastrar') { + document.getElementById('divIdentificacao').style.display = 'none'; + document.getElementById('txtDescricao').focus(); + } else { + document.getElementById('divIdentificacao').style.display = 'block'; + document.getElementById('btnCancelar').focus(); + } + + infraEfeitoTabelas(); +} + +function validarCadastroRI1284() { + return true; +} + +function OnSubmitForm() { + return validarCadastroRI1284(); +} + + +fecharJavaScript(); +PaginaSEI::getInstance()->fecharHead(); +PaginaSEI::getInstance()->abrirBody($strTitulo,'onload="inicializar();"'); +?> +
+montarBarraComandosSuperior($arrComandos); +?> +
+ + +
+
+ + +
+ + +montarAreaDebug(); +?> +
+fecharBody(); +PaginaSEI::getInstance()->fecharHtml(); +?> \ No newline at end of file diff --git a/src/rn/TramiteEmBlocoRN.php b/src/rn/TramiteEmBlocoRN.php new file mode 100755 index 000000000..8ee436f97 --- /dev/null +++ b/src/rn/TramiteEmBlocoRN.php @@ -0,0 +1,307 @@ +getStrStaTipo())){ + $objInfraException->adicionarValidacao('Tipo não informado.'); + }else{ + if (!in_array($objTramiteEmBlocoDTO->getStrStaTipo(), InfraArray::converterArrInfraDTO($this->listarValoresTipo(),'StaTipo'))){ + $objInfraException->adicionarValidacao('Tipo inválido.'); + } + } + } + + private function validarNumIdUsuario(TramiteEmBlocoDTO $objTramiteEmBlocoDTO, InfraException $objInfraException) { + if (InfraString::isBolVazia($objTramiteEmBlocoDTO->getNumIdUsuario())){ + $objInfraException->adicionarValidacao('Usuário não informado.'); + } + } + + private function validarStrDescricao(TramiteEmBlocoDTO $objTramiteEmBlocoDTO, InfraException $objInfraException){ + if (InfraString::isBolVazia($objTramiteEmBlocoDTO->getStrDescricao())) { + + $objTramiteEmBlocoDTO->setStrDescricao(null); + + } else { + + $objTramiteEmBlocoDTO->setStrDescricao(trim($objTramiteEmBlocoDTO->getStrDescricao())); + $objTramiteEmBlocoDTO->setStrDescricao(InfraUtil::filtrarISO88591($objTramiteEmBlocoDTO->getStrDescricao())); + + if (strlen($objTramiteEmBlocoDTO->getStrDescricao()) > $this->getNumMaxTamanhoDescricao()){ + $objInfraException->adicionarValidacao('Descrição possui tamanho superior a ' .$this->getNumMaxTamanhoDescricao(). ' caracteres.'); + } + + } + } + + private function validarStrIdxBloco(TramiteEmBlocoDTO $objTramiteEmBlocoDTO, InfraException $objInfraException){ + if (InfraString::isBolVazia($objTramiteEmBlocoDTO->getStrIdxBloco())){ + + $objTramiteEmBlocoDTO->setStrIdxBloco(null); + + }else{ + + $objTramiteEmBlocoDTO->setStrIdxBloco(trim($objTramiteEmBlocoDTO->getStrIdxBloco())); + + if (strlen($objTramiteEmBlocoDTO->getStrIdxBloco()) > 500){ + $objInfraException->adicionarValidacao('Indexação possui tamanho superior a 500 caracteres.'); + } + + } + } + + private function validarStrStaEstado(TramiteEmBlocoDTO $objTramiteEmBlocoDTO, InfraException $objInfraException){ + if (InfraString::isBolVazia($objTramiteEmBlocoDTO->getStrStaEstado())) { + + $objInfraException->adicionarValidacao('Estado não informado.'); + + } else { + + if (!in_array($objTramiteEmBlocoDTO->getStrStaEstado(), InfraArray::converterArrInfraDTO($this->listarValoresEstado(), 'StaEstado'))){ + $objInfraException->adicionarValidacao('Estado inválido.'); + } + + } + } + + public function listarValoresTipo(){ + try { + + $arrObjTipoDTO = array(); + + $objTipoDTO = new TipoDTO(); + $objTipoDTO->setStrStaTipo(self::$TB_INTERNO); + $objTipoDTO->setStrDescricao('Interno'); + $arrObjTipoDTO[] = $objTipoDTO; + + + return $arrObjTipoDTO; + + }catch(Exception $e){ + throw new InfraException('Erro listando valores de Tipo.', $e); + } + } + + public function listarValoresEstado(){ + try { + + $objArrEstadoBlocoDTO = array(); + + $objEstadoBlocoDTO = new EstadoBlocoDTO(); + $objEstadoBlocoDTO->setStrStaEstado(self::$TE_ABERTO); + $objEstadoBlocoDTO->setStrDescricao('Gerado'); + $objArrEstadoBlocoDTO[] = $objEstadoBlocoDTO; + + return $objArrEstadoBlocoDTO; + + } catch(Exception $e) { + throw new InfraException('Erro listando valores de Estado.',$e); + } + } + + protected function listarConectado(TramiteEmBlocoDTO $objTramiteEmBlocoDTO) { + try { + + //Valida Permissao + SessaoSEI::getInstance()->validarAuditarPermissao('pen_tramite_em_bloco_listar',__METHOD__,$objTramiteEmBlocoDTO); + + + if ($objTramiteEmBlocoDTO->isRetStrTipoDescricao()) { + $objTramiteEmBlocoDTO->retStrStaTipo(); + } + + $objTramiteEmBlocoBD = new TramiteEmBlocoBD($this->getObjInfraIBanco()); + $ret = $objTramiteEmBlocoBD->listar($objTramiteEmBlocoDTO); + + if ($objTramiteEmBlocoDTO->isRetStrTipoDescricao()) { + $arrObjTipoDTO = $this->listarValoresTipo(); + foreach ($ret as $dto) { + foreach ($arrObjTipoDTO as $objTipoDTO) { + if ($dto->getStrStaTipo() == $objTipoDTO->getStrStaTipo()){ + $dto->setStrTipoDescricao($objTipoDTO->getStrDescricao()); + break; + } + } + } + } + + //Auditoria + + return $ret; + + } catch(Exception $e) { + throw new InfraException('Erro listando Tramite em Blocos.',$e); + } + } + + protected function montarIndexacaoControlado(TramiteEmBlocoDTO $obTramiteEmBlocoDTO){ + try{ + + $dto = new TramiteEmBlocoDTO(); + $dto->retNumId(); + $dto->retStrDescricao(); + + if (is_array($obTramiteEmBlocoDTO->getNumId())) { + $dto->setNumId($obTramiteEmBlocoDTO->getNumId(), InfraDTO::$OPER_IN); + } else { + $dto->setNumId($obTramiteEmBlocoDTO->getNumId()); + } + + $objTramiteEmBlocoDTOIdx = new TramiteEmBlocoDTO(); + $objInfraException = new InfraException(); + $objTramiteEmBlocoBD = new TramiteEmBlocoBD($this->getObjInfraIBanco()); + + $arrObjTramiteEmBlocoDTO = $this->listar($dto); + + foreach($arrObjTramiteEmBlocoDTO as $dto) { + + $objTramiteEmBlocoDTOIdx->setNumId($dto->getNumId()); + $objTramiteEmBlocoDTOIdx->setStrIdxBloco(InfraString::prepararIndexacao($dto->getNumId().' '.$dto->getStrDescricao())); + + $this->validarStrIdxBloco($objTramiteEmBlocoDTOIdx, $objInfraException); + $objInfraException->lancarValidacoes(); + + $objTramiteEmBlocoBD->alterar($objTramiteEmBlocoDTOIdx); + } + + } catch(Exception $e) { + throw new InfraException('Erro montando indexação de bloco.',$e); + } + } + + protected function cadastrarControlado(TramiteEmBlocoDTO $objTramiteEmBlocoDTO) { + try { + + //Valida Permissao + SessaoSEI::getInstance()->validarAuditarPermissao('pen_tramite_em_bloco_cadastrar',__METHOD__,$objTramiteEmBlocoDTO); + + //Regras de Negocio + $objInfraException = new InfraException(); + + + $this->validarStrStaTipo($objTramiteEmBlocoDTO, $objInfraException); + $this->validarNumIdUsuario($objTramiteEmBlocoDTO, $objInfraException); + $this->validarStrDescricao($objTramiteEmBlocoDTO, $objInfraException); + $this->validarStrIdxBloco($objTramiteEmBlocoDTO, $objInfraException); + $this->validarStrStaEstado($objTramiteEmBlocoDTO, $objInfraException); + + + $objInfraException->lancarValidacoes(); + + $objTramiteEmBlocoBD = new TramiteEmBlocoBD($this->getObjInfraIBanco()); + $ret = $objTramiteEmBlocoBD->cadastrar($objTramiteEmBlocoDTO); + + $this->montarIndexacao($ret); + + return $ret; + + } catch (Exception $e) { + throw new InfraException('Erro cadastrando Bloco.',$e); + } + } + + protected function consultarConectado(TramiteEmBlocoDTO $objTramiteEmBlocoDTO){ + try { + + //Valida Permissao + SessaoSEI::getInstance()->validarAuditarPermissao('pen_tramite_em_bloco_consultar',__METHOD__,$objTramiteEmBlocoDTO); + + if ($objTramiteEmBlocoDTO->isRetStrTipoDescricao()) { + $objTramiteEmBlocoDTO->retStrStaTipo(); + } + + $objTramiteEmBlocoBD = new TramiteEmBlocoBD($this->getObjInfraIBanco()); + $ret = $objTramiteEmBlocoBD->consultar($objTramiteEmBlocoDTO); + + if ($ret != null){ + if ($objTramiteEmBlocoDTO->isRetStrTipoDescricao()) { + $arrObjTipoDTO = $this->listarValoresTipo(); + foreach ($arrObjTipoDTO as $objTipoDTO) { + if ($ret->getStrStaTipo() == $objTipoDTO->getStrStaTipo()){ + $ret->setStrTipoDescricao($objTipoDTO->getStrDescricao()); + break; + } + } + } + } + //Auditoria + + return $ret; + } catch (Exception $e) { + throw new InfraException('Erro consultando Bloco.',$e); + } + } + + protected function alterarControlado(TramiteEmBlocoDTO $objTramiteEmBlocoDTO){ + try { + + //Valida Permissao + SessaoSEI::getInstance()->validarAuditarPermissao('pen_tramite_em_bloco_alterar',__METHOD__,$objTramiteEmBlocoDTO); + + //Regras de Negocio + $objInfraException = new InfraException(); + + $dto = new TramiteEmBlocoDTO(); + $dto->retStrStaTipo(); + $dto->setNumId($objTramiteEmBlocoDTO->getNumId()); + + $dto = $this->consultar($dto); + + if ($objTramiteEmBlocoDTO->isSetStrStaTipo() && $objTramiteEmBlocoDTO->getStrStaTipo()!=$dto->getStrStaTipo()){ + $objInfraException->lancarValidacao('Não é possível alterar o tipo do bloco.'); + } + + $objTramiteEmBlocoDTO->setStrStaTipo($dto->getStrStaTipo()); + + if ($objTramiteEmBlocoDTO->isSetStrStaTipo()){ + $this->validarStrStaTipo($objTramiteEmBlocoDTO, $objInfraException); + } + if ($objTramiteEmBlocoDTO->isSetNumIdUsuario()){ + $this->validarNumIdUsuario($objTramiteEmBlocoDTO, $objInfraException); + } + if ($objTramiteEmBlocoDTO->isSetStrDescricao()){ + $this->validarStrDescricao($objTramiteEmBlocoDTO, $objInfraException); + } + if ($objTramiteEmBlocoDTO->isSetStrIdxBloco()){ + $this->validarStrIdxBloco($objTramiteEmBlocoDTO, $objInfraException); + } + if ($objTramiteEmBlocoDTO->isSetStrStaEstado()){ + $this->validarStrStaEstado($objTramiteEmBlocoDTO, $objInfraException); + } + + $objInfraException->lancarValidacoes(); + + $objTramiteEmBlocoBD = new TramiteEmBlocoBD($this->getObjInfraIBanco()); + $objTramiteEmBlocoBD->alterar($objTramiteEmBlocoDTO); + + $this->montarIndexacao($objTramiteEmBlocoDTO); + + //Auditoria + + } catch (Exception $e){ + throw new InfraException('Erro alterando Bloco.',$e); + } + } +} diff --git a/src/scripts/sei_atualizar_versao_modulo_pen.php b/src/scripts/sei_atualizar_versao_modulo_pen.php index 81f854fd6..2da07d7d1 100755 --- a/src/scripts/sei_atualizar_versao_modulo_pen.php +++ b/src/scripts/sei_atualizar_versao_modulo_pen.php @@ -263,6 +263,8 @@ protected function atualizarVersaoConectado() $this->instalarV3024(); case '3.2.4': $this->instalarV3030(); + case '3.4.0': + $this->instalarV3040(); break; // Ausência de [break;] proposital para realizar a atualização incremental de versões @@ -1656,9 +1658,9 @@ protected function instalarV1114() //Sequência: md_pen_seq_tramite_pendente $rs = BancoSEI::getInstance()->consultarSql('select max(id) as total from md_pen_tramite_pendente'); $numMaxId = $rs[0]['total']; - if ($numMaxId == null) { - $numMaxId = 0; - } + if ($numMaxId == null) { + $numMaxId = 0; + } BancoSEI::getInstance()->criarSequencialNativa('md_pen_seq_tramite_pendente', $numMaxId + 1); $objInfraSequenciaDTO->setStrNome('md_pen_tramite_pendente'); $objInfraSequenciaDTO->retStrNome(); @@ -2520,8 +2522,49 @@ protected function instalarV3030() { $this->atualizarNumeroVersao("3.3.0"); } -} + // novo tramite em bloco + protected function instalarV3040() { + $objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance()); + + $objMetaBD = $this->objMeta; + $objMetaBD->criarTabela(array( + 'tabela' => 'md_pen_tramita_em_bloco', + 'cols' => array( + 'id' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), + 'id_unidade' => array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO), + 'id_usuario' => array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO), + 'descricao' => array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::SNULLO), + 'idx_bloco' => array($objMetaBD->tipoTextoVariavel(500), PenMetaBD::SNULLO), + 'sta_tipo' => array($objMetaBD->tipoTextoFixo(1), PenMetaBD::SNULLO), + 'sta_estado' => array($objMetaBD->tipoTextoFixo(1), PenMetaBD::SNULLO), + ), + 'pk' => array('cols' => array('id')), + 'uk' => array(), + 'fks' => array( + 'unidade' => array('nome' => 'fk_tramite_bloco_unidade', 'cols' => array('id_unidade', 'id_unidade')), + 'usuario' => array('nome' => 'fk_tramite_bloco_usuario', 'cols' => array('id_usuario', 'id_usuario')), + ) + )); + + # Criar sequencia para tramite em bloco + + $objInfraSequenciaRN = new InfraSequenciaRN(); + $objInfraSequenciaDTO = new InfraSequenciaDTO(); + + //Sequência: md_pen_seq_tramita_em_bloco + $rs = BancoSEI::getInstance()->consultarSql('select max(id) as total from md_pen_tramita_em_bloco'); + $numMaxId = isset($rs[0]['total']) ? $rs[0]['total'] : 0; + + BancoSEI::getInstance()->criarSequencialNativa('md_pen_seq_tramita_em_bloco', $numMaxId + 1); + $objInfraSequenciaDTO->setStrNome('md_pen_tramita_em_bloco'); + $objInfraSequenciaDTO->retStrNome(); + $arrObjInfraSequenciaDTO = $objInfraSequenciaRN->listar($objInfraSequenciaDTO); + $objInfraSequenciaRN->excluir($arrObjInfraSequenciaDTO); + + $this->atualizarNumeroVersao("3.4.0"); + } +} try { session_start(); diff --git a/src/scripts/sip_atualizar_versao_modulo_pen.php b/src/scripts/sip_atualizar_versao_modulo_pen.php index 919766680..63dfa41cc 100755 --- a/src/scripts/sip_atualizar_versao_modulo_pen.php +++ b/src/scripts/sip_atualizar_versao_modulo_pen.php @@ -1,7 +1,7 @@ instalarV3024(); case '3.2.4': $this->instalarV3030(); + case '3.4.0': + $this->instalarV3040(); break; // Ausência de [break;] proposital para realizar a atualização incremental de versões default: @@ -623,13 +625,38 @@ private function instalarV100() $numIdSistema = $this->getNumIdSistema('SEI'); $numIdMenu = $this->getNumIdMenu('Principal', $numIdSistema); + //---------------------------------------------------------------------- + // Tramita.GOV.BR + //---------------------------------------------------------------------- + $objItemMenuDTO = new ItemMenuDTO(); + $objItemMenuDTO->setNumIdSistema($numIdSistema); + $objItemMenuDTO->setNumIdMenu($numIdMenu); + $objItemMenuDTO->setStrRotulo('Tramita.GOV.BR'); + $objItemMenuDTO->setNumMaxRegistrosRetorno(1); + $objItemMenuDTO->retNumIdItemMenu(); + + $objItemMenuBD = new ItemMenuBD(BancoSip::getInstance()); + + $objItemMenuDTO = $objItemMenuBD->consultar($objItemMenuDTO); + + //---------------------------------------------------------------------- + // Tramita.GOV.BR + //---------------------------------------------------------------------- + $numIdRecurso = $this->criarRecurso('pen_procedimento_expedido_listar', 'Tramita.GOV.BR', $numIdSistema); + $this->criarMenu('Tramita.GOV.BR', 55, null, $numIdMenu, $numIdRecurso, $numIdSistema); + + //Atribui as permissões aos recursos e menus + $this->atribuirPerfil($numIdSistema); + + //---------------------------------------------------------------------- // Expedir procedimento //---------------------------------------------------------------------- $this->criarRecurso('pen_procedimento_expedir', 'Expedir Procedimento', $numIdSistema); $this->criarRecurso('apensados_selecionar_expedir_procedimento', 'Processos Apensados', $numIdSistema); - $numIdRecurso = $this->criarRecurso('pen_procedimento_expedido_listar', 'Processos Trâmitados Externamente', $numIdSistema); - $this->criarMenu('Processos Trâmitados Externamente', 55, null, $numIdMenu, $numIdRecurso, $numIdSistema); + //$numIdRecurso = $this->criarRecurso('pen_procedimento_expedido_listar', 'Processos Trâmitados Externamente', $numIdSistema); + //$this->criarMenu('Processos Trâmitados Externamente', 55, null, $numIdMenu, $numIdRecurso, $numIdSistema); + //---------------------------------------------------------------------- // Mapeamento de documentos enviados //---------------------------------------------------------------------- @@ -1179,11 +1206,11 @@ private function instalarV119() $objRecursoDTO->retNumIdRecurso(); $objRecursoBD = new RecursoBD($this->getObjInfraIBanco()); $objRecursoDTO = $objRecursoBD->consultar($objRecursoDTO); - if (isset($objRecursoDTO)) { + if (isset($objRecursoDTO)) { $numIdRecurso = $objRecursoDTO->getNumIdRecurso(); $objRecursoDTO->setStrDescricao('Processos Tramitados Externamente'); $objRecursoBD->alterar($objRecursoDTO); - } + } $objItemMenuDTO = new ItemMenuDTO(); $objItemMenuDTO->setNumIdItemMenuPai(null); @@ -1194,12 +1221,11 @@ private function instalarV119() $objItemMenuDTO->retNumIdItemMenu(); $objItemMenuBD = new ItemMenuBD(BancoSip::getInstance()); $objItemMenuDTO = $objItemMenuBD->consultar($objItemMenuDTO); - if (isset($objItemMenuDTO)) { + if (isset($objItemMenuDTO)) { $objItemMenuDTO->setStrDescricao('Processos Tramitados Externamente'); $objItemMenuDTO->setStrRotulo('Processos Tramitados Externamente'); $objItemMenuBD->alterar($objItemMenuDTO); - } - + } $this->atualizarNumeroVersao('1.1.9'); } @@ -1209,6 +1235,56 @@ private function instalarV119() */ private function instalarV1110() { + $objItemMenuBD = new ItemMenuBD(BancoSip::getInstance()); + + $numIdSistema = $this->getNumIdSistema('SEI'); + $numIdMenu = $this->getNumIdMenu('Principal', $numIdSistema); + + //Menu Tramita.GOV.BR + $objItemMenuDTO = new ItemMenuDTO(); + $objItemMenuDTO->setNumIdSistema($numIdSistema); + $objItemMenuDTO->setNumIdMenu($numIdMenu); + $objItemMenuDTO->setStrRotulo('Tramita.GOV.BR'); + $objItemMenuDTO->setNumMaxRegistrosRetorno(1); + $objItemMenuDTO->retNumIdItemMenu(); + + $objItemMenuDTO = $objItemMenuBD->consultar($objItemMenuDTO); + + if (empty($objItemMenuDTO)) { + throw new InfraException('Menu "Tramita.GOV.BR" não foi localizado'); + } + + // ---------- antigo método (instalarV006R004S001US043) ---------- // + $objBD = new ItemMenuBD(BancoSip::getInstance()); + + $numIdSistema = $this->getNumIdSistema('SEI'); + $numIdMenu = $this->getNumIdMenu('Principal', $numIdSistema); + + $objDTO = new ItemMenuDTO(); + $objDTO->setNumIdSistema($numIdSistema); + $objDTO->setNumIdMenu($numIdMenu); + $objDTO->setStrRotulo('Tramita.GOV.BR'); + $objDTO->setNumMaxRegistrosRetorno(1); + $objDTO->retNumIdItemMenu(); + + $objDTO = $objBD->consultar($objDTO); + if (empty($objDTO)) { + throw new InfraException('Menu "Tramita.GOV.BR" não foi localizado'); + } + + $numIdItemMenuPai = $objDTO->getNumIdItemMenu(); + + $numIdRecurso = $this->criarRecurso('pen_tramite_bloco_listar', 'Blocos de Trâmite Externo', $numIdSistema); + $this->criarMenu('Blocos de Trâmite Externo', 57, $numIdItemMenuPai, $numIdMenu, $numIdRecurso, $numIdSistema); + + $numIdRecurso = $this->criarRecurso('pen_procedimento_expedido_listar', 'Processos Tramitados Externamente', $numIdSistema); + $this->criarMenu('Processos Tramitados Externamente', 55, $numIdItemMenuPai, $numIdMenu, $numIdRecurso, $numIdSistema); + + $numIdRecurso = $this->criarRecurso('pen_expedir_lote_listar', 'Processos Tramitados em Lote', $numIdSistema); + $this->criarMenu('Processos Tramitados em Lote', 56, $numIdItemMenuPai, $numIdMenu, $numIdRecurso, $numIdSistema); + + $this->atribuirPerfil($numIdSistema); + $this->atualizarNumeroVersao('1.1.10'); } @@ -1475,17 +1551,17 @@ private function instalarV2000_beta1() $this->logar('Atribuição de permissões do módulo ao perfil Básico do SEI'); - $strNomeMenuProcessosTramitados = "Processos Tramitados Externamente"; + $strNomeMenuProcessosTramitados = "Tramita.GOV.BR"; $numIdSistemaSei = ScriptSip::obterIdSistema('SEI'); $numIdPerfilSeiBasico = ScriptSip::obterIdPerfil($numIdSistemaSei, "Básico"); $numIdMenuSei = ScriptSip::obterIdMenu($numIdSistemaSei, 'Principal'); // Remove item de menu e adiciona-o novamente para criá-lo seguindo o padrão definido na rotina adicionarItemMenu - ScriptSip::adicionarRecursoPerfil($numIdSistemaSei, $numIdPerfilSeiBasico, 'pen_procedimento_expedir'); + /* ScriptSip::adicionarRecursoPerfil($numIdSistemaSei, $numIdPerfilSeiBasico, 'pen_procedimento_expedir'); $objRecursoDTO = ScriptSip::adicionarRecursoPerfil($numIdSistemaSei, $numIdPerfilSeiBasico, 'pen_procedimento_expedido_listar'); $numIdMenuProcessoTramitados = ScriptSip::obterIdItemMenu($numIdSistemaSei, $numIdMenuSei, $strNomeMenuProcessosTramitados); ScriptSip::removerItemMenu($numIdSistemaSei, $numIdMenuSei, $numIdMenuProcessoTramitados); - ScriptSip::adicionarItemMenu($numIdSistemaSei, $numIdPerfilSeiBasico, $numIdMenuSei, null, $objRecursoDTO->getNumIdRecurso(), $strNomeMenuProcessosTramitados, 55); + ScriptSip::adicionarItemMenu($numIdSistemaSei, $numIdPerfilSeiBasico, $numIdMenuSei, null, $objRecursoDTO->getNumIdRecurso(), $strNomeMenuProcessosTramitados, 55);*/ $this->atualizarNumeroVersao("2.0.0-beta1"); } @@ -1629,8 +1705,8 @@ protected function instalarV3010() $this->criarRecurso('pen_expedir_lote', 'Expedir Procedimento em Lote', $numIdSistema); ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiAdministrador, 'pen_expedir_lote'); - $numIdRecurso = $this->criarRecurso('pen_expedir_lote_listar', 'Listar Processos Tramitados em Lote', $numIdSistema); - ScriptSip::adicionarItemMenu($numIdSistema, $numIdPerfilSeiAdministrador, $numIdMenu, null, $numIdRecurso, "Processos Tramitados em Lote", 55); + //$numIdRecurso = $this->criarRecurso('pen_expedir_lote_listar', 'Listar Processos Tramitados em Lote', $numIdSistema); + //ScriptSip::adicionarItemMenu($numIdSistema, $numIdPerfilSeiAdministrador, $numIdMenu, null, $numIdRecurso, "Processos Tramitados em Lote", 55); $this->atualizarNumeroVersao("3.1.0"); } @@ -1811,6 +1887,76 @@ protected function instalarV3030() { $this->atualizarNumeroVersao("3.3.0"); } + + protected function instalarV3040() + { + /* Corrige nome de menu de trâmite de documentos */ + $numIdSistema = $this->getNumIdSistema('SEI'); + $numIdMenu = $this->getNumIdMenu('Principal', $numIdSistema); + + //Corrige nome do recurso + $objRecursoDTO = new RecursoDTO(); + $objRecursoDTO->setNumIdSistema($numIdSistema); + $objRecursoDTO->setStrNome('md_pen_tramita_em_bloco'); + $objRecursoDTO->retNumIdRecurso(); + $objRecursoBD = new RecursoBD($this->getObjInfraIBanco()); + $objRecursoDTO = $objRecursoBD->consultar($objRecursoDTO); + if (isset($objRecursoDTO)) { + $numIdRecurso = $objRecursoDTO->getNumIdRecurso(); + $objRecursoDTO->setStrDescricao('Blocos de Trâmite Externo'); + $objRecursoBD->alterar($objRecursoDTO); + } + + $objItemMenuDTO = new ItemMenuDTO(); + $objItemMenuDTO->setNumIdItemMenuPai(null); + $objItemMenuDTO->setNumIdSistema($numIdSistema); + $objItemMenuDTO->setNumIdRecurso($numIdRecurso); + $objItemMenuDTO->setStrRotulo('Blocos de Trâmite Externo'); + $objItemMenuDTO->retNumIdMenu(); + $objItemMenuDTO->retNumIdItemMenu(); + $objItemMenuBD = new ItemMenuBD(BancoSip::getInstance()); + $objItemMenuDTO = $objItemMenuBD->consultar($objItemMenuDTO); + + if (isset($objItemMenuDTO)) { + $objItemMenuDTO->setStrDescricao('Blocos de Trâmite Externo'); + $objItemMenuDTO->setStrRotulo('Blocos de Trâmite Externo'); + $objItemMenuBD->alterar($objItemMenuDTO); + } + // adicionar submenu + // if (!empty($objItemMenuDTO)) { + + // $numIdItemMenuMapeamento = $objItemMenuDTO->getNumIdItemMenu(); + + // $objDTO = new ItemMenuDTO(); + // $objDTO->setNumIdSistema($numIdSistema); + // $objDTO->setNumIdMenu($numIdMenu); + // $objDTO->setNumIdItemMenuPai($numIdItemMenuMapeamento); + // $objDTO->retTodos(); + + // $arrObjDTO = $objItemMenuDTO->listar($objDTO); + + // if (!empty($arrObjDTO)) { + // $numIdItemMenuPai = $this->criarMenu('Listagem', 0, $numIdItemMenuMapeamento, $numIdMenu, null, $numIdSistema); + // $numIdItemMenuPai = $this->criarMenu('Mapeamento de Tipos de Documento', 10, $numIdItemMenuPai, $numIdMenu, null, $numIdSistema); + + // foreach ($arrObjDTO as $objDTO) { + // $objDTO->setNumIdItemMenuPai($numIdItemMenuPai); + // $objItemMenuDTO->alterar($objDTO); + // } + + // $objItemMenuDTO->excluir($objItemMenuDTO); + // } + // } + + $this->logar('Atribuição de permissões do módulo ao perfil do SEI'); + + // adicionar permissão + $numIdPerfilSeiAdministrador = ScriptSip::obterIdPerfil($numIdSistema, "Administrador"); + $this->criarRecurso('md_pen_tramita_em_bloco', 'Blocos de Trâmite Externo', $numIdSistema); + ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiAdministrador, 'md_pen_tramita_em_bloco'); + + $this->atualizarNumeroVersao("3.4.0"); + } }