Example #1
0
 * 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
 * */
/**
 * @todo Encapsular...
 */
if ($_REQUEST) {
    try {
        switch ($_REQUEST['acao']) {
            case 'quantidade':
                $quantidade = Documento::getQuantidadeImagemDocumento($_REQUEST['digital']);
                $out = array('success' => 'true', 'quantidade' => $quantidade);
                break;
            case 'upload':
                Session::set('_upload', array('digital' => $_REQUEST['nu_digital'], 'fg_publico' => $_REQUEST['fg_publico'], 'fg_operacao' => $_REQUEST['fg_operacao']));
                if (is_array(Session::get('_upload'))) {
                    $out = array('success' => 'true');
                } else {
                    $out = array('success' => 'false');
                }
                break;
            case 'alterar-status-documento-imagem':
                /* Valida se a operacao esta autorizada */
                if (AclFactory::checaPermissao(Controlador::getInstance()->acl, Controlador::getInstance()->usuario, DaoRecurso::getRecursoById(998))) {
                    if (isset($_POST)) {
                        $status = $_POST['status'];
Example #2
0
 /**
  * 
  */
 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!');
     }
 }