From ade78fcf73adf2e7cd21d6e1853db17fd9a09ebe Mon Sep 17 00:00:00 2001 From: Glaydson Rodrigues Date: Wed, 24 May 2023 17:17:01 -0300 Subject: [PATCH 01/33] feat: Criar base para feature de Tramitar em Bloco --- src/PENIntegracao.php | 2 +- src/bd/TramiteEmBlocoBD.php | 14 ++ src/dto/TramiteEmBlocoDTO.php | 135 ++++++++++++++++++ src/rn/TramiteEmBlocoRN.php | 20 +++ .../sei_atualizar_versao_modulo_pen.php | 38 +++++ 5 files changed, 208 insertions(+), 1 deletion(-) create mode 100644 src/bd/TramiteEmBlocoBD.php create mode 100644 src/dto/TramiteEmBlocoDTO.php create mode 100755 src/rn/TramiteEmBlocoRN.php diff --git a/src/PENIntegracao.php b/src/PENIntegracao.php index 1b71c3043..d17bb066c 100755 --- a/src/PENIntegracao.php +++ b/src/PENIntegracao.php @@ -1,7 +1,7 @@ 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/rn/TramiteEmBlocoRN.php b/src/rn/TramiteEmBlocoRN.php new file mode 100755 index 000000000..cdbfcfdd3 --- /dev/null +++ b/src/rn/TramiteEmBlocoRN.php @@ -0,0 +1,20 @@ +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 @@ -2520,6 +2522,42 @@ 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 + + $objInfraBanco = BancoSEI::getInstance(); + $objInfraSequencia = new InfraSequencia($objInfraBanco); + + if (!$objInfraSequencia->verificarSequencia('md_pen_tramita_em_bloco')) { + $objInfraSequencia->criarSequencia('md_pen_tramita_em_bloco', '1', '1', '9999999999'); + } + + $this->atualizarNumeroVersao("3.4.0"); +} } From e8c5b272547b05857cc408ac4aff91105812a1f2 Mon Sep 17 00:00:00 2001 From: Glaydson Rodrigues Date: Wed, 31 May 2023 15:36:57 -0300 Subject: [PATCH 02/33] feat: Adicionar tabela de sequencia nativa --- src/dto/TramiteEmBlocoDTO.php | 2 +- src/rn/TramiteEmBlocoRN.php | 2 +- .../sei_atualizar_versao_modulo_pen.php | 33 +++++++++++-------- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/src/dto/TramiteEmBlocoDTO.php b/src/dto/TramiteEmBlocoDTO.php index 487c73d08..a6074d7ef 100644 --- a/src/dto/TramiteEmBlocoDTO.php +++ b/src/dto/TramiteEmBlocoDTO.php @@ -11,7 +11,7 @@ require_once dirname(__FILE__).'/../SEI.php'; -class BlocoDTO extends InfraDTO { +class TramiteEmBlocoDTO extends InfraDTO { public function getStrNomeTabela() { return 'md_pen_tramita_em_bloco'; diff --git a/src/rn/TramiteEmBlocoRN.php b/src/rn/TramiteEmBlocoRN.php index cdbfcfdd3..d55bbdc2e 100755 --- a/src/rn/TramiteEmBlocoRN.php +++ b/src/rn/TramiteEmBlocoRN.php @@ -7,7 +7,7 @@ * * Tramitar em bloco */ -class TramiteEmBloco extends InfraRN { +class TramiteEmBlocoRN extends InfraRN { /** * Inicializa o obj do banco da Infra diff --git a/src/scripts/sei_atualizar_versao_modulo_pen.php b/src/scripts/sei_atualizar_versao_modulo_pen.php index 8b87bf8b8..2da07d7d1 100755 --- a/src/scripts/sei_atualizar_versao_modulo_pen.php +++ b/src/scripts/sei_atualizar_versao_modulo_pen.php @@ -1658,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(); @@ -2526,7 +2526,7 @@ protected function instalarV3030() { // novo tramite em bloco protected function instalarV3040() { $objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance()); - + $objMetaBD = $this->objMeta; $objMetaBD->criarTabela(array( 'tabela' => 'md_pen_tramita_em_bloco', @@ -2545,21 +2545,26 @@ protected function instalarV3040() { '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 + # Criar sequencia para tramite em bloco - $objInfraBanco = BancoSEI::getInstance(); - $objInfraSequencia = new InfraSequencia($objInfraBanco); + $objInfraSequenciaRN = new InfraSequenciaRN(); + $objInfraSequenciaDTO = new InfraSequenciaDTO(); - if (!$objInfraSequencia->verificarSequencia('md_pen_tramita_em_bloco')) { - $objInfraSequencia->criarSequencia('md_pen_tramita_em_bloco', '1', '1', '9999999999'); - } + //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; - $this->atualizarNumeroVersao("3.4.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(); From b92f3cb89ee284d23e417a18523ed9aae04b42cf Mon Sep 17 00:00:00 2001 From: Mauro Costa Date: Mon, 5 Jun 2023 21:16:10 -0300 Subject: [PATCH 03/33] feat: desenvolvimento --- src/PENIntegracao.php | 4 + src/bd/TramitaEmBlocoProtocoloBD.php | 14 ++ src/dto/TramitaEmBlocoProtocoloDTO.php | 101 ++++++++++ src/pen_tramita_em_bloco_protocolo_listar.php | 176 ++++++++++++++++++ src/rn/TramitaEmBlocoProtocoloRN.php | 55 ++++++ src/rn/TramiteEmBlocoRN.php | 28 ++- .../sei_atualizar_versao_modulo_pen.php | 30 ++- 7 files changed, 401 insertions(+), 7 deletions(-) create mode 100644 src/bd/TramitaEmBlocoProtocoloBD.php create mode 100755 src/dto/TramitaEmBlocoProtocoloDTO.php create mode 100755 src/pen_tramita_em_bloco_protocolo_listar.php create mode 100755 src/rn/TramitaEmBlocoProtocoloRN.php diff --git a/src/PENIntegracao.php b/src/PENIntegracao.php index d17bb066c..1ece1b622 100755 --- a/src/PENIntegracao.php +++ b/src/PENIntegracao.php @@ -478,6 +478,10 @@ public function processarControlador($strAcao) require_once dirname(__FILE__) . '/pen_expedir_lote_listar.php'; break; + case 'pen_tramita_em_bloco_protocolo_listar': + require_once dirname(__FILE__) . '/pen_tramita_em_bloco_protocolo_listar.php'; + break; + default: return false; diff --git a/src/bd/TramitaEmBlocoProtocoloBD.php b/src/bd/TramitaEmBlocoProtocoloBD.php new file mode 100644 index 000000000..cdac83f9c --- /dev/null +++ b/src/bd/TramitaEmBlocoProtocoloBD.php @@ -0,0 +1,14 @@ +adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, + 'Id', + 'id'); + + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_DBL, + 'IdProtocolo', + 'id_protocolo'); + + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, + 'IdTramitaEmBloco', + 'id_tramita_em_bloco'); + + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, + 'Anotacao', + 'anotacao'); + + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, + 'Sequencia', + 'sequencia'); + + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, + 'IdxRelBlocoProtocolo', + 'idx_rel_bloco_protocolo'); + + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_DBL, + 'IdProtocoloProtocolo', + 'p1.id_protocolo', + 'protocolo p1'); + + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, + 'ProtocoloFormatadoProtocolo', + 'p1.protocolo_formatado', + 'protocolo p1'); + + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, + 'StaProtocoloProtocolo', + 'p1.sta_protocolo', + 'protocolo p1'); + + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, + 'StaNivelAcessoGlobalProtocolo', + 'p1.sta_nivel_acesso_global', + 'protocolo p1'); + + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_NUM, + 'IdUnidadeBloco', + 'id_unidade', + 'bloco'); + + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, + 'StaTipoBloco', + 'sta_tipo', + 'bloco'); + + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, + 'StaEstadoBloco', + 'sta_estado', + 'bloco'); + + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_DBL, + 'IdProcedimentoDocumento', + 'id_procedimento', + 'documento'); + + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, + 'ProtocoloProcedimentoFormatado', + 'p2.protocolo_formatado', + 'protocolo p2'); + + /* $this->adicionarAtributo(InfraDTO::$PREFIXO_STR,'SinAberto'); */ + $this->adicionarAtributo(InfraDTO::$PREFIXO_OBJ,'ProtocoloDTO'); + $this->adicionarAtributo(InfraDTO::$PREFIXO_ARR,'ObjAssinaturaDTO'); + $this->adicionarAtributo(InfraDTO::$PREFIXO_STR,'PalavrasPesquisa'); + $this->adicionarAtributo(InfraDTO::$PREFIXO_STR,'SinAberto'); + + + $this->configurarPK('Id', InfraDTO::$TIPO_PK_NATIVA ); + $this->configurarPK('IdProtocolo',InfraDTO::$TIPO_PK_INFORMADO); + $this->configurarPK('IdTramitaEmBloco',InfraDTO::$TIPO_PK_INFORMADO); + + $this->configurarFK('IdProtocolo', 'protocolo p1', 'p1.id_protocolo'); + $this->configurarFK('IdTramitaEmBloco', 'md_pen_tramita_em_bloco', 'id'); + $this->configurarFK('IdProtocoloProtocolo', 'documento', 'id_documento', InfraDTO::$TIPO_FK_OPCIONAL); + $this->configurarFK('IdProcedimentoDocumento', 'protocolo p2', 'p2.id_protocolo'); + } +} +?> \ No newline at end of file diff --git a/src/pen_tramita_em_bloco_protocolo_listar.php b/src/pen_tramita_em_bloco_protocolo_listar.php new file mode 100755 index 000000000..350fb1886 --- /dev/null +++ b/src/pen_tramita_em_bloco_protocolo_listar.php @@ -0,0 +1,176 @@ +validarLink(); + // $objSessaoSEI->validarPermissao($_GET['acao']); + + $staCancelado = ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO; + $staConcluido = ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_COMPONENTES_ENVIADOS_REMETENTE; + $staEmProcessamento = ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_NAO_INICIADO; + + $objPaginaSEI->salvarCamposPost(array('txtProcedimentoFormatado', 'txtNomeUsuario', 'txtUnidadeDestino', 'selAndamento')); + + switch ($_GET['acao']) { + + case 'pen_tramita_em_bloco_protocolo_listar': + $strTitulo = 'Processos Tramitados em Bloco'; + break; + + default: + throw new InfraException("Ação '" . $_GET['acao'] . "' não reconhecida."); + } + + $arrComandos = array(); + $arrComandos[] = ''; + + $objTramitaEmBlocoProtocoloDTO = new TramitaEmBlocoProtocoloDTO(); + $objTramitaEmBlocoProtocoloDTO->retTodos(); + + $objTramitaEmBlocoProtocoloRN = new TramitaEmBlocoProtocoloRN(); + $arrTramitaEmBlocoProtocoloDTO = $objTramitaEmBlocoProtocoloRN->listar($objTramitaEmBlocoProtocoloDTO); + echo "
"; var_dump($arrTramitaEmBlocoProtocoloDTO);
+
+      //$objPaginaSEI->prepararOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Id', InfraDTO::$TIPO_ORDENACAO_ASC);
+      //$objPaginaSEI->prepararPaginacao($objTramitaEmBlocoProtocoloDTO);
+
+      //$objPaginaSEI->processarPaginacao($objTramitaEmBlocoProtocoloRN);
+      $numRegistros = count($arrTramitaEmBlocoProtocoloDTO);
+      if ($numRegistros > 0) {
+          $arrComandos[] = '';
+
+          $strResultado = '';
+          $strSumarioTabela = 'Tabela de Processo em Lote.';
+          $strCaptionTabela = 'Processo em Lote';
+
+          $strResultado .= '' . "\n";
+          $strResultado .= '';
+          $strResultado .= '';
+          $strResultado .= '' . "\n";
+          $strResultado .= '' . "\n";
+          $strResultado .= '' . "\n";
+          $strResultado .= '' . "\n";
+          $strResultado .= '' . "\n";
+          $strResultado .= '' . "\n";
+          $strResultado .= '' . "\n";
+          $strResultado .= '' . "\n";
+          $strCssTr = '';
+        for ($i = 0; $i < $numRegistros; $i++) {
+
+          $strCssTr = ($strCssTr == '') ? '' : '';
+          $strResultado .= $strCssTr;
+
+          $strResultado .= '';
+          $strResultado .= '';
+          $strResultado .= '';
+          $strResultado .= '';
+          $strResultado .= '';
+          $strResultado .= '';
+          $strResultado .= '' . "\n";
+            
+        }
+        $strResultado .= '
' . $objPaginaSEI->gerarCaptionTabela($strCaptionTabela, $numRegistros) . '
' . $objPaginaSEI->getThCheck() . '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'ID Lote', 'IdLote', $arrTramitaEmBlocoProtocoloDTO) . '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Processo', 'ProcedimentoFormatado', $arrTramitaEmBlocoProtocoloDTO) . '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Usuário', 'IdUsuario', $arrTramitaEmBlocoProtocoloDTO) . '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Data do Envio', 'Registro', $arrTramitaEmBlocoProtocoloDTO) . '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Unidade Destino', 'UnidadeDestino', $arrTramitaEmBlocoProtocoloDTO) . '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Situação', 'IdAndamento', $arrTramitaEmBlocoProtocoloDTO) . '
' . $objPaginaSEI->getTrCheck($i, $arrObjPenLoteProcedimentoRN[$i]->getNumIdLote(), $arrObjPenLoteProcedimentoRN[$i]->getNumIdLote()) . '' . $arrObjPenLoteProcedimentoRN[$i]->getNumIdLote() . '' . PaginaSEI::tratarHTML($arrObjPenLoteProcedimentoRN[$i]->getStrProcedimentoFormatado()) . '' . PaginaSEI::tratarHTML($arrObjPenLoteProcedimentoRN[$i]->getStrNomeUsuario()) . '' . PaginaSEI::tratarHTML($arrObjPenLoteProcedimentoRN[$i]->getDthRegistro()) . '' . PaginaSEI::tratarHTML($arrObjPenLoteProcedimentoRN[$i]->getStrUnidadeDestino()) . ''; + + switch ($arrObjPenLoteProcedimentoRN[$i]->getNumIdAndamento()) { + case $staConcluido: + $strResultado .= 'Concluído'; + break; + case $staCancelado: + $strResultado .= 'Cancelado'; + break; + default: + $strResultado .= 'Em processamento'; + break; + } + + $strResultado .= '
'; + } + + $arrComandos[] = ''; + + } catch (Exception $e) { + $objPaginaSEI->processarExcecao($e); + } + + $objPaginaSEI->montarDocType(); + $objPaginaSEI->abrirHtml(); + $objPaginaSEI->abrirHead(); + $objPaginaSEI->montarMeta(); + $objPaginaSEI->montarTitle($objPaginaSEI->getStrNomeSistema() . ' - ' . $strTitulo); + $objPaginaSEI->montarStyle(); + $objPaginaSEI->abrirStyle(); + ?> + +#lblNomeUsuario {position:absolute;left:0%;top:0%;width:20%;} +#txtNomeUsuario {position:absolute;left:0%;top:40%;width:20%;} + +#lblProcedimentoFormatado {position:absolute;left:23%;top:0%;width:20%;} +#txtProcedimentoFormatado {position:absolute;left:23%;top:40%;width:20%;} + +#lblUnidadeDestino {position:absolute;left:46%;top:0%;width:20%;} +#txtUnidadeDestino {position:absolute;left:46%;top:40%;width:25%;} + +#lblAndamento {position:absolute;left:74%;top:0%;width:20%;} +#selAndamento {position:absolute;left:74%;top:40%;width:20%;} + +fecharStyle(); +$objPaginaSEI->montarJavaScript(); +$objPaginaSEI->abrirJavaScript(); +?> + +function inicializar(){ + if (''=='serie_selecionar'){ + infraReceberSelecao(); + document.getElementById('btnFecharSelecao').focus(); + }else{ + document.getElementById('btnFechar').focus(); + } + + infraEfeitoTabelas(); +} + +fecharJavaScript(); +$objPaginaSEI->fecharHead(); +$objPaginaSEI->abrirBody($strTitulo, 'onload="inicializar();"'); +?> +
+ montarBarraComandosSuperior($arrComandos); + $objPaginaSEI->abrirAreaDados('4.5em'); + ?> + + + + + + + + + + + + + + fecharAreaDados(); + $objPaginaSEI->montarAreaTabela($strResultado, $numRegistros); + $objPaginaSEI->montarAreaDebug(); + $objPaginaSEI->montarBarraComandosInferior($arrComandos); + ?> +
+fecharBody(); +$objPaginaSEI->fecharHtml(); +?> diff --git a/src/rn/TramitaEmBlocoProtocoloRN.php b/src/rn/TramitaEmBlocoProtocoloRN.php new file mode 100755 index 000000000..79bf9e102 --- /dev/null +++ b/src/rn/TramitaEmBlocoProtocoloRN.php @@ -0,0 +1,55 @@ +validarAuditarPermissao('pen_expedir_lote', __METHOD__, $objDTO); + + $objTramitaEmBlocoProtocoloBD = new TramitaEmBlocoProtocoloBD($this->getObjInfraIBanco()); + $arrTramitaEmBlocoProtocoloDTO = $objTramitaEmBlocoProtocoloBD->listar($objDTO); + + return $arrTramitaEmBlocoProtocoloDTO; + } catch (\Exception $e) { + throw new InfraException('Falha na listagem de pendências de trâmite de processos em lote.', $e); + } + } + + /** + * Método utilizado para exclusão de dados. + * @param TramitaEmBlocoProtocoloDTO $objDTO + * @return array + * @throws InfraException + */ + protected function excluirControlado(TramitaEmBlocoProtocoloDTO $objDTO) + { + try { + $objBD = new TramitaEmBlocoProtocoloBD(BancoSEI::getInstance()); + return $objBD->excluir($objDTO); + } catch (Exception $e) { + throw new InfraException('Erro excluindo mapeamento de unidades.', $e); + } + } +} diff --git a/src/rn/TramiteEmBlocoRN.php b/src/rn/TramiteEmBlocoRN.php index d55bbdc2e..02c3d8683 100755 --- a/src/rn/TramiteEmBlocoRN.php +++ b/src/rn/TramiteEmBlocoRN.php @@ -1,20 +1,36 @@ excluir($objDTO); + } catch (Exception $e) { + throw new InfraException('Erro excluindo mapeamento de unidades.', $e); + } + } } diff --git a/src/scripts/sei_atualizar_versao_modulo_pen.php b/src/scripts/sei_atualizar_versao_modulo_pen.php index 2da07d7d1..c4d07df0b 100755 --- a/src/scripts/sei_atualizar_versao_modulo_pen.php +++ b/src/scripts/sei_atualizar_versao_modulo_pen.php @@ -2547,7 +2547,7 @@ protected function instalarV3040() { ) )); - # Criar sequencia para tramite em bloco + # Criar sequencia para tramite em bloco $objInfraSequenciaRN = new InfraSequenciaRN(); $objInfraSequenciaDTO = new InfraSequenciaDTO(); @@ -2562,6 +2562,34 @@ protected function instalarV3040() { $arrObjInfraSequenciaDTO = $objInfraSequenciaRN->listar($objInfraSequenciaDTO); $objInfraSequenciaRN->excluir($arrObjInfraSequenciaDTO); + $objMetaBD->criarTabela(array( + 'tabela' => 'md_pen_tramita_em_bloco_protocolo', + 'cols' => array( + 'id' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), + 'id_protocolo' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), + 'id_tramita_em_bloco' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), + 'anotacao' => array($objMetaBD->tipoTextoVariavel(500), PenMetaBD::SNULLO), + 'sequencia' => array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO), + 'idx_rel_bloco_protocolo' => array($objMetaBD->tipoTextoVariavel(4000), PenMetaBD::SNULLO), + ), + 'pk' => array('cols' => array('id')), + 'uk' => array('id_protocolo', 'id_tramita_em_bloco', 'sequencia'), + 'fks' => array( + 'protocolo' => array('nome' => 'fk_tramita_em_bloco_protocolo_protocolo', 'cols' => array('id_protocolo', 'id_protocolo')), + //'md_pen_tramita_em_bloco' => array('nome' => 'fk_tramita_em_bloco_protocolo', 'cols' => array('id', 'id_tramita_em_bloco')), + ) + )); + + //Sequência: md_pen_tramita_em_bloco_protocolo + $rs = BancoSEI::getInstance()->consultarSql('select max(id) as total from md_pen_tramita_em_bloco_protocolo'); + $numMaxId = isset($rs[0]['total']) ? $rs[0]['total'] : 0; + + BancoSEI::getInstance()->criarSequencialNativa('md_pen_seq_tramita_em_bloco_protocolo', $numMaxId + 1); + $objInfraSequenciaDTO->setStrNome('md_pen_tramita_em_bloco_protocolo'); + $objInfraSequenciaDTO->retStrNome(); + $arrObjInfraSequenciaDTO = $objInfraSequenciaRN->listar($objInfraSequenciaDTO); + $objInfraSequenciaRN->excluir($arrObjInfraSequenciaDTO); + $this->atualizarNumeroVersao("3.4.0"); } } From 50a1f3abb71cea9500ae8492df377c7907d92309 Mon Sep 17 00:00:00 2001 From: Glaydson Rodrigues Date: Mon, 5 Jun 2023 10:57:07 -0300 Subject: [PATCH 04/33] =?UTF-8?q?feat:=20Adicionar=20tela=20de=20listagem?= =?UTF-8?q?=20e=20bot=C3=A3o=20no=20Menu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/PENIntegracao.php | 17 +- src/pen_tramite_bloco_listar.php | 425 ++++++++++++++++++ .../sip_atualizar_versao_modulo_pen.php | 77 +++- 3 files changed, 516 insertions(+), 3 deletions(-) create mode 100644 src/pen_tramite_bloco_listar.php diff --git a/src/PENIntegracao.php b/src/PENIntegracao.php index 1ece1b622..762e01960 100755 --- a/src/PENIntegracao.php +++ b/src/PENIntegracao.php @@ -158,6 +158,8 @@ public function montarBotaoProcesso(ProcedimentoAPI $objSeiIntegracaoDTO) $strAcoesProcedimento .= ''; } + $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; case 'pen_tramita_em_bloco_protocolo_listar': require_once dirname(__FILE__) . '/pen_tramita_em_bloco_protocolo_listar.php'; 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/scripts/sip_atualizar_versao_modulo_pen.php b/src/scripts/sip_atualizar_versao_modulo_pen.php index 919766680..804be9220 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: @@ -1811,6 +1813,79 @@ 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'); + + $numIdRecurso = $this->criarRecurso('md_pen_tramita_em_bloco', 'Listar Processos Tramitados em Bloco', $numIdSistema); + ScriptSip::adicionarItemMenu($numIdSistema, $numIdPerfilSeiAdministrador, $numIdMenu, null, $numIdRecurso, "Processos Trâmitados Em Bloco", 55); + + $this->atualizarNumeroVersao("3.4.0"); + } } From 5a1113d48f64c7fc23f6aeb1359a7dd5c93de25e Mon Sep 17 00:00:00 2001 From: Matheus Marques Date: Thu, 1 Jun 2023 17:49:28 -0300 Subject: [PATCH 05/33] =?UTF-8?q?feat:=20Foi=20criada=20a=20tela=20de=20ca?= =?UTF-8?q?dastro=20e=20altera=C3=A7=C3=A3o=20de=20blocos=20da=20funcional?= =?UTF-8?q?idade=20tr=C3=A2mite=20em=20bloco?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/dto/TramiteEmBlocoDTO.php | 8 +- src/pen_tramite_em_bloco_cadastro.php | 197 +++++++++++++++++ src/rn/TramiteEmBlocoRN.php | 294 +++++++++++++++++++++++++- 3 files changed, 493 insertions(+), 6 deletions(-) create mode 100755 src/pen_tramite_em_bloco_cadastro.php diff --git a/src/dto/TramiteEmBlocoDTO.php b/src/dto/TramiteEmBlocoDTO.php index a6074d7ef..b5d867213 100644 --- a/src/dto/TramiteEmBlocoDTO.php +++ b/src/dto/TramiteEmBlocoDTO.php @@ -9,7 +9,7 @@ * Versão no CVS: $Id$ */ -require_once dirname(__FILE__).'/../SEI.php'; +require_once DIR_SEI_WEB.'/SEI.php'; class TramiteEmBlocoDTO extends InfraDTO { @@ -17,6 +17,10 @@ public function getStrNomeTabela() { return 'md_pen_tramita_em_bloco'; } + public function getStrNomeSequenciaNativa() { + return 'md_pen_seq_tramita_em_bloco'; +} + public function montar() { $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, @@ -112,7 +116,7 @@ public function montar() { 'nome', 'usuario'); - // $this->adicionarAtributo(InfraDTO::$PREFIXO_STR,'TipoDescricao'); + $this->adicionarAtributo(InfraDTO::$PREFIXO_STR,'TipoDescricao'); // $this->adicionarAtributo(InfraDTO::$PREFIXO_STR,'StaEstadoDescricao'); // //$this->adicionarAtributo(InfraDTO::$PREFIXO_STR,'SinVazio'); // $this->adicionarAtributo(InfraDTO::$PREFIXO_STR,'PalavrasPesquisa'); 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 index 02c3d8683..7bf291eae 100755 --- a/src/rn/TramiteEmBlocoRN.php +++ b/src/rn/TramiteEmBlocoRN.php @@ -7,14 +7,15 @@ * * Tramitar em bloco */ -class TramiteEmBlocoRN extends InfraRN -{ +class TramiteEmBlocoRN extends InfraRN { + public static $TB_INTERNO = 'I'; + + public static $TE_ABERTO = 'A'; /** * Inicializa o obj do banco da Infra * @return obj */ - protected function inicializarObjInfraIBanco() - { + protected function inicializarObjInfraIBanco(){ return BancoSEI::getInstance(); } @@ -33,4 +34,289 @@ protected function excluirControlado(TramiteEmBlocoDTO $objDTO) throw new InfraException('Erro excluindo mapeamento de unidades.', $e); } } + public function getNumMaxTamanhoDescricao(){ + return 250; + } + + private function validarStrStaTipo(TramiteEmBlocoDTO $objTramiteEmBlocoDTO, InfraException $objInfraException){ + if (InfraString::isBolVazia($objTramiteEmBlocoDTO->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); + } + } } From 2ad68bfd054e355e02efd249385d31199600b8bb Mon Sep 17 00:00:00 2001 From: gledson-sousa Date: Mon, 5 Jun 2023 16:22:16 -0300 Subject: [PATCH 06/33] feat: Menu Tramita.gov.br --- .../sip_atualizar_versao_modulo_pen.php | 106 +++++++++++++++--- 1 file changed, 90 insertions(+), 16 deletions(-) diff --git a/src/scripts/sip_atualizar_versao_modulo_pen.php b/src/scripts/sip_atualizar_versao_modulo_pen.php index 804be9220..65914ca6e 100755 --- a/src/scripts/sip_atualizar_versao_modulo_pen.php +++ b/src/scripts/sip_atualizar_versao_modulo_pen.php @@ -625,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 //---------------------------------------------------------------------- @@ -1181,27 +1206,26 @@ 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'); + $objRecursoDTO->setStrDescricao('Tramita.GOV.BR'); $objRecursoBD->alterar($objRecursoDTO); - } + } $objItemMenuDTO = new ItemMenuDTO(); $objItemMenuDTO->setNumIdItemMenuPai(null); $objItemMenuDTO->setNumIdSistema($numIdSistema); $objItemMenuDTO->setNumIdRecurso($numIdRecurso); - $objItemMenuDTO->setStrRotulo('Processos Trâmitados Externamente'); + $objItemMenuDTO->setStrRotulo('Tramita.GOV.BR'); $objItemMenuDTO->retNumIdMenu(); $objItemMenuDTO->retNumIdItemMenu(); $objItemMenuBD = new ItemMenuBD(BancoSip::getInstance()); $objItemMenuDTO = $objItemMenuBD->consultar($objItemMenuDTO); - if (isset($objItemMenuDTO)) { - $objItemMenuDTO->setStrDescricao('Processos Tramitados Externamente'); - $objItemMenuDTO->setStrRotulo('Processos Tramitados Externamente'); + if (isset($objItemMenuDTO)) { + $objItemMenuDTO->setStrDescricao('Tramita.GOV.BR'); + $objItemMenuDTO->setStrRotulo('Tramita.GOV.BR'); $objItemMenuBD->alterar($objItemMenuDTO); - } - + } $this->atualizarNumeroVersao('1.1.9'); } @@ -1211,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'); } @@ -1477,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"); } @@ -1631,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"); } From 9a4e7f62dd6b56a8b81712340a762f75d62d6fdd Mon Sep 17 00:00:00 2001 From: gledson-sousa Date: Mon, 5 Jun 2023 16:29:20 -0300 Subject: [PATCH 07/33] feat: Menu Tramita.gov.br --- src/scripts/sip_atualizar_versao_modulo_pen.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scripts/sip_atualizar_versao_modulo_pen.php b/src/scripts/sip_atualizar_versao_modulo_pen.php index 65914ca6e..bee430ade 100755 --- a/src/scripts/sip_atualizar_versao_modulo_pen.php +++ b/src/scripts/sip_atualizar_versao_modulo_pen.php @@ -1955,8 +1955,8 @@ protected function instalarV3040() $this->criarRecurso('md_pen_tramita_em_bloco', 'Blocos de Trâmite Externo', $numIdSistema); ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiAdministrador, 'md_pen_tramita_em_bloco'); - $numIdRecurso = $this->criarRecurso('md_pen_tramita_em_bloco', 'Listar Processos Tramitados em Bloco', $numIdSistema); - ScriptSip::adicionarItemMenu($numIdSistema, $numIdPerfilSeiAdministrador, $numIdMenu, null, $numIdRecurso, "Processos Trâmitados Em Bloco", 55); + //$numIdRecurso = $this->criarRecurso('md_pen_tramita_em_bloco', 'Listar Processos Tramitados em Bloco', $numIdSistema); + //ScriptSip::adicionarItemMenu($numIdSistema, $numIdPerfilSeiAdministrador, $numIdMenu, null, $numIdRecurso, "Processos Trâmitados Em Bloco", 55); $this->atualizarNumeroVersao("3.4.0"); } From 969a0729caf4817eef31c68664fda44f5a3f8fe1 Mon Sep 17 00:00:00 2001 From: gledson-sousa Date: Tue, 6 Jun 2023 15:17:33 -0300 Subject: [PATCH 08/33] feat: Novo Menu Tramita.gov.br --- src/scripts/sip_atualizar_versao_modulo_pen.php | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/scripts/sip_atualizar_versao_modulo_pen.php b/src/scripts/sip_atualizar_versao_modulo_pen.php index bee430ade..63dfa41cc 100755 --- a/src/scripts/sip_atualizar_versao_modulo_pen.php +++ b/src/scripts/sip_atualizar_versao_modulo_pen.php @@ -283,7 +283,7 @@ protected function atualizarVersaoConectado() case '3.2.4': $this->instalarV3030(); case '3.4.0': - $this->instalarV3040(); + $this->instalarV3040(); break; // Ausência de [break;] proposital para realizar a atualização incremental de versões default: @@ -1208,7 +1208,7 @@ private function instalarV119() $objRecursoDTO = $objRecursoBD->consultar($objRecursoDTO); if (isset($objRecursoDTO)) { $numIdRecurso = $objRecursoDTO->getNumIdRecurso(); - $objRecursoDTO->setStrDescricao('Tramita.GOV.BR'); + $objRecursoDTO->setStrDescricao('Processos Tramitados Externamente'); $objRecursoBD->alterar($objRecursoDTO); } @@ -1216,14 +1216,14 @@ private function instalarV119() $objItemMenuDTO->setNumIdItemMenuPai(null); $objItemMenuDTO->setNumIdSistema($numIdSistema); $objItemMenuDTO->setNumIdRecurso($numIdRecurso); - $objItemMenuDTO->setStrRotulo('Tramita.GOV.BR'); + $objItemMenuDTO->setStrRotulo('Processos Trâmitados Externamente'); $objItemMenuDTO->retNumIdMenu(); $objItemMenuDTO->retNumIdItemMenu(); $objItemMenuBD = new ItemMenuBD(BancoSip::getInstance()); $objItemMenuDTO = $objItemMenuBD->consultar($objItemMenuDTO); if (isset($objItemMenuDTO)) { - $objItemMenuDTO->setStrDescricao('Tramita.GOV.BR'); - $objItemMenuDTO->setStrRotulo('Tramita.GOV.BR'); + $objItemMenuDTO->setStrDescricao('Processos Tramitados Externamente'); + $objItemMenuDTO->setStrRotulo('Processos Tramitados Externamente'); $objItemMenuBD->alterar($objItemMenuDTO); } @@ -1955,9 +1955,6 @@ protected function instalarV3040() $this->criarRecurso('md_pen_tramita_em_bloco', 'Blocos de Trâmite Externo', $numIdSistema); ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiAdministrador, 'md_pen_tramita_em_bloco'); - //$numIdRecurso = $this->criarRecurso('md_pen_tramita_em_bloco', 'Listar Processos Tramitados em Bloco', $numIdSistema); - //ScriptSip::adicionarItemMenu($numIdSistema, $numIdPerfilSeiAdministrador, $numIdMenu, null, $numIdRecurso, "Processos Trâmitados Em Bloco", 55); - $this->atualizarNumeroVersao("3.4.0"); } } From 4d58871f9d7b24affa0d3552df4f402db8c06297 Mon Sep 17 00:00:00 2001 From: gledson-sousa Date: Tue, 6 Jun 2023 16:26:23 -0300 Subject: [PATCH 09/33] feat: Novo Menu Tramita.gov.br --- src/scripts/sip_atualizar_versao_modulo_pen.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/scripts/sip_atualizar_versao_modulo_pen.php b/src/scripts/sip_atualizar_versao_modulo_pen.php index 63dfa41cc..7a2a284b4 100755 --- a/src/scripts/sip_atualizar_versao_modulo_pen.php +++ b/src/scripts/sip_atualizar_versao_modulo_pen.php @@ -1235,6 +1235,7 @@ private function instalarV119() */ private function instalarV1110() { + $objItemMenuBD = new ItemMenuBD(BancoSip::getInstance()); $numIdSistema = $this->getNumIdSistema('SEI'); From def57b1271f45eae65d1a0c33b658b6cd87d8d49 Mon Sep 17 00:00:00 2001 From: gledson-sousa Date: Tue, 6 Jun 2023 16:59:09 -0300 Subject: [PATCH 10/33] feat: Ajuste Menu Tramita.gov.br --- .../sip_atualizar_versao_modulo_pen.php | 198 +++++++++++++++++- 1 file changed, 197 insertions(+), 1 deletion(-) diff --git a/src/scripts/sip_atualizar_versao_modulo_pen.php b/src/scripts/sip_atualizar_versao_modulo_pen.php index 7a2a284b4..a9b986731 100755 --- a/src/scripts/sip_atualizar_versao_modulo_pen.php +++ b/src/scripts/sip_atualizar_versao_modulo_pen.php @@ -1,5 +1,6 @@ getValor(self::PARAMETRO_VERSAO_MODULO, false) ?: $objInfraParametro->getValor(self::PARAMETRO_VERSAO_MODULO_ANTIGO, false); switch ($strVersaoModuloPen) { //case '' - Nenhuma versão instalada + //case '' - Nenhuma versão instalada case '': case '0.0.0': $this->instalarV100(); @@ -136,6 +143,13 @@ protected function atualizarVersaoConectado() case '1.1.5': //Não houve atualização no banco de dados case '1.1.6': //Não houve atualização no banco de dados case '1.1.7': //Não houve atualização no banco de dados + case '1.1.1': //Não houve atualização no banco de dados + case '1.1.2': //Não houve atualização no banco de dados + case '1.1.3': //Não houve atualização no banco de dados + case '1.1.4': //Não houve atualização no banco de dados + case '1.1.5': //Não houve atualização no banco de dados + case '1.1.6': //Não houve atualização no banco de dados + case '1.1.7': //Não houve atualização no banco de dados case '1.1.8': $this->instalarV119(); case '1.1.9': @@ -190,6 +204,10 @@ protected function atualizarVersaoConectado() case '1.5.4'; // Faixa de possíveis versões da release 1.5.x de retrocompatibilidade case '1.5.5'; // Faixa de possíveis versões da release 1.5.x de retrocompatibilidade case '1.5.6'; // Faixa de possíveis versões da release 1.5.x de retrocompatibilidade + case '1.5.3'; // Faixa de possíveis versões da release 1.5.x de retrocompatibilidade + case '1.5.4'; // Faixa de possíveis versões da release 1.5.x de retrocompatibilidade + case '1.5.5'; // Faixa de possíveis versões da release 1.5.x de retrocompatibilidade + case '1.5.6'; // Faixa de possíveis versões da release 1.5.x de retrocompatibilidade case '1.5.7': $this->instalarV2000_beta1(); case '2.0.0-beta1': @@ -286,7 +304,9 @@ protected function atualizarVersaoConectado() $this->instalarV3040(); break; // Ausência de [break;] proposital para realizar a atualização incremental de versões + break; // Ausência de [break;] proposital para realizar a atualização incremental de versões default: + $this->finalizar('VERSAO DO MÓDULO JÁ CONSTA COMO ATUALIZADA'); $this->finalizar('VERSAO DO MÓDULO JÁ CONSTA COMO ATUALIZADA'); return; } @@ -305,6 +325,7 @@ protected function atualizarVersaoConectado() /** + * Finaliza o script informando o tempo de execução. * Finaliza o script informando o tempo de execução. * * @return null @@ -329,6 +350,7 @@ protected function finalizar($strMsg = null, $bolErro = false) } /** + * Adiciona uma mensagem ao output para o usuário * Adiciona uma mensagem ao output para o usuário * * @return null @@ -360,6 +382,7 @@ protected function getNumIdSistema($strSigla = 'SIP') /** * * @return int Código do Menu + * @return int Código do Menu */ protected function getNumIdMenu($strMenu = 'Principal', $numIdSistema = 0) { @@ -375,6 +398,7 @@ protected function getNumIdMenu($strMenu = 'Principal', $numIdSistema = 0) if (empty($objDTO)) { throw new InfraException('Menu ' . $strMenu . ' não encontrado.'); + throw new InfraException('Menu ' . $strMenu . ' não encontrado.'); } return $objDTO->getNumIdMenu(); @@ -383,6 +407,7 @@ protected function getNumIdMenu($strMenu = 'Principal', $numIdSistema = 0) /** * Cria novo recurso no SIP * @return int Código do Recurso gerado + * @return int Código do Recurso gerado */ protected function criarRecurso($strNome, $strDescricao, $numIdSistema) { @@ -447,6 +472,7 @@ protected function consultarRecurso($numIdSistema, $strNomeRecurso) if ($objRecursoDTO == null) { throw new InfraException("Recurso com nome {$strNomeRecurso} não pode ser localizado."); + throw new InfraException("Recurso com nome {$strNomeRecurso} não pode ser localizado."); } return $objRecursoDTO->getNumIdRecurso(); @@ -495,6 +521,7 @@ protected function criarMenu($strRotulo, $numSequencia, $numIdItemMenuPai, $numI } + //TODO: Necessário refatorar método abaixo devido a baixa qualidade da codificação //TODO: Necessário refatorar método abaixo devido a baixa qualidade da codificação public function addRecursosToPerfil($numIdPerfil, $numIdSistema) { @@ -518,6 +545,7 @@ public function addRecursosToPerfil($numIdPerfil, $numIdSistema) } //TODO: Necessário refatorar método abaixo devido a baixa qualidade da codificação + //TODO: Necessário refatorar método abaixo devido a baixa qualidade da codificação public function addMenusToPerfil($numIdPerfil, $numIdSistema) { @@ -549,6 +577,7 @@ public function atribuirPerfil($numIdSistema) $objBD = new PerfilBD(BancoSip::getInstance()); $objRN = $this; + // Vincula a um perfil os recursos e menus adicionados nos métodos criarMenu e criarReturso // Vincula a um perfil os recursos e menus adicionados nos métodos criarMenu e criarReturso $fnCadastrar = function ($strNome, $numIdSistema) use ($objDTO, $objBD, $objRN) { @@ -571,6 +600,7 @@ public function atribuirPerfil($numIdSistema) /** + * Atualiza o número de versão do módulo nas tabelas de parâmetro do sistema * Atualiza o número de versão do módulo nas tabelas de parâmetro do sistema * * @param string $parStrNumeroVersao @@ -590,10 +620,13 @@ private function atualizarNumeroVersao($parStrNumeroVersao) } /** + * Obtém id do item de menu, baseado no sistema, rótulo e id do item superior * Obtém id do item de menu, baseado no sistema, rótulo e id do item superior * * A mesma função disponibilizada pelas classe ScriptSip, não existe a possibilidade de filtra a pesquisa * pelo id do item superior, o que pode gerar conflito entre diferentes módulos. + * A mesma função disponibilizada pelas classe ScriptSip, não existe a possibilidade de filtra a pesquisa + * pelo id do item superior, o que pode gerar conflito entre diferentes módulos. */ public function obterIdItemMenu($numIdSistema, $numIdMenu, $numIdMenuPai, $strRotulo) { @@ -609,6 +642,7 @@ public function obterIdItemMenu($numIdSistema, $numIdMenu, $numIdMenuPai, $strRo $objItemMenuDTO = $objItemMenuRN->consultar($objItemMenuDTO); if ($objItemMenuDTO == null) { throw new InfraException('Item de menu ' . $strRotulo . ' não encontrado.'); + throw new InfraException('Item de menu ' . $strRotulo . ' não encontrado.'); } return $objItemMenuDTO->getNumIdItemMenu(); @@ -618,6 +652,7 @@ public function obterIdItemMenu($numIdSistema, $numIdMenu, $numIdMenuPai, $strRo } /** + * Instala/Atualiza os módulo PEN para versão 1.0 * Instala/Atualiza os módulo PEN para versão 1.0 */ private function instalarV100() @@ -645,6 +680,7 @@ private function instalarV100() $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 //Atribui as permissões aos recursos e menus $this->atribuirPerfil($numIdSistema); @@ -656,11 +692,14 @@ private function instalarV100() $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 //---------------------------------------------------------------------- $this->criarRecurso('pen_map_tipo_documento_envio_visualizar', 'Visualização de mapeamento de documentos enviados', $numIdSistema); + $this->criarRecurso('pen_map_tipo_documento_envio_visualizar', 'Visualização de mapeamento de documentos enviados', $numIdSistema); // Acha o menu existente de Tipos de Documento $objItemMenuDTO = new ItemMenuDTO(); @@ -675,6 +714,7 @@ private function instalarV100() if (empty($objItemMenuDTO)) { throw new InfraException('Menu "Tipo de Documentos" não foi localizado'); + throw new InfraException('Menu "Tipo de Documentos" não foi localizado'); } $numIdItemMenuPai = $objItemMenuDTO->getNumIdItemMenu(); @@ -704,9 +744,11 @@ private function instalarV100() $numIdRecurso = $this->criarRecurso('pen_map_tipo_documento_recebimento_listar', 'Listagem de mapeamento de documentos recebidos', $numIdSistema); $this->criarMenu('Listar', 20, $numIdItemMenuPai, $numIdMenu, $numIdRecurso, $numIdSistema); + //Atribui as permissões aos recursos e menus //Atribui as permissões aos recursos e menus $this->atribuirPerfil($numIdSistema); + // ---------- antigo método (instalarV003R003S003IW001) ---------- // // ---------- antigo método (instalarV003R003S003IW001) ---------- // $objBD = new ItemMenuBD(BancoSip::getInstance()); @@ -718,6 +760,7 @@ private function instalarV100() $objDTO->setNumIdSistema($numIdSistema); $objDTO->setNumIdMenu($numIdMenu); $objDTO->setStrRotulo('Administração'); + $objDTO->setStrRotulo('Administração'); $objDTO->setNumMaxRegistrosRetorno(1); $objDTO->retNumIdItemMenu(); @@ -725,6 +768,7 @@ private function instalarV100() if (empty($objDTO)) { throw new InfraException('Menu "Administração" não foi localizado'); + throw new InfraException('Menu "Administração" não foi localizado'); } $numIdItemMenuRoot = $objDTO->getNumIdItemMenu(); @@ -753,6 +797,7 @@ private function instalarV100() $arrObjDTO = $objBD->listar($objDTO); if (!empty($arrObjDTO)) { + $numIdItemMenuPai = $this->criarMenu('Processo Eletrônico Nacional', 0, $numIdItemMenuRoot, $numIdMenu, null, $numIdSistema); $numIdItemMenuPai = $this->criarMenu('Processo Eletrônico Nacional', 0, $numIdItemMenuRoot, $numIdMenu, null, $numIdSistema); $numIdItemMenuPai = $this->criarMenu('Mapeamento de Tipos de Documento', 10, $numIdItemMenuPai, $numIdMenu, null, $numIdSistema); @@ -769,10 +814,12 @@ private function instalarV100() } /** + * Instala/Atualiza os módulo PEN para versão 1.0.1 * Instala/Atualiza os módulo PEN para versão 1.0.1 */ private function instalarV101() { + // ---------- antigo método (instalarV006R004S001US039) ---------- // // ---------- antigo método (instalarV006R004S001US039) ---------- // $objItemMenuBD = new ItemMenuBD(BancoSip::getInstance()); @@ -783,6 +830,7 @@ private function instalarV101() $objItemMenuDTO->setNumIdSistema($numIdSistema); $objItemMenuDTO->setNumIdMenu($numIdMenu); $objItemMenuDTO->setStrRotulo('Processo Eletrônico Nacional'); + $objItemMenuDTO->setStrRotulo('Processo Eletrônico Nacional'); $objItemMenuDTO->setNumMaxRegistrosRetorno(1); $objItemMenuDTO->retNumIdItemMenu(); @@ -790,19 +838,29 @@ private function instalarV101() if (empty($objItemMenuDTO)) { throw new InfraException('Menu "Processo Eletrônico Nacional" não foi localizado'); + throw new InfraException('Menu "Processo Eletrônico Nacional" não foi localizado'); } // Administrao > Mapeamento de Hipóteses Legais de Envio $numIdItemMenu = $this->criarMenu('Mapeamento de Hipóteses Legais', 20, $objItemMenuDTO->getNumIdItemMenu(), $numIdMenu, null, $numIdSistema); + // Administrao > Mapeamento de Hipóteses Legais de Envio + $numIdItemMenu = $this->criarMenu('Mapeamento de Hipóteses Legais', 20, $objItemMenuDTO->getNumIdItemMenu(), $numIdMenu, null, $numIdSistema); + // Administrao > Mapeamento de Hipóteses Legais de Envio > Envio // Administrao > Mapeamento de Hipóteses Legais de Envio > Envio $numIdItemMenu = $this->criarMenu('Envio', 10, $numIdItemMenu, $numIdMenu, null, $numIdSistema); + // Administrao > Mapeamento de Hipóteses Legais de Envio > Envio > Cadastrar + $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_enviado_alterar', 'Alterar de mapeamento de Hipóteses Legais de Envio', $numIdSistema); + $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_enviado_cadastrar', 'Cadastro de mapeamento de Hipóteses Legais de Envio', $numIdSistema); // Administrao > Mapeamento de Hipóteses Legais de Envio > Envio > Cadastrar $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_enviado_alterar', 'Alterar de mapeamento de Hipóteses Legais de Envio', $numIdSistema); $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_enviado_cadastrar', 'Cadastro de mapeamento de Hipóteses Legais de Envio', $numIdSistema); $this->criarMenu('Cadastrar', 10, $numIdItemMenu, $numIdMenu, $numIdRecurso, $numIdSistema); + // Administrao > Mapeamento de Hipóteses Legais de Envio > Envio > Listar + $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_enviado_excluir', 'Excluir mapeamento de Hipóteses Legais de Envio', $numIdSistema); + $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_enviado_listar', 'Listagem de mapeamento de Hipóteses Legais de Envio', $numIdSistema); // Administrao > Mapeamento de Hipóteses Legais de Envio > Envio > Listar $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_enviado_excluir', 'Excluir mapeamento de Hipóteses Legais de Envio', $numIdSistema); $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_enviado_listar', 'Listagem de mapeamento de Hipóteses Legais de Envio', $numIdSistema); @@ -812,6 +870,7 @@ private function instalarV101() $this->atribuirPerfil($numIdSistema); + // ---------- antigo método (instalarV006R004S001US040) ---------- // // ---------- antigo método (instalarV006R004S001US040) ---------- // $objBD = new ItemMenuBD(BancoSip::getInstance()); @@ -825,6 +884,7 @@ private function instalarV101() $objDTO->setNumIdSistema($numIdSistema); $objDTO->setNumIdMenu($numIdMenu); $objDTO->setStrRotulo('Mapeamento de Hipóteses Legais'); + $objDTO->setStrRotulo('Mapeamento de Hipóteses Legais'); $objDTO->setNumMaxRegistrosRetorno(1); $objDTO->retNumIdItemMenu(); @@ -832,16 +892,24 @@ private function instalarV101() if (empty($objDTO)) { throw new InfraException('Menu "Processo Eletrônico Nacional" não foi localizado'); + throw new InfraException('Menu "Processo Eletrônico Nacional" não foi localizado'); } + // Administrao > Mapeamento de Hipóteses Legais de Envio > Envio // Administrao > Mapeamento de Hipóteses Legais de Envio > Envio $numIdItemMenu = $this->criarMenu('Recebimento', 20, $objDTO->getNumIdItemMenu(), $numIdMenu, null, $numIdSistema); + // Administrao > Mapeamento de Hipóteses Legais de Envio > Envio > Cadastrar + $this->criarRecurso('pen_map_hipotese_legal_recebido_alterar', 'Alteração de mapeamento de Hipóteses Legais de Recebimento', $numIdSistema); + $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_recebido_cadastrar', 'Cadastro de mapeamento de Hipóteses Legais de Recebimento', $numIdSistema); // Administrao > Mapeamento de Hipóteses Legais de Envio > Envio > Cadastrar $this->criarRecurso('pen_map_hipotese_legal_recebido_alterar', 'Alteração de mapeamento de Hipóteses Legais de Recebimento', $numIdSistema); $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_recebido_cadastrar', 'Cadastro de mapeamento de Hipóteses Legais de Recebimento', $numIdSistema); $this->criarMenu('Cadastrar', 10, $numIdItemMenu, $numIdMenu, $numIdRecurso, $numIdSistema); + // Administrao > Mapeamento de Hipóteses Legais de Envio > Envio > Listar + $this->criarRecurso('pen_map_hipotese_legal_recebido_excluir', 'Exclusão de mapeamento de Hipóteses Legais de Recebimento', $numIdSistema); + $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_recebido_listar', 'Listagem de mapeamento de Hipóteses Legais de Recebimento', $numIdSistema); // Administrao > Mapeamento de Hipóteses Legais de Envio > Envio > Listar $this->criarRecurso('pen_map_hipotese_legal_recebido_excluir', 'Exclusão de mapeamento de Hipóteses Legais de Recebimento', $numIdSistema); $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_recebido_listar', 'Listagem de mapeamento de Hipóteses Legais de Recebimento', $numIdSistema); @@ -850,6 +918,7 @@ private function instalarV101() //Atribui as permisses aos recursos e menus $this->atribuirPerfil($numIdSistema); + // ---------- antigo método (instalarV006R004S001US043) ---------- // // ---------- antigo método (instalarV006R004S001US043) ---------- // $objBD = new ItemMenuBD(BancoSip::getInstance()); @@ -860,6 +929,7 @@ private function instalarV101() $objDTO->setNumIdSistema($numIdSistema); $objDTO->setNumIdMenu($numIdMenu); $objDTO->setStrRotulo('Mapeamento de Hipóteses Legais'); + $objDTO->setStrRotulo('Mapeamento de Hipóteses Legais'); $objDTO->setNumMaxRegistrosRetorno(1); $objDTO->retNumIdItemMenu(); @@ -867,10 +937,14 @@ private function instalarV101() if (empty($objDTO)) { throw new InfraException('Menu "Processo Eletrônico Nacional" não foi localizado'); + throw new InfraException('Menu "Processo Eletrônico Nacional" não foi localizado'); } $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_padrao_cadastrar', 'Acesso ao formulário de cadastro de mapeamento de Hipóteses Legais Padrão', $numIdSistema); + $numIdRecurso = $this->criarRecurso('pen_map_hipotese_legal_padrao_cadastrar', 'Acesso ao formulário de cadastro de mapeamento de Hipóteses Legais Padrão', $numIdSistema); + $this->criarMenu('Hipótese de Restrição Padrão', 30, $objDTO->getNumIdItemMenu(), $numIdMenu, $numIdRecurso, $numIdSistema); + $this->criarRecurso('pen_map_hipotese_legal_padrao', 'Método Cadastrar Padrão da RN de mapeamento de Hipóteses Legais', $numIdSistema); $this->criarMenu('Hipótese de Restrição Padrão', 30, $objDTO->getNumIdItemMenu(), $numIdMenu, $numIdRecurso, $numIdSistema); $this->criarRecurso('pen_map_hipotese_legal_padrao', 'Método Cadastrar Padrão da RN de mapeamento de Hipóteses Legais', $numIdSistema); $this->atribuirPerfil($numIdSistema); @@ -879,6 +953,7 @@ private function instalarV101() } /** + * Instala/Atualiza os módulo PEN para versão 1.0.2 * Instala/Atualiza os módulo PEN para versão 1.0.2 */ private function instalarV102() @@ -895,6 +970,7 @@ private function instalarV102() $objDTO->setNumIdSistema($numIdSistema); $objDTO->setNumIdMenu($numIdMenu); $objDTO->setStrRotulo('Processo Eletrônico Nacional'); + $objDTO->setStrRotulo('Processo Eletrônico Nacional'); $objDTO->setNumMaxRegistrosRetorno(1); $objDTO->retNumIdItemMenu(); @@ -902,20 +978,29 @@ private function instalarV102() if (empty($objDTO)) { throw new InfraException('Menu "Processo Eletrônico Nacional" não foi localizado'); + throw new InfraException('Menu "Processo Eletrônico Nacional" não foi localizado'); } + // Administrao > Mapeamento de Hipóteses Legais de Envio > Envio // Administrao > Mapeamento de Hipóteses Legais de Envio > Envio $numIdItemMenu = $this->criarMenu('Mapeamento de Unidades', 20, $objDTO->getNumIdItemMenu(), $numIdMenu, null, $numIdSistema); + // Cadastro do menu de administração parâmetros + $numIdRecurso = $this->criarRecurso('pen_parametros_configuracao', 'Parametros de Configuração', $numIdSistema); + $this->criarMenu('Parâmetros de Configuração', 20, $objDTO->getNumIdItemMenu(), $numIdMenu, $numIdRecurso, $numIdSistema); // Cadastro do menu de administração parâmetros $numIdRecurso = $this->criarRecurso('pen_parametros_configuracao', 'Parametros de Configuração', $numIdSistema); $this->criarMenu('Parâmetros de Configuração', 20, $objDTO->getNumIdItemMenu(), $numIdMenu, $numIdRecurso, $numIdSistema); + // Administrao > Mapeamento de Hipóteses Legais de Envio > Envio > Cadastrar + $this->criarRecurso('pen_map_unidade_alterar', 'Alteração de mapeamento de Unidades', $numIdSistema); // Administrao > Mapeamento de Hipóteses Legais de Envio > Envio > Cadastrar $this->criarRecurso('pen_map_unidade_alterar', 'Alteração de mapeamento de Unidades', $numIdSistema); $numIdRecurso = $this->criarRecurso('pen_map_unidade_cadastrar', 'Cadastro de mapeamento de Unidades', $numIdSistema); $this->criarMenu('Cadastrar', 10, $numIdItemMenu, $numIdMenu, $numIdRecurso, $numIdSistema); + // Administrao > Mapeamento de Hipóteses Legais de Envio > Envio > Listar + $this->criarRecurso('pen_map_unidade_excluir', 'Exclusão de mapeamento de Unidades', $numIdSistema); // Administrao > Mapeamento de Hipóteses Legais de Envio > Envio > Listar $this->criarRecurso('pen_map_unidade_excluir', 'Exclusão de mapeamento de Unidades', $numIdSistema); $numIdRecurso = $this->criarRecurso('pen_map_unidade_listar', 'Listagem de mapeamento de Unidades', $numIdSistema); @@ -929,6 +1014,7 @@ private function instalarV102() } /** + * Instala/Atualiza os módulo PEN para versão 1.0.3 * Instala/Atualiza os módulo PEN para versão 1.0.3 */ private function instalarV103() @@ -944,6 +1030,7 @@ private function instalarV103() $objBD = new ItemMenuBD($this->getObjInfraIBanco()); $objDTO = $objBD->consultar($objDTO); if ($objDTO) { + $objDTO->setStrRotulo('Hipótese de Restrição Padrão'); $objDTO->setStrRotulo('Hipótese de Restrição Padrão'); $objBD->alterar($objDTO); } @@ -1054,11 +1141,14 @@ private function instalarV103() //Cadastrar recurso de alteração dos parâmetros $this->criarRecurso('pen_parametros_configuracao_alterar', 'Alteração de parametros de configuração do módulo PEN', $numIdSistema); + //Cadastrar recurso de alteração dos parâmetros + $this->criarRecurso('pen_parametros_configuracao_alterar', 'Alteração de parametros de configuração do módulo PEN', $numIdSistema); $this->atualizarNumeroVersao('1.0.3'); } /** + * Instala/Atualiza os módulo PEN para versão 1.0.4 * Instala/Atualiza os módulo PEN para versão 1.0.4 */ private function instalarV104() @@ -1068,11 +1158,16 @@ private function instalarV104() //Cadastrar recurso Mapeamento dos Tipo de documentos enviados $this->criarRecurso('pen_map_tipo_documento_envio_alterar', 'Alteração de mapeamento de documentos enviados', $numIdSistema); $this->criarRecurso('pen_map_tipo_documento_envio_excluir', 'Exclusão de mapeamento de documentos enviados', $numIdSistema); + $this->criarRecurso('pen_map_tipo_documento_envio_alterar', 'Alteração de mapeamento de documentos enviados', $numIdSistema); + $this->criarRecurso('pen_map_tipo_documento_envio_excluir', 'Exclusão de mapeamento de documentos enviados', $numIdSistema); //Cadastrar recurso Mapeamento dos Tipo de documentos recebido $this->criarRecurso('pen_map_tipo_documento_recebimento_alterar', 'Alteração de mapeamento de documentos recebimento', $numIdSistema); $this->criarRecurso('pen_map_tipo_documento_recebimento_excluir', 'Exclusão de mapeamento de documentos recebimento', $numIdSistema); $this->criarRecurso('pen_map_tipo_documento_recebimento_visualizar', 'Visualização de mapeamento de documentos recebimento', $numIdSistema); + $this->criarRecurso('pen_map_tipo_documento_recebimento_alterar', 'Alteração de mapeamento de documentos recebimento', $numIdSistema); + $this->criarRecurso('pen_map_tipo_documento_recebimento_excluir', 'Exclusão de mapeamento de documentos recebimento', $numIdSistema); + $this->criarRecurso('pen_map_tipo_documento_recebimento_visualizar', 'Visualização de mapeamento de documentos recebimento', $numIdSistema); //Alterar nomeclatura do recurso (recebido) $objDTO = new RecursoDTO(); @@ -1138,18 +1233,22 @@ private function instalarV104() } /** + * Instala/Atualiza os módulo PEN para versão 1.1.1 * Instala/Atualiza os módulo PEN para versão 1.1.1 */ private function instalarV111() { $numIdSistema = $this->getNumIdSistema('SEI'); + //Ajuste em nome da variável de versão do módulo VERSAO_MODULO_PEN //Ajuste em nome da variável de versão do módulo VERSAO_MODULO_PEN BancoSIP::getInstance()->executarSql("update infra_parametro set nome = '" . self::PARAMETRO_VERSAO_MODULO . "' where nome = '" . self::PARAMETRO_VERSAO_MODULO_ANTIGO . "'"); + //Adequação em nome de recursos do módulo //Adequação em nome de recursos do módulo $this->renomearRecurso($numIdSistema, 'apensados_selecionar_expedir_procedimento', 'pen_apensados_selecionar_expedir_procedimento'); + //Atualização com recursos não adicionados automaticamente em versões anteriores //Atualização com recursos não adicionados automaticamente em versões anteriores $this->arrRecurso = array_merge($this->arrRecurso, array( $this->consultarRecurso($numIdSistema, "pen_map_tipo_documento_envio_alterar"), @@ -1170,6 +1269,7 @@ private function instalarV111() $objPerfilDTO = $objPerfilRN->consultar($objPerfilDTO); if ($objPerfilDTO == null) { throw new InfraException('Perfil Administrador do sistema SEI não encontrado.'); + throw new InfraException('Perfil Administrador do sistema SEI não encontrado.'); } $numIdPerfilSeiAdministrador = $objPerfilDTO->getNumIdPerfil(); @@ -1191,10 +1291,12 @@ private function instalarV111() /** + * Instala/Atualiza os módulo PEN para versão 1.1.9 * Instala/Atualiza os módulo PEN para versão 1.1.9 */ private function instalarV119() { + /* Corrige nome de menu de trâmite de documentos */ /* Corrige nome de menu de trâmite de documentos */ $numIdSistema = $this->getNumIdSistema('SEI'); $numIdMenuPai = $this->getNumIdMenu('Principal', $numIdSistema); @@ -1217,6 +1319,7 @@ private function instalarV119() $objItemMenuDTO->setNumIdSistema($numIdSistema); $objItemMenuDTO->setNumIdRecurso($numIdRecurso); $objItemMenuDTO->setStrRotulo('Processos Trâmitados Externamente'); + $objItemMenuDTO->setStrRotulo('Processos Trâmitados Externamente'); $objItemMenuDTO->retNumIdMenu(); $objItemMenuDTO->retNumIdItemMenu(); $objItemMenuBD = new ItemMenuBD(BancoSip::getInstance()); @@ -1231,6 +1334,7 @@ private function instalarV119() } /** + * Instala/Atualiza os módulo PEN para versão 1.1.10 * Instala/Atualiza os módulo PEN para versão 1.1.10 */ private function instalarV1110() @@ -1253,8 +1357,10 @@ private function instalarV1110() if (empty($objItemMenuDTO)) { throw new InfraException('Menu "Tramita.GOV.BR" não foi localizado'); + throw new InfraException('Menu "Tramita.GOV.BR" não foi localizado'); } + // ---------- antigo método (instalarV006R004S001US043) ---------- // // ---------- antigo método (instalarV006R004S001US043) ---------- // $objBD = new ItemMenuBD(BancoSip::getInstance()); @@ -1271,11 +1377,12 @@ private function instalarV1110() $objDTO = $objBD->consultar($objDTO); if (empty($objDTO)) { throw new InfraException('Menu "Tramita.GOV.BR" não foi localizado'); + 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); + $numIdRecurso = $this->criarRecurso('md_pen_tramita_em_bloco', '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); @@ -1290,6 +1397,7 @@ private function instalarV1110() } /** + * Instala/Atualiza os módulo PEN para versão 1.1.11 * Instala/Atualiza os módulo PEN para versão 1.1.11 */ private function instalarV1111() @@ -1298,6 +1406,7 @@ private function instalarV1111() } /** + * Instala/Atualiza os módulo PEN para versão 1.1.12 * Instala/Atualiza os módulo PEN para versão 1.1.12 */ private function instalarV1112() @@ -1306,6 +1415,7 @@ private function instalarV1112() } /** + * Instala/Atualiza os módulo PEN para versão 1.1.13 * Instala/Atualiza os módulo PEN para versão 1.1.13 */ private function instalarV1113() @@ -1314,6 +1424,7 @@ private function instalarV1113() } /** + * Instala/Atualiza os módulo PEN para versão 1.1.14 * Instala/Atualiza os módulo PEN para versão 1.1.14 */ private function instalarV1114() @@ -1322,6 +1433,7 @@ private function instalarV1114() } /** + * Instala/Atualiza os módulo PEN para versão 1.1.15 * Instala/Atualiza os módulo PEN para versão 1.1.15 */ private function instalarV1115() @@ -1330,6 +1442,7 @@ private function instalarV1115() } /** + * Instala/Atualiza os módulo PEN para versão 1.1.16 * Instala/Atualiza os módulo PEN para versão 1.1.16 */ private function instalarV1116() @@ -1338,6 +1451,7 @@ private function instalarV1116() } /** + * Instala/Atualiza os módulo PEN para versão 1.1.17 * Instala/Atualiza os módulo PEN para versão 1.1.17 */ private function instalarV1117() @@ -1346,6 +1460,7 @@ private function instalarV1117() } /** + * Instala/Atualiza os módulo PEN para versão 1.2.0 * Instala/Atualiza os módulo PEN para versão 1.2.0 */ private function instalarV1200() @@ -1354,6 +1469,7 @@ private function instalarV1200() } /** + * Instala/Atualiza os módulo PEN para versão 1.2.1 * Instala/Atualiza os módulo PEN para versão 1.2.1 */ private function instalarV1201() @@ -1362,6 +1478,7 @@ private function instalarV1201() } /** + * Instala/Atualiza os módulo PEN para versão 1.2.2 * Instala/Atualiza os módulo PEN para versão 1.2.2 */ private function instalarV1202() @@ -1370,6 +1487,7 @@ private function instalarV1202() } /** + * Instala/Atualiza os módulo PEN para versão 1.2.3 * Instala/Atualiza os módulo PEN para versão 1.2.3 */ private function instalarV1203() @@ -1378,6 +1496,7 @@ private function instalarV1203() } /** + * Instala/Atualiza os módulo PEN para versão 1.2.4 * Instala/Atualiza os módulo PEN para versão 1.2.4 */ private function instalarV1204() @@ -1386,6 +1505,7 @@ private function instalarV1204() } /** + * Instala/Atualiza os módulo PEN para versão 1.2.5 * Instala/Atualiza os módulo PEN para versão 1.2.5 */ private function instalarV1205() @@ -1394,6 +1514,7 @@ private function instalarV1205() } /** + * Instala/Atualiza os módulo PEN para versão 1.2.6 * Instala/Atualiza os módulo PEN para versão 1.2.6 */ private function instalarV1206() @@ -1402,6 +1523,7 @@ private function instalarV1206() } /** + * Instala/Atualiza os módulo PEN para versão 1.3.0 * Instala/Atualiza os módulo PEN para versão 1.3.0 */ private function instalarV1300() @@ -1410,6 +1532,7 @@ private function instalarV1300() } /** + * Instala/Atualiza os módulo PEN para versão 1.4.0 * Instala/Atualiza os módulo PEN para versão 1.4.0 */ private function instalarV1400() @@ -1418,6 +1541,7 @@ private function instalarV1400() } /** + * Instala/Atualiza os módulo PEN para versão 1.4.1 * Instala/Atualiza os módulo PEN para versão 1.4.1 */ private function instalarV1401() @@ -1426,6 +1550,7 @@ private function instalarV1401() } /** + * Instala/Atualiza os módulo PEN para versão 1.4.2 * Instala/Atualiza os módulo PEN para versão 1.4.2 */ private function instalarV1402() @@ -1434,6 +1559,7 @@ private function instalarV1402() } /** + * Instala/Atualiza os módulo PEN para versão 1.4.3 * Instala/Atualiza os módulo PEN para versão 1.4.3 */ private function instalarV1403() @@ -1442,6 +1568,7 @@ private function instalarV1403() } /** + * Instala/Atualiza os módulo PEN para versão 1.5.0 * Instala/Atualiza os módulo PEN para versão 1.5.0 */ private function instalarV1500() @@ -1450,6 +1577,7 @@ private function instalarV1500() } /** + * Instala/Atualiza os módulo PEN para versão 1.5.1 * Instala/Atualiza os módulo PEN para versão 1.5.1 */ private function instalarV1501() @@ -1458,6 +1586,7 @@ private function instalarV1501() } /** + * Instala/Atualiza os módulo PEN para versão 1.5.2 * Instala/Atualiza os módulo PEN para versão 1.5.2 */ private function instalarV1502() @@ -1466,6 +1595,7 @@ private function instalarV1502() } /** + * Instala/Atualiza os módulo PEN para versão 1.5.3 * Instala/Atualiza os módulo PEN para versão 1.5.3 */ private function instalarV1503() @@ -1474,10 +1604,13 @@ private function instalarV1503() } /** + * Instala/Atualiza os módulo PEN para versão 2.0.0 * Instala/Atualiza os módulo PEN para versão 2.0.0 */ private function instalarV2000_beta1() { + // Criar novos recursos de configuração de espécie documental padrão para envio de processos + $this->logar('ATRIBUIÇÃO DE PERMISSÃO DE ATRIBUÍÇÃO DE ESPÉCIES/TIPO DE DOCUMENTO PADRÃO AO PERFIL ADMINISTRADOR'); // Criar novos recursos de configuração de espécie documental padrão para envio de processos $this->logar('ATRIBUIÇÃO DE PERMISSÃO DE ATRIBUÍÇÃO DE ESPÉCIES/TIPO DE DOCUMENTO PADRÃO AO PERFIL ADMINISTRADOR'); $numIdSistemaSei = $this->getNumIdSistema('SEI'); @@ -1486,11 +1619,16 @@ private function instalarV2000_beta1() $this->criarRecurso('pen_map_tipo_documento_envio_padrao_consultar', 'Consultar espécie documental padrão para envio de processos', $numIdSistemaSei); $this->criarRecurso('pen_map_tipo_doc_recebimento_padrao_atribuir', 'Atribuir tipo de documento padrão para recebimento de processos', $numIdSistemaSei); $this->criarRecurso('pen_map_tipo_doc_recebimento_padrao_consultar', 'Consultar tipo de documento padrão para recebimento de processos', $numIdSistemaSei); + $this->criarRecurso('pen_map_tipo_documento_envio_padrao_atribuir', 'Atribuir espécie documental padrão para envio de processos', $numIdSistemaSei); + $this->criarRecurso('pen_map_tipo_documento_envio_padrao_consultar', 'Consultar espécie documental padrão para envio de processos', $numIdSistemaSei); + $this->criarRecurso('pen_map_tipo_doc_recebimento_padrao_atribuir', 'Atribuir tipo de documento padrão para recebimento de processos', $numIdSistemaSei); + $this->criarRecurso('pen_map_tipo_doc_recebimento_padrao_consultar', 'Consultar tipo de documento padrão para recebimento de processos', $numIdSistemaSei); ScriptSip::adicionarRecursoPerfil($numIdSistemaSei, $numIdPerfilSeiAdministrador, 'pen_map_tipo_documento_envio_padrao_atribuir'); ScriptSip::adicionarRecursoPerfil($numIdSistemaSei, $numIdPerfilSeiAdministrador, 'pen_map_tipo_documento_envio_padrao_consultar'); ScriptSip::adicionarRecursoPerfil($numIdSistemaSei, $numIdPerfilSeiAdministrador, 'pen_map_tipo_doc_recebimento_padrao_atribuir'); ScriptSip::adicionarRecursoPerfil($numIdSistemaSei, $numIdPerfilSeiAdministrador, 'pen_map_tipo_doc_recebimento_padrao_consultar'); + $this->logar('RECONFIGURAÇÃO DE MENUS DE FUNCIONALIDADES DE MAPEAMENTO DE ESPÉCIES DOCUMENTAIS DO PEN'); $this->logar('RECONFIGURAÇÃO DE MENUS DE FUNCIONALIDADES DE MAPEAMENTO DE ESPÉCIES DOCUMENTAIS DO PEN'); $numIdPerfilSeiAdministrador = ScriptSip::obterIdPerfil($numIdSistemaSei, "Administrador"); $numIdMenuSEI = ScriptSip::obterIdMenu($numIdSistemaSei, 'Principal'); @@ -1501,10 +1639,12 @@ private function instalarV2000_beta1() ScriptSip::removerItemMenu($numIdSistemaSei, $numIdMenuSEI, $numIdItemMenuMapTipDoc); } catch (\Exception $e) { $this->logar("Item de menu de mapeamento de tipos de documentos não pode ser localizado"); + $this->logar("Item de menu de mapeamento de tipos de documentos não pode ser localizado"); } // Recriar item de menu agrupador de mapeamento de tipos de documento $numIdItemMenuPEN = ScriptSip::obterIdItemMenu($numIdSistemaSei, $numIdMenuSEI, "Processo Eletrônico Nacional"); + $numIdItemMenuPEN = ScriptSip::obterIdItemMenu($numIdSistemaSei, $numIdMenuSEI, "Processo Eletrônico Nacional"); $objItemMenuMapeamentoDTO = ScriptSip::adicionarItemMenu( $numIdSistemaSei, $numIdPerfilSeiAdministrador, @@ -1526,18 +1666,24 @@ private function instalarV2000_beta1() $numIdRecursoMapRecebimentoListar = $objRecursoMapRecebimentoListar->getNumIdRecurso(); ScriptSip::adicionarItemMenu($numIdSistemaSei, $numIdPerfilSeiAdministrador, $numIdMenuSEI, $numIdItemMenuMapeamento, $numIdRecursoMapRecebimentoListar, "Recebimento", 20); + // Redefinir ordem de apresentação dos menus de administração do módulo // Redefinir ordem de apresentação dos menus de administração do módulo $arrOrdemMenusAdministracaoPEN = array( array("rotulo" => "Parâmetros de Configuração", "sequencia" => 10, "rotuloMenuSuperior" => "Processo Eletrônico Nacional"), array("rotulo" => "Mapeamento de Tipos de Documentos", "sequencia" => 20, "rotuloMenuSuperior" => "Processo Eletrônico Nacional"), array("rotulo" => "Mapeamento de Unidades", "sequencia" => 30, "rotuloMenuSuperior" => "Processo Eletrônico Nacional"), array("rotulo" => "Mapeamento de Hipóteses Legais", "sequencia" => 40, "rotuloMenuSuperior" => "Processo Eletrônico Nacional"), + array("rotulo" => "Parâmetros de Configuração", "sequencia" => 10, "rotuloMenuSuperior" => "Processo Eletrônico Nacional"), + array("rotulo" => "Mapeamento de Tipos de Documentos", "sequencia" => 20, "rotuloMenuSuperior" => "Processo Eletrônico Nacional"), + array("rotulo" => "Mapeamento de Unidades", "sequencia" => 30, "rotuloMenuSuperior" => "Processo Eletrônico Nacional"), + array("rotulo" => "Mapeamento de Hipóteses Legais", "sequencia" => 40, "rotuloMenuSuperior" => "Processo Eletrônico Nacional"), ); array_map(function ($item) use ($numIdSistemaSei, $numIdMenuSEI) { $objItemMenuRN = new ItemMenuRN(); $numIdItemMenuPai = ScriptSip::obterIdItemMenu($numIdSistemaSei, $numIdMenuSEI, $item["rotuloMenuSuperior"]); + // Obtém id do item de menu, baseado no sistema, rótulo e, principalmente, ID DO ITEM SUPERIOR // Obtém id do item de menu, baseado no sistema, rótulo e, principalmente, ID DO ITEM SUPERIOR $numIdItemMenu = $this->obterIdItemMenu($numIdSistemaSei, $numIdMenuSEI, $numIdItemMenuPai, $item["rotulo"]); if (isset($numIdItemMenu)) { @@ -1551,13 +1697,16 @@ private function instalarV2000_beta1() }, $arrOrdemMenusAdministracaoPEN); + $this->logar('Atribuição de permissões do módulo ao perfil Básico do SEI'); $this->logar('Atribuição de permissões do módulo ao perfil Básico do SEI'); $strNomeMenuProcessosTramitados = "Tramita.GOV.BR"; $numIdSistemaSei = ScriptSip::obterIdSistema('SEI'); $numIdPerfilSeiBasico = ScriptSip::obterIdPerfil($numIdSistemaSei, "Básico"); + $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 + // 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'); $objRecursoDTO = ScriptSip::adicionarRecursoPerfil($numIdSistemaSei, $numIdPerfilSeiBasico, 'pen_procedimento_expedido_listar'); $numIdMenuProcessoTramitados = ScriptSip::obterIdItemMenu($numIdSistemaSei, $numIdMenuSei, $strNomeMenuProcessosTramitados); @@ -1569,6 +1718,7 @@ private function instalarV2000_beta1() /** + * Instala/Atualiza os módulo PEN para versão 2.0.0-beta2 * Instala/Atualiza os módulo PEN para versão 2.0.0-beta2 */ protected function instalarV2000_beta2() @@ -1578,6 +1728,7 @@ protected function instalarV2000_beta2() /** + * Instala/Atualiza os módulo PEN para versão 2.0.0-beta3 * Instala/Atualiza os módulo PEN para versão 2.0.0-beta3 */ protected function instalarV2000_beta3() @@ -1586,6 +1737,7 @@ protected function instalarV2000_beta3() } /** + * Instala/Atualiza os módulo PEN para versão 2.0.0-beta4 * Instala/Atualiza os módulo PEN para versão 2.0.0-beta4 */ protected function instalarV2000_beta4() @@ -1594,6 +1746,7 @@ protected function instalarV2000_beta4() } /** + * Instala/Atualiza os módulo PEN para versão 2.0.0-beta5 * Instala/Atualiza os módulo PEN para versão 2.0.0-beta5 */ protected function instalarV2000_beta5() @@ -1602,6 +1755,7 @@ protected function instalarV2000_beta5() } /** + * Instala/Atualiza os módulo PEN para versão 2.0.0 * Instala/Atualiza os módulo PEN para versão 2.0.0 */ protected function instalarV2000() @@ -1610,6 +1764,7 @@ protected function instalarV2000() } /** + * Instala/Atualiza os módulo PEN para versão 2.0.1 * Instala/Atualiza os módulo PEN para versão 2.0.1 */ protected function instalarV2001() @@ -1618,6 +1773,7 @@ protected function instalarV2001() } /** + * Instala/Atualiza os módulo PEN para versão 2.1.0 * Instala/Atualiza os módulo PEN para versão 2.1.0 */ protected function instalarV2100() @@ -1626,21 +1782,26 @@ protected function instalarV2100() } /** + * Instala/Atualiza os módulo PEN para versão 2.0.2 * Instala/Atualiza os módulo PEN para versão 2.0.2 */ protected function instalarV2101() { + // Adição de recursos relacionados à consulta de mapeamento de hipóteses legais de envio e recebimento // Adição de recursos relacionados à consulta de mapeamento de hipóteses legais de envio e recebimento $numIdSistemaSei = $this->getNumIdSistema('SEI'); $numIdPerfilSeiAdministrador = ScriptSip::obterIdPerfil($numIdSistemaSei, "Administrador"); $this->criarRecurso('pen_map_hipotese_legal_recebimento_consultar', 'Consulta de mapeamento de Hipóteses Legais de Recebimento', $numIdSistemaSei); + $this->criarRecurso('pen_map_hipotese_legal_recebimento_consultar', 'Consulta de mapeamento de Hipóteses Legais de Recebimento', $numIdSistemaSei); ScriptSip::adicionarRecursoPerfil($numIdSistemaSei, $numIdPerfilSeiAdministrador, 'pen_map_hipotese_legal_recebimento_consultar'); $this->criarRecurso('pen_map_hipotese_legal_envio_consultar', 'Consulta de mapeamento de Hipóteses Legais de Envio', $numIdSistemaSei); + $this->criarRecurso('pen_map_hipotese_legal_envio_consultar', 'Consulta de mapeamento de Hipóteses Legais de Envio', $numIdSistemaSei); ScriptSip::adicionarRecursoPerfil($numIdSistemaSei, $numIdPerfilSeiAdministrador, 'pen_map_hipotese_legal_envio_consultar'); $this->atualizarNumeroVersao("2.1.1"); } /** + * Instala/Atualiza os módulo PEN para versão 2.1.2 * Instala/Atualiza os módulo PEN para versão 2.1.2 */ protected function instalarV2102() @@ -1649,6 +1810,7 @@ protected function instalarV2102() } /** + * Instala/Atualiza os módulo PEN para versão 2.1.3 * Instala/Atualiza os módulo PEN para versão 2.1.3 */ protected function instalarV2103() @@ -1657,6 +1819,7 @@ protected function instalarV2103() } /** + * Instala/Atualiza os módulo PEN para versão 2.1.4 * Instala/Atualiza os módulo PEN para versão 2.1.4 */ protected function instalarV2104() @@ -1665,6 +1828,7 @@ protected function instalarV2104() } /** + * Instala/Atualiza os módulo PEN para versão 2.1.5 * Instala/Atualiza os módulo PEN para versão 2.1.5 */ protected function instalarV2105() @@ -1673,6 +1837,7 @@ protected function instalarV2105() } /** + * Instala/Atualiza os módulo PEN para versão 2.1.6 * Instala/Atualiza os módulo PEN para versão 2.1.6 */ protected function instalarV2106() @@ -1681,6 +1846,7 @@ protected function instalarV2106() } /** + * Instala/Atualiza os módulo PEN para versão 2.1.6 * Instala/Atualiza os módulo PEN para versão 2.1.6 */ protected function instalarV2107() @@ -1698,6 +1864,7 @@ protected function instalarV3001() } protected function instalarV3010() { + $this->logar('Atribuição de permissões do módulo ao perfil Básico do SEI'); $this->logar('Atribuição de permissões do módulo ao perfil Básico do SEI'); $numIdSistema = $this->getNumIdSistema('SEI'); $numIdMenu = $this->getNumIdMenu('Principal', $numIdSistema); @@ -1803,6 +1970,7 @@ protected function instalarV30113() }; // A partir da versão 3.0.0 é que o SIP passa a dar suporte à ícones + // A partir da versão 3.0.0 é que o SIP passa a dar suporte à ícones if (InfraUtil::compararVersoes(SIP_VERSAO, ">=", "3.0.0")) { $numIdSistema = $this->getNumIdSistema('SEI'); $numIdMenuPai = $this->getNumIdMenu('Principal', $numIdSistema); @@ -1891,6 +2059,7 @@ protected function instalarV3030() protected function instalarV3040() { + /* Corrige nome de menu de trâmite de documentos */ /* Corrige nome de menu de trâmite de documentos */ $numIdSistema = $this->getNumIdSistema('SEI'); $numIdMenu = $this->getNumIdMenu('Principal', $numIdSistema); @@ -1905,6 +2074,7 @@ protected function instalarV3040() if (isset($objRecursoDTO)) { $numIdRecurso = $objRecursoDTO->getNumIdRecurso(); $objRecursoDTO->setStrDescricao('Blocos de Trâmite Externo'); + $objRecursoDTO->setStrDescricao('Blocos de Trâmite Externo'); $objRecursoBD->alterar($objRecursoDTO); } @@ -1913,12 +2083,15 @@ protected function instalarV3040() $objItemMenuDTO->setNumIdSistema($numIdSistema); $objItemMenuDTO->setNumIdRecurso($numIdRecurso); $objItemMenuDTO->setStrRotulo('Blocos de Trâmite Externo'); + $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'); $objItemMenuDTO->setStrDescricao('Blocos de Trâmite Externo'); $objItemMenuDTO->setStrRotulo('Blocos de Trâmite Externo'); $objItemMenuBD->alterar($objItemMenuDTO); @@ -1949,13 +2122,32 @@ protected function instalarV3040() // } // } + $this->logar('Atribuição de permissões do módulo ao perfil do SEI'); $this->logar('Atribuição de permissões do módulo ao perfil do SEI'); + // adicionar permissão // adicionar permissão $numIdPerfilSeiAdministrador = ScriptSip::obterIdPerfil($numIdSistema, "Administrador"); $this->criarRecurso('md_pen_tramita_em_bloco', 'Blocos de Trâmite Externo', $numIdSistema); + $this->criarRecurso('md_pen_tramita_em_bloco', 'Blocos de Trâmite Externo', $numIdSistema); ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiAdministrador, 'md_pen_tramita_em_bloco'); + + $numIdRecurso = $this->criarRecurso('md_pen_tramita_em_bloco', 'Listar Processos Tramitados em Bloco', $numIdSistema); + ScriptSip::adicionarItemMenu($numIdSistema, $numIdPerfilSeiAdministrador, $numIdMenu, null, $numIdRecurso, "Processos Trâmitados Em Bloco", 55); + + //Corrige nome do recurso + $objRecursoDTO = new RecursoDTO(); + $objRecursoDTO->setNumIdSistema($numIdSistema); + $objRecursoDTO->setStrNome('md_pen_tramita_em_bloco_excluir'); + $objRecursoDTO->retNumIdRecurso(); + $objRecursoBD = new RecursoBD($this->getObjInfraIBanco()); + $objRecursoDTO = $objRecursoBD->consultar($objRecursoDTO); + // adicionar permissão + $numIdPerfilSeiAdministrador = ScriptSip::obterIdPerfil($numIdSistema, "Administrador"); + $this->criarRecurso('md_pen_tramita_em_bloco_excluir', 'Blocos de Trâmite Externo', $numIdSistema); + ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiAdministrador, 'md_pen_tramita_em_bloco_excluir'); + $this->atualizarNumeroVersao("3.4.0"); } } @@ -1999,18 +2191,22 @@ protected function instalarV3040() if (!ConfiguracaoSip::getInstance()->isSetValor('BancoSip', 'UsuarioScript')) { throw new InfraException('Chave BancoSip/UsuarioScript não encontrada.'); + throw new InfraException('Chave BancoSip/UsuarioScript não encontrada.'); } if (InfraString::isBolVazia(ConfiguracaoSip::getInstance()->getValor('BancoSip', 'UsuarioScript'))) { throw new InfraException('Chave BancoSip/UsuarioScript não possui valor.'); + throw new InfraException('Chave BancoSip/UsuarioScript não possui valor.'); } if (!ConfiguracaoSip::getInstance()->isSetValor('BancoSip', 'SenhaScript')) { throw new InfraException('Chave BancoSip/SenhaScript não encontrada.'); + throw new InfraException('Chave BancoSip/SenhaScript não encontrada.'); } if (InfraString::isBolVazia(ConfiguracaoSip::getInstance()->getValor('BancoSip', 'SenhaScript'))) { throw new InfraException('Chave BancoSip/SenhaScript não possui valor.'); + throw new InfraException('Chave BancoSip/SenhaScript não possui valor.'); } $objAtualizarRN = new PenAtualizarSipRN(); From f4efb388228b69dd02b47945023bc2bc3586ec8e Mon Sep 17 00:00:00 2001 From: Glaydson Rodrigues Date: Tue, 6 Jun 2023 18:39:50 -0300 Subject: [PATCH 11/33] =?UTF-8?q?chore:=20Adicionar=20actions=20nos=20bot?= =?UTF-8?q?=C3=B5es=20da=20listagem?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/PENIntegracao.php | 8 + src/pen_tramite_bloco_listar.php | 214 +++++++++--------- ...php => pen_tramite_em_bloco_cadastrar.php} | 12 +- src/rn/TramiteEmBlocoRN.php | 33 ++- .../sip_atualizar_versao_modulo_pen.php | 37 +-- 5 files changed, 156 insertions(+), 148 deletions(-) rename src/{pen_tramite_em_bloco_cadastro.php => pen_tramite_em_bloco_cadastrar.php} (96%) diff --git a/src/PENIntegracao.php b/src/PENIntegracao.php index 762e01960..12631b2fb 100755 --- a/src/PENIntegracao.php +++ b/src/PENIntegracao.php @@ -491,6 +491,14 @@ public function processarControlador($strAcao) require_once dirname(__FILE__) . '/pen_tramite_bloco_listar.php'; break; + case 'pen_tramite_em_bloco_cadastrar': + require_once dirname(__FILE__) . '/pen_tramite_em_bloco_cadastrar.php'; + break; + + case 'pen_tramite_em_bloco_alterar': + require_once dirname(__FILE__) . '/pen_tramite_em_bloco_cadastrar.php'; + break; + case 'pen_tramita_em_bloco_protocolo_listar': require_once dirname(__FILE__) . '/pen_tramita_em_bloco_protocolo_listar.php'; break; diff --git a/src/pen_tramite_bloco_listar.php b/src/pen_tramite_bloco_listar.php index ea622f785..30c326844 100644 --- a/src/pen_tramite_bloco_listar.php +++ b/src/pen_tramite_bloco_listar.php @@ -17,80 +17,111 @@ $strTitulo = 'Tramite em Bloco'; - $objFiltroDTO = new ProtocoloDTO(); - $objFiltroDTO->setStrStaEstado(ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO); - $objFiltroDTO->retDblIdProtocolo(); - $objFiltroDTO->retStrProtocoloFormatado(); + switch ($_GET['acao']) { + case 'md_pen_tramita_em_bloco_excluir': + try { + $arrStrIds = PaginaSEI::getInstance()->getArrStrItensSelecionados(); + $arrObjTramiteEmBlocoDTO = array(); + for ($i = 0; $i < count($arrStrIds); $i++) { + $objTramiteEmBlocoDTO = new TramiteEmBlocoDTO(); + $objTramiteEmBlocoDTO->setNumId($arrStrIds[$i]); + $arrObjTramiteEmBlocoDTO[] = $objTramiteEmBlocoDTO; + } + $objTramiteEmBlocoRN = new TramiteEmBlocoRN(); + $objTramiteEmBlocoRN->excluir($arrObjTramiteEmBlocoDTO); + PaginaSEI::getInstance()->setStrMensagem('Operação realizada com sucesso.'); + } catch (Exception $e) { + PaginaSEI::getInstance()->processarExcecao($e); + } + header('Location: ' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=' . $_GET['acao_origem'] . '&acao_origem=' . $_GET['acao'])); + die; + case 'md_pen_tramita_em_bloco': + break; + default: + throw new InfraException("Ação '" . $_GET['acao'] . "' não reconhecida."); + } + + $objFiltroDTO = new TramiteEmBlocoDTO(); + $objFiltroDTO->retNumId(); + $objFiltroDTO->retStrStaEstado(); + $objFiltroDTO->retStrDescricao(); // 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); + // $objPaginaSEI->prepararPaginacao($objFiltroDTO, 50); - $objProcessoExpedidoRN = new ProcessoExpedidoRN(); - $arrObjProcessoExpedidoDTO = $objProcessoExpedidoRN->listarProcessoExpedido($objFiltroDTO); + $obgTramiteEmBloco = new TramiteEmBlocoRN(); + $arrObjBlocosListar = $obgTramiteEmBloco->listar($objFiltroDTO); - $numRegistros = 0; + $dados = []; + foreach ($arrObjBlocosListar as $objFiltro) { + // print_r($objFiltro->getNumId()); die('aki2'); + $arr['Número'] = $objFiltro->getNumId(); + $arr['Sinalizações'] = 'Sem'; + $arr['Estados'] = $objFiltro->getStrStaEstado(); + $arr['Descrições'] = $objFiltro->getStrDescricao(); + $arr['Ação'] = ''; - if(!empty($arrObjProcessoExpedidoDTO)) { - $arrObjProcessoExpedidoDTO = InfraArray::distinctArrInfraDTO($arrObjProcessoExpedidoDTO, 'IdProtocolo'); - $numRegistros = count($arrObjProcessoExpedidoDTO); - } + $dados[] = $arr; + } - $objPaginaSEI->processarPaginacao($objFiltroDTO); + $numRegistros = count($arrObjBlocosListar); - if (!empty($arrObjProcessoExpedidoDTO)) { + // if(!empty($arrObjProcessoExpedidoDTO)) { + // $arrObjBlocosListarDTO = InfraArray::distinctArrInfraDTO($objFiltroDTO, 'IdProtocolo'); + // $numRegistros = count($arrObjProcessoExpedidoDTO); + // } - $arrComandos[] = ''; + // $objPaginaSEI->processarPaginacao($objFiltroDTO); - $strSumarioTabela = 'Tabela de Processos.'; - $strCaptionTabela = 'Processos'; + // if (!empty($arrObjProcessoExpedidoDTO)) { - $strResultado .= '' . "\n"; - $strResultado .= ''; - $strResultado .= ''; - $strResultado .= '' . "\n"; - $strResultado .= '' . "\n"; - $strResultado .= '' . "\n"; - $strResultado .= '' . "\n"; - $strResultado .= '' . "\n"; - $strResultado .= '' . "\n"; - $strCssTr = ''; + // $arrComandos[] = ''; - $numIndice = 1; + // $strSumarioTabela = 'Tabela de Processos.'; + // $strCaptionTabela = 'Processos'; - foreach($arrObjProcessoExpedidoDTO as $objProcessoExpedidoDTO) { + // $strResultado .= '
' . $objPaginaSEI->gerarCaptionTabela($strCaptionTabela, $numRegistros) . '
' . $objPaginaSEI->getThCheck() . 'ProcessoUsuárioData do EnvioUnidade Destino
' . "\n"; + // $strResultado .= ''; + // $strResultado .= ''; + // $strResultado .= '' . "\n"; + // $strResultado .= '' . "\n"; + // $strResultado .= '' . "\n"; + // $strResultado .= '' . "\n"; + // $strResultado .= '' . "\n"; + // $strResultado .= '' . "\n"; + // $strCssTr = ''; - $strCssTr = ($strCssTr == '') ? '' : ''; - $strResultado .= $strCssTr; + // $numIndice = 1; - $strResultado .= ''."\n"; - $strResultado .= '' . "\n"; - $strResultado .= ''; - $strResultado .= ''; - $strResultado .= '') ? '' : ''; + // $strResultado .= $strCssTr; - $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(); + // foreach($arrObjProcessoExpedidoDTO as $objProcessoExpedidoDTO) { - if ($bolAcaoRemoverSobrestamento) { - $strResultado .= 'Remover Sobrestamento '; - } + // $strCssTr = ($strCssTr == '
'; - } + // $strResultado .= ''.$objPaginaSEI->getTrCheck($numIndice, $objProcessoExpedidoDTO->getDblIdProtocolo(), $objProcessoExpedidoDTO->getStrProtocoloFormatado()).''."\n"; + // $strResultado .= ''.$objProcessoExpedidoDTO->getStrProtocoloFormatado().'' . "\n"; + // $strResultado .= '' . $objProcessoExpedidoDTO->getStrNomeUsuario() . ''; + // $strResultado .= '' . $objProcessoExpedidoDTO->getDthExpedido() . ''; + // $strResultado .= '' . $objProcessoExpedidoDTO->getStrDestino(); + + // if ($bolAcaoRemoverSobrestamento) { + // $strResultado .= 'Remover Sobrestamento '; + // } + + // $strResultado .= '' . "\n"; + // $numIndice++; + // } + // $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"); @@ -110,39 +141,41 @@ } $strResultado .= ""; - // Linhas da tabela foreach ($dados as $linha) { $strResultado .= ""; - $strResultado .= ''.PaginaSEI::getInstance()->getTrCheck($key,$key,$key).''; + $strResultado .= ''.PaginaSEI::getInstance()->getTrCheck($linha['Número'], $linha['Número'], $linha['Número']).''; // $strResultado .= ''.PaginaSEI::getInstance()->getTrCheck($i,$objBlocoDTO->getNumIdBloco(),$objBlocoDTO->getNumIdBloco()).''; foreach ($colunas as $key => $coluna) { - $strResultado .= " {$linha[$coluna]}"; + + if ($linha[$coluna]) { + $strResultado .= " {$linha[$coluna]} "; + } // Adiciona botões na coluna de ações if ($key === count($linha) - 1) { - $id = $key; // $id = $objBlocoDTO->getNumIdBloco(); - - // visualizar - $strResultado .= 'Visualizar Processos '; + $id = $linha['Número']; // $id = $objBlocoDTO->getNumIdBloco(); + $strResultado .= ""; + // visualizar + $strResultado .= 'Visualizar Processos '; // atribuir $strResultado .= 'Atribuir Bloco '; - // alterar - $strResultado .= 'Alterar Bloco '; + // alterar + $strResultado .= 'Alterar Bloco '; // concluir $strResultado .= 'Concluir Bloco '; - // Excluir - $strResultado .= 'Excluir Bloco '; - } - - $strResultado .= ""; + // Excluir + $strResultado .= 'Excluir Bloco '; + $strResultado .= ""; } - $strResultado .= ""; + } + + $strResultado .= ""; } // Fim da tabela @@ -275,7 +308,7 @@ function onCLickLinkDelete(url, link) { } function onClickBtnNovo(){ - window.location = 'assinarLink('controlador.php?acao=pen_map_tipo_documento_envio_cadastrar&acao_origem='.$_GET['acao_origem'].'&acao_retorno='.$_GET['acao_origem']); ?>'; + window.location = 'assinarLink('controlador.php?acao=pen_tramite_em_bloco_cadastrar&acao_origem='.$_GET['acao_origem'].'&acao_retorno='.$_GET['acao_origem']); ?>'; } function onClickBtnExcluir(){ @@ -299,39 +332,22 @@ function onClickBtnExcluir(){ } } -// function abrirProcesso(link){ -// document.getElementById('divInfraBarraComandosSuperior').style.visibility = 'hidden'; -// document.getElementById('divInfraAreaTabela').style.visibility = 'hidden'; -// infraOcultarMenuSistemaEsquema(); -// document.getElementById('frmProcedimentoExpedido').action = link; -// document.getElementById('frmProcedimentoExpedido').submit(); -// } -// - - - - - -fecharHead(); -$objPaginaSEI->abrirBody($strTitulo, 'onload="inicializar();"'); -?> -
-montarBarraComandosSuperior($arrComandos); - $objPaginaSEI->montarAreaTabela($strResultado, $numRegistros, true); - $objPaginaSEI->montarBarraComandosInferior($arrComandos); -?> -
-fecharBody(); -$objPaginaSEI->fecharHtml(); - - -endif; -?> + function validarCadastro() { + } + function OnSubmitForm() { + return validarCadastro(); + } + // function abrirProcesso(link){ + // document.getElementById('divInfraBarraComandosSuperior').style.visibility = 'hidden'; + // document.getElementById('divInfraAreaTabela').style.visibility = 'hidden'; + // infraOcultarMenuSistemaEsquema(); + // document.getElementById('frmProcedimentoExpedido').action = link; + // document.getElementById('frmProcedimentoExpedido').submit(); + // } + // + fecharHead(); @@ -419,7 +435,3 @@ function onClickBtnExcluir(){ $objPaginaSEI->fecharBody(); $objPaginaSEI->fecharHtml(); ?> - - - - diff --git a/src/pen_tramite_em_bloco_cadastro.php b/src/pen_tramite_em_bloco_cadastrar.php similarity index 96% rename from src/pen_tramite_em_bloco_cadastro.php rename to src/pen_tramite_em_bloco_cadastrar.php index c5abccb0f..45fca2a6c 100755 --- a/src/pen_tramite_em_bloco_cadastro.php +++ b/src/pen_tramite_em_bloco_cadastrar.php @@ -1,6 +1,6 @@ Salvar'; $arrComandos[] = ''; @@ -52,14 +52,14 @@ $objTramiteEmBlocoDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); $objTramiteEmBlocoDTO->setStrDescricao($_POST['txtDescricao']); $objTramiteEmBlocoDTO->setStrIdxBloco(null); - $objTramiteEmBlocoDTO->setStrStaEstado(TramiteEmBlocoRN::$TE_ABERTO); + $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()))); + header('Location: ' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=md_pen_tramita_em_bloco&acao_origem=' . $_GET['acao'] . '&id_bloco=' . $objTramiteEmBlocoDTO->getNumId() . $strParametros . PaginaSEI::getInstance()->montarAncora($objTramiteEmBlocoDTO->getNumId()))); die; }catch(Exception $e){ PaginaSEI::getInstance()->processarExcecao($e); @@ -69,7 +69,7 @@ case 'pen_tramite_em_bloco_alterar': - $strTitulo = 'Alterar Trâmite em Bloco'; + $strTitulo = 'Alterar Trâmite em Bloco'; $arrComandos[] = ''; $strDesabilitar = 'disabled="disabled"'; @@ -194,4 +194,4 @@ function OnSubmitForm() { fecharBody(); PaginaSEI::getInstance()->fecharHtml(); -?> \ No newline at end of file +?> diff --git a/src/rn/TramiteEmBlocoRN.php b/src/rn/TramiteEmBlocoRN.php index 7bf291eae..95a947830 100755 --- a/src/rn/TramiteEmBlocoRN.php +++ b/src/rn/TramiteEmBlocoRN.php @@ -8,9 +8,21 @@ * Tramitar em bloco */ class TramiteEmBlocoRN extends InfraRN { + + public static $TB_ASSINATURA = 'A'; + public static $TB_REUNIAO = 'R'; public static $TB_INTERNO = 'I'; + public static $TE_ABERTO = 'A'; + public static $TE_DISPONIBILIZADO = 'D'; + public static $TE_RETORNADO = 'R'; + public static $TE_CONCLUIDO = 'C'; + public static $TE_RECEBIDO = 'B'; + + public static $TA_TODAS = 'T'; + public static $TA_MINHAS = 'M'; + /** * Inicializa o obj do banco da Infra * @return obj @@ -56,11 +68,11 @@ private function validarNumIdUsuario(TramiteEmBlocoDTO $objTramiteEmBlocoDTO, In 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())); @@ -73,11 +85,11 @@ private function validarStrDescricao(TramiteEmBlocoDTO $objTramiteEmBlocoDTO, In 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){ @@ -103,17 +115,17 @@ private function validarStrStaEstado(TramiteEmBlocoDTO $objTramiteEmBlocoDTO, In 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); } @@ -138,9 +150,8 @@ public function listarValoresEstado(){ protected function listarConectado(TramiteEmBlocoDTO $objTramiteEmBlocoDTO) { try { - //Valida Permissao - SessaoSEI::getInstance()->validarAuditarPermissao('pen_tramite_em_bloco_listar',__METHOD__,$objTramiteEmBlocoDTO); + SessaoSEI::getInstance()->validarAuditarPermissao('md_pen_tramita_em_bloco',__METHOD__,$objTramiteEmBlocoDTO); if ($objTramiteEmBlocoDTO->isRetStrTipoDescricao()) { @@ -208,7 +219,7 @@ protected function montarIndexacaoControlado(TramiteEmBlocoDTO $obTramiteEmBloco protected function cadastrarControlado(TramiteEmBlocoDTO $objTramiteEmBlocoDTO) { try { - + //Valida Permissao SessaoSEI::getInstance()->validarAuditarPermissao('pen_tramite_em_bloco_cadastrar',__METHOD__,$objTramiteEmBlocoDTO); diff --git a/src/scripts/sip_atualizar_versao_modulo_pen.php b/src/scripts/sip_atualizar_versao_modulo_pen.php index a9b986731..97de4eb16 100755 --- a/src/scripts/sip_atualizar_versao_modulo_pen.php +++ b/src/scripts/sip_atualizar_versao_modulo_pen.php @@ -2097,44 +2097,21 @@ protected function instalarV3040() $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'); $this->logar('Atribuição de permissões do módulo ao perfil do SEI'); // adicionar permissão // adicionar permissão $numIdPerfilSeiAdministrador = ScriptSip::obterIdPerfil($numIdSistema, "Administrador"); $this->criarRecurso('md_pen_tramita_em_bloco', 'Blocos de Trâmite Externo', $numIdSistema); - $this->criarRecurso('md_pen_tramita_em_bloco', 'Blocos de Trâmite Externo', $numIdSistema); - ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiAdministrador, 'md_pen_tramita_em_bloco'); + $this->criarRecurso('md_pen_tramita_em_bloco_cadastrar', 'Cadastrar Bloco de Tramite Externo', $numIdSistema); + $this->criarRecurso('md_pen_tramita_em_bloco_alterar', 'Alterar Descrição do bloco de Tramite Externo', $numIdSistema); + $this->criarRecurso('pen_tramite_em_bloco_consultar', 'Alterar Descrição do bloco de Tramite Externo', $numIdSistema); - - $numIdRecurso = $this->criarRecurso('md_pen_tramita_em_bloco', 'Listar Processos Tramitados em Bloco', $numIdSistema); - ScriptSip::adicionarItemMenu($numIdSistema, $numIdPerfilSeiAdministrador, $numIdMenu, null, $numIdRecurso, "Processos Trâmitados Em Bloco", 55); + ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiAdministrador, 'md_pen_tramita_em_bloco'); + ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiAdministrador, 'pen_tramite_em_bloco_cadastrar'); + ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiAdministrador, 'pen_tramite_em_bloco_alterar'); + ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiAdministrador, 'pen_tramite_em_bloco_consultar'); //Corrige nome do recurso $objRecursoDTO = new RecursoDTO(); From d4233e0b8aa60dc9d0e7cc318a550cd4ad87c94d Mon Sep 17 00:00:00 2001 From: Glaydson Rodrigues Date: Wed, 7 Jun 2023 10:22:43 -0300 Subject: [PATCH 12/33] chore: Adicionar novo atributo na tabela de tramite em bloco --- src/dto/TramiteEmBlocoDTO.php | 14 +- src/pen_tramite_bloco_listar.php | 229 +++++++++++++------------------ 2 files changed, 106 insertions(+), 137 deletions(-) diff --git a/src/dto/TramiteEmBlocoDTO.php b/src/dto/TramiteEmBlocoDTO.php index b5d867213..6af7a0cae 100644 --- a/src/dto/TramiteEmBlocoDTO.php +++ b/src/dto/TramiteEmBlocoDTO.php @@ -19,7 +19,7 @@ public function getStrNomeTabela() { public function getStrNomeSequenciaNativa() { return 'md_pen_seq_tramita_em_bloco'; -} +} public function montar() { @@ -46,11 +46,11 @@ public function montar() { $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'StaTipo', 'sta_tipo'); - + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'StaEstado', 'sta_estado'); - + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'SiglaUnidade', 'uc.sigla', @@ -105,7 +105,7 @@ public function montar() { 'DescricaoUnidadeRelBlocoUnidade', 'ud.descricao', 'unidade ud'); - + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'SiglaUsuario', 'sigla', @@ -119,7 +119,7 @@ public function montar() { $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_STR,'PalavrasPesquisa'); // $this->adicionarAtributo(InfraDTO::$PREFIXO_NUM,'Documentos'); // $this->adicionarAtributo(InfraDTO::$PREFIXO_NUM,'Assinados'); @@ -129,11 +129,11 @@ public function montar() { // $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 index 30c326844..7952668fd 100644 --- a/src/pen_tramite_bloco_listar.php +++ b/src/pen_tramite_bloco_listar.php @@ -11,11 +11,16 @@ $objPaginaSEI = PaginaSEI::getInstance(); $objSessaoSEI = SessaoSEI::getInstance(); - $objSessaoSEI->validarLink(); - $objSessaoSEI->validarPermissao($_GET['acao']); - $arrComandos = array(); + $objSessaoSEI->validarLink(); + SessaoSEI::getInstance()->validarPermissao($_GET['acao']); + // $objSessaoSEI->validarPermissao($_GET['acao']); - $strTitulo = 'Tramite em Bloco'; + + $strActionPadrao = SessaoSEI::getInstance()->assinarLink('controlador.php?acao='.$_GET['acao'].'&acao_origem='.$_GET['acao'].'&id_documento=222'.$_GET['id_documento']); + PaginaSEI::getInstance()->salvarCamposPost(array('txtPalavrasPesquisaBloco', 'chakSinEstadoGerado', 'selUnidadeGeradora', 'hdnMeusBlocos')); + + + $strTitulo = 'Tramite em Bloco'; switch ($_GET['acao']) { case 'md_pen_tramita_em_bloco_excluir': @@ -35,7 +40,24 @@ } header('Location: ' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=' . $_GET['acao_origem'] . '&acao_origem=' . $_GET['acao'])); die; + // case 'md_pen_tramita_em_bloco_excluir': + case 'md_pen_tramita_em_bloco': + $arrEstadosSelecionados = []; + $checkboxesEstados = [ + 'chkSinEstadoGerado' => TramiteEmBlocoRN::$TE_ABERTO, + 'chkSinEstadoDisponibilizado' => TramiteEmBlocoRN::$TE_DISPONIBILIZADO, + 'chkSinEstadoConcluido' => TramiteEmBlocoRN::$TE_CONCLUIDO + ]; + + foreach ($checkboxesEstados as $checkbox => $strEstado) { + if (isset($_POST[$checkbox])) { + $arrEstadosSelecionados[] = $strEstado; + } + } + $strPalavrasPesquisa = PaginaSEI::getInstance()->recuperarCampo('txtPalavrasPesquisa'); + $setStrPalavrasPesquisa = $strPalavrasPesquisa != '' ? $objBlocoDTOPesquisa->setStrPalavrasPesquisa($strPalavrasPesquisa) : ''; + break; default: throw new InfraException("Ação '" . $_GET['acao'] . "' não reconhecida."); @@ -45,6 +67,14 @@ $objFiltroDTO->retNumId(); $objFiltroDTO->retStrStaEstado(); $objFiltroDTO->retStrDescricao(); + $objFiltroDTO->setStrPalavrasPesquisa($setStrPalavrasPesquisa); + + + if (count($arrEstadosSelecionados)) { + $objFiltroDTO->setStrStaEstado($arrEstadosSelecionados, InfraDTO::$OPER_IN); + } + + PaginaSEI::getInstance()->prepararOrdenacao($objFiltroDTO, 'Id', InfraDTO::$TIPO_ORDENACAO_DESC); // Verificar no DTO sobre funções de agragação para clausula DISTINCT if(get_parent_class(BancoSEI::getInstance()) != 'InfraMySqli') { @@ -55,126 +85,81 @@ $obgTramiteEmBloco = new TramiteEmBlocoRN(); $arrObjBlocosListar = $obgTramiteEmBloco->listar($objFiltroDTO); - $dados = []; + // Cabeçalho da tabela + $colunas = array( + 'id' => 'Número', + 'sinalizacao' => 'Sinalizações', + 'estado' => 'Estados', + 'descricao' => 'Descrições', + 'acao' => 'Ações' + ); + + // Corpo Tabela + $tabelaLinhas = []; foreach ($arrObjBlocosListar as $objFiltro) { // print_r($objFiltro->getNumId()); die('aki2'); - $arr['Número'] = $objFiltro->getNumId(); - $arr['Sinalizações'] = 'Sem'; - $arr['Estados'] = $objFiltro->getStrStaEstado(); - $arr['Descrições'] = $objFiltro->getStrDescricao(); - $arr['Ação'] = ''; + $arr['id'] = $objFiltro->getNumId(); + $arr['sinalizacao'] = 'R'; + $arr['estado'] = $objFiltro->getStrStaEstado(); + $arr['descricao'] = $objFiltro->getStrDescricao(); + $arr['acao'] = ''; - $dados[] = $arr; + $tabelaLinhas[] = $arr; } $numRegistros = count($arrObjBlocosListar); - // if(!empty($arrObjProcessoExpedidoDTO)) { - // $arrObjBlocosListarDTO = InfraArray::distinctArrInfraDTO($objFiltroDTO, '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[] = ''; $arrComandos[] = ''; - - // 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 .= ""; + foreach ($colunas as $key => $coluna) { + $strResultado .= ""; } $strResultado .= ""; - foreach ($dados as $linha) { + foreach ($tabelaLinhas as $linha) { $strResultado .= ""; - $strResultado .= ''; - // $strResultado .= ''; + $strResultado .= ''; + // $strResultado .= ''; foreach ($colunas as $key => $coluna) { + $idBlocoTramite = $linha['id']; // $idBlocoTramite = $idBlocoTramite; - if ($linha[$coluna]) { - $strResultado .= ""; - } - - // Adiciona botões na coluna de ações - if ($key === count($linha) - 1) { + if ($linha[$key]) { + $strResultado .= ""; + } - $id = $linha['Número']; // $id = $objBlocoDTO->getNumIdBloco(); + // Adiciona botões na coluna de ações + if ($coluna == 'Ações') { $strResultado .= ""; } - - } - + } $strResultado .= ""; } @@ -284,10 +269,12 @@ function inicializar(){ } } -function onClickBtnPesquisar(){ - document.getElementById('frmAcompanharEstadoProcesso').action='assinarLink($strProprioLink); ?>'; - document.getElementById('frmAcompanharEstadoProcesso').submit(); -} + function onClickBtnPesquisar() { + + var form = jQuery('#frmBlocoLista'); + form.attr('action', 'assinarLink('controlador.php?acao=md_pen_tramita_em_bloco&acao_origem=md_pen_tramita_em_bloco&acao_retorno=md_pen_tramita_em_bloco'); ?>'); + form.submit(); + } function tratarEnter(ev){ var key = infraGetCodigoTecla(ev); @@ -307,9 +294,9 @@ function onCLickLinkDelete(url, link) { } } -function onClickBtnNovo(){ - window.location = 'assinarLink('controlador.php?acao=pen_tramite_em_bloco_cadastrar&acao_origem='.$_GET['acao_origem'].'&acao_retorno='.$_GET['acao_origem']); ?>'; -} + function onClickBtnNovo(){ + window.location = 'assinarLink('controlador.php?acao=pen_tramite_em_bloco_cadastrar&acao_origem='.$_GET['acao_origem'].'&acao_retorno='.$_GET['acao_origem']); ?>'; + } function onClickBtnExcluir(){ @@ -339,14 +326,6 @@ function validarCadastro() { function OnSubmitForm() { return validarCadastro(); } - // function abrirProcesso(link){ - // document.getElementById('divInfraBarraComandosSuperior').style.visibility = 'hidden'; - // document.getElementById('divInfraAreaTabela').style.visibility = 'hidden'; - // infraOcultarMenuSistemaEsquema(); - // document.getElementById('frmProcedimentoExpedido').action = link; - // document.getElementById('frmProcedimentoExpedido').submit(); - // } - // Sinalizações -
- setCheckbox($strSinPrioridade)?> tabindex="getProxTabDados()?>" /> - -
- -
- setCheckbox($strSinRevisao)?> tabindex="getProxTabDados()?>" /> - -
-
- setCheckbox($strSinComentario)?> tabindex="getProxTabDados()?>" /> - -
- +
+ setCheckbox($strSinPrioridade) ?> tabindex="getProxTabDados() ?>" /> + +
+ +
+ setCheckbox($strSinRevisao) ?> tabindex="getProxTabDados() ?>" /> + +
+
+ setCheckbox($strSinComentario) ?> tabindex="getProxTabDados() ?>" /> + +
+
Estado
- setCheckbox($strSinEstadoGerado)?> tabindex="getProxTabDados()?>"/> + id="chkSinEstadoGerado" name="chkSinEstadoGerado" class="infraCheckbox CheckboxEstado" setCheckbox($strSinEstadoGerado) ?> tabindex="getProxTabDados() ?>" />
- setCheckbox($strSinEstadoDisponibilizado)?> tabindex="getProxTabDados()?>"/> - -
- - - -
- setCheckbox($strSinEstadoRetornado)?> tabindex="getProxTabDados()?>"/> - + id="chkSinEstadoDisponibilizado" name="chkSinEstadoDisponibilizado" class="infraCheckbox CheckboxEstado" setCheckbox($strSinEstadoDisponibilizado) ?> tabindex="getProxTabDados() ?>" /> +
- setCheckbox($strSinEstadoConcluido)?> tabindex="getProxTabDados()?>"/> + name="chkSinEstadoConcluido" class="infraCheckbox CheckboxEstado" setCheckbox($strSinEstadoConcluido) ?> tabindex="getProxTabDados() ?>" />
@@ -425,7 +394,7 @@ function OnSubmitForm() { montarAreaTabela($strResultado, $numRegistros, true); $objPaginaSEI->montarAreaDebug(); $objPaginaSEI->montarBarraComandosInferior($arrComandos); From 8d2729c1973e0a4799f14437e397779e5eb4dcbe Mon Sep 17 00:00:00 2001 From: Mauro Costa Date: Thu, 8 Jun 2023 09:25:33 -0300 Subject: [PATCH 13/33] =?UTF-8?q?fix:=20corre=C3=A7=C3=A3o=20de=20excluir?= =?UTF-8?q?=20apenas=20um=20registro=20e=20permi=C3=A7=C3=B5es=20de=20tela?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pen_tramite_bloco_listar.php | 18 +++++++++++++----- .../sip_atualizar_versao_modulo_pen.php | 19 ++++++++++++++----- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/src/pen_tramite_bloco_listar.php b/src/pen_tramite_bloco_listar.php index 7952668fd..a0957ef3b 100644 --- a/src/pen_tramite_bloco_listar.php +++ b/src/pen_tramite_bloco_listar.php @@ -13,7 +13,7 @@ $objSessaoSEI->validarLink(); SessaoSEI::getInstance()->validarPermissao($_GET['acao']); - // $objSessaoSEI->validarPermissao($_GET['acao']); + $objSessaoSEI->validarPermissao($_GET['acao']); $strActionPadrao = SessaoSEI::getInstance()->assinarLink('controlador.php?acao='.$_GET['acao'].'&acao_origem='.$_GET['acao'].'&id_documento=222'.$_GET['id_documento']); @@ -27,9 +27,15 @@ try { $arrStrIds = PaginaSEI::getInstance()->getArrStrItensSelecionados(); $arrObjTramiteEmBlocoDTO = array(); - for ($i = 0; $i < count($arrStrIds); $i++) { + if (count($arrStrIds) > 0) { + for ($i = 0; $i < count($arrStrIds); $i++) { + $objTramiteEmBlocoDTO = new TramiteEmBlocoDTO(); + $objTramiteEmBlocoDTO->setNumId($arrStrIds[$i]); + $arrObjTramiteEmBlocoDTO[] = $objTramiteEmBlocoDTO; + } + } elseif (isset($_GET['hdnInfraItensSelecionados'])) { $objTramiteEmBlocoDTO = new TramiteEmBlocoDTO(); - $objTramiteEmBlocoDTO->setNumId($arrStrIds[$i]); + $objTramiteEmBlocoDTO->setNumId(intval($_GET['hdnInfraItensSelecionados'])); $arrObjTramiteEmBlocoDTO[] = $objTramiteEmBlocoDTO; } $objTramiteEmBlocoRN = new TramiteEmBlocoRN(); @@ -38,7 +44,7 @@ } catch (Exception $e) { PaginaSEI::getInstance()->processarExcecao($e); } - header('Location: ' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=' . $_GET['acao_origem'] . '&acao_origem=' . $_GET['acao'])); + header('Location: ' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=' . PaginaSEI::getInstance()->getAcaoRetorno() . '&acao_origem=' . $_GET['acao'])); die; // case 'md_pen_tramita_em_bloco_excluir': @@ -156,7 +162,9 @@ $strResultado .= 'Concluir Bloco '; // Excluir - $strResultado .= 'Excluir Bloco '; + //$strResultado .= 'Excluir Bloco '; + + $strResultado .= 'Excluir Bloco '; $strResultado .= ""; } } diff --git a/src/scripts/sip_atualizar_versao_modulo_pen.php b/src/scripts/sip_atualizar_versao_modulo_pen.php index 97de4eb16..92724ccc6 100755 --- a/src/scripts/sip_atualizar_versao_modulo_pen.php +++ b/src/scripts/sip_atualizar_versao_modulo_pen.php @@ -2113,17 +2113,26 @@ protected function instalarV3040() ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiAdministrador, 'pen_tramite_em_bloco_alterar'); ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiAdministrador, 'pen_tramite_em_bloco_consultar'); - //Corrige nome do recurso $objRecursoDTO = new RecursoDTO(); $objRecursoDTO->setNumIdSistema($numIdSistema); $objRecursoDTO->setStrNome('md_pen_tramita_em_bloco_excluir'); $objRecursoDTO->retNumIdRecurso(); $objRecursoBD = new RecursoBD($this->getObjInfraIBanco()); $objRecursoDTO = $objRecursoBD->consultar($objRecursoDTO); - // adicionar permissão - $numIdPerfilSeiAdministrador = ScriptSip::obterIdPerfil($numIdSistema, "Administrador"); - $this->criarRecurso('md_pen_tramita_em_bloco_excluir', 'Blocos de Trâmite Externo', $numIdSistema); - ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiAdministrador, 'md_pen_tramita_em_bloco_excluir'); + + $objRecursoDTO = new RecursoDTO(); + $objRecursoDTO->setNumIdSistema($numIdSistema); + $objRecursoDTO->setStrNome('pen_tramita_em_bloco_protocolo_listar'); + $objRecursoDTO->retNumIdRecurso(); + $objRecursoBD = new RecursoBD($this->getObjInfraIBanco()); + $objRecursoDTO = $objRecursoBD->consultar($objRecursoDTO); + + $objRecursoDTO = new RecursoDTO(); + $objRecursoDTO->setNumIdSistema($numIdSistema); + $objRecursoDTO->setStrNome('pen_tramita_em_bloco_protocolo_excluir'); + $objRecursoDTO->retNumIdRecurso(); + $objRecursoBD = new RecursoBD($this->getObjInfraIBanco()); + $objRecursoDTO = $objRecursoBD->consultar($objRecursoDTO); $this->atualizarNumeroVersao("3.4.0"); } From 51bd606ce8f4dc441e9339de57ffb90a738dd992 Mon Sep 17 00:00:00 2001 From: Mauro Costa Date: Thu, 8 Jun 2023 12:11:03 -0300 Subject: [PATCH 14/33] =?UTF-8?q?feat:=20valida=C3=A7=C3=B5es=20e=20pesqui?= =?UTF-8?q?sa=20de=20processos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/PENIntegracao.php | 1 + src/dto/TramitaEmBlocoProtocoloDTO.php | 9 +- src/pen_tramita_em_bloco_protocolo_listar.php | 308 ++++++++++++------ src/pen_tramite_bloco_listar.php | 2 - src/rn/TramitaEmBlocoProtocoloRN.php | 54 ++- 5 files changed, 272 insertions(+), 102 deletions(-) diff --git a/src/PENIntegracao.php b/src/PENIntegracao.php index 12631b2fb..15225e1c1 100755 --- a/src/PENIntegracao.php +++ b/src/PENIntegracao.php @@ -499,6 +499,7 @@ public function processarControlador($strAcao) require_once dirname(__FILE__) . '/pen_tramite_em_bloco_cadastrar.php'; break; + case 'pen_tramita_em_bloco_protocolo_excluir': case 'pen_tramita_em_bloco_protocolo_listar': require_once dirname(__FILE__) . '/pen_tramita_em_bloco_protocolo_listar.php'; break; diff --git a/src/dto/TramitaEmBlocoProtocoloDTO.php b/src/dto/TramitaEmBlocoProtocoloDTO.php index b92b29a11..4530beceb 100755 --- a/src/dto/TramitaEmBlocoProtocoloDTO.php +++ b/src/dto/TramitaEmBlocoProtocoloDTO.php @@ -83,19 +83,20 @@ public function montar() { /* $this->adicionarAtributo(InfraDTO::$PREFIXO_STR,'SinAberto'); */ $this->adicionarAtributo(InfraDTO::$PREFIXO_OBJ,'ProtocoloDTO'); + $this->adicionarAtributo(InfraDTO::$PREFIXO_OBJ,'PenLoteProcedimentoDTO'); $this->adicionarAtributo(InfraDTO::$PREFIXO_ARR,'ObjAssinaturaDTO'); $this->adicionarAtributo(InfraDTO::$PREFIXO_STR,'PalavrasPesquisa'); $this->adicionarAtributo(InfraDTO::$PREFIXO_STR,'SinAberto'); - $this->configurarPK('Id', InfraDTO::$TIPO_PK_NATIVA ); + $this->configurarPK('Id', InfraDTO::$TIPO_PK_NATIVA); $this->configurarPK('IdProtocolo',InfraDTO::$TIPO_PK_INFORMADO); $this->configurarPK('IdTramitaEmBloco',InfraDTO::$TIPO_PK_INFORMADO); $this->configurarFK('IdProtocolo', 'protocolo p1', 'p1.id_protocolo'); - $this->configurarFK('IdTramitaEmBloco', 'md_pen_tramita_em_bloco', 'id'); - $this->configurarFK('IdProtocoloProtocolo', 'documento', 'id_documento', InfraDTO::$TIPO_FK_OPCIONAL); - $this->configurarFK('IdProcedimentoDocumento', 'protocolo p2', 'p2.id_protocolo'); + $this->configurarFK('IdTramitaEmBloco', 'md_pen_tramita_em_bloco tb1', 'id'); + $this->configurarFK('IdTramitaEmBloco', 'md_pen_rel_expedir_lote tbrel', 'id'); + $this->configurarFK('dProtocolo', 'md_pen_tramita_em_bloco tb1', 'id_procedimento'); } } ?> \ No newline at end of file diff --git a/src/pen_tramita_em_bloco_protocolo_listar.php b/src/pen_tramita_em_bloco_protocolo_listar.php index 350fb1886..6a40a0d13 100755 --- a/src/pen_tramita_em_bloco_protocolo_listar.php +++ b/src/pen_tramita_em_bloco_protocolo_listar.php @@ -7,71 +7,135 @@ $objSessaoSEI = SessaoSEI::getInstance(); $objPaginaSEI = PaginaSEI::getInstance(); - $objSessaoSEI->validarLink(); - // $objSessaoSEI->validarPermissao($_GET['acao']); - - $staCancelado = ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO; - $staConcluido = ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_COMPONENTES_ENVIADOS_REMETENTE; - $staEmProcessamento = ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_NAO_INICIADO; - - $objPaginaSEI->salvarCamposPost(array('txtProcedimentoFormatado', 'txtNomeUsuario', 'txtUnidadeDestino', 'selAndamento')); - - switch ($_GET['acao']) { - - case 'pen_tramita_em_bloco_protocolo_listar': - $strTitulo = 'Processos Tramitados em Bloco'; - break; + $objSessaoSEI->validarLink(); + //$objSessaoSEI->validarPermissao($_GET['acao']); + + $staCancelado = ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO; + $staConcluido = ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_COMPONENTES_ENVIADOS_REMETENTE; + $staEmProcessamento = ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_NAO_INICIADO; + + $objPaginaSEI->salvarCamposPost(array('txtProcedimentoFormatado', 'txtNomeUsuario', 'txtUnidadeDestino', 'selAndamento')); + + switch ($_GET['acao']) { + case 'rel_bloco_protocolo_excluir': + try { + $arrStrIds = PaginaSEI::getInstance()->getArrStrItensSelecionados(); + $arrObjTramiteBlocoDTO = array(); + for ($i = 0; $i < count($arrStrIds); $i++) { + $arrStrIdComposto = explode('-', $arrStrIds[$i]); + $objTramiteEmBlocoDTO = new TramiteEmBlocoDTO(); + $objTramiteEmBlocoDTO->setDblIdProtocolo($arrStrIdComposto[0]); + $objTramiteEmBlocoDTO->setNumIdBloco($arrStrIdComposto[1]); + $arrObjTramiteBlocoDTO[] = $objTramiteEmBlocoDTO; + } + $objRelBlocoProtocoloRN = new RelBlocoProtocoloRN(); + $objRelBlocoProtocoloRN->excluirRN1289($arrObjRelBlocoProtocoloDTO); + PaginaSEI::getInstance()->setStrMensagem('Operação realizada com sucesso.'); + } catch (Exception $e) { + PaginaSEI::getInstance()->processarExcecao($e); + } + header('Location: ' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=' . $_GET['acao_origem'] . '&acao_origem=' . $_GET['acao'] . $strParametros)); + die; + case 'pen_tramita_em_bloco_protocolo_listar': + $strTitulo = 'Processos do Bloco: ' . $_GET['id_bloco']; + break; default: throw new InfraException("Ação '" . $_GET['acao'] . "' não reconhecida."); } - $arrComandos = array(); - $arrComandos[] = ''; + $arrComandos = array(); + $arrComandos[] = ''; - $objTramitaEmBlocoProtocoloDTO = new TramitaEmBlocoProtocoloDTO(); - $objTramitaEmBlocoProtocoloDTO->retTodos(); + $objTramitaEmBlocoProtocoloDTO = new TramitaEmBlocoProtocoloDTO(); + $objTramitaEmBlocoProtocoloDTO->retTodos(); + $objTramitaEmBlocoProtocoloDTO->setNumIdTramitaEmBloco($_GET['id_bloco']); - $objTramitaEmBlocoProtocoloRN = new TramitaEmBlocoProtocoloRN(); - $arrTramitaEmBlocoProtocoloDTO = $objTramitaEmBlocoProtocoloRN->listar($objTramitaEmBlocoProtocoloDTO); - echo "
"; var_dump($arrTramitaEmBlocoProtocoloDTO);
+  $objTramitaEmBlocoProtocoloRN = new TramitaEmBlocoProtocoloRN();
+  $arrTramitaEmBlocoProtocoloDTO = $objTramitaEmBlocoProtocoloRN->listar($objTramitaEmBlocoProtocoloDTO);
+  // echo "
"; var_dump($_GET['id_bloco']); echo "
"; die(1); - //$objPaginaSEI->prepararOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Id', InfraDTO::$TIPO_ORDENACAO_ASC); - //$objPaginaSEI->prepararPaginacao($objTramitaEmBlocoProtocoloDTO); + $objPaginaSEI->prepararPaginacao($objTramitaEmBlocoProtocoloDTO); + $objPaginaSEI->processarPaginacao($objTramitaEmBlocoProtocoloDTO); + $objPaginaSEI->prepararOrdenacao($objTramitaEmBlocoProtocoloDTO, 'IdxRelBlocoProtocolo', InfraDTO::$TIPO_ORDENACAO_ASC); - //$objPaginaSEI->processarPaginacao($objTramitaEmBlocoProtocoloRN); - $numRegistros = count($arrTramitaEmBlocoProtocoloDTO); - if ($numRegistros > 0) { - $arrComandos[] = ''; + $numRegistros = count($arrTramitaEmBlocoProtocoloDTO); + if ($numRegistros > 0) { + $objPenLoteProcedimentoDTO = new PenLoteProcedimentoDTO(); + $arrComandos[] = ''; $strResultado = ''; $strSumarioTabela = 'Tabela de Processo em Lote.'; $strCaptionTabela = 'Processo em Lote'; - $strResultado .= '
'.PaginaSEI::getInstance()->gerarCaptionTabela($strCaptionTabela, $numRegistros).'
'.PaginaSEI::getInstance()->getThCheck().'{$coluna}{$coluna}
'.PaginaSEI::getInstance()->getTrCheck($linha['Número'], $linha['Número'], $linha['Número']).''.PaginaSEI::getInstance()->getTrCheck($i,$objBlocoDTO->getNumIdBloco(),$objBlocoDTO->getNumIdBloco()).''.PaginaSEI::getInstance()->getTrCheck($linha['id'], $linha['id'], $linha['id']).''.PaginaSEI::getInstance()->getTrCheck($i,$idBlocoTramite,$idBlocoTramite).' {$linha[$coluna]} {$linha[$key]} "; // visualizar - $strResultado .= 'Visualizar Processos '; + $strResultado .= 'Visualizar Processos '; - // atribuir - $strResultado .= 'Atribuir Bloco '; + // atribuir + $strResultado .= 'Atribuir Bloco '; // alterar - $strResultado .= 'Alterar Bloco '; + $strResultado .= 'Alterar Bloco '; - // concluir - $strResultado .= 'Concluir Bloco '; + // concluir + $strResultado .= 'Concluir Bloco '; // Excluir - $strResultado .= 'Excluir Bloco '; + $strResultado .= 'Excluir Bloco '; $strResultado .= "
' . "\n"; - $strResultado .= ''; - $strResultado .= ''; - $strResultado .= '' . "\n"; - $strResultado .= '' . "\n"; - $strResultado .= '' . "\n"; - $strResultado .= '' . "\n"; - $strResultado .= '' . "\n"; - $strResultado .= '' . "\n"; - $strResultado .= '' . "\n"; - $strResultado .= '' . "\n"; - $strCssTr = ''; - for ($i = 0; $i < $numRegistros; $i++) { + $strResultado .= '
' . $objPaginaSEI->gerarCaptionTabela($strCaptionTabela, $numRegistros) . '
' . $objPaginaSEI->getThCheck() . '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'ID Lote', 'IdLote', $arrTramitaEmBlocoProtocoloDTO) . '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Processo', 'ProcedimentoFormatado', $arrTramitaEmBlocoProtocoloDTO) . '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Usuário', 'IdUsuario', $arrTramitaEmBlocoProtocoloDTO) . '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Data do Envio', 'Registro', $arrTramitaEmBlocoProtocoloDTO) . '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Unidade Destino', 'UnidadeDestino', $arrTramitaEmBlocoProtocoloDTO) . '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Situação', 'IdAndamento', $arrTramitaEmBlocoProtocoloDTO) . '
' . "\n"; + $strResultado .= ''; + $strResultado .= ''; + $strResultado .= '' . "\n"; + $strResultado .= '' . "\n"; + $strResultado .= '' . "\n"; + $strResultado .= '' . "\n"; + //$strResultado .= '' . "\n"; + // $strResultado .= '' . "\n"; + // $strResultado .= '' . "\n"; + $strResultado .= '' . "\n"; + $strResultado .= '' . "\n"; + $strResultado .= '' . "\n"; + $strResultado .= '' . "\n"; + $strResultado .= '' . "\n"; + $strResultado .= '' . "\n"; + $strCssTr = ''; + foreach ($arrTramitaEmBlocoProtocoloDTO as $i => $objDTO) { $strCssTr = ($strCssTr == '') ? '' : ''; $strResultado .= $strCssTr; - $strResultado .= ''; - $strResultado .= ''; - $strResultado .= ''; - $strResultado .= ''; - $strResultado .= ''; - $strResultado .= ''; - $strResultado .= ''; + $strResultado .= ''; + + + $objPenLoteProcedimentoDTO = new PenLoteProcedimentoDTO(); + $objPenLoteProcedimentoDTO->retNumIdLote(); + $objPenLoteProcedimentoDTO->retDblIdProcedimento(); + $objPenLoteProcedimentoDTO->retStrProcedimentoFormatado(); + $objPenLoteProcedimentoDTO->retNumIdAndamento(); + $objPenLoteProcedimentoDTO->retStrUnidadeDestino(); + $objPenLoteProcedimentoDTO->retStrNomeUsuario(); + $objPenLoteProcedimentoDTO->retDthRegistro(); + $objPenLoteProcedimentoDTO->setNumMaxRegistrosRetorno(1); + $objPenLoteProcedimentoDTO->setOrdNumIdLote(InfraDTO::$TIPO_ORDENACAO_DESC); + $objPenLoteProcedimentoDTO->setDblIdProcedimento($objDTO->getDblIdProtocolo()); + + $objPenLoteProcedimentoRN = new PenLoteProcedimentoRN(); + $objPenLoteProcedimentoDTO = $objPenLoteProcedimentoRN->consultarLoteProcedimento($objPenLoteProcedimentoDTO); + + // if ($objPenLoteProcedimentoDTO->getStrStaTipo() == TramiteEmBlocoRN::$TB_ASSINATURA) { + // $strResultado .= ''; + // $strResultado .= "\n" . ''; + // } else { + $strResultado .= ''; + // } switch ($arrObjPenLoteProcedimentoRN[$i]->getNumIdAndamento()) { case $staConcluido: @@ -91,11 +155,25 @@ $strResultado .= '
' . $objPaginaSEI->gerarCaptionTabela($strCaptionTabela, $numRegistros) . '
' . $objPaginaSEI->getThCheck() . '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Seq', 'Sequencia', $arrTramitaEmBlocoProtocoloDTO) . '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Processo', 'IdxRelBlocoProtocolo', $arrTramitaEmBlocoProtocoloDTO) . '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Anotações', 'IdxRelBlocoProtocolo', $arrTramitaEmBlocoProtocoloDTO) . '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Usuário', 'IdUsuario', $arrTramitaEmBlocoProtocoloDTO) . '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Data do Envio', 'Registro', $arrTramitaEmBlocoProtocoloDTO) . '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Unidade Destino', 'UnidadeDestino', $arrTramitaEmBlocoProtocoloDTO) . 'UsuárioData do EnvioUnidade DestinoSituaçãoAções
' . $objPaginaSEI->getTrCheck($i, $arrObjPenLoteProcedimentoRN[$i]->getNumIdLote(), $arrObjPenLoteProcedimentoRN[$i]->getNumIdLote()) . '' . $arrObjPenLoteProcedimentoRN[$i]->getNumIdLote() . '' . PaginaSEI::tratarHTML($arrObjPenLoteProcedimentoRN[$i]->getStrProcedimentoFormatado()) . '' . PaginaSEI::tratarHTML($arrObjPenLoteProcedimentoRN[$i]->getStrNomeUsuario()) . '' . PaginaSEI::tratarHTML($arrObjPenLoteProcedimentoRN[$i]->getDthRegistro()) . '' . PaginaSEI::tratarHTML($arrObjPenLoteProcedimentoRN[$i]->getStrUnidadeDestino()) . ''; + //echo "
"; var_dump($objDTO); echo "
"; + + $strResultado .= '
' . $objPaginaSEI->getTrCheck($i, $objDTO->getNumId(), $objDTO->getNumId()) . '' . $objDTO->getNumSequencia() . '' . PaginaSEI::tratarHTML($objProtocoloDTO->getStrProtocoloFormatadoProcedimentoDocumento()) . ''; + + // if ($bolAcaoDocumentoVisualizar && ($objBlocoDTO->getNumIdUnidade() == SessaoSEI::getInstance()->getNumIdUnidadeAtual() || $objBlocoDTO->getStrStaEstado() == BlocoRN::$TE_RECEBIDO)) { + // $strResultado .= '' . PaginaSEI::tratarHTML($objRelBlocoProtocoloDTO->getStrProtocoloFormatadoProtocolo()) . ''; + // $strArrJs .= 'arrBloco[' . $numPosicao . ']="' . $objDTO->getNumIdBloco() . '";' . "\n"; + // $strArrJs .= 'arrSequencial[' . $numPosicao . ']="' . $objDTO->getNumSequencia() . '";' . "\n"; + // $strArrJs .= 'arrLinkDocumento[' . $numPosicao . ']="' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=documento_visualizar&id_documento=' . $objRelBlocoProtocoloDTO->getDblIdProtocolo()) . '";' . "\n"; + // $strArrJs .= 'arrLinkProcedimento[' . $numPosicao . ']="' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=procedimento_trabalhar&acao_origem=bloco_navegar&id_procedimento=' . $objProtocoloDTO->getDblIdProcedimentoDocumentoProcedimento() . '&id_documento=' . $objRelBlocoProtocoloDTO->getDblIdProtocolo()) . '";' . "\n"; + // $strArrJs .= 'arrLinkAssinatura[' . $numPosicao . ']="' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=documento_assinar&acao_origem=bloco_navegar&acao_retorno=bloco_navegar&id_procedimento=' . $objProtocoloDTO->getDblIdProcedimentoDocumentoProcedimento() . '&id_documento=' . $objRelBlocoProtocoloDTO->getDblIdProtocolo() . '&id_bloco=' . $objRelBlocoProtocoloDTO->getNumIdBloco()) . '";' . "\n"; + // $numPosicao++; + // } else if ($bolAcaoDocumentoVisualizar) { + // $strResultado .= '' . PaginaSEI::tratarHTML($objRelBlocoProtocoloDTO->getStrProtocoloFormatadoProtocolo()) . ''; + // } else { + // $strResultado .= '' . PaginaSEI::tratarHTML($objDTO->getStrProtocoloFormatadoProtocolo()) . ''; + // } + + // $strResultado .= ''; + //' . PaginaSEI::tratarHTML($objProtocoloDTO->getStrNomeTipoProcedimentoProcedimento()) . ' + $strResultado .= '' . $objDTO->getStrIdxRelBlocoProtocolo() . ''; + $strResultado .= '
'; } - $arrComandos[] = ''; - - } catch (Exception $e) { - $objPaginaSEI->processarExcecao($e); + $strResultado .= '' . "\n"; + // if ( + // $objDTO->getStrStaEstado() != TramiteEmBlocoRN::$TE_DISPONIBILIZADO && + // $objRelBlocoProtocoloDTO->getNumIdUnidadeBloco() == SessaoSEI::getInstance()->getNumIdUnidadeAtual() + // ) { + $strId = $objDTO->getDblIdProtocolo() . '-' . $objDTO->getNumId(); + $strDescricao = PaginaSEI::getInstance()->formatarParametrosJavaScript($objDTO->getStrIdxRelBlocoProtocolo()); + $strResultado .= 'Retirar Processo/Documento do Bloco '; + // } + $strResultado .= '' . "\n"; + $strResultado .= '' . "\n"; } + $strResultado .= ''; + } + + $arrComandos[] = ''; +} catch (Exception $e) { + $objPaginaSEI->processarExcecao($e); +} $objPaginaSEI->montarDocType(); $objPaginaSEI->abrirHtml(); @@ -106,17 +184,8 @@ $objPaginaSEI->abrirStyle(); ?> -#lblNomeUsuario {position:absolute;left:0%;top:0%;width:20%;} -#txtNomeUsuario {position:absolute;left:0%;top:40%;width:20%;} - -#lblProcedimentoFormatado {position:absolute;left:23%;top:0%;width:20%;} -#txtProcedimentoFormatado {position:absolute;left:23%;top:40%;width:20%;} - -#lblUnidadeDestino {position:absolute;left:46%;top:0%;width:20%;} -#txtUnidadeDestino {position:absolute;left:46%;top:40%;width:25%;} - -#lblAndamento {position:absolute;left:74%;top:0%;width:20%;} -#selAndamento {position:absolute;left:74%;top:40%;width:20%;} +#lblProcedimentoFormatado {position:absolute;left:0%;top:0%;width:20%;} +#txtProcedimentoFormatado {position:absolute;left:0%;top:40%;width:20%;} fecharStyle(); @@ -135,40 +204,97 @@ function inicializar(){ infraEfeitoTabelas(); } -fecharJavaScript(); -$objPaginaSEI->fecharHead(); -$objPaginaSEI->abrirBody($strTitulo, 'onload="inicializar();"'); -?> -
- montarBarraComandosSuperior($arrComandos); - $objPaginaSEI->abrirAreaDados('4.5em'); - ?> +fecharStyle(); ?> +montarJavaScript(); ?> + +fecharHead(); +$objPaginaSEI->abrirBody($strTitulo, 'onload="inicializar();"'); +?> + + montarBarraComandosSuperior($arrComandos); + $objPaginaSEI->abrirAreaDados('4.5em'); + ?> + + + + + + + + + + + + + + fecharAreaDados(); + $objPaginaSEI->montarAreaTabela($strResultado, $numRegistros); + $objPaginaSEI->montarAreaDebug(); + $objPaginaSEI->montarBarraComandosInferior($arrComandos); + ?>
fecharBody(); diff --git a/src/pen_tramite_bloco_listar.php b/src/pen_tramite_bloco_listar.php index a0957ef3b..9dd4e0ee3 100644 --- a/src/pen_tramite_bloco_listar.php +++ b/src/pen_tramite_bloco_listar.php @@ -46,8 +46,6 @@ } header('Location: ' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=' . PaginaSEI::getInstance()->getAcaoRetorno() . '&acao_origem=' . $_GET['acao'])); die; - // case 'md_pen_tramita_em_bloco_excluir': - case 'md_pen_tramita_em_bloco': $arrEstadosSelecionados = []; $checkboxesEstados = [ diff --git a/src/rn/TramitaEmBlocoProtocoloRN.php b/src/rn/TramitaEmBlocoProtocoloRN.php index 79bf9e102..f487ceceb 100755 --- a/src/rn/TramitaEmBlocoProtocoloRN.php +++ b/src/rn/TramitaEmBlocoProtocoloRN.php @@ -16,6 +16,46 @@ protected function inicializarObjInfraIBanco() return BancoSEI::getInstance(); } + protected function listarProtocolosBlocoConectado(TramitaEmBlocoProtocoloDTO $parObjTramitaEmBlocoProtocoloDTO) + { + try { + + $ret = array(); + + //Valida Permissao + // SessaoSEI::getInstance()->validarAuditarPermissao('rel_bloco_protocolo_listar', __METHOD__, $parObjRelBlocoProtocoloDTO); + + $parObjRelBlocoProtocoloDTO = InfraString::prepararPesquisaDTO($parObjTramitaEmBlocoProtocoloDTO, "PalavrasPesquisa", "IdxRelBlocoProtocolo"); + $parObjRelBlocoProtocoloDTO->setStrStaNivelAcessoGlobalProtocolo(ProtocoloRN::$NA_SIGILOSO, InfraDTO::$OPER_DIFERENTE); + $arrObjRelProtocoloBlocoDTO = $this->listar($parObjRelBlocoProtocoloDTO); + + foreach ($arrObjRelProtocoloBlocoDTO as $dto) { + + $objPenLoteProcedimentoDTO = new PenLoteProcedimentoDTO(); + $objPenLoteProcedimentoDTO->retNumIdLote(); + $objPenLoteProcedimentoDTO->retDblIdProcedimento(); + $objPenLoteProcedimentoDTO->retStrProcedimentoFormatado(); + $objPenLoteProcedimentoDTO->retNumIdAndamento(); + $objPenLoteProcedimentoDTO->retStrUnidadeDestino(); + $objPenLoteProcedimentoDTO->retStrNomeUsuario(); + $objPenLoteProcedimentoDTO->retDthRegistro(); + $objPenLoteProcedimentoDTO->setNumMaxRegistrosRetorno(1); + $objPenLoteProcedimentoDTO->setOrdNumIdLote(InfraDTO::$TIPO_ORDENACAO_DESC); + $objPenLoteProcedimentoDTO->setDblIdProcedimento($dto->getDblIdProtocolo()); + + $objPenLoteProcedimentoRN = new PenLoteProcedimentoRN(); + $objPenLoteProcedimentoDTO = $objPenLoteProcedimentoRN->consultarLoteProcedimento($objPenLoteProcedimentoDTO); + + $dto->setObjPenLoteProcedimentoDTO($objPenLoteProcedimentoDTO); + $ret[] = $dto; + } + + return $ret; + } catch (Exception $e) { + throw new InfraException('Erro listando protocolos do bloco.', $e); + } + } + /** * Método utilizado para exclusão de dados. * @param TramitaEmBlocoProtocoloDTO $objDTO @@ -39,17 +79,21 @@ protected function listarControlado(TramitaEmBlocoProtocoloDTO $objDTO) /** * Método utilizado para exclusão de dados. - * @param TramitaEmBlocoProtocoloDTO $objDTO + * @param array $arrayObjDTO * @return array * @throws InfraException */ - protected function excluirControlado(TramitaEmBlocoProtocoloDTO $objDTO) + protected function excluirControlado(array $arrayObjDTO) { try { - $objBD = new TramitaEmBlocoProtocoloBD(BancoSEI::getInstance()); - return $objBD->excluir($objDTO); + $arrayExcluido = array(); + foreach ($arrayObjDTO as $objDTO) { + $objBD = new TramitaEmBlocoProtocoloBD(BancoSEI::getInstance()); + $arrayExcluido[] = $objBD->excluir($objDTO); + } + return $arrayExcluido; } catch (Exception $e) { - throw new InfraException('Erro excluindo mapeamento de unidades.', $e); + throw new InfraException('Erro excluindo Bloco.', $e); } } } From 2361da39ac0d2a9b934f67b91d5130d4c7a35cdc Mon Sep 17 00:00:00 2001 From: gledson-sousa Date: Wed, 7 Jun 2023 15:45:15 -0300 Subject: [PATCH 15/33] feat: Novo Perfil Tramitador --- .../sip_atualizar_versao_modulo_pen.php | 109 ++++++++++++++---- 1 file changed, 88 insertions(+), 21 deletions(-) diff --git a/src/scripts/sip_atualizar_versao_modulo_pen.php b/src/scripts/sip_atualizar_versao_modulo_pen.php index 92724ccc6..fbd3fba86 100755 --- a/src/scripts/sip_atualizar_versao_modulo_pen.php +++ b/src/scripts/sip_atualizar_versao_modulo_pen.php @@ -300,10 +300,12 @@ protected function atualizarVersaoConectado() $this->instalarV3024(); case '3.2.4': $this->instalarV3030(); + case '3.2.5': + $this->instalarV3031(); case '3.4.0': $this->instalarV3040(); - break; // Ausência de [break;] proposital para realizar a atualização incremental de versões + break; // Ausência de [break;] proposital para realizar a atualização incremental de versões default: $this->finalizar('VERSAO DO MÓDULO JÁ CONSTA COMO ATUALIZADA'); @@ -478,6 +480,27 @@ protected function consultarRecurso($numIdSistema, $strNomeRecurso) return $objRecursoDTO->getNumIdRecurso(); } + protected function consultarItemMenu($numIdSistema, $strNomeRecurso) + { + $numIdRecurso = $this->consultarRecurso($numIdSistema, $strNomeRecurso); + + $objItemMenuDTO = new ItemMenuDTO(); + $objItemMenuDTO->setBolExclusaoLogica(false); + $objItemMenuDTO->setNumIdSistema($numIdSistema); + $objItemMenuDTO->setNumIdRecurso($numIdRecurso); + $objItemMenuDTO->retNumIdMenu(); + $objItemMenuDTO->retNumIdItemMenu(); + + $objItemMenuRN = new ItemMenuRN(); + $objItemMenuDTO = $objItemMenuRN->consultar($objItemMenuDTO); + + if ($objItemMenuDTO == null){ + throw new InfraException("Item de menu não pode ser localizado."); + } + + return array($objItemMenuDTO->getNumIdItemMenu(), $objItemMenuDTO->getNumIdMenu(), $numIdRecurso); + } + /** * Cria um novo menu lateral para o sistema SEI * @@ -2057,6 +2080,59 @@ protected function instalarV3030() $this->atualizarNumeroVersao("3.3.0"); } + //Perfil Tramitador de Processos em Bloco + protected function instalarV3031() + { + + //Consulta do Sistema + $sistemaDTO = new SistemaDTO(); + $sistemaDTO->setStrSigla('SEI'); + $sistemaDTO->setNumRegistrosPaginaAtual(1); + $sistemaDTO->retNumIdSistema(); + + $sistemaRN = new SistemaRN(); + $sistemaDTO = $sistemaRN->consultar($sistemaDTO); + + if (!empty($sistemaDTO)) { + $numIdSistema = $sistemaDTO->getNumIdSistema(); + } + + //Cria função genérica de cadastro de perfil + $fnCadastrarPerfil = function ($numIdSistema, $nome, $descricao, $coordenado, $ativo) { + $objPerfilDTO = new PerfilDTO(); + $objPerfilDTO->setNumIdSistema($numIdSistema); + $objPerfilDTO->setStrNome($nome); + $objPerfilDTO->setStrDescricao($descricao); + $objPerfilDTO->setStrSinCoordenado($coordenado); + $objPerfilDTO->setStrSinAtivo($ativo); + + $objPerfilRN = new PerfilRN(); + $objPerfilDTO = $objPerfilRN->cadastrar($objPerfilDTO); + + return $objPerfilDTO->getNumIdPerfil(); + }; + + //Cadastrar o perfil + $id_perfil_tramitador = $fnCadastrarPerfil($numIdSistema, 'Tramitador de Processos em Bloco', 'Acesso aos recursos específicos ao perfil Tramitador de Processos em Bloco', 'N', 'S'); + + $this->arrRecurso = []; + $this->arrRecurso = array_merge($this->arrRecurso, array( + $this->consultarRecurso($numIdSistema, "md_pen_tramita_em_bloco"), + $this->consultarRecurso($numIdSistema, "pen_procedimento_expedido_listar"), + $this->consultarRecurso($numIdSistema, "pen_expedir_lote_listar") + )); + + $this->arrMenu = []; + $this->arrMenu = array_merge($this->arrMenu, array( + $this->consultarItemMenu($numIdSistema, "md_pen_tramita_em_bloco") + )); + + //Atribui as permissões aos recursos e menus + $this->atribuirPerfil($numIdSistema, $id_perfil_tramitador); + + $this->atualizarNumeroVersao("3.2.5"); + } + protected function instalarV3040() { /* Corrige nome de menu de trâmite de documentos */ @@ -2101,17 +2177,16 @@ protected function instalarV3040() $this->logar('Atribuição de permissões do módulo ao perfil do SEI'); // adicionar permissão - // adicionar permissão - $numIdPerfilSeiAdministrador = ScriptSip::obterIdPerfil($numIdSistema, "Administrador"); + $numIdPerfilSeiTramitador = ScriptSip::obterIdPerfil($numIdSistema, "Tramitador de Processos em Bloco"); $this->criarRecurso('md_pen_tramita_em_bloco', 'Blocos de Trâmite Externo', $numIdSistema); $this->criarRecurso('md_pen_tramita_em_bloco_cadastrar', 'Cadastrar Bloco de Tramite Externo', $numIdSistema); $this->criarRecurso('md_pen_tramita_em_bloco_alterar', 'Alterar Descrição do bloco de Tramite Externo', $numIdSistema); $this->criarRecurso('pen_tramite_em_bloco_consultar', 'Alterar Descrição do bloco de Tramite Externo', $numIdSistema); - ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiAdministrador, 'md_pen_tramita_em_bloco'); - ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiAdministrador, 'pen_tramite_em_bloco_cadastrar'); - ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiAdministrador, 'pen_tramite_em_bloco_alterar'); - ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiAdministrador, 'pen_tramite_em_bloco_consultar'); + ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiTramitador, 'md_pen_tramita_em_bloco'); + ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiTramitador, 'pen_tramite_em_bloco_cadastrar'); + ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiTramitador, 'pen_tramite_em_bloco_alterar'); + ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiTramitador, 'pen_tramite_em_bloco_consultar'); $objRecursoDTO = new RecursoDTO(); $objRecursoDTO->setNumIdSistema($numIdSistema); @@ -2119,23 +2194,15 @@ protected function instalarV3040() $objRecursoDTO->retNumIdRecurso(); $objRecursoBD = new RecursoBD($this->getObjInfraIBanco()); $objRecursoDTO = $objRecursoBD->consultar($objRecursoDTO); - - $objRecursoDTO = new RecursoDTO(); - $objRecursoDTO->setNumIdSistema($numIdSistema); - $objRecursoDTO->setStrNome('pen_tramita_em_bloco_protocolo_listar'); - $objRecursoDTO->retNumIdRecurso(); - $objRecursoBD = new RecursoBD($this->getObjInfraIBanco()); - $objRecursoDTO = $objRecursoBD->consultar($objRecursoDTO); - - $objRecursoDTO = new RecursoDTO(); - $objRecursoDTO->setNumIdSistema($numIdSistema); - $objRecursoDTO->setStrNome('pen_tramita_em_bloco_protocolo_excluir'); - $objRecursoDTO->retNumIdRecurso(); - $objRecursoBD = new RecursoBD($this->getObjInfraIBanco()); - $objRecursoDTO = $objRecursoBD->consultar($objRecursoDTO); + // adicionar permissão + $numIdPerfilSeiTramitador = ScriptSip::obterIdPerfil($numIdSistema, "Tramitador de Processos em Bloco"); + $this->criarRecurso('md_pen_tramita_em_bloco_excluir', 'Blocos de Trâmite Externo', $numIdSistema); + ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiTramitador, 'md_pen_tramita_em_bloco_excluir'); $this->atualizarNumeroVersao("3.4.0"); } + + } From 3c7a3261a400d1c871e82726a42296c408d8224e Mon Sep 17 00:00:00 2001 From: Matheus Marques Date: Thu, 8 Jun 2023 14:52:33 -0300 Subject: [PATCH 16/33] feat: Adicionado a funcionalidade de tramitar os processos do bloco --- src/PENIntegracao.php | 2 - src/pen_expedir_lote.php | 43 +++++++++++++- src/pen_tramita_em_bloco_protocolo_listar.php | 59 +------------------ src/pen_tramite_bloco_listar.php | 19 +++--- src/rn/TramiteEmBlocoRN.php | 10 ++++ 5 files changed, 63 insertions(+), 70 deletions(-) diff --git a/src/PENIntegracao.php b/src/PENIntegracao.php index 15225e1c1..f08e116f4 100755 --- a/src/PENIntegracao.php +++ b/src/PENIntegracao.php @@ -158,8 +158,6 @@ public function montarBotaoProcesso(ProcedimentoAPI $objSeiIntegracaoDTO) $strAcoesProcedimento .= ''; } - $strAcoesProcedimento .= 'TESTE AQUII'; - return array($strAcoesProcedimento); } diff --git a/src/pen_expedir_lote.php b/src/pen_expedir_lote.php index a25c7b303..80244bc2f 100755 --- a/src/pen_expedir_lote.php +++ b/src/pen_expedir_lote.php @@ -18,7 +18,32 @@ $strDiretorioModulo = PENIntegracao::getDiretorio(); $arrProtocolosOrigem = array(); - $arrProtocolosOrigem = array_merge($objPaginaSEI->getArrStrItensSelecionados('Gerados'), $objPaginaSEI->getArrStrItensSelecionados('Recebidos'), $objPaginaSEI->getArrStrItensSelecionados('Detalhado')); + $tramiteEmBloco = isset($_GET['tramite_em_bloco']) ? $_GET['tramite_em_bloco'] : null; + if ($tramiteEmBloco == 1) { + if (isset($_GET['id_tramita_em_bloco'])) { + $objTramitaEmBlocoProtocoloDTO = new TramitaEmBlocoProtocoloDTO(); + $objTramitaEmBlocoProtocoloDTO->setNumIdTramitaEmBloco($_GET['id_tramita_em_bloco']); + $objTramitaEmBlocoProtocoloDTO->retDblIdProtocolo(); + $objTramitaEmBlocoProtocoloDTO->retNumIdTramitaEmBloco(); + } else { + $arrIdRelBlocoProtocoloSelecionado = $objPaginaSEI->getArrStrItensSelecionados(); + $objTramitaEmBlocoProtocoloDTO = new TramitaEmBlocoProtocoloDTO(); + $objTramitaEmBlocoProtocoloDTO->setNumId($arrIdRelBlocoProtocoloSelecionado, InfraDTO::$OPER_IN); + $objTramitaEmBlocoProtocoloDTO->retDblIdProtocolo(); + $objTramitaEmBlocoProtocoloDTO->retNumIdTramitaEmBloco(); + } + + $objTramitaEmBlocoProtocoloRN = new TramitaEmBlocoProtocoloRN(); + $arrTramiteEmBlocoProtocolo = $objTramitaEmBlocoProtocoloRN->listar($objTramitaEmBlocoProtocoloDTO); + $idTramiteEmBloco = $arrTramiteEmBlocoProtocolo[0]->getNumIdTramitaEmBloco(); + $strParametros .= '&id_bloco=' . $idTramiteEmBloco; + foreach ($arrTramiteEmBlocoProtocolo as $i => $tramiteEmBlocoProtocolo) { + $arrProtocolosOrigem[] = $tramiteEmBlocoProtocolo->getDblIdProtocolo(); + } + } else { + $idTramiteEmBloco = null; + $arrProtocolosOrigem = array_merge($objPaginaSEI->getArrStrItensSelecionados('Gerados'), $objPaginaSEI->getArrStrItensSelecionados('Recebidos'), $objPaginaSEI->getArrStrItensSelecionados('Detalhado')); + } if (count($arrProtocolosOrigem)==0){ $arrProtocolosOrigem = explode(',', $_POST['hdnIdProcedimento']); @@ -45,7 +70,7 @@ switch ($_GET['acao']) { case 'pen_expedir_lote': - $strTitulo = 'Envio Externo de Processo em Lote'; + $strTitulo = $tramiteEmBloco == 1 ? 'Envio Externo de Processo do Bloco' : 'Envio Externo de Processo em Lote'; $arrComandos[] = ''; $arrComandos[] = ''; @@ -109,6 +134,19 @@ $ret = $objPenExpedirLoteRN->cadastrarLote($objPenExpedirLoteDTO); $bolBotaoFecharCss = InfraUtil::compararVersoes(SEI_VERSAO, ">", "4.0.1"); + // Atualiza estado do bloco em tramite para em processamento + if (isset($_POST['hdIdTramiteEmBloco']) && $_POST['hdIdTramiteEmBloco'] != null) { + $strParametros .= '&id_bloco=' . $_POST['hdIdTramiteEmBloco']; + $strLinkProcedimento = $objPaginaSEI->formatarXHTML($objSessaoSEI->assinarLink('controlador.php?acao=' . $objPaginaSEI->getAcaoRetorno() . '&acao_origem=' . $_GET['acao'] . '&acao_destino=' . $_GET['acao'] . $strParametros)); + + $objTramiteEmBlocoDTO = new TramiteEmBlocoDTO(); + $objTramiteEmBlocoDTO->setNumId($_POST['hdIdTramiteEmBloco']); + $objTramiteEmBlocoDTO->setStrStaEstado(TramiteEmBlocoRN::$TE_DISPONIBILIZADO); + + $objTramiteEmBlocoRN = new TramiteEmBlocoRN(); + $objTramiteEmBlocoRN->alterar($objTramiteEmBlocoDTO); + } + // Muda situação da barra de progresso para Concluído echo " "; } catch(\Exception $e) { @@ -402,6 +440,7 @@ function enviarForm(event){ + Tramitar processo(s) selecionado(s)'; $arrComandos[] = ''; $objTramitaEmBlocoProtocoloDTO = new TramitaEmBlocoProtocoloDTO(); @@ -204,64 +205,6 @@ function inicializar(){ infraEfeitoTabelas(); } -fecharStyle(); ?> -montarJavaScript(); ?> - fecharHead(); $objPaginaSEI->abrirBody($strTitulo, 'onload="inicializar();"'); diff --git a/src/pen_tramite_bloco_listar.php b/src/pen_tramite_bloco_listar.php index 9dd4e0ee3..393b69d06 100644 --- a/src/pen_tramite_bloco_listar.php +++ b/src/pen_tramite_bloco_listar.php @@ -160,9 +160,10 @@ $strResultado .= 'Concluir Bloco '; // Excluir - //$strResultado .= 'Excluir Bloco '; - - $strResultado .= 'Excluir Bloco '; + $strResultado .= 'Excluir Bloco '; + + // Tramitar bloco + $strResultado .= 'getDiretorioImagens()) . '" title="Tramitar Bloco" alt="Tramitar Bloco" class="infraImg iconTramita" /> '; $strResultado .= ""; } } @@ -253,11 +254,13 @@ width:100%; } -select.infraSelect, -input.infraText -{ - width: 100%; -} + select.infraSelect, + input.infraText { + width: 100%; + } + .iconTramita { + max-width: 1.5rem; + } montarJavaScript(); ?> fecharHead(); $objPaginaSEI->abrirBody($strTitulo, 'onload="inicializar();"'); diff --git a/src/pen_tramite_bloco_listar.php b/src/pen_tramite_bloco_listar.php index 5530af0a3..7e7843af5 100644 --- a/src/pen_tramite_bloco_listar.php +++ b/src/pen_tramite_bloco_listar.php @@ -127,7 +127,7 @@ $arrComandos = []; $arrComandos[] = ''; $arrComandos[] = ''; - $arrComandos[] = ''; + $arrComandos[] = ''; $arrComandos[] = ''; $arrComandos[] = ''; @@ -179,7 +179,7 @@ // Tramitar bloco $strResultado .= 'getDiretorioImagens()) . '" title="Tramitar Bloco" alt="Tramitar Bloco" class="infraImg iconTramita" /> '; - $strResultado .= 'getDiretorioImagens()) . '" title="Tramitar Bloco" alt="Tramitar Bloco" class="infraImg iconTramita" /> '; + $strResultado .= 'getDiretorioImagens()) . '" title="Cancelar Tramite do Bloco" alt="Cancelar Tramite do Bloco" class="infraImg iconTramita" /> '; $strResultado .= ""; } @@ -320,6 +320,16 @@ function onCLickLinkDelete(url, link) { } } + function onClickBtnCancelarTramite(url, link) { + var row = jQuery(link).parents('tr:first'); + var strEspecieDocumental = row.find('td:eq(1)').text(); + var strTipoDocumento = row.find('td:eq(2)').text(); + console.log(link) + if (confirm('Confirma a cancelamento dos trâmites do Bloco "' + strEspecieDocumental + ' x ' + strTipoDocumento + '"?')) { + window.location = url; + } + } + function onClickBtnNovo(){ window.location = 'assinarLink('controlador.php?acao=pen_tramite_em_bloco_cadastrar&acao_origem='.$_GET['acao_origem'].'&acao_retorno='.$_GET['acao_origem']); ?>'; } diff --git a/src/scripts/sip_atualizar_versao_modulo_pen.php b/src/scripts/sip_atualizar_versao_modulo_pen.php index 399da7fd8..f8483195f 100755 --- a/src/scripts/sip_atualizar_versao_modulo_pen.php +++ b/src/scripts/sip_atualizar_versao_modulo_pen.php @@ -2023,6 +2023,7 @@ protected function instalarV3040() $this->criarRecurso('pen_tramite_em_bloco_consultar', 'Alterar Descrição do bloco de Tramite Externo', $numIdSistema); $this->criarRecurso('pen_tramita_em_bloco_protocolo_listar', 'Listar Processos do bloco de Tramite Externo', $numIdSistema); $this->criarRecurso('pen_tramita_em_bloco_protocolo_excluir', 'Excluir processos do bloco de Tramite Externo', $numIdSistema); + $this->criarRecurso('pen_tramita_em_bloco_protocolo_cancelar', 'Cancelar processos do bloco de Tramite Externo', $numIdSistema); ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiTramitador, 'md_pen_tramita_em_bloco'); ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiTramitador, 'pen_tramite_em_bloco_cadastrar'); From 42dbf8f4bf43fab2cb48ff8c7662a5b730a2304b Mon Sep 17 00:00:00 2001 From: Glaydson Rodrigues Date: Thu, 6 Jul 2023 10:41:18 -0300 Subject: [PATCH 31/33] chore: Adicionar filtros necessarios --- src/pen_tramite_bloco_listar.php | 44 +++++++------------ ...en_tramite_processo_em_bloco_cadastrar.php | 3 +- src/rn/TramiteEmBlocoRN.php | 15 +++++++ .../sip_atualizar_versao_modulo_pen.php | 4 +- 4 files changed, 37 insertions(+), 29 deletions(-) diff --git a/src/pen_tramite_bloco_listar.php b/src/pen_tramite_bloco_listar.php index 7e7843af5..ab387caee 100644 --- a/src/pen_tramite_bloco_listar.php +++ b/src/pen_tramite_bloco_listar.php @@ -103,7 +103,6 @@ // Cabeçalho da tabela $colunas = array( 'id' => 'Número', - 'sinalizacao' => 'Sinalizações', 'estado' => 'Estados', 'descricao' => 'Descrições', 'acao' => 'Ações' @@ -114,8 +113,7 @@ foreach ($arrObjBlocosListar as $objFiltro) { // print_r($objFiltro->getNumId()); die('aki2'); $arr['id'] = $objFiltro->getNumId(); - $arr['sinalizacao'] = 'R'; - $arr['estado'] = $objFiltro->getStrStaEstado(); + $arr['estado'] = $obgTramiteEmBloco->retornarEstadoDescricao($objFiltro->getStrStaEstado()); $arr['descricao'] = $objFiltro->getStrDescricao(); $arr['acao'] = ''; @@ -162,24 +160,18 @@ // visualizar $strResultado .= 'Visualizar Processos '; - // atribuir - $strResultado .= 'Atribuir Bloco '; - // alterar $strResultado .= 'Alterar Bloco '; - // concluir - $strResultado .= 'Concluir Bloco '; - - // Excluir - //$strResultado .= 'Excluir Bloco '; - $strResultado .= 'Excluir Bloco '; // Tramitar bloco $strResultado .= 'getDiretorioImagens()) . '" title="Tramitar Bloco" alt="Tramitar Bloco" class="infraImg iconTramita" /> '; - $strResultado .= 'getDiretorioImagens()) . '" title="Cancelar Tramite do Bloco" alt="Cancelar Tramite do Bloco" class="infraImg iconTramita" /> '; + // Cancelar tramite + if ($objFiltro->getStrStaEstado() != TramiteEmBlocoRN::$TE_ABERTO) { + $strResultado .= 'getDiretorioImagens()) . '" title="Cancelar Tramite do Bloco" alt="Cancelar Tramite do Bloco" class="infraImg iconTramita" /> '; + } $strResultado .= ""; } @@ -395,19 +387,17 @@ function OnSubmitForm() { - + - -
-
-
- Sinalizações +
+
+
+
Estado
- id="chkSinEstadoGerado" name="chkSinEstadoGerado" class="infraCheckbox CheckboxEstado" setCheckbox($strSinEstadoGerado) ?> tabindex="getProxTabDados() ?>" /> + id="chkSinEstadoGerado" name="chkSinEstadoGerado" class="infraCheckbox CheckboxEstado" setCheckbox($strSinEstadoGerado) ?> tabindex="getProxTabDados() ?>" />
diff --git a/src/pen_tramite_processo_em_bloco_cadastrar.php b/src/pen_tramite_processo_em_bloco_cadastrar.php index f00953d52..e0146612f 100644 --- a/src/pen_tramite_processo_em_bloco_cadastrar.php +++ b/src/pen_tramite_processo_em_bloco_cadastrar.php @@ -83,7 +83,8 @@ $objTramiteEmBlocoProtocoloDTO = $objTramiteEmBlocoProtocoloRN->cadastrar($objTramiteEmBlocoProtocoloDTO); PaginaSEI::getInstance()->setStrMensagem('Incluir Processo em Bloco "' . $objTramiteEmBlocoProtocoloDTO->getNumId() . '" cadastrado com sucesso.'); - header('Location: ' . $objSessaoSEI->assinarLink('controlador.php?acao=pen_incluir_processo_em_bloco_tramite&acao_origem=' . $_GET['acao'] . '&id_bloco=' . $objTramiteEmBlocoProtocoloDTO->getNumId() . $strParametros . PaginaSEI::getInstance()->montarAncora($objTramiteEmBlocoProtocoloDTO->getNumId()))); + // header('Location: ' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=' . PaginaSEI::getInstance()->getAcaoRetorno() . '&acao_origem=' . $_GET['acao'])); + header('Location: ' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=' . PaginaSEI::getInstance()->getAcaoRetorno() . '&acao_origem=' . $_GET['acao'])); }catch(Exception $e){ PaginaSEI::getInstance()->processarExcecao($e); diff --git a/src/rn/TramiteEmBlocoRN.php b/src/rn/TramiteEmBlocoRN.php index b6bbb6607..b32b83466 100755 --- a/src/rn/TramiteEmBlocoRN.php +++ b/src/rn/TramiteEmBlocoRN.php @@ -158,6 +158,21 @@ public function listarValoresEstado(){ } } + public function retornarEstadoDescricao($estado){ + try { + $arg = [ + self::$TE_ABERTO => 'Gerado', + self::$TE_DISPONIBILIZADO = 'Em Processamento', + self::$TE_RETORNADO = 'Retornado', + ]; + + return $arg[$estado]; + + } catch(Exception $e) { + throw new InfraException('Estado nâo encontrado.',$e); + } + } + protected function listarConectado(TramiteEmBlocoDTO $objTramiteEmBlocoDTO) { try { //Valida Permissao diff --git a/src/scripts/sip_atualizar_versao_modulo_pen.php b/src/scripts/sip_atualizar_versao_modulo_pen.php index f8483195f..76461db06 100755 --- a/src/scripts/sip_atualizar_versao_modulo_pen.php +++ b/src/scripts/sip_atualizar_versao_modulo_pen.php @@ -2030,11 +2030,13 @@ protected function instalarV3040() ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiTramitador, 'pen_tramite_em_bloco_alterar'); ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiTramitador, 'pen_tramite_em_bloco_consultar'); ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiTramitador, 'pen_tramite_em_bloco_cancelar'); + ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiTramitador, 'pen_tramita_em_bloco_protocolo_listar'); + ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiTramitador, 'pen_tramita_em_bloco_protocolo_excluir'); ScriptSip::adicionarRecursoPerfil($numIdSistema, $numIdPerfilSeiTramitador, 'pen_incluir_processo_em_bloco_tramite'); $objRecursoDTO = new RecursoDTO(); - $objRecursoDTO->setNumIdSistema($numIdSistema); + $objRecursoDTO->setNumIdSistema($numIdSistema); $objRecursoDTO->setStrNome('md_pen_tramita_em_bloco_excluir'); $objRecursoDTO->setStrNome('pen_tramita_em_bloco_protocolo_listar'); $objRecursoDTO->setStrNome('pen_tramita_em_bloco_protocolo_excluir'); From 6c30df4e4d7085bf60bfbb228c53911620d0c685 Mon Sep 17 00:00:00 2001 From: Glaydson Rodrigues Date: Wed, 19 Jul 2023 03:32:55 -0300 Subject: [PATCH 32/33] feat: Adicionar funcionalidade do tramite em bloco --- src/pen_expedir_lote.php | 2 +- src/pen_tramita_em_bloco_protocolo_listar.php | 210 +++++++++------- src/pen_tramite_bloco_listar.php | 231 +++++++++--------- src/pen_tramite_em_bloco_cadastrar.php | 2 +- src/rn/TramiteEmBlocoRN.php | 20 +- 5 files changed, 236 insertions(+), 229 deletions(-) diff --git a/src/pen_expedir_lote.php b/src/pen_expedir_lote.php index 80244bc2f..ab91faed7 100755 --- a/src/pen_expedir_lote.php +++ b/src/pen_expedir_lote.php @@ -70,7 +70,7 @@ switch ($_GET['acao']) { case 'pen_expedir_lote': - $strTitulo = $tramiteEmBloco == 1 ? 'Envio Externo de Processo do Bloco' : 'Envio Externo de Processo em Lote'; + $strTitulo = $tramiteEmBloco == 1 ? 'Envio Externo de Processos do Bloco de Trâmite' : 'Envio Externo de Processo em Lote'; $arrComandos[] = ''; $arrComandos[] = ''; diff --git a/src/pen_tramita_em_bloco_protocolo_listar.php b/src/pen_tramita_em_bloco_protocolo_listar.php index 4b11ec0ce..ff172c7d2 100755 --- a/src/pen_tramita_em_bloco_protocolo_listar.php +++ b/src/pen_tramita_em_bloco_protocolo_listar.php @@ -1,11 +1,11 @@ validarLink(); $objSessaoSEI->validarPermissao($_GET['acao']); @@ -17,30 +17,62 @@ $objPaginaSEI->salvarCamposPost(array('txtProcedimentoFormatado', 'txtNomeUsuario', 'txtUnidadeDestino', 'selAndamento')); switch ($_GET['acao']) { - case 'rel_bloco_protocolo_excluir': + case 'pen_tramita_em_bloco_protocolo_excluir': try { $arrStrIds = PaginaSEI::getInstance()->getArrStrItensSelecionados(); - $arrObjTramiteBlocoDTO = array(); - for ($i = 0; $i < count($arrStrIds); $i++) { - $arrStrIdComposto = explode('-', $arrStrIds[$i]); - $objTramiteEmBlocoDTO = new TramiteEmBlocoDTO(); - $objTramiteEmBlocoDTO->setDblIdProtocolo($arrStrIdComposto[0]); - $objTramiteEmBlocoDTO->setNumIdBloco($arrStrIdComposto[1]); - $arrObjTramiteBlocoDTO[] = $objTramiteEmBlocoDTO; + $arrObjTramiteBlocoProtocoloDTO = array(); + if (count($arrStrIds) > 0) { + for ($i = 0; $i < count($arrStrIds); $i++) { + $arrStrIdComposto = explode('-', $arrStrIds[$i]); + $objTramiteEmBlocoProtocoloDTO = new TramitaEmBlocoProtocoloDTO(); + $objTramiteEmBlocoProtocoloDTO->setNumId($arrStrIdComposto[0]); + $objTramiteEmBlocoProtocoloDTO->setDblIdProtocolo($arrStrIdComposto[1]); + $objTramiteEmBlocoProtocoloDTO->setNumIdTramitaEmBloco($arrStrIdComposto[2]); + $arrObjTramiteBlocoProtocoloDTO[] = $objTramiteEmBlocoProtocoloDTO; + } + } elseif (isset($_GET['hdnInfraItensSelecionados'])) { + $arrStrIdComposto = explode('-', $_GET['hdnInfraItensSelecionados']); + $objTramiteEmBlocoProtocoloDTO = new TramitaEmBlocoProtocoloDTO(); + $objTramiteEmBlocoProtocoloDTO->setNumId($arrStrIdComposto[0]); + $objTramiteEmBlocoProtocoloDTO->setDblIdProtocolo($arrStrIdComposto[1]); + $objTramiteEmBlocoProtocoloDTO->setNumIdTramitaEmBloco($arrStrIdComposto[2]); + $arrObjTramiteBlocoProtocoloDTO[] = $objTramiteEmBlocoProtocoloDTO; } - $objRelBlocoProtocoloRN = new RelBlocoProtocoloRN(); - $objRelBlocoProtocoloRN->excluirRN1289($arrObjRelBlocoProtocoloDTO); + $objTramitaEmBlocoProtocoloRN = new TramitaEmBlocoProtocoloRN(); + $objTramitaEmBlocoProtocoloRN->excluir($arrObjTramiteBlocoProtocoloDTO); PaginaSEI::getInstance()->setStrMensagem('Operação realizada com sucesso.'); } catch (Exception $e) { PaginaSEI::getInstance()->processarExcecao($e); } - header('Location: ' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=' . $_GET['acao_origem'] . '&acao_origem=' . $_GET['acao'] . $strParametros)); + header('Location: ' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=' . PaginaSEI::getInstance()->getAcaoRetorno() . '&acao_origem=' . $_GET['acao'].'&id_bloco='.$_GET['id_bloco'])); die; case 'pen_tramita_em_bloco_protocolo_listar': - $strTitulo = 'Processos do Bloco: ' . $_GET['id_bloco']; $strTitulo = 'Processos do Bloco: ' . $_GET['id_bloco']; break; - + case 'pen_tramita_em_bloco_protocolo_cancelar': { + try{ + $arrStrIds = PaginaSEI::getInstance()->getArrStrItensSelecionados(); + $arrObjTramiteBlocoProtocoloDTO = array(); + var_dump($arrStrIds); + if (count($arrStrIds) > 0) { + foreach ($arrStrIds as $arrStrId) { + $arrStrIdComposto = explode('-', $arrStrId); + $expedirProcedimentoRN = new ExpedirProcedimentoRN(); + $expedirProcedimentoRN->cancelarTramite($arrStrIdComposto[1]); + } + } elseif (isset($_GET['hdnInfraItensSelecionados'])) { + $arrStrIdComposto = explode('-', $_GET['hdnInfraItensSelecionados']); + $expedirProcedimentoRN = new ExpedirProcedimentoRN(); + $expedirProcedimentoRN->cancelarTramite($arrStrIdComposto[1]); + } + PaginaSEI::getInstance()->setStrMensagem('Operação realizada com sucesso.'); + } catch (Exception $e) { + PaginaSEI::getInstance()->processarExcecao($e); + } + header('Location: ' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=' . PaginaSEI::getInstance()->getAcaoRetorno() . '&acao_origem=' . $_GET['acao'].'&id_bloco='.$_GET['id_bloco'])); + //die; + } + break; default: throw new InfraException("Ação '" . $_GET['acao'] . "' não reconhecida."); } @@ -60,26 +92,33 @@ $objTramitaEmBlocoProtocoloDTO->retStrStaEstadoProtocolo(); $objTramitaEmBlocoProtocoloDTO->setNumIdTramitaEmBloco($_GET['id_bloco']); + $strPalavrasPesquisa = PaginaSEI::getInstance()->recuperarCampo('txtPalavrasPesquisaBloco'); + print_r($strPalavrasPesquisa); die('aki'); + if ($strPalavrasPesquisa!=''){ + $objTramitaEmBlocoProtocoloDTO->setStrPalavrasPesquisa($strPalavrasPesquisa); + } + $objTramitaEmBlocoProtocoloRN = new TramitaEmBlocoProtocoloRN(); $arrTramitaEmBlocoProtocoloDTO = $objTramitaEmBlocoProtocoloRN->listarProtocolosBloco($objTramitaEmBlocoProtocoloDTO); $arrComandos = array(); - + $arrComandos[] = ''; $arrComandos[] = ''; $objPaginaSEI->prepararPaginacao($objTramitaEmBlocoProtocoloDTO); $objPaginaSEI->processarPaginacao($objTramitaEmBlocoProtocoloDTO); - $objPaginaSEI->prepararOrdenacao($objTramitaEmBlocoProtocoloDTO, 'IdxRelBlocoProtocolo', InfraDTO::$TIPO_ORDENACAO_ASC); + $objPaginaSEI->prepararOrdenacao($objTramitaEmBlocoProtocoloDTO, 'IdxRelBlocoProtocolo', InfraDTO::$TIPO_ORDENACAO_DESC); $numRegistros = count($arrTramitaEmBlocoProtocoloDTO); if ($numRegistros > 0) { $objPenLoteProcedimentoDTO = new PenLoteProcedimentoDTO(); + $arrComandos[] = ''; $arrComandos[] = ''; - $strResultado = ''; - $strSumarioTabela = 'Tabela de Processo em Lote.'; - $strCaptionTabela = 'Processo em Lote'; + $strResultado = ''; + $strSumarioTabela = 'Tabela de Processo em Lote.'; + $strCaptionTabela = 'Processo em Lote'; $strResultado .= '' . "\n"; $strResultado .= ''; @@ -96,20 +135,16 @@ $strResultado .= '' . "\n"; $strCssTr = ''; foreach ($arrTramitaEmBlocoProtocoloDTO as $i => $objDTO) { - $strCssTr = ($strCssTr == '') ? '' : ''; $strResultado .= $strCssTr; - //echo "
"; var_dump($objDTO); echo "
"; - - $strResultado .= ''; - $strResultado .= ''; + $id = $objDTO->getNumId().'-'.$objDTO->getDblIdProtocolo().'-'.$_GET['id_bloco']; + $strResultado .= ''; + $strResultado .= ''; $strResultado .= ''; - // } $strResultado .= ''; @@ -119,38 +154,10 @@ $strResultado .= ''; $strResultado .= ''; - $strResultado .= '' . "\n"; } else { $strResultado .= '' . "\n"; $strResultado .= '' . "\n"; $strResultado .= '' . "\n"; - $strResultado .= '' . "\n"; } $strResultado .= '' . "\n"; $strResultado .= '' . "\n"; @@ -189,19 +198,19 @@ $strResultado .= '
' . $objPaginaSEI->gerarCaptionTabela($strCaptionTabela, $numRegistros) . '
' . $objPaginaSEI->getTrCheck($i, $objDTO->getNumId(), $objDTO->getNumId()) . '' . $objDTO->getNumSequencia() . '' . $objPaginaSEI->getTrCheck($i, $id, $id) . '' . ($i + 1) . ''; - //' . PaginaSEI::tratarHTML($objProtocoloDTO->getStrNomeTipoProcedimentoProcedimento()) . ' $strResultado .= '' . $objDTO->getStrIdxRelBlocoProtocolo() . ''; $strResultado .= '' . nl2br(InfraString::formatarXML($objDTO->getStrAnotacao())) . '' . PaginaSEI::tratarHTML($objTramiteDTO->getDthRegistro()) . '' . /*PaginaSEI::tratarHTML($objTramiteDTO->getStrUnidadeDestino()) .*/ '' . "\n"; - - $objPenProtocoloDTO = new PenProtocoloDTO(); - $objPenProtocoloDTO->setDblIdProtocolo($objDTO->getDblIdProtocolo()); - $objPenProtocoloDTO->retStrSinObteveRecusa(); - $objPenProtocoloDTO->setNumMaxRegistrosRetorno(1); - - $objProtocoloBD = new ProtocoloBD(BancoSEI::getInstance()); - $objPenProtocoloDTO = $objProtocoloBD->consultar($objPenProtocoloDTO); - - if (!empty($objPenProtocoloDTO) && $objPenProtocoloDTO->getStrSinObteveRecusa() == 'S') { - $strResultado .= 'Um trâmite para esse processo foi recusado'; - } else { - switch ($objPenLoteProcedimentoDTO->getNumIdAndamento()) { - case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_COMPONENTES_ENVIADOS_REMETENTE: - $strResultado .= 'Concluído'; - break; - case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO: - $strResultado .= 'Cancelado'; - break; - case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_NAO_INICIADO: - default: - $strResultado .= 'Em processamento'; - break; - } - } - $strResultado .= '' . "\n"; @@ -180,8 +187,10 @@ // $objDTO->getStrStaEstado() != TramiteEmBlocoRN::$TE_DISPONIBILIZADO && if ($objDTO->getNumIdUnidadeBloco() == SessaoSEI::getInstance()->getNumIdUnidadeAtual()) { $strId = $objDTO->getDblIdProtocolo() . '-' . $objDTO->getNumId(); + $strProtocoloId = $objDTO->getDblIdProtocolo(); $strDescricao = PaginaSEI::getInstance()->formatarParametrosJavaScript($objDTO->getStrIdxRelBlocoProtocolo()); $strResultado .= 'Excluir Bloco '; + $strResultado .= $objDTO->getNumStaIdTarefa() == $PROCESSO_EXPEDIDO_ID ? 'getDiretorioImagens()) . '">getDiretorioImagens()) . '" title="Cancelar Tramite" alt="Cancelar Tramite" class="infraImg iconTramita" /> ' : ''; } $strResultado .= '
'; } - $arrComandos[] = ''; + $arrComandos[] = ''; } catch (Exception $e) { $objPaginaSEI->processarExcecao($e); } - $objPaginaSEI->montarDocType(); - $objPaginaSEI->abrirHtml(); - $objPaginaSEI->abrirHead(); - $objPaginaSEI->montarMeta(); - $objPaginaSEI->montarTitle($objPaginaSEI->getStrNomeSistema() . ' - ' . $strTitulo); - $objPaginaSEI->montarStyle(); - $objPaginaSEI->abrirStyle(); - ?> +$objPaginaSEI->montarDocType(); +$objPaginaSEI->abrirHtml(); +$objPaginaSEI->abrirHead(); +$objPaginaSEI->montarMeta(); +$objPaginaSEI->montarTitle($objPaginaSEI->getStrNomeSistema() . ' - ' . $strTitulo); +$objPaginaSEI->montarStyle(); +$objPaginaSEI->abrirStyle(); +?> #lblProcedimentoFormatado {position:absolute;left:0%;top:0%;width:20%;} #txtProcedimentoFormatado {position:absolute;left:0%;top:40%;width:20%;} @@ -215,14 +224,14 @@ ?> function inicializar(){ - if (''=='serie_selecionar'){ - infraReceberSelecao(); - document.getElementById('btnFecharSelecao').focus(); - }else{ - document.getElementById('btnFechar').focus(); - } +if (''=='serie_selecionar'){ +infraReceberSelecao(); +document.getElementById('btnFecharSelecao').focus(); +}else{ +document.getElementById('btnFechar').focus(); +} - infraEfeitoTabelas(); +infraEfeitoTabelas(); } fecharStyle(); ?> @@ -259,7 +268,7 @@ function onCLickLinkDelete(url, link) { var strEspecieDocumental = row.find('td:eq(1)').text(); var strTipoDocumento = row.find('td:eq(2)').text(); - if (confirm('Confirma a exclusão do mapeamento "' + strEspecieDocumental + ' x ' + strTipoDocumento + '"?')) { + if (confirm('Confirma retirada do processo ' + strTipoDocumento + ' do bloco de trâmite externo?')) { window.location = url; } } @@ -270,7 +279,7 @@ function onClickBtnExcluir() { var len = jQuery('input[name*=chkInfraItem]:checked').length; if (len > 0) { - if (confirm('Confirma a exclusão de ' + len + ' mapeamento(s) ?')) { + if (confirm('Confirma retirada de ' + len + ' protocolo(s) selecionado(s) do bloco de trâmite externo?')) { var form = jQuery('#frmProcessosListar'); form.attr('action', 'assinarLink('controlador.php?acao=pen_tramita_em_bloco_protocolo_excluir&acao_origem='.$_GET['acao_origem'].'&acao_retorno='.$_GET['acao'].'&id_bloco='.$_GET['id_bloco']); ?>'); form.submit(); @@ -283,6 +292,33 @@ function onClickBtnExcluir() { } } + function onClickBtnCancelarTramites() + { + try { + var len = jQuery('input[name*=chkInfraItem]:checked').length; + if (len > 0) { + if (confirm('Confirma a exclusão de ' + len + ' mapeamento(s) ?')) { + var form = jQuery('#frmProcessosListar'); + form.attr('action', 'assinarLink('controlador.php?acao=pen_tramita_em_bloco_protocolo_cancelar&acao_origem='.$_GET['acao_origem'].'&acao_retorno='.$_GET['acao'].'&id_bloco='.$_GET['id_bloco']); ?>'); + form.submit(); + } + } else { + alert('Selecione pelo menos um mapeamento para Excluir'); + } + } catch (e) { + alert('Erro : ' + e.message); + } + } + + function onClickBtnCancelarTramite(url, link) { + var row = jQuery(link).parents('tr:first'); + var strTipoDocumento = row.find('td:eq(2)').text(); + console.log(link) + if (confirm('Confirma a cancelamento do trâmite "' + strTipoDocumento + '"?')) { + window.location = url; + } + } + function onClickBtnTramitarProcessos() { try { var len = jQuery('input[name*=chkInfraItem]:checked').length; @@ -302,30 +338,14 @@ function onClickBtnTramitarProcessos() { $objPaginaSEI->fecharHead(); $objPaginaSEI->abrirBody($strTitulo, 'onload="inicializar();"'); ?> -
+ montarBarraComandosSuperior($arrComandos); $objPaginaSEI->abrirAreaDados('4.5em'); ?> - - - - - - - - - - - - - " class="infraText" /> +fecharAreaDados(); $objPaginaSEI->montarAreaTabela($strResultado, $numRegistros); $objPaginaSEI->montarAreaDebug(); diff --git a/src/pen_tramite_bloco_listar.php b/src/pen_tramite_bloco_listar.php index ab387caee..f731891a7 100644 --- a/src/pen_tramite_bloco_listar.php +++ b/src/pen_tramite_bloco_listar.php @@ -1,15 +1,16 @@ validarLink(); SessaoSEI::getInstance()->validarPermissao($_GET['acao']); @@ -20,7 +21,7 @@ PaginaSEI::getInstance()->salvarCamposPost(array('txtPalavrasPesquisaBloco', 'chakSinEstadoGerado', 'selUnidadeGeradora', 'hdnMeusBlocos')); - $strTitulo = 'Tramite em Bloco'; + $strTitulo = 'Blocos de Trâmite Externo'; switch ($_GET['acao']) { case 'md_pen_tramita_em_bloco_excluir': @@ -91,9 +92,9 @@ PaginaSEI::getInstance()->prepararOrdenacao($objFiltroDTO, 'Id', InfraDTO::$TIPO_ORDENACAO_DESC); - // Verificar no DTO sobre funções de agragação para clausula DISTINCT - if(get_parent_class(BancoSEI::getInstance()) != 'InfraMySqli') { - $objFiltroDTO->retDthConclusaoAtividade(); + // 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); @@ -104,7 +105,7 @@ $colunas = array( 'id' => 'Número', 'estado' => 'Estados', - 'descricao' => 'Descrições', + 'descricao' => 'Descrição', 'acao' => 'Ações' ); @@ -120,32 +121,38 @@ $tabelaLinhas[] = $arr; } - $numRegistros = count($arrObjBlocosListar); + $numRegistros = count($arrObjBlocosListar); + $arrComandos = []; - $arrComandos[] = ''; - $arrComandos[] = ''; - $arrComandos[] = ''; $arrComandos[] = ''; - $arrComandos[] = ''; + $arrComandos[] = ''; + $arrComandos[] = ''; + if ($numRegistros > 0) { + $arrComandos[] = ''; + $arrComandos[] = ''; + } + + // Início da tabela $strSumarioTabela = 'Tabela de Blocos Tramitados.'; $strCaptionTabela = 'Blocos'; - $strResultado = "" . "\n"; - $strResultado .= ''; + $strResultado = "
'.PaginaSEI::getInstance()->gerarCaptionTabela($strCaptionTabela, $numRegistros).'
" . "\n"; + $strResultado .= ''; $strResultado .= ""; - $strResultado .= ''."\n"; + $strResultado .= '' . "\n"; - foreach ($colunas as $key => $coluna) { + foreach ($colunas as $coluna) { + $strResultado .= ""; } $strResultado .= ""; - foreach ($tabelaLinhas as $linha) { + foreach ($tabelaLinhas as $cont => $linha) { $strResultado .= ""; - $strResultado .= ''; + $strResultado .= ''; // $strResultado .= ''; foreach ($colunas as $key => $coluna) { $idBlocoTramite = $linha['id']; // $idBlocoTramite = $idBlocoTramite; @@ -181,10 +188,8 @@ // Fim da tabela $strResultado .= "
' . PaginaSEI::getInstance()->gerarCaptionTabela($strCaptionTabela, $numRegistros) . '
'.PaginaSEI::getInstance()->getThCheck().'' . PaginaSEI::getInstance()->getThCheck() . '{$coluna}
'.PaginaSEI::getInstance()->getTrCheck($linha['id'], $linha['id'], $linha['id']).''.PaginaSEI::getInstance()->getTrCheck($cont, $linha['id'], $linha['id']).''.PaginaSEI::getInstance()->getTrCheck($i,$idBlocoTramite,$idBlocoTramite).'
"; - -} -catch (Exception $e) { - $objPaginaSEI->processarExcecao($e); +} catch (Exception $e) { + $objPaginaSEI->processarExcecao($e); } $objPaginaSEI->montarDocType(); @@ -195,73 +200,72 @@ $objPaginaSEI->montarStyle(); ?> montarJavaScript(); ?> fecharHead(); -$objPaginaSEI->abrirBody( $strTitulo, 'onload="inicializar();"'); +$objPaginaSEI->abrirBody($strTitulo, 'onload="inicializar();"'); ?> - + montarBarraComandosSuperior($arrComandos); ?> -
-
- - +
+
+ +
@@ -432,10 +435,10 @@ function OnSubmitForm() {
+
- - + Salvar'; - $arrComandos[] = ''; + $arrComandos[] = ''; $objTramiteEmBlocoDTO->setNumId(null); $objTramiteEmBlocoDTO->setStrStaTipo(TramiteEmBlocoRN::$TB_INTERNO); diff --git a/src/rn/TramiteEmBlocoRN.php b/src/rn/TramiteEmBlocoRN.php index b32b83466..5e56cff39 100755 --- a/src/rn/TramiteEmBlocoRN.php +++ b/src/rn/TramiteEmBlocoRN.php @@ -13,7 +13,6 @@ class TramiteEmBlocoRN extends InfraRN { public static $TB_REUNIAO = 'R'; public static $TB_INTERNO = 'I'; - public static $TE_ABERTO = 'A'; public static $TE_DISPONIBILIZADO = 'D'; public static $TE_RETORNADO = 'R'; @@ -31,21 +30,6 @@ protected function inicializarObjInfraIBanco(){ return BancoSEI::getInstance(); } - /** - * Método utilizado para exclusão de dados. - * @param TramiteEmBlocoDTO $objDTO - * @return array - * @throws InfraException - */ - protected function excluirControlado(TramiteEmBlocoDTO $objDTO) - { - try { - $objBD = new TramiteEmBlocoBD(BancoSEI::getInstance()); - return $objBD->excluir($objDTO); - } catch (Exception $e) { - throw new InfraException('Erro excluindo mapeamento de unidades.', $e); - } - } public function getNumMaxTamanhoDescricao(){ return 250; } @@ -138,7 +122,7 @@ public function listarValoresEstado(){ $objEstadoBlocoDTO = new EstadoBlocoDTO(); $objEstadoBlocoDTO->setStrStaEstado(self::$TE_ABERTO); - $objEstadoBlocoDTO->setStrDescricao('Gerado'); + $objEstadoBlocoDTO->setStrDescricao('Aberto'); $objArrEstadoBlocoDTO[] = $objEstadoBlocoDTO; $objEstadoBlocoDTO = new EstadoBlocoDTO(); @@ -161,7 +145,7 @@ public function listarValoresEstado(){ public function retornarEstadoDescricao($estado){ try { $arg = [ - self::$TE_ABERTO => 'Gerado', + self::$TE_ABERTO => 'Aberto', self::$TE_DISPONIBILIZADO = 'Em Processamento', self::$TE_RETORNADO = 'Retornado', ]; From eff65b290beee75cf60d8c9c39c77edeff80c473 Mon Sep 17 00:00:00 2001 From: Glaydson Rodrigues Date: Wed, 19 Jul 2023 08:49:54 -0300 Subject: [PATCH 33/33] feat: Adicionar teste funcional para bloco de tramite --- src/PENIntegracao.php | 2 +- src/pen_tramita_em_bloco_protocolo_listar.php | 1 - src/pen_tramite_bloco_listar.php | 3 +- .../src/paginas/PaginaTramiteEmBloco.php | 100 ++++++++++++++++++ .../paginas/PaginaTramitarProcessoEmBloco.php | 100 ++++++++++++++++++ .../funcional/tests/CenarioBaseTestCase.php | 25 +++++ .../tests/TramiteProcessoEmBlocoTest.php | 63 +++++++++++ 7 files changed, 290 insertions(+), 4 deletions(-) create mode 100755 tests_sei4/funcional/src/paginas/PaginaTramiteEmBloco.php create mode 100755 tests_super/funcional/src/paginas/PaginaTramitarProcessoEmBloco.php create mode 100755 tests_super/funcional/tests/TramiteProcessoEmBlocoTest.php diff --git a/src/PENIntegracao.php b/src/PENIntegracao.php index fc1e2db30..26e0cbad8 100755 --- a/src/PENIntegracao.php +++ b/src/PENIntegracao.php @@ -160,7 +160,7 @@ public function montarBotaoProcesso(ProcedimentoAPI $objSeiIntegracaoDTO) //Apresenta o botão de incluir processo no bloco de trâmite $numTabBotao = $objPaginaSEI->getProxTabBarraComandosSuperior(); - $strAcoesProcedimento .= ' getDiretorioImagens()) .'" title="Incluir Processo no Bloco de Trâmite" alt="Incluir Processo no Bloco de Trâmite"/>'; + $strAcoesProcedimento .= ' getDiretorioImagens()) .'" title="Incluir Processo no Bloco de Trâmite" alt="Incluir Processo no Bloco de Tramite"/>'; return array($strAcoesProcedimento); } diff --git a/src/pen_tramita_em_bloco_protocolo_listar.php b/src/pen_tramita_em_bloco_protocolo_listar.php index ff172c7d2..c2cef5229 100755 --- a/src/pen_tramita_em_bloco_protocolo_listar.php +++ b/src/pen_tramita_em_bloco_protocolo_listar.php @@ -93,7 +93,6 @@ $objTramitaEmBlocoProtocoloDTO->setNumIdTramitaEmBloco($_GET['id_bloco']); $strPalavrasPesquisa = PaginaSEI::getInstance()->recuperarCampo('txtPalavrasPesquisaBloco'); - print_r($strPalavrasPesquisa); die('aki'); if ($strPalavrasPesquisa!=''){ $objTramitaEmBlocoProtocoloDTO->setStrPalavrasPesquisa($strPalavrasPesquisa); } diff --git a/src/pen_tramite_bloco_listar.php b/src/pen_tramite_bloco_listar.php index f731891a7..5afc76799 100644 --- a/src/pen_tramite_bloco_listar.php +++ b/src/pen_tramite_bloco_listar.php @@ -112,7 +112,6 @@ // Corpo Tabela $tabelaLinhas = []; foreach ($arrObjBlocosListar as $objFiltro) { - // print_r($objFiltro->getNumId()); die('aki2'); $arr['id'] = $objFiltro->getNumId(); $arr['estado'] = $obgTramiteEmBloco->retornarEstadoDescricao($objFiltro->getStrStaEstado()); $arr['descricao'] = $objFiltro->getStrDescricao(); @@ -173,7 +172,7 @@ $strResultado .= 'Excluir Bloco '; // Tramitar bloco - $strResultado .= 'getDiretorioImagens()) . '" title="Tramitar Bloco" alt="Tramitar Bloco" class="infraImg iconTramita" /> '; + $strResultado .= 'getDiretorioImagens()) . '" title="Tramitar Bloco" alt="Bloco-' .$cont.'" class="infraImg iconTramita" /> '; // Cancelar tramite if ($objFiltro->getStrStaEstado() != TramiteEmBlocoRN::$TE_ABERTO) { diff --git a/tests_sei4/funcional/src/paginas/PaginaTramiteEmBloco.php b/tests_sei4/funcional/src/paginas/PaginaTramiteEmBloco.php new file mode 100755 index 000000000..caf4f9a79 --- /dev/null +++ b/tests_sei4/funcional/src/paginas/PaginaTramiteEmBloco.php @@ -0,0 +1,100 @@ +selectRepositorio('RE CGPRO', 'Origem'); + $this->selectUnidade('Fabrica-org2', 'Origem'); + $this->selectRepositorio('RE CGPRO', 'Destino'); + $this->selectUnidade('Fabrica-org1', 'Destino'); + $this->salvar(); + } + + /** + * Seleciona repositório por sigla + * + * @param string $siglaRepositorio + * @return string + */ + private function selectRepositorio($siglaRepositorio, $origemDestino) + { + $this->repositorioSelect = $this->test->select($this->test->byId('selRepositorioEstruturas' . $origemDestino)); + + if(isset($siglaRepositorio)){ + $this->repositorioSelect->selectOptionByLabel($siglaRepositorio); + } + + return $this->test->byId('selRepositorioEstruturas' . $origemDestino)->value(); + } + + /** + * Seleciona unidade por nome + * + * @param string $nomeUnidade + * @param ?string $hierarquia + * @return string + */ + private function selectUnidade($nomeUnidade, $origemDestino, $hierarquia = null) + { + $this->unidadeInput = $this->test->byId('txtUnidade' . $origemDestino); + $this->unidadeInput->value($nomeUnidade); + $this->test->keys(Keys::ENTER); + $this->test->waitUntil(function($testCase) use($origemDestino, $hierarquia) { + $bolExisteAlerta=null; + $nomeUnidade = $testCase->byId('txtUnidade' . $origemDestino)->value(); + if(!empty($hierarquia)){ + $nomeUnidade .= ' - ' . $hierarquia; + } + + try{ + $bolExisteAlerta=$this->alertTextAndClose(); + if($bolExisteAlerta!=null)$this->test->keys(Keys::ENTER); + }catch(Exception $e){ + } + $testCase->byPartialLinkText($nomeUnidade)->click(); + return true; + }, PEN_WAIT_TIMEOUT); + + return $this->unidadeInput->value(); + } + + /** + * Description + * @return void + */ + private function novoBlocoDeTramite() + { + $buttonElement = $this->test->byXPath("//button[@type='button' and @value='Novo']"); + $buttonElement->click(); + } + + /** + * Description + * @return void + */ + private function salvar() + { + $this->test->byId("btnSalvar")->click(); + } +} \ No newline at end of file diff --git a/tests_super/funcional/src/paginas/PaginaTramitarProcessoEmBloco.php b/tests_super/funcional/src/paginas/PaginaTramitarProcessoEmBloco.php new file mode 100755 index 000000000..ffc7c8ddf --- /dev/null +++ b/tests_super/funcional/src/paginas/PaginaTramitarProcessoEmBloco.php @@ -0,0 +1,100 @@ +repositorio('RE CGPRO'); + $this->unidade('Fabrica-org2'); + $this->btnEnviar(); + sleep(2); + + } + + /** + * Description + * @return void + */ + public function criarNovoBloco() + { + $this->btnNovoBlocoDeTramite(); + $this->test->byId('txtDescricao')->value('Bloco para teste funcional'); + $this->btnSalvar(); + } + + public function adicionarProcessoAoBloco() + { + $this->bntAdicionarProcessoAoBloco(); + + $selectElement = $this->test->byId('selBlocos'); + + $lastOptionScript = "var options = document.getElementById('selBlocos').options; options[options.length - 1].selected = true;"; + $this->test->execute(['script' => $lastOptionScript, 'args' => []]); + + $selectedOptionValue = $selectElement->value(); + $lastOptionElement = $this->test->byXPath("//select[@id='selBlocos']/option[last()]"); + $lastOptionValue = $lastOptionElement->attribute('value'); + + $this->test->assertEquals($lastOptionValue, $selectedOptionValue); + $this->btnSalvar(); + sleep(2); + } + + public function btnTramitarBloco() + { + // Localizar o ultimo bloco criado + $imageElement = $this->test->element($this->test->using('css selector')->value('img[alt="Bloco-0"]')); + $imageElement->click(); + sleep(2); + } + + /** + * Description + * @return void + */ + private function btnNovoBlocoDeTramite() + { + $buttonElement = $this->test->byXPath("//button[@type='button' and @value='Novo']"); + $buttonElement->click(); + } + + /** + * Description + * @return void + */ + private function btnEnviar() + { + $buttonElement = $this->test->byXPath("//button[@type='button' and @value='Enviar']"); + $buttonElement->click(); + } + + /** + * Description + * @return void + */ + private function btnSalvar() + { + $buttonElement = $this->test->byXPath("//button[@type='submit' and @value='Salvar']"); + $buttonElement->click(); + } + + private function bntAdicionarProcessoAoBloco() + { + $this->test->frame(null); + $this->test->frame("ifrVisualizacao"); + $this->test->byXPath("//img[contains(@alt, 'Incluir Processo no Bloco de Tramite')]")->click(); + } +} \ No newline at end of file diff --git a/tests_super/funcional/tests/CenarioBaseTestCase.php b/tests_super/funcional/tests/CenarioBaseTestCase.php index 82cf70203..a07a88f3c 100755 --- a/tests_super/funcional/tests/CenarioBaseTestCase.php +++ b/tests_super/funcional/tests/CenarioBaseTestCase.php @@ -39,9 +39,14 @@ class CenarioBaseTestCase extends Selenium2TestCase protected $paginaCancelarDocumento = null; protected $paginaTramitarProcessoEmLote = null; + protected $paginaTramitarProcessoEmBloco = null; + public function setUpPage(): void { $this->paginaBase = new PaginaTeste($this); + + $this->paginaTramitarProcessoEmBloco = new PaginaTramitarProcessoEmBloco($this); + $this->paginaDocumento = new PaginaDocumento($this); $this->paginaAssinaturaDocumento = new PaginaAssinaturaDocumento($this); $this->paginaProcesso = new PaginaProcesso($this); @@ -56,6 +61,8 @@ public function setUpPage(): void $this->paginaCancelarDocumento = new PaginaCancelarDocumento($this); $this->paginaMoverDocumento = new PaginaMoverDocumento($this); $this->paginaTramitarProcessoEmLote = new PaginaTramitarProcessoEmLote($this); + + $this->currentWindow()->maximize(); } @@ -221,6 +228,18 @@ protected function acessarSistema($url, $siglaUnidade, $login, $senha) $this->url($url); PaginaLogin::executarAutenticacao($this, $login, $senha); PaginaTeste::selecionarUnidadeContexto($this, $siglaUnidade); + $this->url($url); + } + + protected function navegarPara($acao) + { + $this->frame(null); + $acao = "acao={$acao}"; + $xpath = "//a[contains(@href, '$acao')]"; + $link = $this->byXPath($xpath); + $url = $link->attribute('href'); + + $this->url($url); } protected function selecionarUnidadeInterna($unidadeDestino) @@ -763,6 +782,12 @@ protected function navegarProcessoEmLote($selAndamento, $numProtocolo=null) $this->paginaTramitarProcessoEmLote->navegarProcessoEmLote($selAndamento, $numProtocolo); } + protected function selecionarBlocoDeTramite() + { + $this->paginaTramitarProcessoEmBloco->adicionarProcessoAoBloco(); + sleep(2); + } + public function atualizarTramitesPEN($bolOrg1 = true, $bolOrg2 = true, $org2Primeiro = true, $quantidade = 1) { /*for($i=0;$i<$quantidade;$i++){ diff --git a/tests_super/funcional/tests/TramiteProcessoEmBlocoTest.php b/tests_super/funcional/tests/TramiteProcessoEmBlocoTest.php new file mode 100755 index 000000000..9d0f5d6ed --- /dev/null +++ b/tests_super/funcional/tests/TramiteProcessoEmBlocoTest.php @@ -0,0 +1,63 @@ +definirContextoTeste(CONTEXTO_ORGAO_A); + self::$destinatario = $this->definirContextoTeste(CONTEXTO_ORGAO_B); + + self::$processoTeste = $this->gerarDadosProcessoTeste(self::$remetente); + self::$documentoTeste1 = $this->gerarDadosDocumentoInternoTeste(self::$remetente); + self::$documentoTeste2 = $this->gerarDadosDocumentoExternoTeste(self::$remetente); + + $this->acessarSistema(self::$remetente['URL'], self::$remetente['SIGLA_UNIDADE'], self::$remetente['LOGIN'], self::$remetente['SENHA']); + + // Criar bloco para tramite exeterno + $this->navegarPara('md_pen_tramita_em_bloco'); + $this->paginaTramitarProcessoEmBloco->criarNovoBloco(); + + self::$protocoloTeste = $this->cadastrarProcesso(self::$processoTeste); + + // criar documento e anexar no bloco + $this->cadastrarDocumentoInterno(self::$documentoTeste1); + $this->assinarDocumento(self::$remetente['ORGAO'], self::$remetente['CARGO_ASSINATURA'], self::$remetente['SENHA']); + $this->abrirProcesso(self::$protocoloTeste); + + $this->selecionarBlocoDeTramite(); + + $this->navegarPara('md_pen_tramita_em_bloco'); + $this->paginaTramitarProcessoEmBloco->btnTramitarBloco(); + + // tramitar bloco + $this->paginaTramitarProcessoEmBloco->tramitar(); + sleep(10); + + $this->assertTrue(true); + + } + +} \ No newline at end of file