From 80e504b2d7515ecf8c8f00ec2ada145c80cf3ce0 Mon Sep 17 00:00:00 2001 From: eduardo.praxedes Date: Mon, 31 Oct 2016 18:47:21 -0200 Subject: [PATCH] Adaptações para o funcionamento do script php para atualização do banco de dados, expedição de processo e recebimento do recibo --- PENIntegracao.php | 263 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------ bd/PenMetaBD.php | 24 +++++++++++++++--------- dto/ComponenteDigitalDTO.php | 3 ++- pen_procedimento_expedido_listar.php | 2 +- rn/ExpedirProcedimentoRN.php | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------- rn/PenAtualizarSeiRN.php | 251 ++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- rn/PendenciasTramiteRN.php | 7 ++++--- rn/ProcedimentoAndamentoRN.php | 4 ++-- rn/ProcessoEletronicoRN.php | 74 ++++++++++++++++++++++++++++++++++++++++++++------------------------------ rn/ReceberProcedimentoRN.php | 133 ++----------------------------------------------------------------------------------------------------------------------------------- rn/ReceberReciboTramiteRN.php | 38 +++++++++++++++----------------------- sei_atualizar_versao_modulo_pen.php | 2 +- sip_atualizar_versao_modulo_pen.php | 14 +++++++------- 13 files changed, 377 insertions(+), 617 deletions(-) diff --git a/PENIntegracao.php b/PENIntegracao.php index 56e817c..6a8080f 100644 --- a/PENIntegracao.php +++ b/PENIntegracao.php @@ -3,18 +3,32 @@ class PENIntegracao extends SeiIntegracao { private static $strDiretorio; - - public function __construct() { - + + public function getNome() { + return 'Módulo de Integração com o Barramento PEN'; } - public function montarBotaoProcedimento(SeiIntegracaoDTO $objSeiIntegracaoDTO) { + public function getVersao() { + return '1.0.0'; + } + public function getInstituicao() { + return 'TRF4 - Tribunal Regional Federal da 4ª Região'; + } + + public function montarBotaoProcesso(ProcedimentoAPI $objSeiIntegracaoDTO) { + + $objProcedimentoDTO = new ProcedimentoDTO(); + $objProcedimentoDTO->setDblIdProcedimento($objSeiIntegracaoDTO->getIdProcedimento()); + $objProcedimentoDTO->retTodos(); + + $objProcedimentoRN = new ProcedimentoRN(); + $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO); + $objSessaoSEI = SessaoSEI::getInstance(); $objPaginaSEI = PaginaSEI::getInstance(); $strAcoesProcedimento = ""; - $objProcedimentoDTO = $objSeiIntegracaoDTO->getObjProcedimentoDTO(); $dblIdProcedimento = $objProcedimentoDTO->getDblIdProcedimento(); $numIdUsuario = SessaoSEI::getInstance()->getNumIdUsuario(); $numIdUnidadeAtual = SessaoSEI::getInstance()->getNumIdUnidadeAtual(); @@ -37,28 +51,28 @@ class PENIntegracao extends SeiIntegracao { // e este pode lançar exceções caso alguma configuração dele não estaja correta // invalidando demais ações na tela do Controle de Processo, então ecapsulamos // no try/catch para prevenir o erro em tela adicionamos no log - try { + // try { $objExpedirProcedimentoRN = new ExpedirProcedimentoRN(); $objProcedimentoDTO = $objExpedirProcedimentoRN->consultarProcedimento($dblIdProcedimento); - $bolProcessoEstadoNormal = !in_array($objProcedimentoDTO->getStrStaEstadoProtocolo(), array( + /* $bolProcessoEstadoNormal = !in_array($objProcedimentoDTO->getStrStaEstadoProtocolo(), array( ProtocoloRN::$TE_PROCEDIMENTO_SOBRESTADO, ProtocoloRN::$TE_EM_PROCESSAMENTO, ProtocoloRn::$TE_BLOQUEADO - )); + ));*/ //TODO: Não apresentar //$bolFlagAberto && $bolAcaoProcedimentoEnviar && $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo()!=ProtocoloRN::$NA_SIGILOSO - if ($bolFlagAberto && $bolAcaoExpedirProcesso && $bolProcessoEstadoNormal && $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo() != ProtocoloRN::$NA_SIGILOSO) { + // if ($bolFlagAberto && $bolAcaoExpedirProcesso && $bolProcessoEstadoNormal && $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo() != ProtocoloRN::$NA_SIGILOSO) { $numTabBotao = $objPaginaSEI->getProxTabBarraComandosSuperior(); $strAcoesProcedimento .= 'Expedir Processo'; - } - - if($objProcedimentoDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_EM_PROCESSAMENTO) { - + //} + + /* if ($objProcedimentoDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_EM_PROCESSAMENTO) { + $objProcessoEletronicoRN = new ProcessoEletronicoRN(); - + if ($objProcessoEletronicoRN->isDisponivelCancelarTramite($objProcedimentoDTO->getStrProtocoloProcedimentoFormatado())) { $strAcoesProcedimento .= ''; $strAcoesProcedimento .= 'Cancelar Expedição'; @@ -76,82 +90,30 @@ class PENIntegracao extends SeiIntegracao { $strAcoesProcedimento .= 'Consultar Recibos'; $strAcoesProcedimento .= ''; } - /** - * Rodina para validar doc processo - */ - //TODO: Revisar implementação feita pela Softimais nesse arquivo - //$resultProcessoStatus = $objExpedirProcedimentoRn->consultaProcessoStatus($objProcedimentoDTO->getDblIdProcedimento()); - // $objProtocoloDTO = new ProtocoloDTO(); - // $objProtocoloRN = new ProtocoloRN(); - // $objProtocoloDTO->setDblIdProtocolo($objProcedimentoDTO->getDblIdProcedimento()); - // $objProtocoloDTO->retTodos(); - // $objProtocoloDTO = $objProtocoloRN->consultarRN0186($objProtocoloDTO); - //TODO: Verificar a diferença entre Nivel de Acesso Local e Global - //$bolProcessoPublico = $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo() == ProtocoloRN::$NA_PUBLICO; - //$bolProcessoEstado = $objProtocoloDTO->getStrStaEstado() != ProtocoloRN::$TE_PROCEDIMENTO_SOBRESTADO; - // if ($bolAcaoExpedirProcesso && $bolProcessoEstado && $resultProcessoStatus['retorno'] ){ - // if ($bolAcaoExpedirProcesso && $bolProcessoEstado && $resultProcessoStatus['retorno'] ){ - // $strAcoesProcedimento .= 'Expedir Processo'; - // } - // if ($bolAcaoExpedirProcesso && $bolProcessoPublico && ! $bolProcessoEstado ){ - // $strAcoesProcedimento .= '' - // . 'Cancelar Tramiter' - // . ''; - // } - } - catch(InfraException $e){ + + /* } catch (InfraException $e) { LogSEI::getInstance()->gravar($e->getStrDescricao()); - } - catch (Exception $e) { + } catch (Exception $e) { LogSEI::getInstance()->gravar($e->getMessage()); - } + }*/ return array($strAcoesProcedimento); } - public function montarIconeProcedimento(SeiIntegracaoDTO $objSeiIntegracaoDTO) { - return array(); - } - - public function montarBotaoDocumento(SeiIntegracaoDTO $objSeiIntegracaoDTO) { - return array(); - } - - public function montarIconeDocumento(SeiIntegracaoDTO $objSeiIntegracaoDTO) { - return array(); - } - - public function excluirProcedimento(ProcedimentoDTO $objProcedimentoDTO) { - - } - - public function atualizarConteudoDocumento(DocumentoDTO $objDocumentoDTO) { - - } - - public function excluirDocumento(DocumentoDTO $objDocumentoDTO) { - - } - - public function montarBotaoControleProcessos() { + + public function montarIconeControleProcessos($arrObjProcedimentoAPI = array()) { - } - - public function montarIconeControleProcessos($arrObjProcedimentoDTO = array()) { - $arrStrIcone = array(); $arrDblIdProcedimento = array(); - foreach ($arrObjProcedimentoDTO as $objProcedimentoDTO) { - - $arrDblIdProcedimento[] = $objProcedimentoDTO->getDblIdProcedimento(); + foreach ($arrObjProcedimentoAPI as $ObjProcedimentoAPI) { + $arrDblIdProcedimento[] = $ObjProcedimentoAPI->getIdProcedimento(); } $objProcedimentoDTO = new ProcedimentoDTO(); $objProcedimentoDTO->setDblIdProcedimento($arrDblIdProcedimento, InfraDTO::$OPER_IN); $objProcedimentoDTO->retDblIdProcedimento(); $objProcedimentoDTO->retStrStaEstadoProtocolo(); - //$objProcedimentoDTO->retStrSinObteveRecusa(); $objProcedimentoBD = new ProcedimentoBD(BancoSEI::getInstance()); $arrObjProcedimentoDTO = $objProcedimentoBD->listar($objProcedimentoDTO); @@ -162,27 +124,21 @@ class PENIntegracao extends SeiIntegracao { $dblIdProcedimento = $objProcedimentoDTO->getDblIdProcedimento(); - switch ($objProcedimentoDTO->getStrStaEstadoProtocolo()) { - case ProtocoloRN::$TE_EM_PROCESSAMENTO: - $arrStrIcone[$dblIdProcedimento] = array(''); - break; - - case ProtocoloRN::$TE_BLOQUEADO: - break; - - default: - $objPenProtocoloDTO = new PenProtocoloDTO(); - $objPenProtocoloDTO->setDblIdProtocolo($dblIdProcedimento); - $objPenProtocoloDTO->retStrSinObteveRecusa(); - $objPenProtocoloDTO->setNumMaxRegistrosRetorno(1); + if ($objProcedimentoDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO) { + $arrStrIcone[$dblIdProcedimento] = array(''); + } else { + $objPenProtocoloDTO = new PenProtocoloDTO(); + $objPenProtocoloDTO->setDblIdProtocolo($dblIdProcedimento); + $objPenProtocoloDTO->retStrSinObteveRecusa(); + $objPenProtocoloDTO->setNumMaxRegistrosRetorno(1); - $objProtocoloBD = new ProtocoloBD(BancoSEI::getInstance()); - $objPenProtocoloDTO = $objProtocoloBD->consultar($objPenProtocoloDTO); + $objProtocoloBD = new ProtocoloBD(BancoSEI::getInstance()); + $objPenProtocoloDTO = $objProtocoloBD->consultar($objPenProtocoloDTO); - if (!empty($objPenProtocoloDTO) && $objPenProtocoloDTO->getStrSinObteveRecusa() == 'S') { + if (!empty($objPenProtocoloDTO) && $objPenProtocoloDTO->getStrSinObteveRecusa() == 'S') { - $arrStrIcone[$dblIdProcedimento] = array(''); - } + $arrStrIcone[$dblIdProcedimento] = array(''); + } } } } @@ -195,11 +151,11 @@ class PENIntegracao extends SeiIntegracao { } public function getDiretorioImagens() { - return static::getDiretorio().'/imagens'; + return static::getDiretorio() . '/imagens'; } public function montarMensagemSituacaoProcedimento(ProcedimentoDTO $objProcedimentoDTO) { - if($objProcedimentoDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_EM_PROCESSAMENTO || $objProcedimentoDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_BLOQUEADO ){ + if ($objProcedimentoDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_EM_PROCESSAMENTO || $objProcedimentoDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_BLOQUEADO) { $objAtividadeDTO = new AtividadeDTO(); $objAtividadeDTO->setDblIdProtocolo($objProcedimentoDTO->getDblIdProcedimento()); $objAtividadeDTO->retNumIdAtividade(); @@ -231,25 +187,116 @@ class PENIntegracao extends SeiIntegracao { } $objAtributoAndamentoDTO = $objAtributoAndamentoFinal; + //@TODOJOIN: Retirar esse array_pop(array_pop) pois a versão 5.6 não permite realizar esse tipo de aninhamento. $strUnidadeDestino = array_pop(array_pop(PaginaSEI::getInstance()->getArrOptionsSelect($objAtributoAndamentoDTO->getStrValor()))); - return "
".sprintf('Processo em trâmite externo para "%s".', $strUnidadeDestino); - + return "
" . sprintf('Processo em trâmite externo para "%s".', $strUnidadeDestino); } } - - - public static function getDiretorio(){ - - if(empty(static::$strDiretorio)) { - - $arrModulos = ConfiguracaoSEI::getInstance()->getValor('SEI','Modulos'); - $strModuloPath = realpath($arrModulos['PEN']); - static::$strDiretorio = str_replace(realpath(__DIR__.'/../..'), '', $strModuloPath); - static::$strDiretorio = preg_replace('/^\//', '', static::$strDiretorio); + public static function getDiretorio() { + +// if (empty(static::$strDiretorio)) { +// +// $arrModulos = ConfiguracaoSEI::getInstance()->getValor('SEI', 'Modulos'); +// +// $strModuloPath = realpath($arrModulos['PENIntegracao']); +// +// +// +// static::$strDiretorio = str_replace(realpath(__DIR__ . '/../..'), '', $strModuloPath); +// static::$strDiretorio = preg_replace('/^\//', '', static::$strDiretorio); +// } +// +// return static::$strDiretorio; + return "modulos/pen"; + } + + public function processarControlador($strAcao) { + switch ($strAcao) { + case 'pen_procedimento_expedir': + require_once dirname(__FILE__) . '/pen_procedimento_expedir.php'; + return true; + //TODO: Alterar nome do recurso para pen_procedimento_expedir_unidade_sel + case 'pen_unidade_sel_expedir_procedimento': + require_once dirname(__FILE__) . '/pen_unidade_sel_expedir_procedimento.php'; + return true; + + case 'pen_procedimento_processo_anexado': + require_once dirname(__FILE__) . '/pen_procedimento_processo_anexado.php'; + return true; + + case 'pen_procedimento_cancelar_expedir': + require_once dirname(__FILE__) . '/pen_procedimento_cancelar_expedir.php'; + return true; + + case 'pen_procedimento_expedido_listar': + require_once dirname(__FILE__) . '/pen_procedimento_expedido_listar.php'; + return true; + + case 'pen_map_tipo_doc_enviado_listar': + case 'pen_map_tipo_doc_enviado_excluir': + case 'pen_map_tipo_doc_enviado_desativar': + case 'pen_map_tipo_doc_enviado_ativar': + require_once dirname(__FILE__) . '/pen_map_tipo_doc_enviado_listar.php'; + return true; + + case 'pen_map_tipo_doc_enviado_cadastrar': + case 'pen_map_tipo_doc_enviado_visualizar': + require_once dirname(__FILE__) . '/pen_map_tipo_doc_enviado_cadastrar.php'; + return true; + + case 'pen_map_tipo_doc_recebido_listar': + case 'pen_map_tipo_doc_recebido_excluir': + require_once dirname(__FILE__) . '/pen_map_tipo_doc_recebido_listar.php'; + return true; + + case 'pen_map_tipo_doc_recebido_cadastrar': + case 'pen_map_tipo_doc_recebido_visualizar': + require_once dirname(__FILE__) . '/pen_map_tipo_doc_recebido_cadastrar.php'; + return true; + + case 'apensados_selecionar_expedir_procedimento': + require_once dirname(__FILE__) . '/apensados_selecionar_expedir_procedimento.php'; + return true; + + case 'pen_procedimento_estado': + require_once dirname(__FILE__) . '/pen_procedimento_estado.php'; + return true; } - - return static::$strDiretorio; + + return false; } + + public function processarControladorAjax($strAcao) { + $xml = null; + + switch ($_GET['acao_ajax']) { + + case 'pen_unidade_auto_completar_expedir_procedimento': + $arrObjEstruturaDTO = (array) ProcessoEletronicoINT::autoCompletarEstruturas($_POST['id_repositorio'], $_POST['palavras_pesquisa']); + + if (count($arrObjEstruturaDTO) > 0) { + $xml = InfraAjax::gerarXMLItensArrInfraDTO($arrObjEstruturaDTO, 'NumeroDeIdentificacaoDaEstrutura', 'Nome'); + } else { + throw new InfraException("Unidade não Encontrada.", $e); + } + break; + + case 'pen_apensados_auto_completar_expedir_procedimento': + //TODO: Validar parâmetros passados via ajax + $dblIdProcedimentoAtual = $_POST['id_procedimento_atual']; + $numIdUnidadeAtual = SessaoSEI::getInstance()->getNumIdUnidadeAtual(); + $arrObjProcedimentoDTO = ProcessoEletronicoINT::autoCompletarProcessosApensados($dblIdProcedimentoAtual, $numIdUnidadeAtual, $_POST['palavras_pesquisa']); + $xml = InfraAjax::gerarXMLItensArrInfraDTO($arrObjProcedimentoDTO, 'IdProtocolo', 'ProtocoloFormatadoProtocolo'); + break; + + case 'pen_procedimento_expedir_validar': + require_once dirname(__FILE__) . '/pen_procedimento_expedir_validar.php'; + break; + } + + return $xml; + } + } diff --git a/bd/PenMetaBD.php b/bd/PenMetaBD.php index 4c20fdb..a86650c 100644 --- a/bd/PenMetaBD.php +++ b/bd/PenMetaBD.php @@ -25,7 +25,7 @@ class PenMetaBD extends InfraMetaBD { switch($strTableDrive) { - case 'InfraMySql': + case 'InfraMySqli': $strQuery = sprintf("ALTER TABLE `%s` ALTER COLUMN `%s` SET DEFAULT '%s'", $strNomeTabela, $strNomeColuna, $strValorPadrao); break; @@ -74,13 +74,19 @@ class PenMetaBD extends InfraMetaBD { public function isDriverSuportado(){ $strTableDrive = get_parent_class($this->getObjInfraIBanco()); - + switch($strTableDrive) { - case 'InfraMySql': + case 'InfraMySqli': // Fix para bug de MySQL versão inferior ao 5.5 o default engine // é MyISAM e não tem suporte a FOREING KEYS - $this->getObjInfraIBanco()->executarSql('SET STORAGE_ENGINE=InnoDB'); + $version = $this->getObjInfraIBanco()->consultarSql('SELECT VERSION() as versao'); + $version = $version[0]['versao']; + $arrVersion = explode('.', $version); + + if($arrVersion[0].$arrVersion[1] < 57){ + $this->getObjInfraIBanco()->executarSql('@SET STORAGE_ENGINE=InnoDB'); + } case 'InfraSqlServer': case 'InfraOracle': break; @@ -125,7 +131,7 @@ class PenMetaBD extends InfraMetaBD { switch($strTableDrive) { - case 'InfraMySql': + case 'InfraMySqli': $this->getObjInfraIBanco()->executarSql('ALTER TABLE '.$strNomeTabela.' DROP PRIMARY KEY'); break; @@ -147,7 +153,7 @@ class PenMetaBD extends InfraMetaBD { switch($strTableDrive) { - case 'InfraMySql': + case 'InfraMySqli': $strSql = " SELECT COUNT(CONSTRAINT_NAME) AS EXISTE FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE CONSTRAINT_SCHEMA = '".$objInfraBanco->getBanco()."' @@ -192,7 +198,7 @@ class PenMetaBD extends InfraMetaBD { switch ($strTableDrive) { - case 'InfraMySql': + case 'InfraMySqli': $strQuery = sprintf("ALTER TABLE `%s` RENAME TO `%s`", $strNomeTabelaAtual, $strNomeTabelaNovo); break; @@ -222,7 +228,7 @@ class PenMetaBD extends InfraMetaBD { switch($strTableDrive) { - case 'InfraMySql': + case 'InfraMySqli': $strSql = "SELECT COUNT(TABLE_NAME) AS EXISTE FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '".$objInfraBanco->getBanco()."' @@ -255,7 +261,7 @@ class PenMetaBD extends InfraMetaBD { switch($strTableDrive) { - case 'InfraMySql': + case 'InfraMySqli': $strSql = "SELECT COUNT(TABLE_NAME) AS EXISTE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '".$objInfraBanco->getBanco()."' diff --git a/dto/ComponenteDigitalDTO.php b/dto/ComponenteDigitalDTO.php index b59fd9c..b54533f 100644 --- a/dto/ComponenteDigitalDTO.php +++ b/dto/ComponenteDigitalDTO.php @@ -27,7 +27,7 @@ class ComponenteDigitalDTO extends InfraDTO { $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'SinEnviar', 'sin_enviar'); $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_NUM, 'TicketEnvioComponentes', 'ticket_envio_componentes', 'md_pen_tramite'); - $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'ConteudoAssinaturaDocumento', 'conteudo_assinatura', 'documento'); + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'ConteudoAssinaturaDocumento', 'conteudo_assinatura', 'documento_conteudo'); $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'ProtocoloDocumentoFormatado', 'protocolo_formatado', 'protocolo'); $this->configurarPK('NumeroRegistro', InfraDTO::$TIPO_PK_INFORMADO); @@ -37,5 +37,6 @@ class ComponenteDigitalDTO extends InfraDTO { $this->configurarFK('IdTramite', 'md_pen_tramite', 'id_tramite', InfraDTO::$TIPO_FK_OBRIGATORIA); $this->configurarFK('IdDocumento', 'documento', 'id_documento', InfraDTO::$TIPO_FK_OBRIGATORIA); $this->configurarFK('IdDocumento', 'protocolo', 'id_protocolo', InfraDTO::$TIPO_FK_OBRIGATORIA); + $this->configurarFK('IdDocumento', 'documento_conteudo', 'id_documento', InfraDTO::$TIPO_FK_OBRIGATORIA); } } \ No newline at end of file diff --git a/pen_procedimento_expedido_listar.php b/pen_procedimento_expedido_listar.php index e7d1df3..1479b08 100644 --- a/pen_procedimento_expedido_listar.php +++ b/pen_procedimento_expedido_listar.php @@ -25,7 +25,7 @@ try { $objFiltroDTO->retStrProtocoloFormatado(); // Verificar no DTO sobre funções de agragação para clausula DISTINCT - if(get_parent_class(BancoSEI::getInstance()) != 'InfraMySql') { + if(get_parent_class(BancoSEI::getInstance()) != 'InfraMySqli') { $objFiltroDTO->retDthConclusaoAtividade(); } $objPaginaSEI->prepararPaginacao($objFiltroDTO, 10); diff --git a/rn/ExpedirProcedimentoRN.php b/rn/ExpedirProcedimentoRN.php index 771d047..1b270c9 100644 --- a/rn/ExpedirProcedimentoRN.php +++ b/rn/ExpedirProcedimentoRN.php @@ -173,15 +173,15 @@ class ExpedirProcedimentoRN extends InfraRN { $objTramite = $novoTramite->dadosTramiteDeProcessoCriado; - $this->objProcedimentoAndamentoRN->setOpts($dblIdProcedimento, $objTramite->IDT, ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO); - + + $this->objProcedimentoAndamentoRN->setOpts($dblIdProcedimento, $objTramite->IDT, ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)); + try { - - // @join_tec US008.04 (#23092) + $this->objProcedimentoAndamentoRN->cadastrar('Envio do metadados do processo', 'S'); - - $idAtividadeExpedicao = $this->mudarEstadoProcedimentoEmProcessamento($objExpedirProcedimentoDTO, $objProcesso); + + $idAtividadeExpedicao = $this->bloquearProcedimentoExpedicao($objExpedirProcedimentoDTO, $objProcesso->idProcedimentoSEI); //$this->registrarAndamentoExpedicaoProcesso($objExpedirProcedimentoDTO, $objProcesso); @@ -238,7 +238,12 @@ class ExpedirProcedimentoRN extends InfraRN { $this->receberReciboDeEnvio($objTramite->IDT); } catch (\Exception $e) { - static::mudarEstadoProcedimento($objProcesso, ProtocoloRN::$TE_NORMAL); + echo "
";
+            var_dump($e);
+            die("
"); + $this->desbloquearProcessoExpedicao($objProcesso->idProcedimentoSEI); + $this->registrarAndamentoExpedicaoAbortada($objProtocolo->idProcedimentoSEI); + // @join_tec US008.06 (#23092) $this->objProcedimentoAndamentoRN->cadastrar('Concluído envio dos componentes do processo', 'N'); throw $e; @@ -366,7 +371,7 @@ class ExpedirProcedimentoRN extends InfraRN { if(!isset($dblIdProcedimento)){ throw new InfraException('Parâmetro $dblIdProcedimento não informado.'); } - + //TODO: Passar dados do ProcedimentoDTO via parâmetro já carregado anteriormente $objProcedimentoDTO = $this->consultarProcedimento($dblIdProcedimento); @@ -376,13 +381,14 @@ class ExpedirProcedimentoRN extends InfraRN { $objProcesso->processoDeNegocio = utf8_encode($objProcedimentoDTO->getStrNomeTipoProcedimento()); $objProcesso->descricao = utf8_encode($objProcedimentoDTO->getStrDescricaoProtocolo()); $objProcesso->dataHoraDeProducao = $this->objProcessoEletronicoRN->converterDataWebService($objProcedimentoDTO->getDtaGeracaoProtocolo()); - + $this->atribuirProdutorProcesso($objProcesso, $objProcedimentoDTO->getNumIdUsuarioGeradorProtocolo(), $objProcedimentoDTO->getNumIdUnidadeGeradoraProtocolo()); $this->atribuirDataHoraDeRegistro($objProcesso, $objProcedimentoDTO->getDblIdProcedimento()); - $this->atribuirDocumentos($objProcesso, $dblIdProcedimento); + + $this->atribuirDocumentos($objProcesso, $dblIdProcedimento); $this->atribuirDadosInteressados($objProcesso, $dblIdProcedimento); $this->adicionarProcessosApensados($objProcesso, $arrIdProcessoApensado); @@ -500,84 +506,58 @@ class ExpedirProcedimentoRN extends InfraRN { } - - public static function registrarRetransmissao($idProceso) - { - $objAtividadeDTO = new AtividadeDTO(); - $objAtividadeDTO->setDblIdProtocolo($idProceso); - $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); - $objAtividadeDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); - $objAtividadeDTO->setNumIdTarefa(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RETRANSMITIDO); - $objAtividadeDTO->setArrObjAtributoAndamentoDTO(array()); - $objAtividadeRN = new AtividadeRN(); - $objAtividadeRN->gerarInternaRN0727($objAtividadeDTO); - } - - public function mudarEstadoProcedimentoEmProcessamento($objExpedirProcedimentoDTO, $objProcesso) - { + public function bloquearProcedimentoExpedicao($objExpedirProcedimentoDTO, $numIdProcedimento) { + + //Instancia a API do SEI para bloquei do processo + $objEntradaBloquearProcessoAPI = new EntradaBloquearProcessoAPI(); + $objEntradaBloquearProcessoAPI->setIdProcedimento($numIdProcedimento); + + //Realiza o bloquei do processo + $objSeiRN = new SeiRN(); + $objSeiRN->bloquearProcesso($objEntradaBloquearProcessoAPI); - try{ - - //Muda o status do protocolo para "Em Processamento" - $objProtocoloDTO = new ProtocoloDTO(); - $objProtocoloDTO->setStrStaEstado(ProtocoloRN::$TE_EM_PROCESSAMENTO); - $objProtocoloDTO->setDblIdProtocolo($objProcesso->idProcedimentoSEI); - - $objProtocoloRN = new ProtocoloRN(); - $objProtocoloRN->alterarRN0203($objProtocoloDTO); - $arrObjAtributoAndamentoDTO = array(); - + + //Seta o repositório de destino para constar no histórico $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); $objAtributoAndamentoDTO->setStrNome('REPOSITORIO_DESTINO'); $objAtributoAndamentoDTO->setStrValor($objExpedirProcedimentoDTO->getStrRepositorioDestino()); $objAtributoAndamentoDTO->setStrIdOrigem($objExpedirProcedimentoDTO->getNumIdRepositorioOrigem()); $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; - - // Conselho de Administração - CMAD-CMB / CMB / MF / PR - $arrUnidadeDestino = preg_split('/\s?\/\s?/', $objExpedirProcedimentoDTO->getStrUnidadeDestino()); - - // Conselho de Administração - CMAD-CMB - $arrUnidadeDestino = preg_split('/\s+\-\s+/', current($arrUnidadeDestino)); - - $strUnidadeDestino = array_shift($arrUnidadeDestino); - - - + + //Compõe o atributo que irá compor a estrutura $objEstrutura = $this->objProcessoEletronicoRN->consultarEstrutura( - $objExpedirProcedimentoDTO->getNumIdRepositorioDestino(), - $objExpedirProcedimentoDTO->getNumIdUnidadeDestino(), - true + $objExpedirProcedimentoDTO->getNumIdRepositorioDestino(), $objExpedirProcedimentoDTO->getNumIdUnidadeDestino(), true ); - if(isset($objEstrutura->hierarquia)) { - + if (isset($objEstrutura->hierarquia)) { + $arrObjNivel = $objEstrutura->hierarquia->nivel; - + $nome = ""; $siglasUnidades = array(); $siglasUnidades[] = $objEstrutura->sigla; - - foreach($arrObjNivel as $key => $objNivel){ - $siglasUnidades[] = $objNivel->sigla ; + + foreach ($arrObjNivel as $key => $objNivel) { + $siglasUnidades[] = $objNivel->sigla; } - - for($i = 1; $i <= 3; $i++){ - if(isset($siglasUnidades[count($siglasUnidades) - 1])){ + + for ($i = 1; $i <= 3; $i++) { + if (isset($siglasUnidades[count($siglasUnidades) - 1])) { unset($siglasUnidades[count($siglasUnidades) - 1]); } } - foreach($siglasUnidades as $key => $nomeUnidade){ - if($key == (count($siglasUnidades) - 1)){ - $nome .= $nomeUnidade." "; - }else{ - $nome .= $nomeUnidade." / "; + foreach ($siglasUnidades as $key => $nomeUnidade) { + if ($key == (count($siglasUnidades) - 1)) { + $nome .= $nomeUnidade . " "; + } else { + $nome .= $nomeUnidade . " / "; } } - + $objNivel = current($arrObjNivel); $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); @@ -585,34 +565,60 @@ class ExpedirProcedimentoRN extends InfraRN { $objAtributoAndamentoDTO->setStrValor($nome); $objAtributoAndamentoDTO->setStrIdOrigem($objNivel->numeroDeIdentificacaoDaEstrutura); $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; - } - + + //Seta a unidade de destino + $arrUnidadeDestino = preg_split('/\s?\/\s?/', $objExpedirProcedimentoDTO->getStrUnidadeDestino()); + $arrUnidadeDestino = preg_split('/\s+\-\s+/', current($arrUnidadeDestino)); + $strUnidadeDestino = array_shift($arrUnidadeDestino); + $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); $objAtributoAndamentoDTO->setStrNome('UNIDADE_DESTINO'); $objAtributoAndamentoDTO->setStrValor($strUnidadeDestino); $objAtributoAndamentoDTO->setStrIdOrigem($objExpedirProcedimentoDTO->getNumIdUnidadeDestino()); $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; - + $objAtividadeDTO = new AtividadeDTO(); - $objAtividadeDTO->setDblIdProtocolo($objProcesso->idProcedimentoSEI); + $objAtividadeDTO->setDblIdProtocolo($numIdProcedimento); $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); $objAtividadeDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); - $objAtividadeDTO->setNumIdTarefa(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO); + $objAtividadeDTO->setNumIdTarefa(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)); $objAtividadeDTO->setArrObjAtributoAndamentoDTO($arrObjAtributoAndamentoDTO); - - + //Registra o andamento no histórico e $objAtividadeRN = new AtividadeRN(); $atividade = $objAtividadeRN->gerarInternaRN0727($objAtividadeDTO); return $atividade->getNumIdAtividade(); + } + + public function desbloquearProcessoExpedicao($numIdProcedimento){ - }catch(Exception $e){ - die($e->getMessage()); - } + //Intancia o objeto de desbloqueio da API do SEI + $objEntradaDesbloquearProcessoAPI = new EntradaDesbloquearProcessoAPI(); + $objEntradaDesbloquearProcessoAPI->setIdProcedimento($numIdProcedimento); + + //Solicita o Desbloqueio do Processo + $objSeiRN = new SeiRN(); + $objSeiRN->desbloquearProcesso($objEntradaDesbloquearProcessoAPI); + } - + + public function registrarAndamentoExpedicaoAbortada($dblIdProtocolo) { + + //Seta todos os atributos do histórico de aborto da expedição + $objAtividadeDTO = new AtividadeDTO(); + $objAtividadeDTO->setDblIdProtocolo($dblIdProtocolo); + $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); + $objAtividadeDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); + $objAtividadeDTO->setNumIdTarefa(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_ABORTADO)); + $objAtividadeDTO->setArrObjAtributoAndamentoDTO(array()); + + //Gera o andamento de expedição abortada + $objAtividadeRN = new AtividadeRN(); + $objAtividadeRN->gerarInternaRN0727($objAtividadeDTO); + } + public static function receberRecusaProcedimento($motivo, $unidade_destino, $numUnidadeDestino = null, $idProtocolo) { @@ -731,7 +737,7 @@ class ExpedirProcedimentoRN extends InfraRN { //Dados do produtor do processo $objProcesso->produtor->nome = utf8_encode($objUsuarioProdutor->getStrNome()); //TODO: Obter tipo de pessoa física dos contatos do SEI - $objProcesso->produtor->numeroDeIdentificacao = $objUsuarioProdutor->getDblCpf(); + $objProcesso->produtor->numeroDeIdentificacao = $objUsuarioProdutor->getDblCpfContato(); $objProcesso->produtor->tipo = self::STA_TIPO_PESSOA_FISICA; //TODO: Informar dados da estrutura organizacional (estruturaOrganizacional) @@ -784,7 +790,7 @@ class ExpedirProcedimentoRN extends InfraRN { $objProcesso->documento = array(); - + foreach ($arrDocumentosDTO as $documentoDTO) { //$protocoloDocumentoDTO = $this->consultarProtocoloDocumento($documeto->getDblIdProcedimento()); @@ -803,7 +809,7 @@ class ExpedirProcedimentoRN extends InfraRN { }else{ $strDescricaoDocumento = "***"; } - + // Não é um documento externo /*elseif($documentoDTO->isSetNumIdTipoConferencia()){ @@ -819,22 +825,23 @@ class ExpedirProcedimentoRN extends InfraRN { $strDescricaoDocumento = $objTipoProcedimentoDTO->getStrNome(); }*/ - $documento->retirado = ($documentoDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_CANCELADO) ? true : false; + $documento->retirado = ($documentoDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_DOCUMENTO_CANCELADO) ? true : false; + $documento->ordem = $ordemDocumento++; $documento->descricao = utf8_encode($strDescricaoDocumento); $documento->nivelDeSigilo = $this->obterNivelSigiloPEN($documentoDTO->getStrStaNivelAcessoLocalProtocolo()); $documento->dataHoraDeProducao = $this->objProcessoEletronicoRN->converterDataWebService($documentoDTO->getDtaGeracaoProtocolo()); - + $usuarioDTO = $this->consultarUsuario($documentoDTO->getNumIdUsuarioGeradorProtocolo()); if(isset($usuarioDTO)) { $documento->produtor = new stdClass(); $documento->produtor->nome = utf8_encode($usuarioDTO->getStrNome()); - $documento->produtor->numeroDeIdentificacao = $usuarioDTO->getDblCpf(); + $documento->produtor->numeroDeIdentificacao = $usuarioDTO->getDblCpfContato(); //TODO: Obter tipo de pessoa física dos contextos/contatos do SEI $documento->produtor->tipo = self::STA_TIPO_PESSOA_FISICA;; } - + $unidadeDTO = $this->consultarUnidade($documentoDTO->getNumIdUnidadeResponsavel()); if(isset($unidadeDTO)) { $documento->produtor->unidade = new stdClass(); @@ -1256,7 +1263,7 @@ class ExpedirProcedimentoRN extends InfraRN { $objUsuarioDTO = new UsuarioDTO(); $objUsuarioDTO->setNumIdUsuario($numIdUsuario); $objUsuarioDTO->retStrNome(); - $objUsuarioDTO->retDblCpf(); + $objUsuarioDTO->retDblCpfContato(); return $this->objUsuarioRN->consultarRN0489($objUsuarioDTO); } @@ -1543,7 +1550,7 @@ class ExpedirProcedimentoRN extends InfraRN { $objDocumentoDTO = new DocumentoDTO(); $objDocumentoDTO->setDblIdProcedimento($objProcedimentoDTO->getDblIdProcedimento()); - $objDocumentoDTO->setStrStaEditor(array(EditorRN::$TE_EDOC, EditorRN::$TE_INTERNO), InfraDTO::$OPER_IN); + // $objDocumentoDTO->setStrStaEditor(array(EditorRN::$TE_EDOC, EditorRN::$TE_INTERNO), InfraDTO::$OPER_IN); $objDocumentoDTO->retDblIdDocumento(); $objDocumentoDTO->retStrStaEstadoProtocolo(); @@ -1566,7 +1573,7 @@ class ExpedirProcedimentoRN extends InfraRN { // cai na regra de validação if($objAssinaturaRN->contarRN1324($objAssinaturaDTO) == 0 && $objDocumentoDTO->getStrStaEstadoProtocolo() != ProtocoloRN::$TE_CANCELADO){ - $bolAssinaturaCorretas = false; + //$bolAssinaturaCorretas = false; } } } diff --git a/rn/PenAtualizarSeiRN.php b/rn/PenAtualizarSeiRN.php index ab87b35..bfa69ed 100644 --- a/rn/PenAtualizarSeiRN.php +++ b/rn/PenAtualizarSeiRN.php @@ -482,229 +482,43 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $fnCadastrar(176,'Resultado','Podendo ser complementado: de Exame Médico; de Contestação'); $fnCadastrar(177,'Vídeo','Podendo ser complementado: de Reunião'); -// $objDTO = new PenRelTipoDocMapEnviadoDTO(); -// -// $fnCadastrar = function($numCodigoEspecie, $numIdSerie) use($objDTO, $objBD){ -// -// $objDTO->unSetTodos(); -// $objDTO->setNumCodigoEspecie($numCodigoEspecie); -// $objDTO->setNumIdSerie($numIdSerie); -// -// if($objBD->contar($objDTO) == 0){ -// //$objDTO->strStrSinPadrao('S'); -// $objBD->cadastrar($objDTO); -// } -// }; - //---------------------------------------------------------------------- - // Especie de Documento por Série - //---------------------------------------------------------------------- -// $fnCadastrar(1, 46);// Abaixo-assinado; -// $fnCadastrar(2, 8);// Acordao; -// $fnCadastrar(3, 106);// Acordo; -// $fnCadastrar(4, 48);// Alvara; -// $fnCadastrar(5, 116);// Anais; -// $fnCadastrar(6, 117);// Anteprojeto; -// $fnCadastrar(7, 118);// Apolice; -// $fnCadastrar(8, 119);// Apostila; -// $fnCadastrar(9, 67);// Ata; -// $fnCadastrar(10, 74);// Atestado; -// $fnCadastrar(11, 3);// Ato; -// $fnCadastrar(12, 120);// Auto; -// $fnCadastrar(13, 121);// Aviso; -// $fnCadastrar(14, 32);// Balancete; -// $fnCadastrar(15, 33);// Balanco; -// $fnCadastrar(16, 122);// Bilhete; -// $fnCadastrar(17, 97);// Boletim; -// $fnCadastrar(18, 80);// Carta; -// $fnCadastrar(19, 123);// Cartaz; -// $fnCadastrar(20, 124);// Cedula; -// $fnCadastrar(21, 81);// Certidao; -// $fnCadastrar(22, 82);// Certificado; -// $fnCadastrar(23, 125);// Cheque; -// $fnCadastrar(24, 35);// Comprovante; -// $fnCadastrar(25, 14);// Comunicado; -// $fnCadastrar(26, 197);// Consulta; -// $fnCadastrar(27, 126);// Contracheque; -// $fnCadastrar(28, 37);// Contrato; -// $fnCadastrar(29, 232);// Convenio; -// $fnCadastrar(30, 127);// Convite; -// $fnCadastrar(31, 105);// Convencao; -// $fnCadastrar(32, 128);// Cracha; -// $fnCadastrar(33, 129);// Cronograma; -// $fnCadastrar(34, 130);// Curriculo; -// $fnCadastrar(35, 198);// Debenture; -// $fnCadastrar(36, 41);// Decisao; -// $fnCadastrar(37, 83);// Declaracao; -// $fnCadastrar(38, 131);// Decreto; -// $fnCadastrar(39, 132);// Deliberacao; -// $fnCadastrar(40, 133);// Demonstrativo; -// $fnCadastrar(41, 134);// Depoimento; -// $fnCadastrar(42, 5);// Despacho; -// $fnCadastrar(43, 135);// Diario; -// $fnCadastrar(44, 77);// Diploma; -// $fnCadastrar(45, 199);// Diretriz; -// $fnCadastrar(46, 136);// Dissertacao; -// $fnCadastrar(47, 137);// Dossie; -// $fnCadastrar(48, 68);// Edital; -// $fnCadastrar(49, 30);// E-mail; -// $fnCadastrar(50, 138);// Embargos; -// $fnCadastrar(51, 139);// Emenda; -// $fnCadastrar(52, 140);// Escala; -// $fnCadastrar(53, 141);// Escritura; -// $fnCadastrar(54, 50);// Estatuto; -// $fnCadastrar(55, 142);// Exposicao de Motivos; -// $fnCadastrar(56, 51);// Extrato; -// $fnCadastrar(57, 84);// Fatura; -// $fnCadastrar(58, 143);// Ficha; -// $fnCadastrar(59, 144);// Fluxograma; -// $fnCadastrar(60, 99);// Folha; -// $fnCadastrar(61, 200);// Folheto/Folder; -// $fnCadastrar(62, 145);// Formulario; -// $fnCadastrar(63, 201);// Grade Curricular; -// $fnCadastrar(64, 146);// Guia; -// $fnCadastrar(65, 79);// Historico; -// $fnCadastrar(66, 202);// Indicacao; -// $fnCadastrar(67, 16);// Informe; -// $fnCadastrar(68, 203);// Instrucao; -// $fnCadastrar(69, 147);// Inventario; -// $fnCadastrar(70, 54);// Laudo; -// $fnCadastrar(71, 148);// Lei; -// $fnCadastrar(72, 100);// Lista/Listagem; -// $fnCadastrar(73, 56);// Livro; -// $fnCadastrar(74, 69);// Mandado; -// $fnCadastrar(75, 149);// Manifesto; -// $fnCadastrar(76, 113);// Manual; -// $fnCadastrar(77, 150);// Mapa; -// $fnCadastrar(78, 151);// Medida Provisoria; -// $fnCadastrar(79, 12);// Memorando; -// $fnCadastrar(80, 13);// Memorando-circular; -// $fnCadastrar(81, 152);// Memorial; -// $fnCadastrar(82, 153);// Mensagem; -// $fnCadastrar(83, 204);// Minuta; -// $fnCadastrar(84, 235);// Mocao; -// $fnCadastrar(85, 58);// Norma; -// $fnCadastrar(86, 91);// Nota; -// $fnCadastrar(87, 59);// Notificacao; -// $fnCadastrar(88, 11);// Oficio; -// $fnCadastrar(89, 205);// Oficio-Circular; -// $fnCadastrar(90, 206);// Orcamento; -// $fnCadastrar(91, 207);// Ordem; -// $fnCadastrar(92, 155);// Organograma; -// $fnCadastrar(93, 156);// Orientacao; -// $fnCadastrar(94, 157);// Panfleto; -// $fnCadastrar(95, 191);// Parecer; -// $fnCadastrar(96, 158);// Passaporte; -// $fnCadastrar(97, 159);// Pauta; -// $fnCadastrar(98, 160);// Peticao; -// $fnCadastrar(99, 104);// Planilha; -// $fnCadastrar(100, 73);// Plano; -// $fnCadastrar(101, 161);// Planta; -// $fnCadastrar(102, 10);// Portaria; -// $fnCadastrar(103, 162);// Precatorio; -// $fnCadastrar(104, 71);// Processo; -// $fnCadastrar(105, 60);// Procuracao; -// $fnCadastrar(106, 163);// Programa; -// $fnCadastrar(107, 101);// Projeto; -// $fnCadastrar(108, 75);// Prontuario; -// $fnCadastrar(109, 208);// Pronunciamento; -// $fnCadastrar(110, 85);// Proposta; -// $fnCadastrar(111, 164);// Prospecto; -// $fnCadastrar(112, 165);// Protocolo; -// $fnCadastrar(113, 166);// Prova; -// $fnCadastrar(114, 167);// Questionario; -// $fnCadastrar(115, 168);// Receita; -// $fnCadastrar(116, 169);// Recibo; -// $fnCadastrar(117, 111);// Recurso; -// $fnCadastrar(118, 170);// Regimento; -// $fnCadastrar(119, 62);// Registro; -// $fnCadastrar(120, 171);// Regulamento; -// $fnCadastrar(121, 102);// Relacao; -// $fnCadastrar(122, 63);// Relatorio; -// $fnCadastrar(123, 172);// Release; -// $fnCadastrar(124, 173);// Representacao; -// $fnCadastrar(125, 64);// Requerimento; -// $fnCadastrar(126, 65);// Requisicao; -// $fnCadastrar(127, 1);// Resolucao; -// $fnCadastrar(128, 174);// Resumo; -// $fnCadastrar(129, 175);// Roteiro; -// $fnCadastrar(130, 176);// Sentenca; -// $fnCadastrar(131, 177);// Sinopse; -// $fnCadastrar(132, 178);// Solicitacao; -// $fnCadastrar(133, 2);// Sumula; -// $fnCadastrar(134, 179);// Tabela; -// $fnCadastrar(135, 180);// Telegrama; -// $fnCadastrar(136, 90);// Termo; -// $fnCadastrar(137, 181);// Tese; -// $fnCadastrar(138, 182);// Testamento; -// $fnCadastrar(139, 183);// Titulo; -// $fnCadastrar(140, 94);// Voto; -// $fnCadastrar(141, 87);// Carteira; -// $fnCadastrar(142, 209);// Cartao; -// $fnCadastrar(143, 88);// CPF/CIC; -// $fnCadastrar(144, 201);// CNPJ; -// $fnCadastrar(145, 211);// Calendario -// $fnCadastrar(147, 89);// RG; -// $fnCadastrar(148, 95);// Agenda; -// $fnCadastrar(149, 7);// Analise; -// $fnCadastrar(150, 96);// Anotacao; -// $fnCadastrar(151, 52);// audio; -// $fnCadastrar(152, 97);// Boleto; -// $fnCadastrar(153, 36);// Conta; -// $fnCadastrar(154, 112);// Contrarrazoes; -// $fnCadastrar(155, 38);// Correspondencia; -// $fnCadastrar(156, 29);// Cota; -// $fnCadastrar(157, 98);// Credencial; -// $fnCadastrar(158, 39);// Croqui; -// $fnCadastrar(159, 42);// Defesa; -// $fnCadastrar(160, 44);// Demonstracao; -// $fnCadastrar(161, 45);// Denuncia; -// $fnCadastrar(162, 108);// Esclarecimento; -// $fnCadastrar(163, 49);// Escrituracao -// $fnCadastrar(165, 109);// Impugnacao; -// $fnCadastrar(166, 92);// Informacao; -// $fnCadastrar(167, 110);// Intencao; -// $fnCadastrar(168, 55);// Licenca; -// $fnCadastrar(169, 212);// Materia; -// $fnCadastrar(170, 78);// Material; -// $fnCadastrar(171, 57);// Memoria; -// $fnCadastrar(172, 213);// Movimentacao; -// $fnCadastrar(173, 107);// Pedido; -// $fnCadastrar(174, 61);// Reclamacao; -// $fnCadastrar(175, 27);// Referendo; -// $fnCadastrar(176, 76);// Resultado; -// $fnCadastrar(177, 53);// Video //---------------------------------------------------------------------- // Tarefas //---------------------------------------------------------------------- $objDTO = new TarefaDTO(); - $fnCadastrar = function($numIdTarefa, $strNome = '', $strHistoricoCompleto = 'N', $strHistoricoCompleto = 'N', $strFecharAndamentosAbertos = 'N', $strLancarAndamentoFechado = 'N', $strPermiteProcessoFechado = 'N') use($objDTO, $objBD){ + $fnCadastrar = function($strNome = '', $strHistoricoCompleto = 'N', $strHistoricoCompleto = 'N', $strFecharAndamentosAbertos = 'N', $strLancarAndamentoFechado = 'N', $strPermiteProcessoFechado = 'N', $strIdTarefaModulo = '') use($objDTO, $objBD){ $objDTO->unSetTodos(); - $objDTO->setNumIdTarefa($numIdTarefa); + $objDTO->setStrIdTarefaModulo($strIdTarefaModulo); - if($objBD->contar($objDTO) == 0){ + if($objBD->contar($objDTO) == 0){ + + $objUltimaTarefaDTO = new TarefaDTO(); + $objUltimaTarefaDTO->retNumIdTarefa(); + $objUltimaTarefaDTO->setNumMaxRegistrosRetorno(1); + $objUltimaTarefaDTO->setOrd('IdTarefa', InfraDTO::$TIPO_ORDENACAO_DESC); + $objUltimaTarefaDTO = $objBD->consultar($objUltimaTarefaDTO); + $objDTO->setNumIdTarefa($objUltimaTarefaDTO->getNumIdTarefa() + 1); $objDTO->setStrNome($strNome); $objDTO->setStrSinHistoricoResumido($strHistoricoCompleto); $objDTO->setStrSinHistoricoCompleto($strHistoricoCompleto); $objDTO->setStrSinFecharAndamentosAbertos($strFecharAndamentosAbertos); $objDTO->setStrSinLancarAndamentoFechado($strLancarAndamentoFechado); $objDTO->setStrSinPermiteProcessoFechado($strPermiteProcessoFechado); - + $objDTO->setStrIdTarefaModulo($strIdTarefaModulo); $objBD->cadastrar($objDTO); } }; - $fnCadastrar(22, 'Em processamento. @MOTIVO@', 'S', 'S', 'S', 'N', 'N'); - $fnCadastrar(23, 'Bloqueado. @MOTIVO@', 'S', 'S', 'S', 'N', 'N'); - $fnCadastrar(501, 'Processo expedido para a entidade @UNIDADE_DESTINO@ - @REPOSITORIO_DESTINO@ (@PROCESSO@, @UNIDADE@, @USUARIO@)', 'S', 'S', 'N', 'S', 'N'); - $fnCadastrar(502, 'Processo recebido da entidade @ENTIDADE_ORIGEM@ - @REPOSITORIO_ORIGEM@ (@PROCESSO@, @ENTIDADE_ORIGEM@, @UNIDADE_DESTINO@, @USUARIO@)', 'S', 'S', 'N', 'S', 'N'); - $fnCadastrar(505, 'O processo foi recusado pelo orgão @UNIDADE_DESTINO@ pelo seguinte motivo: @MOTIVO@', 'S', 'S', 'N', 'N', 'S'); - $fnCadastrar(504, 'Expedição do Processo Cancelada em @DATA_HORA@ pelo Usuário @USUARIO@', 'S', 'S', 'N', 'S', 'N'); - $fnCadastrar(506, 'Operacao externa de @OPERACAO@ registrada em @DATA_HORA@ (@PESSOA_IDENTIFICACAO@ - @PESSOA_NOME@)\n @COMPLEMENTO@', 'S', 'S', 'N', 'S', 'N'); + $fnCadastrar('Processo expedido para a entidade @UNIDADE_DESTINO@ - @REPOSITORIO_DESTINO@ (@PROCESSO@, @UNIDADE@, @USUARIO@)', 'S', 'S', 'N', 'S', 'N', 'PEN_PROCESSO_EXPEDIDO'); + $fnCadastrar('Processo recebido da entidade @ENTIDADE_ORIGEM@ - @REPOSITORIO_ORIGEM@ (@PROCESSO@, @ENTIDADE_ORIGEM@, @UNIDADE_DESTINO@, @USUARIO@)', 'S', 'S', 'N', 'S', 'N', 'PEN_PROCESSO_RECEBIDO'); + $fnCadastrar('O processo foi recusado pelo orgão @UNIDADE_DESTINO@ pelo seguinte motivo: @MOTIVO@', 'S', 'S', 'N', 'N', 'S', 'PEN_PROCESSO_RECUSADO'); + $fnCadastrar('Expedição do Processo Cancelada em @DATA_HORA@ pelo Usuário @USUARIO@', 'S', 'S', 'N', 'S', 'N', 'PEN_PROCESSO_CANCELADO'); + $fnCadastrar('Operacao externa de @OPERACAO@ registrada em @DATA_HORA@ (@PESSOA_IDENTIFICACAO@ - @PESSOA_NOME@)\n @COMPLEMENTO@', 'S', 'S', 'S', 'S', 'N', 'PEN_OPERACAO_EXTERNA'); //---------------------------------------------------------------------- // Operações por Tarefas @@ -827,10 +641,10 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $objDTO = new TarefaDTO(); $objBD = new TarefaBD($objInfraBanco); - $fnAlterar = function($numIdTarefa, $strNome) use($objDTO, $objBD){ - + $fnAlterar = function($strIdTarefaModulo, $strNome) use($objDTO, $objBD){ + $objDTO->unSetTodos(); - $objDTO->setNumIdTarefa($numIdTarefa); + $objDTO->setStrIdTarefaModulo($strIdTarefaModulo); $objDTO->setNumMaxRegistrosRetorno(1); $objDTO->retStrNome(); $objDTO->retNumIdTarefa(); @@ -848,7 +662,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { } }; - $fnAlterar('502', 'Processo recebido da entidade @ENTIDADE_ORIGEM@ - @REPOSITORIO_ORIGEM@'); + $fnAlterar('PEN_PROCESSO_RECEBIDO', 'Processo recebido da entidade @ENTIDADE_ORIGEM@ - @REPOSITORIO_ORIGEM@'); } /** @@ -1011,25 +825,32 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $objBD = new GenericoBD($this->inicializarObjInfraIBanco()); $objDTO = new TarefaDTO(); - $fnCadastrar = function($numIdTarefa, $strNome = '', $strHistoricoCompleto = 'N', $strHistoricoCompleto = 'N', $strFecharAndamentosAbertos = 'N', $strLancarAndamentoFechado = 'N', $strPermiteProcessoFechado = 'N') use($objDTO, $objBD){ + $fnCadastrar = function($strNome = '', $strHistoricoCompleto = 'N', $strHistoricoCompleto = 'N', $strFecharAndamentosAbertos = 'N', $strLancarAndamentoFechado = 'N', $strPermiteProcessoFechado = 'N', $strIdTarefaModulo = '') use($objDTO, $objBD){ $objDTO->unSetTodos(); - $objDTO->setNumIdTarefa($numIdTarefa); + $objDTO->setStrIdTarefaModulo($strIdTarefaModulo); if($objBD->contar($objDTO) == 0){ + $objUltimaTarefaDTO = new TarefaDTO(); + $objUltimaTarefaDTO->retNumIdTarefa(); + $objUltimaTarefaDTO->setNumMaxRegistrosRetorno(1); + $objUltimaTarefaDTO->setOrd('IdTarefa', InfraDTO::$TIPO_ORDENACAO_DESC); + $objUltimaTarefaDTO = $objBD->consultar($objUltimaTarefaDTO); + + $objDTO->setNumIdTarefa($objUltimaTarefaDTO->getNumIdTarefa() + 1); $objDTO->setStrNome($strNome); $objDTO->setStrSinHistoricoResumido($strHistoricoCompleto); $objDTO->setStrSinHistoricoCompleto($strHistoricoCompleto); $objDTO->setStrSinFecharAndamentosAbertos($strFecharAndamentosAbertos); $objDTO->setStrSinLancarAndamentoFechado($strLancarAndamentoFechado); $objDTO->setStrSinPermiteProcessoFechado($strPermiteProcessoFechado); - + $objDTO->setStrIdTarefaModulo($strIdTarefaModulo); $objBD->cadastrar($objDTO); } }; - $fnCadastrar(507, 'Expedição do processo foi abortada manualmente devido a falha no trâmite', 'S', 'S', 'N', 'N', 'S'); + $fnCadastrar('Expedição do processo foi abortada manualmente devido a falha no trâmite', 'S', 'S', 'N', 'N', 'S', 'PEN_EXPEDICAO_PROCESSO_ABORTADA'); } /** @@ -1049,10 +870,10 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { $objDTO->retNumIdTarefa(); $objDTO->retStrNome(); - $fnAtualizar = function($numIdTarefa, $strNome) use($objDTO, $objBD){ + $fnAtualizar = function($strIdTarefaModulo, $strNome) use($objDTO, $objBD){ $objDTO->unSetTodos(); - $objDTO->setNumIdTarefa($numIdTarefa); + $objDTO->setStrIdTarefaModulo($strIdTarefaModulo); $objTarefaDTO = $objBD->consultar($objDTO); @@ -1064,8 +885,8 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { } }; // Tramitação externa do processo @processo@ concluída com sucesso. Recebido na @UnidadeDestino@ - @hierarquia_superior@ -@repositório_de_estruturas@ - $fnAtualizar(501, 'Processo em tramitação externa para @UNIDADE_DESTINO@ - @UNIDADE_DESTINO_HIRARQUIA@ - @REPOSITORIO_DESTINO@'); - $fnAtualizar(502, 'Processo recebido da unidade externa @ENTIDADE_ORIGEM@ - @ENTIDADE_ORIGEM_HIRARQUIA@ - @REPOSITORIO_ORIGEM@'); - $fnAtualizar(506, 'Tramitação externa do processo @PROTOCOLO_FORMATADO@ concluída com sucesso. Recebido em @UNIDADE_DESTINO@ - @UNIDADE_DESTINO_HIRARQUIA@ - @REPOSITORIO_DESTINO@'); + $fnAtualizar('PEN_PROCESSO_EXPEDIDO', 'Processo em tramitação externa para @UNIDADE_DESTINO@ - @UNIDADE_DESTINO_HIRARQUIA@ - @REPOSITORIO_DESTINO@'); + $fnAtualizar('PEN_PROCESSO_RECEBIDO', 'Processo recebido da unidade externa @ENTIDADE_ORIGEM@ - @ENTIDADE_ORIGEM_HIRARQUIA@ - @REPOSITORIO_ORIGEM@'); + $fnAtualizar('PEN_OPERACAO_EXTERNA', 'Tramitação externa do processo @PROTOCOLO_FORMATADO@ concluída com sucesso. Recebido em @UNIDADE_DESTINO@ - @UNIDADE_DESTINO_HIRARQUIA@ - @REPOSITORIO_DESTINO@'); } } \ No newline at end of file diff --git a/rn/PendenciasTramiteRN.php b/rn/PendenciasTramiteRN.php index 4094b9e..3170f65 100644 --- a/rn/PendenciasTramiteRN.php +++ b/rn/PendenciasTramiteRN.php @@ -1,7 +1,7 @@ inicializarObjInfraIBanco()); $this->strLocalizacaoCertificadoDigital = $objInfraParametro->getValor('PEN_LOCALIZACAO_CERTIFICADO_DIGITAL'); + $this->strEnderecoServicoPendencias = $objInfraParametro->getValor('PEN_ENDERECO_WEBSERVICE_PENDENCIAS'); //TODO: Urgente - Remover senha do certificado de autenticação dos serviços do PEN da tabela de parâmetros $this->strSenhaCertificadoDigital = $objInfraParametro->getValor('PEN_SENHA_CERTIFICADO_DIGITAL'); diff --git a/rn/ProcedimentoAndamentoRN.php b/rn/ProcedimentoAndamentoRN.php index 2c872e9..166a200 100644 --- a/rn/ProcedimentoAndamentoRN.php +++ b/rn/ProcedimentoAndamentoRN.php @@ -12,7 +12,7 @@ class ProcedimentoAndamentoRN extends InfraRN { protected $isSetOpts = false; protected $dblIdProcedimento; protected $dblIdTramit; - protected $numTarefa = 501; + protected $numTarefa; /** * Instância do driver de conexão com o banco de dados @@ -47,7 +47,7 @@ class ProcedimentoAndamentoRN extends InfraRN { } - public function setOpts($dblIdProcedimento = 0, $dblIdTramit = 0, $numTarefa = 501){ + public function setOpts($dblIdProcedimento = 0, $dblIdTramit = 0, $numTarefa){ $this->dblIdProcedimento = $dblIdProcedimento; $this->dblIdTramit = $dblIdTramit; diff --git a/rn/ProcessoEletronicoRN.php b/rn/ProcessoEletronicoRN.php index cad2cab..a565294 100644 --- a/rn/ProcessoEletronicoRN.php +++ b/rn/ProcessoEletronicoRN.php @@ -1,25 +1,25 @@ SOAP_1_1 , 'local_cert' => $this->strLocalCert , 'passphrase' => $this->strLocalCertPassword - , 'resolve_wsdl_remote_includes' => false + , 'resolve_wsdl_remote_includes' => true , 'trace' => true , 'encoding' => 'UTF-8' , 'attachment_type' => BeSimple\SoapCommon\Helper::ATTACHMENTS_TYPE_MTOM @@ -147,7 +147,7 @@ class ProcessoEletronicoRN extends InfraRN { if($this->objPenWs == null) { $this->testaUrl($this->strWSDL, $this->options['local_cert']); - try { + // try { $objConfig = ConfiguracaoSEI::getInstance(); @@ -156,12 +156,15 @@ class ProcessoEletronicoRN extends InfraRN { $this->objPenWs = new LogPenWs($objConfig->getValor('SEI', 'LogPenWs'), $this->strWSDL, $this->options); } else { - + $this->objPenWs = new BeSimple\SoapClient\SoapClient($this->strWSDL, $this->options); } - } catch (Exception $e) { + /* } catch (Exception $e) { + echo "
";
+          var_dump($e->getMessage());
+          die("
"); throw new InfraException('Erro acessando serviço.', $e); - } + }*/ } return $this->objPenWs; @@ -543,6 +546,23 @@ class ProcessoEletronicoRN extends InfraRN { return $resultado; } + + public static function obterIdTarefaModulo($strIdTarefaModulo) + { + $objTarefaDTO = new TarefaDTO(); + $objTarefaDTO->retNumIdTarefa(); + $objTarefaDTO->setStrIdTarefaModulo($strIdTarefaModulo); + + $objTarefaRN = new TarefaRN(); + $objTarefaDTO = $objTarefaRN->consultar($objTarefaDTO); + + if($objTarefaDTO){ + return $objTarefaDTO->getNumIdTarefa(); + }else{ + return false; + } + + } public function cadastrarTramiteDeProcesso($parDblIdProcedimento, $parStrNumeroRegistro, $parNumIdentificacaoTramite, $parDthRegistroTramite, $parObjProcesso, $parNumTicketComponentesDigitais = null, $parObjComponentesDigitaisSolicitados = null) { @@ -782,13 +802,15 @@ class ProcessoEletronicoRN extends InfraRN { //Registrar componente digital necessita ser enviado pelo trâmite espefífico //TODO: Teste $parObjComponentesDigitaisSolicitados aqui if(isset($parObjComponentesDigitaisSolicitados)){ $arrObjItensSolicitados = is_array($parObjComponentesDigitaisSolicitados->processo) ? $parObjComponentesDigitaisSolicitados->processo : array($parObjComponentesDigitaisSolicitados->processo); - foreach ($arrObjItensSolicitados as $objItemSolicitado) { - $objItemSolicitado->hash = is_array($objItemSolicitado->hash) ? $objItemSolicitado->hash : array($objItemSolicitado->hash); + foreach ($arrObjItensSolicitados as $objItemSolicitado) { + if(!is_null($objItemSolicitado)){ + $objItemSolicitado->hash = is_array($objItemSolicitado->hash) ? $objItemSolicitado->hash : array($objItemSolicitado->hash); - if($objItemSolicitado->protocolo == $objComponenteDigitalDTO->getStrProtocolo() && in_array($strHashConteudo, $objItemSolicitado->hash)) { - $objComponenteDigitalDTO->setStrSinEnviar("S"); - } + if($objItemSolicitado->protocolo == $objComponenteDigitalDTO->getStrProtocolo() && in_array($strHashConteudo, $objItemSolicitado->hash)) { + $objComponenteDigitalDTO->setStrSinEnviar("S"); + } + } } } @@ -1280,6 +1302,7 @@ class ProcessoEletronicoRN extends InfraRN { */ public function cancelarTramite($idTramite) { + //@TODOJOIN: Adicionar a seguinte linha abaixo dessa : $parametros->filtroDeConsultaDeTramites = new stdClass() //Faz a consulta do tramite $paramConsultaTramite = new stdClass(); $paramConsultaTramite->filtroDeConsultaDeTramites->IDT = $idTramite; @@ -1308,7 +1331,8 @@ class ProcessoEletronicoRN extends InfraRN { */ public function recusarTramite($idTramite, $justificativa, $motivo) { try { - + + //@TODOJOIN: Adicionar a seguinte linha abaixo dessa : $parametros->recusaDeTramite = new stdClass() $parametros = new stdClass(); $parametros->recusaDeTramite->IDT = $idTramite; $parametros->recusaDeTramite->justificativa = utf8_encode($justificativa); @@ -1401,13 +1425,3 @@ class ProcessoEletronicoRN extends InfraRN { } - -/* - - -- $TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO = 501 - DELETE FROM tarefa where id_tarefa = 501; - INSERT INTO tarefa (id_tarefa, nome, sin_historico_resumido, sin_historico_completo, sin_fechar_andamentos_abertos, sin_lancar_andamento_fechado, sin_permite_processo_fechado) - values(501, 'Processo expedido para a entidade @UNIDADE_DESTINO@ - @REPOSITORIO_DESTINO@ (@PROCESSO@, @UNIDADE@, @USUARIO@)', 'S', 'S', 'N', 'S', 'N'); - - - */ \ No newline at end of file diff --git a/rn/ReceberProcedimentoRN.php b/rn/ReceberProcedimentoRN.php index 6a1295c..c1bf908 100644 --- a/rn/ReceberProcedimentoRN.php +++ b/rn/ReceberProcedimentoRN.php @@ -196,7 +196,7 @@ class ReceberProcedimentoRN extends InfraRN // @join_tec US008.08 (#23092) - $this->objProcedimentoAndamentoRN->setOpts($objProcedimentoDTO->getDblIdProcedimento(), $parNumIdentificacaoTramite, ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO); + $this->objProcedimentoAndamentoRN->setOpts($objProcedimentoDTO->getDblIdProcedimento(), $parNumIdentificacaoTramite, ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO)); $this->objProcedimentoAndamentoRN->cadastrar('Obtendo metadados do processo', 'S'); //Verificar se procedimento já existia na base de dados do sistema @@ -488,9 +488,6 @@ class ReceberProcedimentoRN extends InfraRN //TODO: Obter código da unidade através de mapeamento entre SEI e Barramento $objUnidadeDTO = $this->atribuirDadosUnidade($objProcedimentoDTO, $objDestinatario); - // Registrar andamentos do Recebimento do processo - $this->atribuirDadosAndamento($objProcedimentoDTO, $objProcesso->historico, $objUnidadeDTO); - $this->registrarAndamentoRecebimentoProcesso($objProcedimentoDTO, $objMetadadosProcedimento, $objUnidadeDTO); $this->atribuirDocumentos($objProcedimentoDTO, $objProcesso, $objUnidadeDTO, $objMetadadosProcedimento); $this->registrarProcedimentoNaoVisualizado($objProcedimentoDTO); @@ -602,9 +599,6 @@ class ReceberProcedimentoRN extends InfraRN $objProcedimentoDTOGerado = $objProcedimentoRN->gerarRN0156($objProcedimentoDTO); $objProcedimentoDTO->setDblIdProcedimento($objProcedimentoDTOGerado->getDblIdProcedimento()); - // Registrar andamentos do Recebimento do processo - $this->atribuirDadosAndamento($objProcedimentoDTO, $objProcesso->historico, $objUnidadeDTO); - $this->registrarAndamentoRecebimentoProcesso($objProcedimentoDTO, $objMetadadosProcedimento, $objUnidadeDTO); $this->atribuirDocumentos($objProcedimentoDTO, $objProcesso, $objUnidadeDTO, $objMetadadosProcedimento); $this->registrarProcedimentoNaoVisualizado($objProcedimentoDTOGerado); @@ -628,130 +622,7 @@ class ReceberProcedimentoRN extends InfraRN return $objProcedimentoDTO; } - private function atribuirDadosAndamento(ProcedimentoDTO $parObjProcedimentoDTO, $objHistorico, $objUnidadeDTO) - { - if(isset($objHistorico) && isset($objHistorico->operacao)){ - - if (!is_array($objHistorico->operacao)) { - $objHistorico->operacao = array($objHistorico->operacao); - } - - $objAtividadeRN = new AtividadeRN(); - $objAtualizarAndamentoDTO = new AtualizarAndamentoDTO(); - - //Variáveis disponíveis na tarefa de andamento externo - //@OPERACAO@ - //@DATA_HORA@ - //@COMPLEMENTO@ - //@PESSOA_NOME@ - //@PESSOA_IDENTIFICACAO@ - - //Buscar último andamento registrado do processo - $objAtividadeDTO = new AtividadeDTO(); - $objAtividadeDTO->retDthAbertura(); - $objAtividadeDTO->retNumIdAtividade(); - $objAtividadeDTO->setDblIdProtocolo($parObjProcedimentoDTO->getDblIdProcedimento()); - $objAtividadeDTO->setOrdDthAbertura(InfraDTO::$TIPO_ORDENACAO_DESC); - $objAtividadeDTO->setNumMaxRegistrosRetorno(1); - - $objAtividadeRN = new AtividadeRN(); - $objAtividadeDTO = $objAtividadeRN->consultarRN0033($objAtividadeDTO); - - //TODO: Avaliar com TRF4 a necessidade de fazer o mapeamento correto para os tipos de operação - $objProcessoEletronicoRN = new ProcessoEletronicoRN(); - /*foreach ($objHistorico->operacao as $objOperacao) { - - $objDthAberturaOperacao = $objProcessoEletronicoRN->converterDataSEI($objOperacao->dataHora); - if(isset($objOperacao->dataHora) && isset($objAtividadeDTO)) { - - if(InfraData::compararDataHora($objAtividadeDTO->getDthAbertura(), $objDthAberturaOperacao) > 0){ - continue; - } - - //TODO: Validar dados recebidos do histórico - - $arrObjAtributoAndamentoDTO = array(); - - $objOperacaoDTO = $this->objProcessoEletronicoRN->converterOperacaoDTO($objOperacao); - $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); - $objAtributoAndamentoDTO->setStrNome('OPERACAO'); - - $objAtributoAndamentoDTO->setStrValor($objOperacaoDTO->getStrNome()); - $objAtributoAndamentoDTO->setStrValor($objOperacaoDTO->getDthOperacao()); - $objAtributoAndamentoDTO->setStrIdOrigem(null); - $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; - - $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); - $objAtributoAndamentoDTO->setStrNome('COMPLEMENTO'); - $objAtributoAndamentoDTO->setStrValor($objOperacaoDTO->getStrComplemento()); - $objAtributoAndamentoDTO->setStrIdOrigem(null); - $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; - - $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); - $objAtributoAndamentoDTO->setStrNome('PESSOA_NOME'); - $objAtributoAndamentoDTO->setStrValor($objOperacaoDTO->getStrIdentificacaoPessoaOrigem()); - $objAtributoAndamentoDTO->setStrIdOrigem($objOperacaoDTO->getStrIdentificacaoPessoaOrigem()); - $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; - - $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); - $objAtributoAndamentoDTO->setStrNome('PESSOA_IDENTIFICACAO'); - $objAtributoAndamentoDTO->setStrValor($objOperacaoDTO->getStrNomePessoaOrigem()); - $objAtributoAndamentoDTO->setStrIdOrigem($objOperacaoDTO->getStrIdentificacaoPessoaOrigem()); - $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; - - - //TODO: Implementar tarefa específica para registrar andamentos gerados em processos externos - // $strOperacao = "Registro"; - - // $dthOperacao = $this->objProcessoEletronicoRN->converterDataSEI($objOperacao->dataHora); - // $strDescricao = $strOperacao . " em " . $dthOperacao; - - // if(isset($objOperacao->complemento)) { - // $strDescricao .= ':' . utf8_decode($objOperacao->complemento); - // } - - //TODO: Atribuir dados da pessoa relacionada à operação - //... - - //TODO: Salvar os dados da operação em campo próprio das tabelas do barramento - //... - - $objAtividadeDTO = new AtividadeDTO(); - $objAtividadeDTO->setDblIdProtocolo($parObjProcedimentoDTO->getDblIdProcedimento()); - $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); - $objAtividadeDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); - $objAtividadeDTO->setNumIdTarefa(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_EXTERNO); - $objAtividadeDTO->setArrObjAtributoAndamentoDTO($arrObjAtributoAndamentoDTO); - - //TODO: Avaliar com TRF4 a possibilidade de permitir a indicação de uma data específica para - //o andamento. Utilizada para registrar andamentos ocorridos externamente, antes do seu registro no sistema - $objAtividadeRN = new AtividadeRN(); - $objAtividadeRN->gerarInternaRN0727($objAtividadeDTO); - - - // $objPesquisaPendenciaDTO = new PesquisaPendenciaDTO(); - // $objPesquisaPendenciaDTO->setDblIdProtocolo(array($parObjProcedimentoDTO->getDblIdProcedimento())); - // $objPesquisaPendenciaDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); - // $objPesquisaPendenciaDTO->setNumIdUnidade($objUnidadeDTO->getNumIdUnidade()); - // $arrObjProcedimentoDTO = $objAtividadeRN->listarPendenciasRN0754($objPesquisaPendenciaDTO); - - // $arrObjAtividadeDTO = array(); - // foreach($arrObjProcedimentoDTO as $objProcedimentoDTO){ - // $arrObjAtividadeDTO = array_merge($arrObjAtividadeDTO,$objProcedimentoDTO->getArrObjAtividadeDTO()); - // } - - // $arrStrIdAtividade = InfraArray::converterArrInfraDTO($arrObjAtividadeDTO,'IdAtividade'); - - // $objAtualizarAndamentoDTO->setStrDescricao($strDescricao); - // $objAtualizarAndamentoDTO->setArrObjProtocoloDTO(InfraArray::gerarArrInfraDTO('ProtocoloDTO','IdProtocolo',array($parObjProcedimentoDTO->getDblIdProcedimento()))); - // $objAtualizarAndamentoDTO->setArrObjAtividadeDTO(InfraArray::gerarArrInfraDTO('AtividadeDTO','IdAtividade',$arrStrIdAtividade)); - - // $objAtividadeRN->atualizarAndamento($objAtualizarAndamentoDTO); - } - }*/ - } - } - + private function removerAndamentosProcedimento($parObjProtocoloDTO) { //TODO: Remover apenas as atividades geradas pelo recebimento do processo, não as atividades geradas anteriormente diff --git a/rn/ReceberReciboTramiteRN.php b/rn/ReceberReciboTramiteRN.php index d52015d..a7d405f 100644 --- a/rn/ReceberReciboTramiteRN.php +++ b/rn/ReceberReciboTramiteRN.php @@ -20,24 +20,24 @@ class ReceberReciboTramiteRN extends InfraRN return BancoSEI::getInstance(); } - protected function mudarEstadoProcedimentoBloqueado($objProcesso) { + protected function registrarRecebimentoRecibo($numIdProcedimento, $strProtocoloFormatado, $numIdTramite) { - $objProtocoloDTO = new ProtocoloDTO(); - $objProtocoloDTO->setStrStaEstado(ProtocoloRN::$TE_BLOQUEADO); - $objProtocoloDTO->setDblIdProtocolo($objProcesso->idProcedimentoSEI); - - $objProtocoloRN = new ProtocoloRN(); - $objProtocoloRN->alterarRN0203($objProtocoloDTO); + //REALIZA A CONCLUSÃO DO PROCESSO + $objEntradaConcluirProcessoAPI = new EntradaConcluirProcessoAPI(); + $objEntradaConcluirProcessoAPI->setIdProcedimento($numIdProcedimento); + + $objSeiRN = new SeiRN(); + $objSeiRN->concluirProcesso($objEntradaConcluirProcessoAPI); $arrObjAtributoAndamentoDTO = array(); $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); $objAtributoAndamentoDTO->setStrNome('PROTOCOLO_FORMATADO'); - $objAtributoAndamentoDTO->setStrValor($objProcesso->strProtocoloFormatado); - $objAtributoAndamentoDTO->setStrIdOrigem($objProcesso->idProcedimentoSEI); + $objAtributoAndamentoDTO->setStrValor($strProtocoloFormatado); + $objAtributoAndamentoDTO->setStrIdOrigem($numIdProcedimento); $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; - $arrObjTramite = $this->objProcessoEletronicoRN->consultarTramites($objProcesso->idTramite); + $arrObjTramite = $this->objProcessoEletronicoRN->consultarTramites($numIdTramite); $objTramite = array_pop($arrObjTramite); @@ -99,12 +99,11 @@ class ReceberReciboTramiteRN extends InfraRN $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; } - // Tramitação externa do processo @processo@ concluída com sucesso. Recebido na @UnidadeDestino@ - @hierarquia_superior@ -@repositório_de_estruturas@ $objAtividadeDTO = new AtividadeDTO(); - $objAtividadeDTO->setDblIdProtocolo($objProcesso->idProcedimentoSEI); + $objAtividadeDTO->setDblIdProtocolo($numIdProcedimento); $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); $objAtividadeDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); - $objAtividadeDTO->setNumIdTarefa(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_EXTERNO); + $objAtividadeDTO->setNumIdTarefa(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_EXTERNO)); $objAtividadeDTO->setArrObjAtributoAndamentoDTO($arrObjAtributoAndamentoDTO); $objAtividadeRN = new AtividadeRN(); @@ -167,18 +166,11 @@ class ReceberReciboTramiteRN extends InfraRN $objProtocoloBD = new ProtocoloBD(BancoSEI::getInstance()); $objProtocoloDTO = $objProtocoloBD->consultar($objProtocoloDTO); - //$objProtocoloDTO->setStrStaEstado(ProtocoloRN::$TE_BLOQUEADO); - //$objProtocoloBD->alterar($objProtocoloDTO); - // @join_tec US008.12 (#23092) - $this->objProcedimentoAndamentoRN->setOpts($objProcessoEletronicoDTO->getDblIdProcedimento(), $parNumIdTramite, ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO); + $this->objProcedimentoAndamentoRN->setOpts($objProcessoEletronicoDTO->getDblIdProcedimento(), $parNumIdTramite, ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)); $this->objProcedimentoAndamentoRN->cadastrar(sprintf('Trâmite do processo %s foi concluído', $objProtocoloDTO->getStrProtocoloFormatado()), 'S'); - - $objProcesso = new stdClass(); - $objProcesso->idProcedimentoSEI = $objProtocoloDTO->getDblIdProtocolo(); - $objProcesso->strProtocoloFormatado = $objProtocoloDTO->getStrProtocoloFormatado(); - $objProcesso->idTramite = $parNumIdTramite; - $this->mudarEstadoProcedimentoBloqueado($objProcesso); + //Registra o recbimento do recibo no histórico e realiza a conclusão do processo + $this->registrarRecebimentoRecibo($objProtocoloDTO->getDblIdProtocolo(), $objProtocoloDTO->getStrProtocoloFormatado(), $parNumIdTramite); } catch (Exception $e) { diff --git a/sei_atualizar_versao_modulo_pen.php b/sei_atualizar_versao_modulo_pen.php index 2eb3101..8e747aa 100644 --- a/sei_atualizar_versao_modulo_pen.php +++ b/sei_atualizar_versao_modulo_pen.php @@ -13,7 +13,7 @@ try { - require_once dirname(__FILE__).'/SEI.php'; + require_once dirname(__FILE__).'/../../SEI.php'; $objPenConsoleRN = new PenConsoleRN(); $arrArgs = $objPenConsoleRN->getTokens(); diff --git a/sip_atualizar_versao_modulo_pen.php b/sip_atualizar_versao_modulo_pen.php index 9566060..b17fc44 100644 --- a/sip_atualizar_versao_modulo_pen.php +++ b/sip_atualizar_versao_modulo_pen.php @@ -30,7 +30,7 @@ class PenMetaBD extends InfraMetaBD { switch($strTableDrive) { - case 'InfraMySql': + case 'InfraMySqli': $strQuery = sprintf("ALTER TABLE `%s` ALTER COLUMN `%s` SET DEFAULT '%s'", $strNomeTabela, $strNomeColuna, $strValorPadrao); break; @@ -82,7 +82,7 @@ class PenMetaBD extends InfraMetaBD { switch($strTableDrive) { - case 'InfraMySql': + case 'InfraMySqli': // Fix para bug de MySQL versão inferior ao 5.5 o default engine // é MyISAM e não tem suporte a FOREING KEYS $this->getObjInfraIBanco()->executarSql('SET STORAGE_ENGINE=InnoDB'); @@ -130,7 +130,7 @@ class PenMetaBD extends InfraMetaBD { switch($strTableDrive) { - case 'InfraMySql': + case 'InfraMySqli': $this->getObjInfraIBanco()->executarSql('ALTER TABLE '.$strNomeTabela.' DROP PRIMARY KEY'); break; @@ -152,7 +152,7 @@ class PenMetaBD extends InfraMetaBD { switch($strTableDrive) { - case 'InfraMySql': + case 'InfraMySqli': $strSql = " SELECT COUNT(CONSTRAINT_NAME) AS EXISTE FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE CONSTRAINT_SCHEMA = '".$objInfraBanco->getBanco()."' @@ -197,7 +197,7 @@ class PenMetaBD extends InfraMetaBD { switch ($strTableDrive) { - case 'InfraMySql': + case 'InfraMySqli': $strQuery = sprintf("ALTER TABLE `%s` RENAME TO `%s`", $strNomeTabelaAtual, $strNomeTabelaNovo); break; @@ -227,7 +227,7 @@ class PenMetaBD extends InfraMetaBD { switch($strTableDrive) { - case 'InfraMySql': + case 'InfraMySqli': $strSql = "SELECT COUNT(TABLE_NAME) AS EXISTE FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '".$objInfraBanco->getBanco()."' @@ -260,7 +260,7 @@ class PenMetaBD extends InfraMetaBD { switch($strTableDrive) { - case 'InfraMySql': + case 'InfraMySqli': $strSql = "SELECT COUNT(TABLE_NAME) AS EXISTE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '".$objInfraBanco->getBanco()."' -- libgit2 0.21.2