diff --git a/src/PENIntegracao.php b/src/PENIntegracao.php
index 1b71c3043..26e0cbad8 100755
--- a/src/PENIntegracao.php
+++ b/src/PENIntegracao.php
@@ -1,7 +1,7 @@
';
}
+ //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 Tramite"/>';
+
return array($strAcoesProcedimento);
}
@@ -375,6 +379,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,10 +483,36 @@ 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';
+ require_once dirname(__FILE__) . '/pen_expedir_lote_listar.php';
+ break;
+
+ // novo
+ case 'md_pen_tramita_em_bloco':
+ case 'md_pen_tramita_em_bloco_excluir':
+ case 'pen_tramite_em_bloco_cancelar':
+ 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_excluir':
+ case 'pen_tramita_em_bloco_protocolo_listar':
+ case 'pen_tramita_em_bloco_protocolo_cancelar':
+ require_once dirname(__FILE__) . '/pen_tramita_em_bloco_protocolo_listar.php';
break;
+ case 'pen_incluir_processo_em_bloco_tramite':
+ require_once dirname(__FILE__) . '/pen_tramite_processo_em_bloco_cadastrar.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', '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', 'tb1.id_unidade', 'md_pen_tramita_em_bloco tb1');
+ $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_NUM, 'IdUsuario', 'tb1.id_usuario', 'md_pen_tramita_em_bloco tb1');
+ $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'StaTipoBloco', 'sta_tipo', 'md_pen_tramita_em_bloco tb1');
+ $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'StaEstadoBloco', 'sta_estado', 'md_pen_tramita_em_bloco tb1');
+ $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_NUM, 'IdProcedimento', 'pe.id_procedimento', 'md_pen_processo_eletronico pe');
+ $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'NumeroRegistro', 'pe.numero_registro', 'md_pen_processo_eletronico pe');
+ $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_NUM, 'IdTramite', 'pt.id_tramite', 'md_pen_tramite pt');
+ $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'StaEstadoProtocolo', 'p1.sta_estado', 'protocolo p1');
+
+ $this->adicionarAtributo(InfraDTO::$PREFIXO_OBJ,'TramiteDTO');
+ $this->adicionarAtributo(InfraDTO::$PREFIXO_OBJ,'AtividadeDTO');
+ $this->adicionarAtributo(InfraDTO::$PREFIXO_OBJ,'ProtocoloDTO');
+ $this->adicionarAtributo(InfraDTO::$PREFIXO_OBJ,'PenLoteProcedimentoDTO');
+ $this->adicionarAtributo(InfraDTO::$PREFIXO_STR,'PalavrasPesquisa');
+ $this->adicionarAtributo(InfraDTO::$PREFIXO_STR,'SinAberto');
+ $this->adicionarAtributo(InfraDTO::$PREFIXO_NUM,'StaIdTarefa');
+ $this->adicionarAtributo(InfraDTO::$PREFIXO_STR,'SinObteveRecusa');
+
+ $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 tb1', 'tb1.id');
+ $this->configurarFK('IdProtocolo', 'md_pen_processo_eletronico pe', 'pe.id_procedimento', InfraDTO::$TIPO_FK_OPCIONAL);
+ $this->configurarFK('NumeroRegistro', 'md_pen_tramite pt', 'pt.numero_registro', InfraDTO::$TIPO_FK_OPCIONAL);
+ }
+}
+?>
diff --git a/src/dto/TramiteEmBlocoDTO.php b/src/dto/TramiteEmBlocoDTO.php
new file mode 100644
index 000000000..6af7a0cae
--- /dev/null
+++ b/src/dto/TramiteEmBlocoDTO.php
@@ -0,0 +1,139 @@
+
+/**
+* FABRICA FIRST DECISION
+*
+* 24/05/2023
+*
+* Versão do Gerador de Código: 3.4.0
+*
+* Versão no CVS: $Id$
+*/
+
+require_once DIR_SEI_WEB.'/SEI.php';
+
+class TramiteEmBlocoDTO extends InfraDTO {
+
+ 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,
+ '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');
+ }
+}
+?>
diff --git a/src/imagens/pen_processo_bloco.svg b/src/imagens/pen_processo_bloco.svg
new file mode 100644
index 000000000..5d6869def
--- /dev/null
+++ b/src/imagens/pen_processo_bloco.svg
@@ -0,0 +1,26 @@
+
+
+
+
diff --git a/src/pen_expedir_lote.php b/src/pen_expedir_lote.php
index a25c7b303..ab91faed7 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 Processos do Bloco de Trâmite' : '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){
+
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_excluir':
+ try {
+ $arrStrIds = PaginaSEI::getInstance()->getArrStrItensSelecionados();
+ $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;
+ }
+ $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=' . 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'];
+ 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.");
+ }
+
+ $arrComandos = array();
+ $arrComandos[] = '';
+ $arrComandos[] = '';
+
+ $objTramitaEmBlocoProtocoloDTO = new TramitaEmBlocoProtocoloDTO();
+ $objTramitaEmBlocoProtocoloDTO->retNumId();
+ $objTramitaEmBlocoProtocoloDTO->retDblIdProtocolo();
+ $objTramitaEmBlocoProtocoloDTO->retNumSequencia();
+ $objTramitaEmBlocoProtocoloDTO->retStrAnotacao();
+ $objTramitaEmBlocoProtocoloDTO->retStrIdxRelBlocoProtocolo();
+ $objTramitaEmBlocoProtocoloDTO->retNumIdUsuario();
+ $objTramitaEmBlocoProtocoloDTO->retNumIdUnidadeBloco();
+ $objTramitaEmBlocoProtocoloDTO->retStrStaEstadoProtocolo();
+ $objTramitaEmBlocoProtocoloDTO->setNumIdTramitaEmBloco($_GET['id_bloco']);
+
+ $strPalavrasPesquisa = PaginaSEI::getInstance()->recuperarCampo('txtPalavrasPesquisaBloco');
+ 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_DESC);
+
+ $numRegistros = count($arrTramitaEmBlocoProtocoloDTO);
+ if ($numRegistros > 0) {
+ $objPenLoteProcedimentoDTO = new PenLoteProcedimentoDTO();
+ $arrComandos[] = '';
+ $arrComandos[] = '';
+
+ $strResultado = '';
+ $strSumarioTabela = 'Tabela de Processo em Lote.';
+ $strCaptionTabela = 'Processo em Lote';
+
+ $strResultado .= '
' . "\n";
+ $strResultado .= '' . $objPaginaSEI->gerarCaptionTabela($strCaptionTabela, $numRegistros) . '';
+ $strResultado .= '';
+ $strResultado .= '' . $objPaginaSEI->getThCheck() . ' | ' . "\n";
+ $strResultado .= '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Seq', 'Sequencia', $arrTramitaEmBlocoProtocoloDTO) . ' | ' . "\n";
+ $strResultado .= '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Processo', 'IdxRelBlocoProtocolo', $arrTramitaEmBlocoProtocoloDTO) . ' | ' . "\n";
+ $strResultado .= '' . $objPaginaSEI->getThOrdenacao($objTramitaEmBlocoProtocoloDTO, 'Anotações', 'Anotacoes', $arrTramitaEmBlocoProtocoloDTO) . ' | ' . "\n";
+ $strResultado .= 'Usuário | ' . "\n";
+ $strResultado .= 'Data do Envio | ' . "\n";
+ $strResultado .= 'Unidade Destino | ' . "\n";
+ $strResultado .= 'Situação | ' . "\n";
+ $strResultado .= 'Ações | ' . "\n";
+ $strResultado .= '
' . "\n";
+ $strCssTr = '';
+ foreach ($arrTramitaEmBlocoProtocoloDTO as $i => $objDTO) {
+ $strCssTr = ($strCssTr == '') ? '
' : '
';
+ $strResultado .= $strCssTr;
+
+ $id = $objDTO->getNumId().'-'.$objDTO->getDblIdProtocolo().'-'.$_GET['id_bloco'];
+ $strResultado .= '' . $objPaginaSEI->getTrCheck($i, $id, $id) . ' | ';
+ $strResultado .= '' . ($i + 1) . ' | ';
+
+ $strResultado .= '';
+ $strResultado .= '' . $objDTO->getStrIdxRelBlocoProtocolo() . '';
+ $strResultado .= ' | ';
+
+ $strResultado .= '' . nl2br(InfraString::formatarXML($objDTO->getStrAnotacao())) . ' | ';
+
+ $objTramiteDTO = $objDTO->getObjTramiteDTO();
+ if ($objTramiteDTO) {
+ $strResultado .= '' . PaginaSEI::tratarHTML($objTramiteDTO->getStrNomeUsuario()) . ' | ';
+ $strResultado .= '' . PaginaSEI::tratarHTML($objTramiteDTO->getDthRegistro()) . ' | ';
+ $strResultado .= '' . /*PaginaSEI::tratarHTML($objTramiteDTO->getStrUnidadeDestino()) .*/ ' | ';
+
+ } else {
+ $strResultado .= ' | ' . "\n";
+ $strResultado .= ' | ' . "\n";
+ $strResultado .= ' | ' . "\n";
+ }
+
+ $strResultado .= '' . "\n";
+
+ if ($objDTO->getStrSinObteveRecusa() == 'S') {
+ $strResultado .= '';
+ } else if ($objDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO) {
+ $strResultado .= '';
+ } else {
+ $PROCESSO_EXPEDIDO_ID = ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO);
+ $PROCESSO_TRAMITE_CANCELADO_ID = ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_CANCELADO);
+
+ switch ($objDTO->getNumStaIdTarefa()) {
+ case $PROCESSO_EXPEDIDO_ID:
+ $strResultado .= '';
+ break;
+ case $PROCESSO_TRAMITE_CANCELADO_ID:
+ $strResultado .= '';
+ break;
+ default:
+ break;
+ }
+ }
+ $strResultado .= ' | ' . "\n";
+
+ $strResultado .= '' . "\n";
+ // $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 .= ' ';
+ $strResultado .= $objDTO->getNumStaIdTarefa() == $PROCESSO_EXPEDIDO_ID ? 'getDiretorioImagens()) . '">getDiretorioImagens()) . '" title="Cancelar Tramite" alt="Cancelar Tramite" class="infraImg iconTramita" /> ' : '';
+ }
+ $strResultado .= ' | ' . "\n";
+ $strResultado .= '
' . "\n";
+ }
+ $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();
+?>
+
+#lblProcedimentoFormatado {position:absolute;left:0%;top:0%;width:20%;}
+#txtProcedimentoFormatado {position:absolute;left:0%;top:40%;width:20%;}
+input.infraText {width: 100%;}
+.iconTramita {max-width: 1.5rem;}
+
+
+$objPaginaSEI->fecharStyle();
+$objPaginaSEI->montarJavaScript();
+$objPaginaSEI->abrirJavaScript();
+?>
+
+function inicializar(){
+if ('= $_GET['acao'] ?>'=='serie_selecionar'){
+infraReceberSelecao();
+document.getElementById('btnFecharSelecao').focus();
+}else{
+document.getElementById('btnFechar').focus();
+}
+
+infraEfeitoTabelas();
+}
+
+fecharStyle(); ?>
+montarJavaScript(); ?>
+
+
+$objPaginaSEI->fecharHead();
+$objPaginaSEI->abrirBody($strTitulo, 'onload="inicializar();"');
+?>
+
+
+$objPaginaSEI->fecharBody();
+$objPaginaSEI->fecharHtml();
+?>
diff --git a/src/pen_tramite_bloco_listar.php b/src/pen_tramite_bloco_listar.php
new file mode 100644
index 000000000..5afc76799
--- /dev/null
+++ b/src/pen_tramite_bloco_listar.php
@@ -0,0 +1,452 @@
+validarLink();
+ SessaoSEI::getInstance()->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']);
+ PaginaSEI::getInstance()->salvarCamposPost(array('txtPalavrasPesquisaBloco', 'chakSinEstadoGerado', 'selUnidadeGeradora', 'hdnMeusBlocos'));
+
+
+ $strTitulo = 'Blocos de Trâmite Externo';
+
+ switch ($_GET['acao']) {
+ case 'md_pen_tramita_em_bloco_excluir':
+ try {
+ $arrStrIds = PaginaSEI::getInstance()->getArrStrItensSelecionados();
+ $arrObjTramiteEmBlocoDTO = array();
+ 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(intval($_GET['hdnInfraItensSelecionados']));
+ $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=' . PaginaSEI::getInstance()->getAcaoRetorno() . '&acao_origem=' . $_GET['acao']));
+ die;
+ 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;
+ case 'pen_tramite_em_bloco_cancelar':
+ $arrEstadosSelecionados = [];
+ $arrStrIds = isset($_GET['id_tramita_em_bloco']) ? [$_GET['id_tramita_em_bloco']] : PaginaSEI::getInstance()->getArrStrItensSelecionados();
+ if (count($arrStrIds) > 0) {
+ $objTramiteEmBlocoRN = new TramiteEmBlocoRN();
+ $objTramiteEmBlocoRN->cancelar($arrStrIds);
+ }
+ PaginaSEI::getInstance()->setStrMensagem('Operação realizada com sucesso.');
+ header('Location: ' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=' . PaginaSEI::getInstance()->getAcaoRetorno() . '&acao_origem=' . $_GET['acao']));
+
+ break;
+ default:
+ throw new InfraException("Ação '" . $_GET['acao'] . "' não reconhecida.");
+ }
+
+ $objFiltroDTO = new TramiteEmBlocoDTO();
+ $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') {
+ $objFiltroDTO->retDthConclusaoAtividade();
+ }
+ // $objPaginaSEI->prepararPaginacao($objFiltroDTO, 50);
+
+ $obgTramiteEmBloco = new TramiteEmBlocoRN();
+ $arrObjBlocosListar = $obgTramiteEmBloco->listar($objFiltroDTO);
+
+ // Cabeçalho da tabela
+ $colunas = array(
+ 'id' => 'Número',
+ 'estado' => 'Estados',
+ 'descricao' => 'Descrição',
+ 'acao' => 'Ações'
+ );
+
+ // Corpo Tabela
+ $tabelaLinhas = [];
+ foreach ($arrObjBlocosListar as $objFiltro) {
+ $arr['id'] = $objFiltro->getNumId();
+ $arr['estado'] = $obgTramiteEmBloco->retornarEstadoDescricao($objFiltro->getStrStaEstado());
+ $arr['descricao'] = $objFiltro->getStrDescricao();
+ $arr['acao'] = '';
+
+ $tabelaLinhas[] = $arr;
+ }
+
+ $numRegistros = count($arrObjBlocosListar);
+
+
+ $arrComandos = [];
+ $arrComandos[] = '';
+ $arrComandos[] = '';
+ $arrComandos[] = '';
+ if ($numRegistros > 0) {
+ $arrComandos[] = '';
+ $arrComandos[] = '';
+ }
+
+
+
+ // Início da tabela
+ $strSumarioTabela = 'Tabela de Blocos Tramitados.';
+ $strCaptionTabela = 'Blocos';
+
+ $strResultado = "" . "\n";
+ $strResultado .= '' . PaginaSEI::getInstance()->gerarCaptionTabela($strCaptionTabela, $numRegistros) . '';
+ $strResultado .= "";
+ $strResultado .= '' . PaginaSEI::getInstance()->getThCheck() . ' | ' . "\n";
+
+ foreach ($colunas as $coluna) {
+
+ $strResultado .= "{$coluna} | ";
+ }
+ $strResultado .= "
";
+
+ foreach ($tabelaLinhas as $cont => $linha) {
+ $strResultado .= "";
+ $strResultado .= ''.PaginaSEI::getInstance()->getTrCheck($cont, $linha['id'], $linha['id']).' | ';
+ // $strResultado .= ''.PaginaSEI::getInstance()->getTrCheck($i,$idBlocoTramite,$idBlocoTramite).' | ';
+ foreach ($colunas as $key => $coluna) {
+ $idBlocoTramite = $linha['id']; // $idBlocoTramite = $idBlocoTramite;
+
+ if ($linha[$key]) {
+ $strResultado .= " {$linha[$key]} | ";
+ }
+
+ // Adiciona botões na coluna de ações
+ if ($coluna == 'Ações') {
+ $strResultado .= "";
+ // visualizar
+ $strResultado .= ' ';
+
+ // alterar
+ $strResultado .= ' ';
+
+ $strResultado .= ' ';
+
+ // Tramitar bloco
+ $strResultado .= 'getDiretorioImagens()) . '" title="Tramitar Bloco" alt="Bloco-' .$cont.'" 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 .= " | ";
+ }
+ }
+ $strResultado .= "
";
+ }
+
+ // Fim da tabela
+ $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();"');
+?>
+
+
+$objPaginaSEI->fecharBody();
+$objPaginaSEI->fecharHtml();
+?>
diff --git a/src/pen_tramite_em_bloco_cadastrar.php b/src/pen_tramite_em_bloco_cadastrar.php
new file mode 100755
index 000000000..d6427ccbc
--- /dev/null
+++ b/src/pen_tramite_em_bloco_cadastrar.php
@@ -0,0 +1,197 @@
+
+/**
+*
+*
+*/
+try {
+ require_once DIR_SEI_WEB.'/SEI.php';
+
+ session_start();
+
+ //////////////////////////////////////////////////////////////////////////////
+ InfraDebug::getInstance()->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=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);
+ }
+ }
+ 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%;}
+
+
+PaginaSEI::getInstance()->fecharStyle();
+PaginaSEI::getInstance()->montarJavaScript();
+PaginaSEI::getInstance()->abrirJavaScript();
+?>
+
+function inicializar(){
+
+
+ if ($_GET['arvore']=='1') { ?>
+ parent.document.getElementById('ifrVisualizacao').contentWindow.atualizarBlocos(=$objTramiteEmBlocoDTO->getNumId()?>);
+ } else { ?>
+ window.parent.atualizarBlocos(=$objTramiteEmBlocoDTO->getNumId()?>);
+ } ?>
+ self.setTimeout('infraFecharJanelaModal()',500);
+ return;
+ }?>
+
+ if ('=$_GET['acao']?>'=='pen_tramite_em_bloco_consultar') {
+ document.getElementById('divIdentificacao').style.display = 'block';
+ infraDesabilitarCamposAreaDados();
+ document.getElementById('btnFechar').focus();
+ return;
+ } else if ('=$_GET['acao']?>'=='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();
+}
+
+
+
+PaginaSEI::getInstance()->fecharJavaScript();
+PaginaSEI::getInstance()->fecharHead();
+PaginaSEI::getInstance()->abrirBody($strTitulo,'onload="inicializar();"');
+?>
+
+
+PaginaSEI::getInstance()->fecharBody();
+PaginaSEI::getInstance()->fecharHtml();
+?>
diff --git a/src/pen_tramite_processo_em_bloco_cadastrar.php b/src/pen_tramite_processo_em_bloco_cadastrar.php
new file mode 100644
index 000000000..e0146612f
--- /dev/null
+++ b/src/pen_tramite_processo_em_bloco_cadastrar.php
@@ -0,0 +1,206 @@
+
+/**
+ *
+ *
+ */
+try {
+ require_once DIR_SEI_WEB.'/SEI.php';
+
+ session_start();
+
+ $objSessaoSEI = SessaoSEI::getInstance();
+ $objPaginaSEI = PaginaSEI::getInstance();
+
+ $objSessaoSEI->validarLink();
+ //$objSessaoSEI->validarPermissao($_GET['acao']);
+
+ //////////////////////////////////////////////////////////////////////////////
+ InfraDebug::getInstance()->setBolLigado(false);
+ InfraDebug::getInstance()->setBolDebugInfra(true);
+ InfraDebug::getInstance()->limpar();
+ //////////////////////////////////////////////////////////////////////////////
+
+ $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'];
+ }
+
+ SessaoSEI::getInstance()->setArrParametrosRepasseLink(array('arvore', 'pagina_simples','id_protocolo'));
+
+ if(isset($_GET['arvore'])){
+ PaginaSEI::getInstance()->setBolArvore($_GET['arvore']);
+ }
+
+ $numIdProtocolo = '';
+ if(isset($_GET['id_procedimento'])){
+ $numIdProtocolo = $_GET['id_procedimento'];
+ }
+
+//Carregar dados do cabeçalho
+ $objProcedimentoDTO = new ProcedimentoDTO();
+ $objProcedimentoDTO->retStrProtocoloProcedimentoFormatado();
+ $objProcedimentoDTO->setDblIdProcedimento($_GET['id_procedimento']);
+
+ $objProcedimentoRN = new ProcedimentoRN();
+ $arr = $objProcedimentoRN->listarCompleto($objProcedimentoDTO);
+
+ foreach($arr as $item){
+ $protocolo = $item->getStrProtocoloProcedimentoFormatado();
+ }
+
+ $objTramiteEmBlocoProtocoloDTO = new TramitaEmBlocoProtocoloDTO();
+
+ $arrComandos = array();
+ $bolCadastroOk = false;
+
+ switch($_GET['acao']) {
+ case 'pen_incluir_processo_em_bloco_tramite':
+
+ $strTitulo = 'Incluir Processo no Bloco de Trâmite';
+ $arrComandos[] = '';
+ $arrComandos[] = '';
+
+ $objTramiteEmBlocoProtocoloDTO->setNumId(null);
+ $objTramiteEmBlocoProtocoloDTO->setDblIdProtocolo($_GET['id_procedimento']);
+ $objTramiteEmBlocoProtocoloDTO->setNumIdTramitaEmBloco($_POST['id_tramita_bloco']);
+ $objTramiteEmBlocoProtocoloDTO->setStrAnotacao(null);
+ $objTramiteEmBlocoProtocoloDTO->setNumSequencia(null);
+ $objTramiteEmBlocoProtocoloDTO->setStrIdxRelBlocoProtocolo($protocolo);
+
+ if (isset($_POST['sbmCadastrarProcessoEmBloco'])) {
+ try{
+
+ $objTramiteEmBlocoProtocoloRN = new TramitaEmBlocoProtocoloRN();
+
+ $objTramiteEmBlocoProtocoloDTO = $objTramiteEmBlocoProtocoloRN->cadastrar($objTramiteEmBlocoProtocoloDTO);
+ PaginaSEI::getInstance()->setStrMensagem('Incluir Processo em Bloco "' . $objTramiteEmBlocoProtocoloDTO->getNumId() . '" cadastrado com sucesso.');
+ // 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);
+ }
+ }
+ break;
+
+ default:
+ throw new InfraException("Ação '".$_GET['acao']."' não reconhecida.");
+ }
+
+ //Monta o select dos blocos
+ $arrMapIdBloco = array();
+ $objTramiteEmBlocoRN = new TramiteEmBlocoRN();
+
+ $objTramiteEmBlocoDTO = new TramiteEmBlocoDTO();
+ $arrNumIdBlocosUsados = $objTramiteEmBlocoRN->getNumMaxTamanhoDescricao($objTramiteEmBlocoDTO);
+
+ $objTramiteEmBlocoDTO->retNumId();
+ $objTramiteEmBlocoDTO->retNumIdUnidade();
+ $objTramiteEmBlocoDTO->retStrDescricao();
+
+ foreach ($objTramiteEmBlocoRN->listar($objTramiteEmBlocoDTO) as $dados) {
+ $arrMapIdBloco[$dados->getNumId()] = $dados->getStrDescricao();
+ }
+
+} catch(Exception $e) {
+ PaginaSEI::getInstance()->processarExcecao($e);
+}
+
+ $objPaginaSEI->montarDocType();
+ $objPaginaSEI->abrirHtml();
+ $objPaginaSEI->abrirHead();
+ $objPaginaSEI->montarMeta();
+ $objPaginaSEI->montarTitle($objPaginaSEI->getStrNomeSistema() . ' - ' . $strTitulo);
+ $objPaginaSEI->montarStyle();
+ $objPaginaSEI->abrirStyle();
+
+?>
+ #divIdentificacao {display:none;}
+ #lblBlocos{position:absolute;left:0%;top:0%;width:60%;min-width:250px;}
+ #selBlocos{position:absolute;left:0%;top:13%;width:60%;min-width:250px;}
+
+
+$objPaginaSEI->fecharStyle();
+$objPaginaSEI->montarJavaScript();
+$objPaginaSEI->abrirJavaScript();
+?>
+
+function inicializar(){
+
+
+ if ($_GET['arvore']=='1') { ?>
+ parent.document.getElementById('ifrVisualizacao').contentWindow.incluirProtocoloNoBloco(=$objTramiteEmBlocoProtocoloDTO->getNumId()?>);
+ } else { ?>
+ window.parent.incluirProtocoloNoBloco(=$objTramiteEmBlocoProtocoloDTO->getNumId()?>);
+ } ?>
+ self.setTimeout('infraFecharJanelaModal()',500);
+ return;
+}?>
+
+if ('=$_GET['acao']?>'=='pen_incluir_processo_em_bloco_tramite') {
+ document.getElementById('divIdentificacao').style.display = 'none';
+ document.getElementById('id_tramita_bloco').focus();
+} else {
+ document.getElementById('divIdentificacao').style.display = 'block';
+ document.getElementById('btnCancelar').focus();
+}
+
+infraEfeitoTabelas();
+}
+
+function validarCadastroProcessoEmBloco() {
+ return true;
+}
+
+function OnSubmitForm() {
+ return validarCadastroProcessoEmBloco();
+}
+
+
+$objPaginaSEI->fecharJavaScript();
+$objPaginaSEI->fecharHead();
+$objPaginaSEI->abrirBody($strTitulo, 'onload="inicializar();"');
+?>
+
+
+
+
+$objPaginaSEI->fecharBody();
+$objPaginaSEI->fecharHtml();
+?>
diff --git a/src/rn/TramitaEmBlocoProtocoloRN.php b/src/rn/TramitaEmBlocoProtocoloRN.php
new file mode 100755
index 000000000..fdbdbb160
--- /dev/null
+++ b/src/rn/TramitaEmBlocoProtocoloRN.php
@@ -0,0 +1,193 @@
+validarAuditarPermissao('pen_tramita_em_bloco_protocolo_listar', __METHOD__, $parObjTramitaEmBlocoProtocoloDTO);
+
+ $parObjRelBlocoProtocoloDTO = InfraString::prepararPesquisaDTO($parObjTramitaEmBlocoProtocoloDTO, "PalavrasPesquisa", "IdxRelBlocoProtocolo");
+ $parObjRelBlocoProtocoloDTO->setStrStaNivelAcessoGlobalProtocolo(ProtocoloRN::$NA_SIGILOSO, InfraDTO::$OPER_DIFERENTE);
+ $arrObjRelProtocoloBlocoDTO = $this->listar($parObjRelBlocoProtocoloDTO);
+
+ foreach ($arrObjRelProtocoloBlocoDTO as $dto) {
+
+ $objPenProtocoloDTO = new PenProtocoloDTO();
+ $objPenProtocoloDTO->setDblIdProtocolo($dto->getDblIdProtocolo());
+ $objPenProtocoloDTO->retStrSinObteveRecusa();
+ $objPenProtocoloDTO->setNumMaxRegistrosRetorno(1);
+
+ $objProtocoloBD = new ProtocoloBD(BancoSEI::getInstance());
+ $objPenProtocoloDTO = $objProtocoloBD->consultar($objPenProtocoloDTO);
+
+ if (!empty($objPenProtocoloDTO)) {
+ $dto->setStrSinObteveRecusa($objPenProtocoloDTO->getStrSinObteveRecusa());
+ } else {
+ $dto->setStrSinObteveRecusa('N');
+ }
+
+ $objTramiteDTO = new TramiteDTO();
+ $objTramiteDTO->setNumIdProcedimento($dto->getDblIdProtocolo());
+ $objTramiteDTO->setOrd('IdTramite', InfraDTO::$TIPO_ORDENACAO_DESC);
+ $objTramiteDTO->setNumMaxRegistrosRetorno(1);
+ $objTramiteDTO->retNumIdTramite();
+ $objTramiteDTO->retDthRegistro();
+ $objTramiteDTO->retStrNomeUsuario();
+
+ $objTramiteBD = new TramiteBD($this->getObjInfraIBanco());
+ $objTramiteDTO = $objTramiteBD->consultar($objTramiteDTO);
+
+ $dto->setObjTramiteDTO($objTramiteDTO);
+
+ $objAtividadeDTO = new AtividadeDTO();
+ $objAtividadeDTO->setDblIdProtocolo($dto->getDblIdProtocolo());
+ $objAtividadeDTO->setNumIdTarefa([
+ ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO),
+ ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_CANCELADO)
+ ], InfraDTO::$OPER_IN);
+ $objAtividadeDTO->setOrdDthAbertura(InfraDTO::$TIPO_ORDENACAO_DESC);
+ $objAtividadeDTO->setNumMaxRegistrosRetorno(1);
+ $objAtividadeDTO->retNumIdAtividade();
+ $objAtividadeDTO->retNumIdTarefa();
+ $objAtividadeDTO->retDblIdProcedimentoProtocolo();
+ $objAtividadeRN = new AtividadeRN();
+ $arrObjAtividadeDTO = $objAtividadeRN->listarRN0036($objAtividadeDTO);
+
+ if (!empty($arrObjAtividadeDTO) && $arrObjAtividadeDTO[0]->getNumIdTarefa() != null) {
+ $dto->setNumStaIdTarefa($arrObjAtividadeDTO[0]->getNumIdTarefa());
+ } else {
+ $dto->setNumStaIdTarefa(0);
+ }
+
+ $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
+ * @return array
+ * @throws InfraException
+ */
+ protected function listarControlado(TramitaEmBlocoProtocoloDTO $objDTO)
+ {
+ try {
+ //Valida Permissão
+ // SessaoSEI::getInstance()->validarAuditarPermissao('pen_tramita_em_bloco_protocolo_listar', __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 array $arrayObjDTO
+ * @return array
+ * @throws InfraException
+ */
+ protected function excluirControlado(array $arrayObjDTO)
+ {
+ try {
+ //Valida Permissão
+ SessaoSEI::getInstance()->validarAuditarPermissao('pen_tramita_em_bloco_protocolo_excluir', __METHOD__, $arrayObjDTO);
+
+ $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 Bloco.', $e);
+ }
+ }
+
+ protected function montarIndexacaoControlado(TramitaEmBlocoProtocoloDTO $obTramitaEmBlocoProtocoloDTO){
+ try{
+
+ $dto = new TramitaEmBlocoProtocoloDTO();
+ $dto->retNumId();
+
+ if (is_array($obTramitaEmBlocoProtocoloDTO->getNumId())) {
+ $dto->setNumId($obTramitaEmBlocoProtocoloDTO->getNumId(), InfraDTO::$OPER_IN);
+ } else {
+ $dto->setNumId($obTramitaEmBlocoProtocoloDTO->getNumId());
+ }
+
+ $objTramitaEmBlocoProtocoloDTOIdx = new TramitaEmBlocoProtocoloDTO();
+ $objInfraException = new InfraException();
+ $objTramitaEmBlocoProtocoloBD = new TramiteEmBlocoBD($this->getObjInfraIBanco());
+
+ $arrObjTramitaEmBlocoProtocoloDTO = $this->listar($dto);
+
+ foreach($arrObjTramitaEmBlocoProtocoloDTO as $dto) {
+
+ $objTramitaEmBlocoProtocoloDTOIdx->setNumId($dto->getNumId());
+ $objTramitaEmBlocoProtocoloDTOIdx->setStrIdxRelBlocoProtocolo(InfraString::prepararIndexacao($dto->getNumId()));
+
+ // $this->validarStrIdxRelBlocoProtocolo($objTramitaEmBlocoProtocoloDTOIdx, $objInfraException);
+ // $objInfraException->lancarValidacoes();
+
+ //$objTramitaEmBlocoProtocoloBD->alterar($objTramitaEmBlocoProtocoloDTOIdx);
+ }
+
+ } catch(Exception $e) {
+ throw new InfraException('Erro montando indexação de processos em bloco.',$e);
+ }
+ }
+
+ protected function cadastrarControlado(TramitaEmBlocoProtocoloDTO $objTramitaEmBlocoProtocoloDTO) {
+ try {
+
+ //Valida Permissao
+ // SessaoSEI::getInstance()->validarAuditarPermissao('pen_incluir_processo_em_bloco_tramite',__METHOD__,$objTramitaEmBlocoProtocoloDTO);
+
+ //Regras de Negocio
+ $objInfraException = new InfraException();
+
+ //$this->validarStrAnotacao($objTramitaEmBlocoProtocoloDTO, $objInfraException);
+ // $this->validarStrIdxRelBlocoProtocolo($objTramitaEmBlocoProtocoloDTO, $objInfraException);
+
+ $objInfraException->lancarValidacoes();
+
+ $objTramiteEmBlocoBD = new TramitaEmBlocoProtocoloBD($this->getObjInfraIBanco());
+ $ret = $objTramiteEmBlocoBD->cadastrar($objTramitaEmBlocoProtocoloDTO);
+
+ $this->montarIndexacao($ret);
+
+ return $ret;
+
+ } catch (Exception $e) {
+ throw new InfraException('Erro cadastrando Processo em Bloco.',$e);
+ }
+ }
+}
diff --git a/src/rn/TramiteEmBlocoRN.php b/src/rn/TramiteEmBlocoRN.php
new file mode 100755
index 000000000..5e56cff39
--- /dev/null
+++ b/src/rn/TramiteEmBlocoRN.php
@@ -0,0 +1,384 @@
+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('Aberto');
+ $objArrEstadoBlocoDTO[] = $objEstadoBlocoDTO;
+
+ $objEstadoBlocoDTO = new EstadoBlocoDTO();
+ $objEstadoBlocoDTO->setStrStaEstado(self::$TE_DISPONIBILIZADO);
+ $objEstadoBlocoDTO->setStrDescricao('Em Processamento');
+ $objArrEstadoBlocoDTO[] = $objEstadoBlocoDTO;
+
+ $objEstadoBlocoDTO = new EstadoBlocoDTO();
+ $objEstadoBlocoDTO->setStrStaEstado(self::$TE_CONCLUIDO);
+ $objEstadoBlocoDTO->setStrDescricao('Concluído');
+ $objArrEstadoBlocoDTO[] = $objEstadoBlocoDTO;
+
+ return $objArrEstadoBlocoDTO;
+
+ } catch(Exception $e) {
+ throw new InfraException('Erro listando valores de Estado.',$e);
+ }
+ }
+
+ public function retornarEstadoDescricao($estado){
+ try {
+ $arg = [
+ self::$TE_ABERTO => 'Aberto',
+ 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
+ SessaoSEI::getInstance()->validarAuditarPermissao('md_pen_tramita_em_bloco',__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);
+ }
+ }
+
+ /**
+ * Método utilizado para exclusão de dados.
+ * @param array $arrayObjDTO
+ * @return array
+ * @throws InfraException
+ */
+ protected function excluirControlado(array $arrayObjDTO)
+ {
+ try {
+ //Valida Permissao
+ SessaoSEI::getInstance()->validarAuditarPermissao('md_pen_tramita_em_bloco_excluir',__METHOD__,$arrayObjDTO);
+
+ $arrayExcluido = array();
+ foreach ($arrayObjDTO as $objDTO) {
+ $objBD = new TramiteEmBlocoBD(BancoSEI::getInstance());
+ $arrayExcluido[] = $objBD->excluir($objDTO);
+ }
+ return $arrayExcluido;
+ } catch (Exception $e) {
+ throw new InfraException('Erro excluindo Bloco.', $e);
+ }
+ }
+
+ protected function cancelarControlado(array $blocoIds)
+ {
+ try {
+ $objBloco = new TramitaEmBlocoProtocoloDTO();
+ foreach ($blocoIds as $blocoId) {
+ $objBloco->setNumIdTramitaEmBloco($blocoId);
+ $objBloco->retDblIdProtocolo();
+ $tramiteEmBlocoProtocoloRn = new TramitaEmBlocoProtocoloRN();
+ $protocoloIds = $tramiteEmBlocoProtocoloRn->listar($objBloco);
+ $protocoloRn = new ExpedirProcedimentoRN();
+ foreach ($protocoloIds as $protocoloId) {
+ $protocoloRn->cancelarTramite($protocoloId->getDblIdProtocolo());
+ }
+ }
+ } catch (Exception $e) {
+ throw new InfraException('Erro cancelando Bloco.', $e);
+ }
+ }
+}
diff --git a/src/scripts/sei_atualizar_versao_modulo_pen.php b/src/scripts/sei_atualizar_versao_modulo_pen.php
index 81f854fd6..c4d07df0b 100755
--- a/src/scripts/sei_atualizar_versao_modulo_pen.php
+++ b/src/scripts/sei_atualizar_versao_modulo_pen.php
@@ -263,6 +263,8 @@ protected function atualizarVersaoConectado()
$this->instalarV3024();
case '3.2.4':
$this->instalarV3030();
+ case '3.4.0':
+ $this->instalarV3040();
break; // Ausência de [break;] proposital para realizar a atualização incremental de versões
@@ -1656,9 +1658,9 @@ protected function instalarV1114()
//Sequência: md_pen_seq_tramite_pendente
$rs = BancoSEI::getInstance()->consultarSql('select max(id) as total from md_pen_tramite_pendente');
$numMaxId = $rs[0]['total'];
- if ($numMaxId == null) {
- $numMaxId = 0;
- }
+ if ($numMaxId == null) {
+ $numMaxId = 0;
+ }
BancoSEI::getInstance()->criarSequencialNativa('md_pen_seq_tramite_pendente', $numMaxId + 1);
$objInfraSequenciaDTO->setStrNome('md_pen_tramite_pendente');
$objInfraSequenciaDTO->retStrNome();
@@ -2520,8 +2522,77 @@ protected function instalarV3030() {
$this->atualizarNumeroVersao("3.3.0");
}
-}
+ // novo tramite em bloco
+ protected function instalarV3040() {
+ $objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance());
+
+ $objMetaBD = $this->objMeta;
+ $objMetaBD->criarTabela(array(
+ 'tabela' => 'md_pen_tramita_em_bloco',
+ 'cols' => array(
+ 'id' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO),
+ 'id_unidade' => array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO),
+ 'id_usuario' => array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO),
+ 'descricao' => array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::SNULLO),
+ 'idx_bloco' => array($objMetaBD->tipoTextoVariavel(500), PenMetaBD::SNULLO),
+ 'sta_tipo' => array($objMetaBD->tipoTextoFixo(1), PenMetaBD::SNULLO),
+ 'sta_estado' => array($objMetaBD->tipoTextoFixo(1), PenMetaBD::SNULLO),
+ ),
+ 'pk' => array('cols' => array('id')),
+ 'uk' => array(),
+ 'fks' => array(
+ 'unidade' => array('nome' => 'fk_tramite_bloco_unidade', 'cols' => array('id_unidade', 'id_unidade')),
+ 'usuario' => array('nome' => 'fk_tramite_bloco_usuario', 'cols' => array('id_usuario', 'id_usuario')),
+ )
+ ));
+
+ # Criar sequencia para tramite em bloco
+
+ $objInfraSequenciaRN = new InfraSequenciaRN();
+ $objInfraSequenciaDTO = new InfraSequenciaDTO();
+
+ //Sequência: md_pen_seq_tramita_em_bloco
+ $rs = BancoSEI::getInstance()->consultarSql('select max(id) as total from md_pen_tramita_em_bloco');
+ $numMaxId = isset($rs[0]['total']) ? $rs[0]['total'] : 0;
+
+ BancoSEI::getInstance()->criarSequencialNativa('md_pen_seq_tramita_em_bloco', $numMaxId + 1);
+ $objInfraSequenciaDTO->setStrNome('md_pen_tramita_em_bloco');
+ $objInfraSequenciaDTO->retStrNome();
+ $arrObjInfraSequenciaDTO = $objInfraSequenciaRN->listar($objInfraSequenciaDTO);
+ $objInfraSequenciaRN->excluir($arrObjInfraSequenciaDTO);
+
+ $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");
+ }
+}
try {
session_start();
diff --git a/src/scripts/sip_atualizar_versao_modulo_pen.php b/src/scripts/sip_atualizar_versao_modulo_pen.php
index 919766680..76461db06 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.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');
$this->finalizar('VERSAO DO MÓDULO JÁ CONSTA COMO ATUALIZADA');
return;
}
@@ -450,6 +457,28 @@ 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.");
+ 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
*
@@ -569,7 +598,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
* @return void
@@ -623,13 +652,38 @@ private function instalarV100()
$numIdSistema = $this->getNumIdSistema('SEI');
$numIdMenu = $this->getNumIdMenu('Principal', $numIdSistema);
+ //----------------------------------------------------------------------
+ // Tramita.GOV.BR
+ //----------------------------------------------------------------------
+ $objItemMenuDTO = new ItemMenuDTO();
+ $objItemMenuDTO->setNumIdSistema($numIdSistema);
+ $objItemMenuDTO->setNumIdMenu($numIdMenu);
+ $objItemMenuDTO->setStrRotulo('Tramita.GOV.BR');
+ $objItemMenuDTO->setNumMaxRegistrosRetorno(1);
+ $objItemMenuDTO->retNumIdItemMenu();
+
+ $objItemMenuBD = new ItemMenuBD(BancoSip::getInstance());
+
+ $objItemMenuDTO = $objItemMenuBD->consultar($objItemMenuDTO);
+
+ //----------------------------------------------------------------------
+ // Tramita.GOV.BR
+ //----------------------------------------------------------------------
+ $numIdRecurso = $this->criarRecurso('pen_procedimento_expedido_listar', 'Tramita.GOV.BR', $numIdSistema);
+ $this->criarMenu('Tramita.GOV.BR', 55, null, $numIdMenu, $numIdRecurso, $numIdSistema);
+
+ //Atribui as permissões aos recursos e menus
+ $this->atribuirPerfil($numIdSistema);
+
+
//----------------------------------------------------------------------
// Expedir procedimento
//----------------------------------------------------------------------
$this->criarRecurso('pen_procedimento_expedir', 'Expedir Procedimento', $numIdSistema);
$this->criarRecurso('apensados_selecionar_expedir_procedimento', 'Processos Apensados', $numIdSistema);
- $numIdRecurso = $this->criarRecurso('pen_procedimento_expedido_listar', 'Processos Trâmitados Externamente', $numIdSistema);
- $this->criarMenu('Processos Trâmitados Externamente', 55, null, $numIdMenu, $numIdRecurso, $numIdSistema);
+ //$numIdRecurso = $this->criarRecurso('pen_procedimento_expedido_listar', 'Processos Trâmitados Externamente', $numIdSistema);
+ //$this->criarMenu('Processos Trâmitados Externamente', 55, null, $numIdMenu, $numIdRecurso, $numIdSistema);
+
//----------------------------------------------------------------------
// Mapeamento de documentos enviados
//----------------------------------------------------------------------
@@ -1179,11 +1233,11 @@ private function instalarV119()
$objRecursoDTO->retNumIdRecurso();
$objRecursoBD = new RecursoBD($this->getObjInfraIBanco());
$objRecursoDTO = $objRecursoBD->consultar($objRecursoDTO);
- if (isset($objRecursoDTO)) {
+ if (isset($objRecursoDTO)) {
$numIdRecurso = $objRecursoDTO->getNumIdRecurso();
$objRecursoDTO->setStrDescricao('Processos Tramitados Externamente');
$objRecursoBD->alterar($objRecursoDTO);
- }
+ }
$objItemMenuDTO = new ItemMenuDTO();
$objItemMenuDTO->setNumIdItemMenuPai(null);
@@ -1194,12 +1248,11 @@ private function instalarV119()
$objItemMenuDTO->retNumIdItemMenu();
$objItemMenuBD = new ItemMenuBD(BancoSip::getInstance());
$objItemMenuDTO = $objItemMenuBD->consultar($objItemMenuDTO);
- if (isset($objItemMenuDTO)) {
+ if (isset($objItemMenuDTO)) {
$objItemMenuDTO->setStrDescricao('Processos Tramitados Externamente');
$objItemMenuDTO->setStrRotulo('Processos Tramitados Externamente');
$objItemMenuBD->alterar($objItemMenuDTO);
- }
-
+ }
$this->atualizarNumeroVersao('1.1.9');
}
@@ -1209,6 +1262,59 @@ 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('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('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);
+ $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');
}
@@ -1402,7 +1508,7 @@ private function instalarV1503()
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');
+ $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');
$numIdPerfilSeiAdministrador = ScriptSip::obterIdPerfil($numIdSistemaSei, "Administrador");
$this->criarRecurso('pen_map_tipo_documento_envio_padrao_atribuir', 'Atribuir espécie documental padrão para envio de processos', $numIdSistemaSei);
@@ -1414,6 +1520,7 @@ private function instalarV2000_beta1()
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');
@@ -1475,17 +1582,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");
}
@@ -1553,7 +1660,7 @@ protected function instalarV2100()
*/
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);
@@ -1629,8 +1736,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");
}
@@ -1725,7 +1832,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);
@@ -1811,6 +1918,144 @@ 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
+ //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
+ //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 */
+ $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
+
+ $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
+ $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', '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);
+ $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');
+ 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->setStrNome('md_pen_tramita_em_bloco_excluir');
+ $objRecursoDTO->setStrNome('pen_tramita_em_bloco_protocolo_listar');
+ $objRecursoDTO->setStrNome('pen_tramita_em_bloco_protocolo_excluir');
+ $objRecursoDTO->setStrNome('pen_tramita_em_bloco_protocolo_cancelar');
+ $objRecursoDTO->setStrNome('md_pen_tramita_em_bloco');
+ $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);
+ $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");
+ }
+
+
}
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