setDblIdProcedimento($objSeiIntegracaoDTO->getIdProcedimento()); $objProcedimentoDTO->retTodos(); $objProcedimentoRN = new ProcedimentoRN(); $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO); $objSessaoSEI = SessaoSEI::getInstance(); $objPaginaSEI = PaginaSEI::getInstance(); $strAcoesProcedimento = ""; $dblIdProcedimento = $objProcedimentoDTO->getDblIdProcedimento(); $numIdUsuario = SessaoSEI::getInstance()->getNumIdUsuario(); $numIdUnidadeAtual = SessaoSEI::getInstance()->getNumIdUnidadeAtual(); $objInfraParametro = new InfraParametro(BancoSEI::getInstance()); //Verifica se o processo encontra-se aberto na unidade atual $objAtividadeRN = new AtividadeRN(); $objPesquisaPendenciaDTO = new PesquisaPendenciaDTO(); $objPesquisaPendenciaDTO->setDblIdProtocolo($dblIdProcedimento); $objPesquisaPendenciaDTO->setNumIdUsuario($numIdUsuario); $objPesquisaPendenciaDTO->setNumIdUnidade($numIdUnidadeAtual); $objPesquisaPendenciaDTO->setStrSinMontandoArvore('N'); $arrObjProcedimentoDTO = $objAtividadeRN->listarPendenciasRN0754($objPesquisaPendenciaDTO); $bolFlagAberto = count($arrObjProcedimentoDTO) == 1; //Verificação da Restrição de Acesso à Funcionalidade $bolAcaoExpedirProcesso = $objSessaoSEI->verificarPermissao('pen_procedimento_expedir'); $objExpedirProcedimentoRN = new ExpedirProcedimentoRN(); $objProcedimentoDTO = $objExpedirProcedimentoRN->consultarProcedimento($dblIdProcedimento); $bolProcessoEstadoNormal = !in_array($objProcedimentoDTO->getStrStaEstadoProtocolo(), array( ProtocoloRN::$TE_PROCEDIMENTO_SOBRESTADO, ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO )); //Apresenta o botão de expedir processo if ($bolFlagAberto && $bolAcaoExpedirProcesso && $bolProcessoEstadoNormal && $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo() != ProtocoloRN::$NA_SIGILOSO) { $numTabBotao = $objPaginaSEI->getProxTabBarraComandosSuperior(); $strAcoesProcedimento .= 'Tramitar Externamente'; } if($bolAcaoExpedirProcesso){ //Apresenta o botão da página de recibos $strAcoesProcedimento .= ''; $strAcoesProcedimento .= 'Consultar Recibos'; $strAcoesProcedimento .= ''; } //Apresenta o botão de cancelar trâmite $objAtividadeDTO = $objExpedirProcedimentoRN->verificarProcessoEmExpedicao($objSeiIntegracaoDTO->getIdProcedimento()); if ($objAtividadeDTO && $objAtividadeDTO->getNumIdTarefa() == ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)) { $strAcoesProcedimento .= ''; $strAcoesProcedimento .= 'Cancelar Tramitação Externa'; $strAcoesProcedimento .= ''; } return array($strAcoesProcedimento); } public function montarIconeControleProcessos($arrObjProcedimentoAPI = array()) { $arrStrIcone = array(); $arrDblIdProcedimento = array(); foreach ($arrObjProcedimentoAPI as $ObjProcedimentoAPI) { $arrDblIdProcedimento[] = $ObjProcedimentoAPI->getIdProcedimento(); } $objProcedimentoDTO = new ProcedimentoDTO(); $objProcedimentoDTO->setDblIdProcedimento($arrDblIdProcedimento, InfraDTO::$OPER_IN); $objProcedimentoDTO->retDblIdProcedimento(); $objProcedimentoDTO->retStrStaEstadoProtocolo(); $objProcedimentoBD = new ProcedimentoBD(BancoSEI::getInstance()); $arrObjProcedimentoDTO = $objProcedimentoBD->listar($objProcedimentoDTO); if (!empty($arrObjProcedimentoDTO)) { foreach ($arrObjProcedimentoDTO as $objProcedimentoDTO) { $dblIdProcedimento = $objProcedimentoDTO->getDblIdProcedimento(); $objPenProtocoloDTO = new PenProtocoloDTO(); $objPenProtocoloDTO->setDblIdProtocolo($dblIdProcedimento); $objPenProtocoloDTO->retStrSinObteveRecusa(); $objPenProtocoloDTO->setNumMaxRegistrosRetorno(1); $objProtocoloBD = new ProtocoloBD(BancoSEI::getInstance()); $objPenProtocoloDTO = $objProtocoloBD->consultar($objPenProtocoloDTO); if (!empty($objPenProtocoloDTO) && $objPenProtocoloDTO->getStrSinObteveRecusa() == 'S') { $arrStrIcone[$dblIdProcedimento] = array(''); } } } return $arrStrIcone; } public function montarIconeProcesso(ProcedimentoAPI $objProcedimentoAP) { $dblIdProcedimento = $objProcedimentoAP->getIdProcedimento(); $objArvoreAcaoItemAPI = new ArvoreAcaoItemAPI(); $objArvoreAcaoItemAPI->setTipo('MD_TRAMITE_PROCESSO'); $objArvoreAcaoItemAPI->setId('MD_TRAMITE_PROC_' . $dblIdProcedimento); $objArvoreAcaoItemAPI->setIdPai($dblIdProcedimento); $objArvoreAcaoItemAPI->setTitle('Um trâmite para esse processo foi recusado'); $objArvoreAcaoItemAPI->setIcone($this->getDiretorioImagens() . '/pen_tramite_recusado.png'); $objArvoreAcaoItemAPI->setTarget(null); $objArvoreAcaoItemAPI->setHref('javascript:alert(\'Um trâmite para esse processo foi recusado\');'); $objArvoreAcaoItemAPI->setSinHabilitado('S'); $objProcedimentoDTO = new ProcedimentoDTO(); $objProcedimentoDTO->setDblIdProcedimento($dblIdProcedimento); $objProcedimentoDTO->retDblIdProcedimento(); $objProcedimentoDTO->retStrStaEstadoProtocolo(); $objProcedimentoBD = new ProcedimentoBD(BancoSEI::getInstance()); $arrObjProcedimentoDTO = $objProcedimentoBD->consultar($objProcedimentoDTO); if (!empty($arrObjProcedimentoDTO)) { $dblIdProcedimento = $objProcedimentoDTO->getDblIdProcedimento(); $objPenProtocoloDTO = new PenProtocoloDTO(); $objPenProtocoloDTO->setDblIdProtocolo($dblIdProcedimento); $objPenProtocoloDTO->retStrSinObteveRecusa(); $objPenProtocoloDTO->setNumMaxRegistrosRetorno(1); $objProtocoloBD = new ProtocoloBD(BancoSEI::getInstance()); $objPenProtocoloDTO = $objProtocoloBD->consultar($objPenProtocoloDTO); if (!empty($objPenProtocoloDTO) && $objPenProtocoloDTO->getStrSinObteveRecusa() == 'S') { $arrObjArvoreAcaoItemAPI[] = $objArvoreAcaoItemAPI; } } else { return array(); } return $arrObjArvoreAcaoItemAPI; } public function montarIconeAcompanhamentoEspecial($arrObjProcedimentoDTO) { } public function getDiretorioImagens() { return static::getDiretorio() . '/imagens'; } public function montarMensagemProcesso(ProcedimentoAPI $objProcedimentoAPI) { $objExpedirProcedimentoRN = new ExpedirProcedimentoRN(); $objAtividadeDTO = $objExpedirProcedimentoRN->verificarProcessoEmExpedicao($objProcedimentoAPI->getIdProcedimento()); if ($objAtividadeDTO && $objAtividadeDTO->getNumIdTarefa() == ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)) { $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); $objAtributoAndamentoDTO->setStrNome('UNIDADE_DESTINO'); $objAtributoAndamentoDTO->setNumIdAtividade($objAtividadeDTO->getNumIdAtividade()); $objAtributoAndamentoDTO->retStrValor(); $objAtributoAndamentoRN = new AtributoAndamentoRN(); $objAtributoAndamentoDTO = $objAtributoAndamentoRN->consultarRN1366($objAtributoAndamentoDTO); return sprintf('Processo em trâmite externo para "%s".', $objAtributoAndamentoDTO->getStrValor()); } } public static function getDiretorio() { $arrConfig = ConfiguracaoSEI::getInstance()->getValor('SEI', 'Modulos'); $strModulo = $arrConfig['PENIntegracao']; return "modulos/".$strModulo; } 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_documento_envio_listar': case 'pen_map_tipo_documento_envio_excluir': case 'pen_map_tipo_documento_envio_desativar': case 'pen_map_tipo_documento_envio_ativar': require_once dirname(__FILE__) . '/pen_map_tipo_documento_envio_listar.php'; return true; case 'pen_map_tipo_documento_envio_cadastrar': case 'pen_map_tipo_documento_envio_visualizar': require_once dirname(__FILE__) . '/pen_map_tipo_documento_envio_cadastrar.php'; return true; case 'pen_map_tipo_documento_recebimento_listar': case 'pen_map_tipo_documento_recebimento_excluir': require_once dirname(__FILE__) . '/pen_map_tipo_documento_recebimento_listar.php'; return true; case 'pen_map_tipo_documento_recebimento_cadastrar': case 'pen_map_tipo_documento_recebimento_visualizar': require_once dirname(__FILE__) . '/pen_map_tipo_documento_recebimento_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; // Mapeamento de Hipóteses Legais de Envio case 'pen_map_hipotese_legal_envio_cadastrar': case 'pen_map_hipotese_legal_envio_visualizar': require_once dirname(__FILE__) . '/pen_map_hipotese_legal_envio_cadastrar.php'; return true; case 'pen_map_hipotese_legal_envio_listar': case 'pen_map_hipotese_legal_envio_excluir': require_once dirname(__FILE__) . '/pen_map_hipotese_legal_envio_listar.php'; return true; // Mapeamento de Hipóteses Legais de Recebimento case 'pen_map_hipotese_legal_recebimento_cadastrar': case 'pen_map_hipotese_legal_recebimento_visualizar': require_once dirname(__FILE__) . '/pen_map_hipotese_legal_recebimento_cadastrar.php'; return true; case 'pen_map_hipotese_legal_recebimento_listar': case 'pen_map_hipotese_legal_recebimento_excluir': require_once dirname(__FILE__) . '/pen_map_hipotese_legal_recebimento_listar.php'; return true; case 'pen_map_hipotese_legal_padrao_cadastrar': case 'pen_map_hipotese_legal_padrao_visualizar': require_once dirname(__FILE__) . '/pen_map_hipotese_legal_padrao_cadastrar.php'; return true; case 'pen_map_unidade_cadastrar': case 'pen_map_unidade_visualizar': require_once dirname(__FILE__) . '/pen_map_unidade_cadastrar.php'; return true; case 'pen_map_unidade_listar': case 'pen_map_unidade_excluir': require_once dirname(__FILE__) . '/pen_map_unidade_listar.php'; return true; case 'pen_parametros_configuracao': case 'pen_parametros_configuracao_salvar': require_once dirname(__FILE__) . '/pen_parametros_configuracao.php'; return true; } 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 { return ''; } 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; } }