function desfazerPassos(Documento $doc, $passo) { $out1 = array(); switch ((int) $passo) { case 3: // Deu erro no trâmite ou em outra etapa // desfazer tudo $tram = new Tramite(); $out1 = $tram->removerTramite($doc->digital)->toArray(); case 2: // Deu erro na criação do prazo // apagar qualquer prazo que tenha sido cadastrado // e o historico do prazo $out1 = DaoPrazo::removerPrazo($doc->digital)->toArray(); // e fazer todo o resto // e fazer todo o resto case 1: // Deu erro na persistência das imagens // desfazer aqui cadastro do documento e anexação de imagens $out1 = DaoDocumento::removerImagensDocumento($doc)->toArray(); if ($out1['success'] == 'true') { // e deletar pastas e arquivos das imagens $out1 = DaoDocumento::removerDocumento($doc)->toArray(); } } return $out1; }
<?php /* * Copyright 2008 ICMBio * Este arquivo é parte do programa SISICMBio * O SISICMBio é um software livre; você pode redistribuíção e/ou modifição dentro dos termos * da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão * 2 da Licença. * * Este programa é distribuíção na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem * uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a * Licença Pública Geral GNU/GPL em português para maiores detalhes. * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", * junto com este programa, se não, acesse o Portal do Software Público Brasileiro no endereço * www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF) * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ try { $out = DaoDocumento::numDigitalDisponivelSic()->toArray(); print json_encode($out); } catch (Exception $e) { $erro = new Output(array('success' => 'false', 'error' => $e->getMessage())); print json_encode($erro->toArray()); }
/** * @todo Verifica se existe vínculo entre os documentos. * @param int $digitalPai * @param int $digitalFilho * @return bool */ public static function isDocumentosVinculados($digitalPai, $digitalFilho) { $documentoPai = DaoDocumento::getDocumento($digitalPai); $documentoFilho = DaoDocumento::getDocumento($digitalFilho); $stmt = Controlador::getInstance()->getConnection()->connection->prepare("select st_ativo from tb_documentos_vinculacao \n where id_documento_pai = ?\n and id_documento_filho = ? "); $stmt->bindParam(1, $documentoPai["id"], PDO::PARAM_INT); $stmt->bindParam(2, $documentoFilho["id"], PDO::PARAM_INT); $stmt->execute(); return (bool) $stmt->fetch(PDO::FETCH_ASSOC); }
/** * Verificar se o documento informado eh peca de processo */ public static function validarDocumentoPecaProcesso($digital) { try { $stmt = Controlador::getInstance()->getConnection()->connection->prepare("SELECT ID FROM TB_PROCESSOS_DOCUMENTOS WHERE ID_DOCUMENTOS_CADASTRO = ? LIMIT 1"); $stmt->bindParam(1, DaoDocumento::getDocumento($digital, 'id'), PDO::PARAM_INT); $stmt->execute(); $out = $stmt->fetchAll(PDO::FETCH_ASSOC); if (!empty($out)) { return true; } return false; } catch (PDOException $e) { throw new BasePDOException($e); } }
/** * @deprecated * Uma vez que os arquivos PDF serão tratados como documento, ou o documento é confidencial ou é público */ /** * @deprecated * Uma vez que os arquivos PDF serão tratados como documento, ou o documento é confidencial ou é público */ case 'alterar-status-imagem': /* Validar se a operacao esta autorizada */ if (AclFactory::checaPermissao(Controlador::getInstance()->acl, Controlador::getInstance()->usuario, DaoRecurso::getRecursoById(998))) { if (isset($_REQUEST)) { $hashs = explode(',', $_REQUEST['hash']); foreach ($hashs as $hash) { $hash = explode('|', $hash); $out = DaoDocumento::updateStatusDocumentosImagens($hash[1], $hash[0], $_REQUEST['status']); } } else { $out = array('success' => 'false', 'error' => Util::fixErrorString('Informações importantes estão ausentes!')); } } else { $out = array('success' => 'false', 'error' => Util::fixErrorString('Acesso negado!')); } break; case 'atualiza-ordem': /* Validar se a operacao esta autorizada */ if (AclFactory::checaPermissao(Controlador::getInstance()->acl, Controlador::getInstance()->usuario, DaoRecurso::getRecursoById(998))) { if (isset($_REQUEST)) { $extraConditional = ''; $temporaryOrdemValue = 2222; $fieldValue = '';
if ($key != 'acao' && ($value && $value != 'null') && $key != 'dt_inicial' && $key != 'dt_final' && $key != 'tp_periodo' && $key != 'tp_pesquisa') { $_SESSION['PESQUISAR_DOCUMENTOS'][$key] = $value; } else { if ($value != '') { $_SESSION['PESQUISAR_DOCUMENTOS_QUERY_PEDIODO'][$key] = $value; } } } $out = array('success' => 'true'); break; case 'listar-extras': $extras = current(CFModelDocumento::factory()->findByParam(array('DIGITAL' => $_REQUEST['id']))); $prioridades = CFModelDocumentoDemanda::factory()->retrieveCamposExtraPrioridadeByDigital($_REQUEST['id']); $participantes = CFModelDocumentoDemanda::factory()->retrieveCamposExtraParticipantesByDigital($_REQUEST['id']); $extras->PARTICIPANTES = $participantes; $extras->PRIORIDADES = $prioridades; $extras->CONTEUDO = CFModelDocumentoDemanda::factory()->retrieveConteudoDocumentoById($extras->ID); $out = array('success' => 'true', 'extras' => $extras); break; case 'exportar': $documento = new Documento($_REQUEST); $out = DaoDocumento::uniqueDocumento($documento)->toArray(); break; default: $out = array('success' => 'false', 'error' => 'Opção Inválida!'); break; } print json_encode($out); } catch (Exception $e) { } }
* O SISICMBio é um software livre; você pode redistribuíção e/ou modifição dentro dos termos * da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão * 2 da Licença. * * Este programa é distribuíção na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem * uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a * Licença Pública Geral GNU/GPL em português para maiores detalhes. * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", * junto com este programa, se não, acesse o Portal do Software Público Brasileiro no endereço * www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF) * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ include "function/auto_load_statics.php"; $controller = Controlador::getInstance(); $auth = $controller->usuario; $objeto = DaoDocumento::getDocumento($_REQUEST['digital']); $controller->setContexto($objeto); $controller->botoes = Util::getMenus($auth, $controller->recurso, $controller->acl); foreach ($controller->recurso->dependencias as $arquivo) { include_once 'interfaces/' . $arquivo; } ?> <html> <head> <script type="text/javascript" src="plugins/datatable/media/js/jquery.dataTables.js"></script> <style type="text/css"> @import "plugins/datatable/media/css/demo_table_tabs.css"; body{ margin: 10px; background-color: #101c01;
<?php /* * Copyright 2008 ICMBio * Este arquivo é parte do programa SISICMBio * O SISICMBio é um software livre; você pode redistribuíção e/ou modifição dentro dos termos * da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão * 2 da Licença. * * Este programa é distribuíção na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem * uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a * Licença Pública Geral GNU/GPL em português para maiores detalhes. * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", * junto com este programa, se não, acesse o Portal do Software Público Brasileiro no endereço * www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF) * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ try { if (DaoDocumento::checaDocumentoExisteDigital((string) $_POST['digital'])) { if (Tramite::registrarHistoricoDeTramiteDocumentos($_POST['digital'], 'Código de Rastreamento', $origem = 'XXXXX', sprintf('<span>%s - </span><a href="%s%s"><blink><strong>%s</strong></blink></a>', $_POST['servico'], __RASTREAMENTO__, $_POST['codigo'], $_POST['codigo']))) { $response = array('status' => 'success', 'message' => 'Rastreamento registrado com sucesso!'); } else { $response = array('status' => 'error', 'message' => 'Não foi possivel efetuar o registro do rastreamento!'); } } else { $response = array('status' => 'error', 'message' => 'Este documento nao foi cadastrado ainda!'); } } catch (Exception $e) { $response = array('status' => 'error', 'message' => $e->getMessage()); } print json_encode($response);
<?php /* * Copyright 2008 ICMBio * Este arquivo é parte do programa SISICMBio * O SISICMBio é um software livre; você pode redistribuíção e/ou modifição dentro dos termos * da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão * 2 da Licença. * * Este programa é distribuíção na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem * uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a * Licença Pública Geral GNU/GPL em português para maiores detalhes. * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", * junto com este programa, se não, acesse o Portal do Software Público Brasileiro no endereço * www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF) * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ try { $documento = new Documento($_POST); $out = DaoDocumento::salvarDocumento($documento)->toArray(); $out['digital'] = current(CFModelDocumento::factory()->find($out['id']))->DIGITAL; print json_encode($out); } catch (Exception $e) { }
* O SISICMBio é um software livre; você pode redistribuíção e/ou modifição dentro dos termos * da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão * 2 da Licença. * * Este programa é distribuíção na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem * uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a * Licença Pública Geral GNU/GPL em português para maiores detalhes. * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", * junto com este programa, se não, acesse o Portal do Software Público Brasileiro no endereço * www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF) * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ include "function/auto_load_statics.php"; $controller = Controlador::getInstance(); $auth = $controller->usuario; $objeto = DaoDocumento::getDocumento($_GET['digital']); $controller->setContexto($objeto); $controller->botoes = Util::getMenus($auth, $controller->recurso, $controller->acl); foreach ($controller->recurso->dependencias as $arquivo) { include_once 'interfaces/' . $arquivo; } ?> <html> <head> <script type="text/javascript" src="plugins/datatable/media/js/jquery.dataTables.js"></script> <style type="text/css"> @import "plugins/datatable/media/css/demo_table_tabs.css"; body{ margin: 10px; background-color: #101c01;
* da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão * 2 da Licença. * * Este programa é distribuíção na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem * uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a * Licença Pública Geral GNU/GPL em português para maiores detalhes. * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", * junto com este programa, se não, acesse o Portal do Software Público Brasileiro no endereço * www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF) * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ include "function/auto_load_statics.php"; $digital = $_REQUEST['digital']; $controller = Controlador::getInstance(); $auth = $controller->usuario; $objeto = DaoDocumento::getDocumento($digital); $controller->setContexto($objeto); $controller->recurso->abas = null; $controller->botoes = Util::getMenus($auth, $controller->recurso, $controller->acl); ?> <html> <head> <title>Anexos/Apensos</title> <style type="text/css"> body { background-color: #101c01; background-image: url('imagens/<?php print __BACKGROUND__; ?> ');
/** * Operacao Vincular documentos a documentos * @return Output * @param string $pai * @param string $filho * @param integer $vinculacao */ public function vincularDocumento($pai, $filho, $vinculacao) { try { /* Validar se os documentos pai e filho ainda estao na area de trabalho do usuario */ if (Documento::validarDocumentoAreaDeTrabalho($pai)) { if (Documento::validarDocumentoAreaDeTrabalho($filho)) { /* Inicar transacao */ Controlador::getInstance()->getConnection()->connection->beginTransaction(); /* Verificar se o documento ja esta anexado ou apenso à outro documento */ $stmt = Controlador::getInstance()->getConnection()->connection->prepare("SELECT ID FROM TB_DOCUMENTOS_VINCULACAO WHERE ID_DOCUMENTO_FILHO = ? AND FG_ATIVO = 1 AND ST_ATIVO = 1 LIMIT 1"); $stmt->bindParam(1, DaoDocumento::getDocumento($filho, 'id'), PDO::PARAM_INT); $stmt->execute(); $out = $stmt->fetchAll(PDO::FETCH_ASSOC); if (empty($out)) { $dt_ativacao = date('Y-m-d'); $operacao = $vinculacao == 1 ? 'anexado' : 'apensado'; $acao0 = "Este documento foi {$operacao} ao documento {$pai}"; $acao1 = "O documento {$filho} foi {$operacao}."; $acao2 = "Este documento foi {$operacao} ao documento {$pai}."; $destino = "XXXXX"; $origem = "XXXXX"; $id_usuario = Zend_Auth::getInstance()->getIdentity()->ID; $nome_usuario = Zend_Auth::getInstance()->getIdentity()->NOME; $id_unidade_historico = Zend_Auth::getInstance()->getIdentity()->ID_UNIDADE_ORIGINAL; $diretoria = DaoUnidade::getUnidade($id_unidade_historico, 'nome'); /* Historico - Documento Pai */ $stmt = 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())"); $stmt->bindParam(1, $pai, PDO::PARAM_STR); $stmt->bindParam(2, $id_usuario, PDO::PARAM_INT); $stmt->bindParam(3, $nome_usuario, PDO::PARAM_STR); $stmt->bindParam(4, $id_unidade_historico, PDO::PARAM_INT); $stmt->bindParam(5, $diretoria, PDO::PARAM_STR); $stmt->bindParam(6, $acao1, PDO::PARAM_STR); $stmt->bindParam(7, $origem, PDO::PARAM_STR); $stmt->bindParam(8, $destino, PDO::PARAM_STR); $stmt->execute(); /**/ $id_pai = Controlador::getInstance()->getConnection()->connection->lastInsertId('TB_HISTORICO_TRAMITE_DOCUMENTOS_ID_SEQ'); /* Historico - Documento Filho */ $stmt = 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())"); $stmt->bindParam(1, $filho, PDO::PARAM_STR); $stmt->bindParam(2, $id_usuario, PDO::PARAM_INT); $stmt->bindParam(3, $nome_usuario, PDO::PARAM_STR); $stmt->bindParam(4, $id_unidade_historico, PDO::PARAM_INT); $stmt->bindParam(5, $diretoria, PDO::PARAM_STR); $stmt->bindParam(6, $acao0, PDO::PARAM_STR); $stmt->bindParam(7, $origem, PDO::PARAM_STR); $stmt->bindParam(8, $destino, PDO::PARAM_STR); $stmt->execute(); /**/ $id_filho = Controlador::getInstance()->getConnection()->connection->lastInsertId('TB_HISTORICO_TRAMITE_DOCUMENTOS_ID_SEQ'); /* Ultimo tramite - Documento Filho */ $stmt = Controlador::getInstance()->getConnection()->connection->prepare("UPDATE TB_DOCUMENTOS_CADASTRO SET ULTIMO_TRAMITE = ? WHERE DIGITAL = ?"); $stmt->bindParam(1, $acao2, PDO::PARAM_STR); $stmt->bindParam(2, $filho, PDO::PARAM_STR); $stmt->execute(); $id_unidade = Controlador::getInstance()->usuario->ID_UNIDADE; /* Vincular */ $sttm = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_DOCUMENTOS_VINCULACAO (ID_DOCUMENTO_PAI,ID_DOCUMENTO_FILHO,ID_USUARIO,ID_HISTORICO_TRAMITE_PAI,ID_HISTORICO_TRAMITE_FILHO,ID_VINCULACAO,DT_ATIVACAO,ID_UNIDADE) VALUES (?,?,?,?,?,?,?,?)"); $sttm->bindParam(1, DaoDocumento::getDocumento($pai, 'id'), PDO::PARAM_INT); $sttm->bindParam(2, DaoDocumento::getDocumento($filho, 'id'), PDO::PARAM_INT); $sttm->bindParam(3, $id_usuario, PDO::PARAM_INT); $sttm->bindParam(4, $id_pai, PDO::PARAM_INT); $sttm->bindParam(5, $id_filho, PDO::PARAM_INT); $sttm->bindParam(6, $vinculacao, PDO::PARAM_INT); $sttm->bindParam(7, $dt_ativacao, PDO::PARAM_INT); $sttm->bindParam(8, $id_unidade, PDO::PARAM_INT); $sttm->execute(); /* Comitar */ Controlador::getInstance()->getConnection()->connection->commit(); return new Output(array('success' => 'true', 'message' => "Documento {$operacao} com sucesso!")); } else { return new Output(array('success' => 'false', 'error' => 'Este documento já está vinculado a outro documento!')); } } else { /* Retorna quando o documento filho nao esta na area de trabalho do usuario */ return new Output(array('success' => 'false', 'error' => "O documento {$filho} não está na sua área de trabalho!")); } } else { /* Retorna quando o documento pai nao esta na area de trabalho do usuario */ return new Output(array('success' => 'false', 'error' => "O documento {$pai} não está na sua área de trabalho!")); } } catch (PDOException $e) { Controlador::getInstance()->getConnection()->connection->rollback(); return new Output(array('success' => 'false', 'error' => $e->getMessage())); } }
* Este programa é distribuíção na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem * uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a * Licença Pública Geral GNU/GPL em português para maiores detalhes. * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", * junto com este programa, se não, acesse o Portal do Software Público Brasileiro no endereço * www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF) * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ /** * @author Michael F. Rodrigues <*****@*****.**> */ $_REQUEST['assunto_complementar'] = ''; $_REQUEST['data_documento'] = date('d/m/Y'); if ($_REQUEST['procedencia'] == 'E') { $_REQUEST['data_entrada'] = date('d/m/Y'); $_REQUEST['recibo'] = Controlador::getInstance()->usuario->NOME; } /** * Registrar Documento */ $response = DaoDocumento::salvarDocumento(new Documento($_REQUEST))->toArray(); /** * Registrar Comentario */ if ($_REQUEST['comentario'] != '' && $response['success'] == 'true') { DaoComentario::inserirComentarioDocumento(new Comentario(array('digital' => $_REQUEST['digital'], 'texto' => $_REQUEST['comentario']))); } /** * Printar Saida */ print json_encode($response);
/** * */ public function salvarAutuacao() { $unidade = current(CFModelUnidade::factory()->find($this->_usuario->id_unidade)); //verificar se a unidade autuadora é uma unidade protocolizadora... if (!$unidade->UP || !$unidade->CODIGO) { throw new Exception('Este processo não pode ser autuado porque você não está em uma unidade protocolizadora válida!'); } if (!Documento::validarDocumentoPecaProcesso($this->digital)) { if (Documento::validarDocumentoAreaDeTrabalho($this->digital)) { if (Documento::getQuantidadeImagemDocumento($this->digital) > 0) { try { Controlador::getInstance()->getConnection()->connection->beginTransaction(); $id_unidade_usuario = (int) Controlador::getInstance()->usuario->ID_UNIDADE; $numero_processo = $this->gerarNumeroProcesso(); /* Adicionar o novo Processo */ $stmt = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_PROCESSOS_CADASTRO(\n NUMERO_PROCESSO,ORIGEM,ASSUNTO,ASSUNTO_COMPLEMENTAR,DT_AUTUACAO,DT_PRAZO,\n DT_CADASTRO,USUARIO,INTERESSADO,ID_UNID_AREA_TRABALHO,ULTIMO_TRAMITE,PROCEDENCIA,ID_UNIDADE_USUARIO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)"); $stmt->bindParam(1, $numero_processo, PDO::PARAM_STR); $stmt->bindParam(2, $this->origem, PDO::PARAM_INT); $stmt->bindParam(3, $this->assunto, PDO::PARAM_INT); $stmt->bindParam(4, $this->assunto_complementar, PDO::PARAM_STR); $stmt->bindParam(5, $this->dt_autuacao, PDO::PARAM_STR); $stmt->bindParam(6, $this->dt_prazo, PDO::PARAM_STR); $stmt->bindParam(7, $this->dt_autuacao, PDO::PARAM_STR); $stmt->bindParam(8, $this->_usuario->id, PDO::PARAM_INT); $stmt->bindParam(9, $this->interessado, PDO::PARAM_INT); $stmt->bindParam(10, $this->area_trabalho, PDO::PARAM_INT); $stmt->bindParam(11, $this->ultimo_tramite, PDO::PARAM_STR); $stmt->bindParam(12, $this->procedencia, PDO::PARAM_STR); $stmt->bindParam(13, $id_unidade_usuario, PDO::PARAM_STR); $stmt->execute(); /* Armazenar o id do processo */ $id_processo = Controlador::getInstance()->getConnection()->connection->lastInsertId('TB_PROCESSOS_CADASTRO_ID_SEQ'); /* Registrar o primeiro volume do processo */ $volume = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_PROCESSOS_VOLUME (ID_PROCESSO_CADASTRO, NU_VOLUME, FL_INICIAL, DT_ABERTURA,ID_USUARIO,ID_UNIDADE) VALUES (?, 1, 1,?,?,?)"); $volume->bindParam(1, $id_processo, PDO::PARAM_INT); //id do processo $volume->bindParam(2, $this->dt_autuacao, PDO::PARAM_STR); //usar a data da autuacao para informar a data de inicio do primeiro volume. $volume->bindParam(3, $this->_usuario->id, PDO::PARAM_INT); $volume->bindParam(4, $id_unidade_usuario, PDO::PARAM_INT); $volume->execute(); /* Adicionar a documento no processo */ $peca = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_PROCESSOS_DOCUMENTOS(ID_PROCESSOS_CADASTRO,ID_DOCUMENTOS_CADASTRO,ID_USUARIOS,ID_UNIDADE_USUARIO)VALUES(?,?,?,?)"); $peca->bindParam(1, $id_processo, PDO::PARAM_INT); //id_processo $peca->bindParam(2, DaoDocumento::getDocumento($this->digital, 'id'), PDO::PARAM_INT); //id_documento $peca->bindParam(3, $this->_usuario->id, PDO::PARAM_INT); $peca->bindParam(4, $id_unidade_usuario, PDO::PARAM_INT); $peca->execute(); /* Inserir o historico de tramite do processo */ /* Complemento do Historico do Processo */ $acao = "Processo Autuado a partir do documento {$this->digital}"; $destino = "XXXXX"; $id_usuario = $this->_usuario->id; $nome_usuario = $this->_usuario->nome; $id_unidade = Zend_Auth::getInstance()->getIdentity()->ID_UNIDADE; $objOrigem = DaoUnidade::getUnidade($id_unidade); $diretoria = $objOrigem['nome']; $tx_origem = $objOrigem['nome'] . ' - ' . $objOrigem['sigla']; $historico_processo = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_HISTORICO_TRAMITE_PROCESSOS" . " (NUMERO_PROCESSO,ID_USUARIO,USUARIO,ID_UNIDADE,DIRETORIA,ACAO,ORIGEM,DESTINO,DT_TRAMITE)" . " VALUES(?,?,?,?,?,?,?,?,CLOCK_TIMESTAMP())"); $historico_processo->bindParam(1, $this->numero_processo, PDO::PARAM_STR); $historico_processo->bindParam(2, $id_usuario, PDO::PARAM_INT); $historico_processo->bindParam(3, $nome_usuario, PDO::PARAM_STR); $historico_processo->bindParam(4, $id_unidade, PDO::PARAM_INT); $historico_processo->bindParam(5, $diretoria, PDO::PARAM_STR); $historico_processo->bindParam(6, $acao, PDO::PARAM_STR); $historico_processo->bindParam(7, $tx_origem, PDO::PARAM_STR); $historico_processo->bindParam(8, $destino, PDO::PARAM_STR); $historico_processo->execute(); /* Complemento do Historico do Documento */ $acao = "O processo {$this->numero_processo} foi autuado a partir deste documento."; $destino = "XXXXX"; $historico_documento = 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_documento->bindParam(1, $this->digital, PDO::PARAM_STR); $historico_documento->bindParam(2, $id_usuario, PDO::PARAM_INT); $historico_documento->bindParam(3, $nome_usuario, PDO::PARAM_STR); $historico_documento->bindParam(4, $id_unidade, PDO::PARAM_INT); $historico_documento->bindParam(5, $diretoria, PDO::PARAM_STR); $historico_documento->bindParam(6, $acao, PDO::PARAM_STR); $historico_documento->bindParam(7, $tx_origem, PDO::PARAM_STR); $historico_documento->bindParam(8, $destino, PDO::PARAM_STR); $historico_documento->execute(); DaoDocumento::updateGenerico($this->digital, array('ultimo_tramite' => $acao)); Controlador::getInstance()->getConnection()->connection->commit(); $this->out = array('success' => 'true', 'numero_processo' => $this->numero_processo); return true; } catch (PDOException $e) { Controlador::getInstance()->getConnection()->connection->rollback(); echo $e->getMessage(); return false; throw new Exception($e); } } else { $this->out = array('success' => 'false', 'error' => 'Este documento não possui imagem!'); } } else { $this->out = array('success' => 'false', 'error' => 'Este documento não está na Área de Trabalho!'); } } else { $this->out = array('success' => 'false', 'error' => 'Este documento já é peça de outro processo!'); } }