/** * Tramitar processo para destino externo */ public function consolidarTramiteExternoProcesso() { try { /** * Remover informacoes de tramites anteriores */ Session::destroy('_processos_recibo'); Session::destroy('_processos_recibo_destinatario'); Session::destroy('_processos_recibo_local'); Session::destroy('_processos_recibo_endereco'); Session::destroy('_processos_recibo_telefone'); Session::destroy('_processos_recibo_cep'); Session::destroy('_processos_recibo_prioridade'); Controlador::getInstance()->getConnection()->connection->beginTransaction(); /** * BugFix Notice */ $id_usuario = $this->_usuario->id; $id_unidade = Zend_Auth::getInstance()->getIdentity()->ID_UNIDADE; $id_unidade_original = Zend_Auth::getInstance()->getIdentity()->ID_UNIDADE_ORIGINAL; $nome_usuario = Zend_Auth::getInstance()->getIdentity()->NOME; $nome_unidade_original = DaoUnidade::getUnidade($id_unidade_original, 'nome'); $oDiretoria = DaoUnidade::getUnidade($id_unidade); $tx_diretoria = $oDiretoria['nome'] . ' - ' . $oDiretoria['sigla']; /** * Tramitar Documentos */ foreach ($this->relacao as $key => $processo) { if (Processo::validarProcessoAreaDeTrabalho($processo)) { $stmt = Controlador::getInstance()->getConnection()->connection->prepare("UPDATE TB_PROCESSOS_CADASTRO SET ID_UNID_AREA_TRABALHO = NULL, ID_UNID_CAIXA_ENTRADA = NULL, ID_UNID_CAIXA_SAIDA = NULL, EXTERNO = ?, ULTIMO_TRAMITE = ? WHERE NUMERO_PROCESSO = ?"); $stmt->bindParam(1, $this->tramite->nm_destino, PDO::PARAM_STR); $stmt->bindParam(2, $this->tramite->ultimo_tramite, PDO::PARAM_STR); $stmt->bindParam(3, $processo, PDO::PARAM_STR); $stmt->execute(); /** * Inserir o historico de tramite do documento * Complemento do Historico do documento */ $acao = "Encaminhado"; $historico = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_HISTORICO_TRAMITE_PROCESSOS" . " (NUMERO_PROCESSO,USUARIO,ACAO,ORIGEM,DESTINO,DT_TRAMITE,DIRETORIA,ID_UNIDADE,ID_USUARIO)" . " VALUES (?,?,?,?,?,CLOCK_TIMESTAMP(),?,?,?)"); $historico->bindParam(1, $processo, PDO::PARAM_STR); //numero processo $historico->bindParam(2, $nome_usuario, PDO::PARAM_STR); //nm_usuario $historico->bindParam(3, $acao, PDO::PARAM_STR); //acao $historico->bindParam(4, $tx_diretoria, PDO::PARAM_STR); //origem $historico->bindParam(5, $this->tramite->nm_destino, PDO::PARAM_STR); //destino $historico->bindParam(6, $nome_unidade_original, PDO::PARAM_STR); //nome unidade $historico->bindParam(7, $id_unidade_original, PDO::PARAM_INT); //id unidade $historico->bindParam(8, $id_usuario, PDO::PARAM_INT); //id usuario $historico->execute(); Tramite::setProcessosGuiaRecibo($processo); //Adicionar numero processo para confeccionar a guia de recibo! } } /** * Setar novas informacoes do tramite */ Session::set('_processos_recibo_destinatario', $this->tramite->destinatario); Session::set('_processos_recibo_local', $this->tramite->local); Session::set('_processos_recibo_endereco', $this->tramite->endereco); Session::set('_processos_recibo_telefone', $this->tramite->telefone); Session::set('_processos_recibo_cep', $this->tramite->cep); Session::set('_processos_recibo_prioridade', $this->tramite->prioridade); Controlador::getInstance()->getConnection()->connection->commit(); return new Output(array('success' => 'true', 'message' => "Processo(s) tramitados com sucesso!", 'ticket' => 'true')); } catch (PDOException $e) { throw new BasePDOException($e); return new Output(array('success' => 'false', 'error' => $e->getMessage())); } }