/**
  * Método para buscar os documentos (comprovantes) do PRONAC
  * @access public
  * @param void
  * @return void
  */
 public function cadastrardocumentosAction()
 {
     $this->view->combotipodocumento = Tipodocumento::buscar();
     // caso o formulário seja enviado via post
     if ($this->getRequest()->isPost()) {
         // recebe os dados via post
         $post = Zend_Registry::get('post');
         $pronac = $post->pronac;
         $tipoDocumento = $post->tipoDocumento;
         $titulo = $post->titulo;
         $descricao = $post->descricao;
         // pega as informações do arquivo
         $arquivoNome = $_FILES['arquivo']['name'];
         // nome
         $arquivoTemp = $_FILES['arquivo']['tmp_name'];
         // nome temporário
         $arquivoTipo = $_FILES['arquivo']['type'];
         // tipo
         $arquivoTamanho = $_FILES['arquivo']['size'];
         // tamanho
         if (!empty($arquivoNome)) {
             $arquivoExtensao = Upload::getExtensao($arquivoNome);
             // extensão
         }
         if (!empty($arquivoTemp)) {
             $arquivoBinario = Upload::setBinario($arquivoTemp);
             // binário
             $arquivoHash = Upload::setHash($arquivoTemp);
             // hash
         }
         try {
             // integração MODELO e VISÃO
             // busca o PRONAC de acordo com o id no banco
             $resultado = Pronac::buscar($pronac);
             // caso o PRONAC não esteja cadastrado
             if (!$resultado) {
                 parent::message("Registro não encontrado!", "buscarpronac");
             } else {
                 $this->view->buscarpronac = $resultado;
             }
             // valida os campos vazios
             if (empty($tipoDocumento)) {
                 throw new Exception("Por favor, informe o tipo de documento!");
             } else {
                 if (empty($descricao)) {
                     throw new Exception("Por favor, informe a descrição do documento!");
                 } else {
                     if (empty($arquivoTemp)) {
                         throw new Exception("Por favor, informe o arquivo!");
                     } else {
                         if ($arquivoExtensao == 'exe' || $arquivoExtensao == 'bat' || $arquivoTipo == 'application/exe' || $arquivoTipo == 'application/x-exe' || $arquivoTipo == 'application/dos-exe') {
                             throw new Exception("A extensão do arquivo é inválida!");
                         } else {
                             if ($arquivoTamanho > 10485760) {
                                 throw new Exception("O arquivo não pode ser maior do que 10MB!");
                             } else {
                                 // cadastra dados do arquivo
                                 $sql = "INSERT INTO BDCORPORATIVO.scCorp.tbArquivo (nmArquivo, sgExtensao, dsTipo, nrTamanho, dtEnvio, dsHash, stAtivo) " . "VALUES ('" . $arquivoNome . "', '" . $arquivoExtensao . "', '" . $arquivoTipo . "', '" . $arquivoTamanho . "', GETDATE(), '" . $arquivoHash . "', 'A')";
                                 $db = Zend_Registry::get('db');
                                 $db->setFetchMode(Zend_DB::FETCH_OBJ);
                                 $resultado = $db->query($sql);
                                 // pega o id do arquivo
                                 $db = Zend_Registry::get('db');
                                 $db->setFetchMode(Zend_DB::FETCH_OBJ);
                                 $idGerado = $db->fetchOne("SELECT MAX(idArquivo) AS id FROM BDCORPORATIVO.scCorp.tbArquivo");
                                 // insere o binário do arquivo
                                 $sql = "INSERT INTO BDCORPORATIVO.scCorp.tbArquivoImagem " . "VALUES ({$idGerado}, {$arquivoBinario})";
                                 $db = Zend_Registry::get('db');
                                 $db->setFetchMode(Zend_DB::FETCH_OBJ);
                                 $resultado = $db->query($sql);
                                 // insere informações do documento
                                 $sql = "INSERT INTO BDCORPORATIVO.scSac.tbComprovanteExecucao (idPRONAC, idTipoDocumento, nmComprovante, dsComprovante, idArquivo, idSolicitante, dtEnvioComprovante, stParecerComprovante, stComprovante) " . "VALUES ({$pronac}, {$tipoDocumento}, '{$titulo}', '{$descricao}', {$idGerado}, 9997, GETDATE(), 'AG', 'A')";
                                 $db = Zend_Registry::get('db');
                                 $db->setFetchMode(Zend_DB::FETCH_OBJ);
                                 $resultado = $db->query($sql);
                                 if ($resultado) {
                                     parent::message("Cadastro realizado com sucesso!", "anexardocumentos/buscardocumentos?pronac=" . $pronac);
                                 } else {
                                     throw new Exception("Erro ao realizar cadastro");
                                 }
                             }
                         }
                     }
                 }
             }
         } catch (Exception $e) {
             $this->view->message = $e->getMessage();
             $this->view->message_type = "ERROR";
             $this->view->tipoDocumento = $tipoDocumento;
             $this->view->titulo = $titulo;
             $this->view->descricao = $descricao;
         }
     } else {
         // recebe o pronac via get
         $get = Zend_Registry::get('get');
         $pronac = $get->pronac;
         try {
             // verifica se o pronac veio vazio
             if (empty($pronac)) {
                 parent::message("Por favor, informe o PRONAC!", "buscarpronac");
             } else {
                 // integração MODELO e VISÃO
                 // busca o PRONAC de acordo com o id no banco
                 $resultado = Pronac::buscar($pronac);
                 // caso o PRONAC não esteja cadastrado
                 if (!$resultado) {
                     parent::message("Registro não encontrado!", "buscarpronac");
                 } else {
                     $this->view->buscarpronac = $resultado;
                 }
             }
             // fecha else
         } catch (Exception $e) {
             $this->view->message = $e->getMessage();
         }
     }
 }
Exemplo n.º 2
0
 public function setTipodocumento(Tipodocumento $v = null)
 {
     if ($v === null) {
         $this->setFkTipodocumentoId(0);
     } else {
         $this->setFkTipodocumentoId($v->getId());
     }
     $this->aTipodocumento = $v;
     if ($v !== null) {
         $v->addAlumno($this);
     }
     return $this;
 }
Exemplo n.º 3
0
 public static function addInstanceToPool(Tipodocumento $obj, $key = null)
 {
     if (Propel::isInstancePoolingEnabled()) {
         if ($key === null) {
             $key = (string) $obj->getId();
         }
         self::$instances[$key] = $obj;
     }
 }