public function incluirAnexoAction() { // pega as informações do arquivo $idUltimoArquivo = null; $post = Zend_Registry::get('post'); if (is_file($_FILES['arquivo']['tmp_name'])) { $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) && !empty($arquivoTemp)) { $arquivoExtensao = Upload::getExtensao($arquivoNome); // extensão $arquivoBinario = Upload::setBinario($arquivoTemp); // binário $arquivoHash = Upload::setHash($arquivoTemp); // hash } if ($arquivoTamanho > 10485760) { parent::message("O arquivo não pode ser maior do que 10MB!", "manterpropostaedital/enviararquivoedital?idPreProjeto=" . $post->idPreProjeto . "&edital=" . $post->edital, "ALERT"); } // cadastra dados do arquivo // cadastra dados do arquivo $tblTbDocumentoPreProjeto = new tbDocumentosPreProjeto(); $tblTbDocumentoAgentes = new tbDocumentosAgentes(); try { //Verifica se tipo de documento ja esta cadastrado $where = array(); if ($post->tipoDocumento == 1) { $tbPreProjeto = new PreProjeto(); $dadosProjeto = $tbPreProjeto->buscarAgentePreProjeto(array('idPreProjeto = ?' => $post->idPreProjeto))->current(); $where['idAgente = ?'] = $dadosProjeto->idAgente; $where['CodigoDocumento = ?'] = $post->documento; } else { $where['idProjeto = ?'] = $post->idPreProjeto; $where['CodigoDocumento = ?'] = $post->documento; } if ($post->tipoDocumento == 1) { if ($tblTbDocumentoAgentes->buscar($where)->count() > 0) { parent::message("Tipo de documento já cadastrado!", "manterpropostaedital/enviararquivoedital?idPreProjeto=" . $post->idPreProjeto, "ALERT"); } $dadosArquivo = array('CodigoDocumento' => $post->documento, 'idAgente' => $dadosProjeto->idAgente, 'Data' => new Zend_Db_Expr('GETDATE()'), 'imDocumento' => new Zend_Db_Expr("CONVERT(varbinary(MAX), {$arquivoBinario})"), 'NoArquivo' => $arquivoNome, 'TaArquivo' => $arquivoTamanho); $idUltimoArquivo = $tblTbDocumentoAgentes->inserir($dadosArquivo); } else { if ($tblTbDocumentoPreProjeto->buscar($where)->count() > 0) { parent::message("Tipo de documento já cadastrado!", "manterpropostaedital/enviararquivoedital?idPreProjeto=" . $post->idPreProjeto, "ALERT"); } $dadosArquivo = array('CodigoDocumento' => $post->documento, 'idProjeto' => $post->idPreProjeto, 'Data' => new Zend_Db_Expr('GETDATE()'), 'imDocumento' => new Zend_Db_Expr("CONVERT(varbinary(MAX), {$arquivoBinario})"), 'NoArquivo' => $arquivoNome, 'TaArquivo' => $arquivoTamanho, 'dsDocumento' => $post->observacao); $idUltimoArquivo = $tblTbDocumentoPreProjeto->inserir($dadosArquivo); } //REMOVER AS PENDENCIAS DE DOCUMENTO //$tblDocAnexados = new tbDocumentosPreProjeto(); //$rsDocsAnexados = $tblDocAnexados->buscar(array("idProjeto = ?"=>$post->idPreProjeto)); $tblDocumentosPendentesProjeto = new DocumentosProjeto(); $tblDocumentosPendentesProponente = new DocumentosProponente(); $tblDocumentosPendentesProjeto->delete("idProjeto = {$post->idPreProjeto} AND CodigoDocumento = {$post->documento}"); $tblDocumentosPendentesProponente->delete("idProjeto = {$post->idPreProjeto} AND CodigoDocumento = {$post->documento}"); //xd($rsDocsAnexados); // foreach($rsDocsAnexados as $anexo){ // $tblDocumentosPendentesProjeto->delete("idProjeto = {$post->idPreProjeto} AND CodigoDocumento = {$anexo->CodigoDocumento}"); // $tblDocumentosPendentesProponente->delete("idProjeto = {$post->idPreProjeto} AND CodigoDocumento = {$anexo->CodigoDocumento}"); // } } catch (Zend_Exception $e) { parent::message("Falha ao anexar arquivo!<br>{$e->getMessage()}", "manterpropostaedital/enviararquivoedital?idPreProjeto=" . $post->idPreProjeto . "&edital=" . $post->edital, "ERROR"); } catch (Exception $e) { parent::message("Tipo de documento já cadastrado!", "manterpropostaedital/enviararquivoedital?idPreProjeto=" . $post->idPreProjeto . "&edital=" . $post->edital, "ALERT"); } if ($idUltimoArquivo) { parent::message("Arquivo anexado com sucesso!", "manterpropostaedital/enviararquivoedital?idPreProjeto=" . $post->idPreProjeto . "&edital=" . $post->edital, "CONFIRM"); } else { parent::message("Falha ao anexar arquivo!", "manterpropostaedital/enviararquivoedital?idPreProjeto=" . $post->idPreProjeto . "&edital=" . $post->edital, "ERROR"); } } else { parent::message("Falha ao anexar arquivo! O tamanho máximo permitido é de 10MB.", "manterpropostaincentivofiscal/listarproposta?idPreProjeto=" . $post->idPreProjeto . "&edital=" . $post->edital, "ERROR"); } }
/** * Método com o formulário para buscar o PRONAC * @access public * @param void * @return void */ public function buscardocumentosAction() { // recebe o pronac via get $idpronac = $this->_request->getParam("idpronac"); $this->view->idpronac = $idpronac; try { // verifica se o pronac veio vazio if (empty($idpronac)) { throw new Exception("Por favor, informe o PRONAC!"); } else { if (!is_numeric($idpronac) || strlen($idpronac) > 20) { throw new Exception("O Nº do PRONAC é inválido!"); } else { // die('fasdfasd'); // integração MODELO e VISÃO $Projetos = new Projetos(); $resultPronac = $Projetos->buscar(array('IdPRONAC = ?' => $idpronac)); // caso o PRONAC não esteja cadastrado if (!$resultPronac) { throw new Exception("Registro não encontrado!"); } else { // pega o id do pronac $idpronac = $resultPronac[0]->IdPRONAC; $pronac = $resultPronac[0]->AnoProjeto . $resultPronac[0]->Sequencial; $buscarpronac = $resultPronac; // busca os documentos (comprovantes) do pronac $Documentos = new DocumentosProjeto(); $resultComprovantes = $Documentos->documentosAnexados($idpronac); // $resultComprovantes = AnexardocumentosDAO::buscarArquivos($idpronac); // xd($resultComprovantes); // caso não existam comprovantes cadastrados if (count($resultComprovantes) == 0) { $this->view->message = "Nenhum arquivo anexado ao PRONAC Nº " . $pronac . "!"; $this->view->message_type = "ALERT"; $this->view->buscarpronac = $buscarpronac; } else { // manda os comprovantes para a visão $this->view->buscarcomprovantes = $resultComprovantes; $this->view->buscarpronac = $buscarpronac; $auth = Zend_Auth::getInstance(); // pega a autenticação $Usuario = new Usuario(); // objeto usuário $idagente = $Usuario->getIdUsuario($auth->getIdentity()->usu_codigo); $idagente = $idagente['idAgente']; $reuniao = new Reuniao(); $ConsultaReuniaoAberta = $reuniao->buscar(array("stEstado = ?" => 0)); if ($ConsultaReuniaoAberta->count() > 0) { $ConsultaReuniaoAberta = $ConsultaReuniaoAberta->current()->toArray(); $this->view->dadosReuniaoPlenariaAtual = $ConsultaReuniaoAberta; //--------------------------------------------------------------------------------------------------------------- $votantes = new Votante(); $exibirVotantes = $votantes->selecionarvotantes($ConsultaReuniaoAberta['idNrReuniao']); if (count($exibirVotantes) > 0) { foreach ($exibirVotantes as $votantes) { $dadosVotante[] = $votantes->idAgente; } if (count($dadosVotante) > 0) { if (in_array($idagente, $dadosVotante)) { $this->view->votante = true; } else { $this->view->votante = false; } } } } else { parent::message("Não existe CNIC aberta no momento. Favor aguardar!", "principal/index", "ERROR"); } } } } } // fecha else } catch (Zend_Exception $e) { die("ERRO:" . $e->getMessage()); } }