/** * Tramitar documento para destino externo */ public function consolidarTramiteExternoDocumento() { try { /** * Remover informacoes de tramites anteriores */ Session::destroy('_digitais_recibo'); Session::destroy('_digitais_recibo_destinatario'); Session::destroy('_digitais_recibo_local'); Session::destroy('_digitais_recibo_endereco'); Session::destroy('_digitais_recibo_telefone'); Session::destroy('_digitais_recibo_cep'); Session::destroy('_digitais_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 => $digital) { if (Documento::validarDocumentoAreaDeTrabalho($digital)) { $stmt = Controlador::getInstance()->getConnection()->connection->prepare("UPDATE TB_DOCUMENTOS_CADASTRO SET ID_UNID_AREA_TRABALHO = NULL, ID_UNID_CAIXA_ENTRADA = NULL, ID_UNID_CAIXA_SAIDA = NULL, EXTERNO = ?, ULTIMO_TRAMITE = ? WHERE DIGITAL = ?"); $stmt->bindParam(1, $this->tramite->nm_destino, PDO::PARAM_STR); //destino $stmt->bindParam(2, $this->tramite->ultimo_tramite, PDO::PARAM_STR); //ultimo_tramite $stmt->bindParam(3, $digital, PDO::PARAM_STR); //digital $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_DOCUMENTOS" . " (DIGITAL,ID_USUARIO,USUARIO,ID_UNIDADE,DIRETORIA,ACAO,ORIGEM,DESTINO,DT_TRAMITE)" . " VALUES (?,?,?,?,?,?,?,?,CLOCK_TIMESTAMP())"); $historico->bindParam(1, $digital, PDO::PARAM_STR); //digital $historico->bindParam(2, $id_usuario, PDO::PARAM_INT); //id_usuario $historico->bindParam(3, $nome_usuario, PDO::PARAM_STR); //nm_usuario $historico->bindParam(4, $id_unidade_original, PDO::PARAM_INT); //id_unidade $historico->bindParam(5, $nome_unidade_original, PDO::PARAM_STR); //nm_unidade $historico->bindParam(6, $acao, PDO::PARAM_STR); //acao $historico->bindParam(7, $tx_diretoria, PDO::PARAM_STR); //origem $historico->bindParam(8, $this->tramite->nm_destino, PDO::PARAM_STR); //destino $historico->execute(); Tramite::setDigitaisGuiaRecibo($digital); //Adicionar digital para confeccionar a guia de recibo! } } /** * Setar novas informacoes do tramite */ Session::set('_digitais_recibo_destinatario', $this->tramite->destinatario); Session::set('_digitais_recibo_local', $this->tramite->local); Session::set('_digitais_recibo_endereco', $this->tramite->endereco); Session::set('_digitais_recibo_telefone', $this->tramite->telefone); Session::set('_digitais_recibo_cep', $this->tramite->cep); Session::set('_digitais_recibo_prioridade', $this->tramite->prioridade); Controlador::getInstance()->getConnection()->connection->commit(); return new Output(array('success' => 'true', 'message' => "Documento(s) tramitados com sucesso!", 'ticket' => 'true')); } catch (PDOException $e) { new BasePDOException($e); return new Output(array('success' => 'false', 'error' => $e->getMessage())); } }