Ejemplo n.º 1
0
 /**
  * 
  * @throws Exception
  */
 public function cadastrar($inputName)
 {
     // pega as informações do arquivo
     $arquivoNome = $_FILES[$inputName]['name'];
     // nome
     $arquivoTemp = $_FILES[$inputName]['tmp_name'];
     // nome temporário
     $arquivoTipo = $_FILES[$inputName]['type'];
     // tipo
     $arquivoTamanho = $_FILES[$inputName]['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 ($arquivoExtensao != 'doc' and $arquivoExtensao != 'docx' and $arquivoExtensao != '') {
             // cadastra dados do arquivo
             $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'dsTipoPadronizado' => $arquivoTipo, 'nrTamanho' => $arquivoTamanho, 'dtEnvio' => new Zend_Db_Expr('GETDATE()'), 'dsHash' => $arquivoHash, 'stAtivo' => 'A');
             ArquivoDAO::cadastrar($dadosArquivo);
             // pega o id do último arquivo cadastrado
             $idUltimoArquivo = ArquivoDAO::buscarIdArquivo();
             $this->setId((int) $idUltimoArquivo[0]->id);
             // cadastra o binário do arquivo
             ArquivoImagemDAO::cadastrar(array('idArquivo' => $this->getId(), 'biArquivo' => $arquivoBinario));
         }
     } else {
         throw new ErrorException('Arquivo inválido.');
     }
 }
Ejemplo n.º 2
0
 public function inserirArquivo($name, $fileType)
 {
     $name = $_FILES['arquivo']['name'];
     // nome
     $arquivoTemp = $_FILES['arquivo']['tmp_name'];
     // nome temporário
     $fileType = $_FILES['arquivo']['type'];
     // tipo
     $arquivoTamanho = $_FILES['arquivo']['size'];
     // tamanho
     if (!empty($name)) {
         $arquivoExtensao = Upload::getExtensao($name);
         // extensão
     }
     if (!empty($arquivoTemp)) {
         $arquivoBinario = Upload::setBinario($arquivoTemp);
         // binário
         $arquivoHash = Upload::setHash($arquivoTemp);
         // hash
     }
     if (empty($arquivoTemp)) {
         throw new Exception("Por favor, informe o arquivo!");
     } else {
         if ($arquivoExtensao == 'exe' || $arquivoExtensao == 'bat' || $fileType == 'application/exe' || $fileType == 'application/x-exe' || $fileType == '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 {
             }
         }
     }
     $tbArquivo = "INSERT INTO BDCORPORATIVO.scCorp.tbArquivo " . "(nmArquivo, sgExtensao, dsTipo, dtEnvio ,stAtivo)  " . "VALUES ('{$name}', '{$fileType}', 'application/pdf', GETDATE(),'A')";
     $db = Zend_Registry::get('db');
     $db->setFetchMode(Zend_DB::FETCH_OBJ);
     $resultado = $db->query();
     return $resultado;
 }
Ejemplo n.º 3
0
 /**
  * Método para cadastrar os arquivos da solicitação de readequação
  * @access private
  * @param array $_FILES
  * @param integer $idPedidoAlteracao
  * @param integer $status
  * @return void
  */
 private function cadastrarArquivos($_FILES, $idPedidoAlteracao, $tpAlteracaoProjeto)
 {
     // objetos utilizados
     $this->tbArquivo = new tbArquivo();
     $this->tbArquivoImagem = new tbArquivoImagem();
     $this->tbPedidoAltProjetoXArquivo = new tbPedidoAltProjetoXArquivo();
     $valor = $_FILES['arquivo']['name'][0];
     if (!empty($valor)) {
         for ($i = 0; $i < count($_FILES["arquivo"]["name"]); $i++) {
             // pega as informações do arquivo
             $arquivoNome = $_FILES['arquivo']['name'][$i];
             // nome
             $arquivoTemp = $_FILES['arquivo']['tmp_name'][$i];
             // nome temporário
             $arquivoTipo = $_FILES['arquivo']['type'][$i];
             // tipo
             $arquivoTamanho = $_FILES['arquivo']['size'][$i];
             // tamanho
             if (!empty($arquivoNome) && !empty($arquivoTemp)) {
                 $arquivoExtensao = Upload::getExtensao($arquivoNome);
                 // extensão
                 $arquivoBinario = Upload::setBinario($arquivoTemp);
                 // binário
                 $arquivoHash = Upload::setHash($arquivoTemp);
                 // hash
                 // cadastra dados do arquivo
                 $dadosArquivo = array('idArquivo' => null, 'nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'dsTipoPadronizado' => $arquivoTipo, 'nrTamanho' => $arquivoTamanho, 'dtEnvio' => new Zend_Db_Expr('GETDATE()'), 'dsHash' => $arquivoHash, 'stAtivo' => 'A');
                 $idUltimoArquivo = $this->tbArquivo->inserir($dadosArquivo);
                 // pega o id do último arquivo cadastrado
                 // cadastra o binário do arquivo
                 $dadosBinario = array('idArquivo' => $idUltimoArquivo, 'biArquivo' => new Zend_Db_Expr("CONVERT(varbinary(MAX), {$arquivoBinario})"));
                 $this->tbArquivoImagem->inserir($dadosBinario);
                 // cadastra o pedido de alteração
                 $dadosPedido = array('idArquivo' => $idUltimoArquivo, 'idPedidoAlteracao' => $idPedidoAlteracao, 'tpAlteracaoProjeto' => $tpAlteracaoProjeto);
                 $this->tbPedidoAltProjetoXArquivo->inserir($dadosPedido);
             }
         }
     }
 }
 public function gravarArquivoJudicialBloqueioConta()
 {
     try {
         $arquivoNome = $_FILES['arqDecisaoJudicial']['name'];
         // nome
         $arquivoTemp = $_FILES['arqDecisaoJudicial']['tmp_name'];
         // nome temporário
         $arquivoTipo = $_FILES['arqDecisaoJudicial']['type'];
         // tipo
         $arquivoTamanho = $_FILES['arqDecisaoJudicial']['size'];
         // tamanho
         if (!empty($arquivoNome) && !empty($arquivoTemp)) {
             $arquivoExtensao = Upload::getExtensao($arquivoNome);
             // extensão
             $arquivoBinario = Upload::setBinario($arquivoTemp);
             // binário
             $arquivoHash = Upload::setHash($arquivoTemp);
             // hash
         }
         //VALIDA TAMANHO ARQUIVO
         if ($arquivoTamanho > 1024 * 1024 * 10) {
             parent::message("O arquivo deve ser menor que 10 MB", "manterbloqueioconta", "ERROR");
         }
         //VALIDA EXTENSAO ARQUIVO
         if (!in_array($arquivoExtensao, explode(',', 'pdf,PDF,doc,docx'))) {
             parent::message("Arquivo com extens&atilde;o Inv&aacute;lida", "manterbloqueioconta", "ERROR");
         }
         // ==================== PERSISTE DADOS DO ARQUIVO =================//
         $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'dsTipoPadronizado' => $arquivoTipo, 'nrTamanho' => $arquivoTamanho, 'dtEnvio' => new Zend_Db_Expr('GETDATE()'), 'dsHash' => $arquivoHash, 'stAtivo' => 'A');
         $tbArquivo = new tbArquivo();
         $idArquivo = $tbArquivo->inserir($dadosArquivo);
         // ================== PERSISTE DADOS ARQUIVO - BINARIO ============//
         $dadosBinario = array('idArquivo' => $idArquivo, 'biArquivo' => new Zend_Db_Expr("CONVERT(varbinary(MAX), {$arquivoBinario})"));
         $tbArquivoImagem = new tbArquivoImagem();
         $idArquivoImagem = $tbArquivoImagem->inserir($dadosBinario);
         // ================= PERSISTE DADOS DO DOCUMENTO ==================//
         /*$dadosDoc = array(
                             'idArquivo' => $idArquivo,
                             'idTipoDocumento' => '1',
                             'dsDocumento' => $observacao);
         
                     $tbDocumento = new tbDocumento();
                     $idDocumento = $tbDocumento->inserir($dadosDoc);
                     $idDocumento = $idDocumento['idDocumento'];*/
         return $idArquivo;
         die;
     } catch (Exception $e) {
         parent::message("Erro ao enviar o arquivo anexado.", "manterbloqueioconta", "ERROR");
     }
 }
 public function despachardocAction()
 {
     $limiteTamanhoArq = 1024 * 1024 * 10;
     $arquivoNome = $_FILES['arquivo']['name'];
     // nome
     $arquivoTipo = $_FILES['arquivo']['type'];
     // tipo
     $arquivoTamanho = $_FILES['arquivo']['size'];
     // tamanho
     $arquivoExtensao = Upload::getExtensao($arquivoNome);
     // extensão
     $tipos = array('pdf');
     if (!in_array(strtolower($arquivoExtensao), $tipos)) {
         parent::message("O arquivo deve ser PDF!", "/tramitardocumentos/despachar", "ERROR");
     } else {
         if ($arquivoTamanho > $limiteTamanhoArq) {
             parent::message("O arquivo deve ser menor que 10 MB", "/tramitardocumentos/despachar", "ERROR");
         } else {
             /** Usuario Logado *********************************************** */
             $auth = Zend_Auth::getInstance();
             // instancia da autenticação
             $idusuario = $auth->getIdentity()->usu_codigo;
             //$idorgao 	= $auth->getIdentity()->usu_orgao;
             $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo');
             // cria a sessão com o grupo ativo
             //$codGrupo = $GrupoAtivo->codGrupo; //  Grupo ativo na sessão
             $codOrgao = $GrupoAtivo->codOrgao;
             //  Órgão ativo na sessão
             $this->view->codOrgao = $codOrgao;
             $this->view->idUsuarioLogado = $idusuario;
             /*             * *************************************************************** */
             $idpronac = $this->_request->getParam("idpronac");
             $pronac = $this->_request->getParam("pronac");
             $tipo_doc = $this->_request->getParam("tipo_doc");
             $cod_ect = $this->_request->getParam("cod_ect");
             $idDestino = $this->_request->getParam("idDestino");
             // 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
             }
             $dados = "Insert into SAC.dbo.tbDocumento\n                          (idPronac, stEstado, imDocumento, idTipoDocumento, idUsuario, dtDocumento, NoArquivo, TaArquivo, idUsuarioJuntada, dtJuntada, idUnidadeCadastro, CodigoCorreio, biDocumento)\n                          values\n                          (" . $idpronac . ", 0, null, " . $tipo_doc . ", " . $idusuario . ", GETDATE(), '" . $arquivoNome . "', " . $arquivoTamanho . ", null, null, " . $this->codOrgao . ", '" . $cod_ect . "', " . $arquivoBinario . ")\n                           ";
             $db = Zend_Registry::get('db');
             $db->setFetchMode(Zend_DB::FETCH_OBJ);
             try {
                 //$db->beginTransaction();
                 if (empty($pronac)) {
                     parent::message("Por favor, informe o PRONAC!", "tramitardocumentos/despachar", "ALERT");
                 } else {
                     if (empty($arquivoTemp)) {
                         // nome do arquivo
                         parent::message("Por favor, informe o arquivo!!", "tramitardocumentos/despachar", "ALERT");
                     } else {
                         if (empty($arquivoTemp)) {
                             // nome do arquivo
                             parent::message("Por favor, informe o arquivo!", "tramitardocumentos/despachar", "ALERT");
                         } else {
                             if (strtolower($arquivoExtensao) != 'pdf') {
                                 // extensão do arquivo
                                 parent::message("O arquivo não pode ser maior do que 10MB!", "tramitardocumentos/despachar", "ALERT");
                             } else {
                                 if ($arquivoTamanho > 10485760) {
                                     // tamanho do arquivo: 10MB
                                     parent::message("O arquivo não pode ser maior do que 10MB!", "tramitardocumentos/despachar", "ALERT");
                                 } else {
                                     $resultado = TramitarDocumentosDAO::cadDocumento($dados);
                                     $tbHistoricoDoc = array('idPronac' => $idpronac, 'idDocumento' => $resultado, 'idUnidade' => $idDestino, 'idOrigem' => $this->codOrgao, 'dtTramitacaoEnvio' => null, 'idUsuarioEmissor' => $idusuario, 'meDespacho' => null, 'idLote' => null, 'dtTramitacaoRecebida' => null, 'idUsuarioReceptor' => null, 'Acao' => 1, 'stEstado' => 1);
                                     $resultado2 = TramitarDocumentosDAO::cadHistorico('SAC.dbo.tbHistoricoDocumento', $tbHistoricoDoc);
                                 }
                             }
                         }
                     }
                 }
                 //$db->commit();
                 parent::message("Projeto enviado com Sucesso!", "tramitardocumentos/despachar", "CONFIRM");
             } catch (Zend_Exception $ex) {
                 //$db->rollBack();
                 parent::message("Erro ao realizar cadastro", "tramitardocumentos/despachar", "ERROR");
             }
         }
     }
 }
 public function cadastraranexo($arquivoNome, $arquivoTemp, $arquivoTipo, $arquivoTamanho)
 {
     if (!empty($arquivoNome) && !empty($arquivoTemp)) {
         $arquivoExtensao = Upload::getExtensao($arquivoNome);
         // extensão
         $arquivoBinario = Upload::setBinario($arquivoTemp);
         // binário
         $arquivoHash = Upload::setHash($arquivoTemp);
         // hash
     }
     // cadastra dados do arquivo
     $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'dsTipoPadronizado' => $arquivoTipo, 'nrTamanho' => $arquivoTamanho, 'dtEnvio' => new Zend_Db_Expr('GETDATE()'), 'dsHash' => $arquivoHash, 'stAtivo' => 'A');
     $cadastrarArquivo = ArquivoDAO::cadastrar($dadosArquivo);
     // pega o id do último arquivo cadastrado
     $idUltimoArquivo = ArquivoDAO::buscarIdArquivo();
     $idUltimoArquivo = (int) $idUltimoArquivo[0]->id;
     // cadastra o binário do arquivo
     $dadosBinario = array('idArquivo' => $idUltimoArquivo, 'biArquivo' => $arquivoBinario);
     $cadastrarBinario = ArquivoImagemDAO::cadastrar($dadosBinario);
     return $idUltimoArquivo;
 }
 /**
  * Método com o formulário para substituir documento do PRONAC
  * @access public
  * @param void
  * @return void
  */
 public function substituirdocumentosAction()
 {
     // autenticação scriptcase (AMBIENTE PROPONENTE)
     parent::perfil(2);
     // combo com os tipos de documentos
     $this->view->combotipodocumento = TipoDocumentoDAO::buscar();
     // caso o formulário seja enviado via post
     // realiza a substituição do documento
     if ($this->getRequest()->isPost()) {
         // recebe os dados via post
         $post = Zend_Registry::get('post');
         $pronac = $post->pronac;
         $idPronac = (int) $post->idPronac;
         $doc = (int) $post->idComprovante;
         $idComprovanteAnterior = (int) $post->idComprovanteAnterior;
         $idArquivo = (int) $post->idArquivo;
         $tipoDocumento = (int) $post->tipoDocumento;
         $titulo = $post->titulo;
         $descricao = $post->descricao;
         $justificativa = $post->justificativa;
         $justificativaCoordenador = $post->justificativaCoordenador;
         // 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) && !empty($arquivoTemp)) {
             $arquivoExtensao = Upload::getExtensao($arquivoNome);
             // extensão
             $arquivoBinario = Upload::setBinario($arquivoTemp);
             // binário
             $arquivoHash = Upload::setHash($arquivoTemp);
             // hash
         }
         try {
             // integração MODELO e VISÃO
             // busca o PRONAC no banco
             $resultadoPronac = ProjetoDAO::buscar($pronac);
             // busca o Comprovante de acordo com o id no banco
             $resultadoComprovante = ComprovanteExecucaoFisicaDAO::buscar($resultadoPronac[0]->IdPRONAC, $doc);
             // caso o PRONAC ou o Comprovante não estejam cadastrados
             if (!$resultadoPronac || !$resultadoComprovante) {
                 parent::message("Registro não encontrado!", "execucaofisicadoprojeto/buscarpronac", "ERROR");
             } else {
                 $this->view->buscarPronac = $resultadoPronac;
                 $this->view->buscarDoc = $resultadoComprovante;
             }
             // valida os campos vazios
             if (empty($tipoDocumento)) {
                 throw new Exception("Por favor, informe o tipo de documento!");
             } else {
                 if (empty($titulo)) {
                     throw new Exception("Por favor, informe o título do documento!");
                 } else {
                     if (strlen($titulo) < 2 || strlen($titulo) > 100) {
                         throw new Exception("O título do documento é inválido! A quantidade mínima é de 2 caracteres!");
                     } else {
                         if (empty($descricao)) {
                             throw new Exception("Por favor, informe a descrição do documento!");
                         } else {
                             if (strlen($descricao) < 20 || strlen($descricao) > 500) {
                                 throw new Exception("A descrição do documento é inválida! São permitidos entre 20 e 500 caracteres!");
                             } else {
                                 if (empty($justificativa) || $justificativa == "Digite a justificativa...") {
                                     throw new Exception("Por favor, informe a justificativa do documento!");
                                 } else {
                                     if (strlen($justificativa) < 20 || strlen($justificativa) > 500) {
                                         throw new Exception("A justificativa do documento é inválida! São permitidos entre 20 e 500 caracteres!");
                                     } else {
                                         if (!empty($arquivoTemp) && ($arquivoExtensao == 'exe' || $arquivoExtensao == 'bat' || $arquivoTipo == 'application/exe' || $arquivoTipo == 'application/x-exe' || $arquivoTipo == 'application/dos-exe' || strlen($arquivoExtensao) > 5)) {
                                             throw new Exception("A extensão do arquivo é inválida!");
                                         } else {
                                             if (!empty($arquivoTemp) && $arquivoTamanho > 10485760) {
                                                 throw new Exception("O arquivo não pode ser maior do que 10MB!");
                                             } else {
                                                 if (!empty($arquivoTemp) && ArquivoDAO::verificarHash($arquivoHash)) {
                                                     throw new Exception("O arquivo enviado já está cadastrado na base de dados! Por favor, informe outro!");
                                                 } else {
                                                     // cadastra o arquivo caso o mesmo tenha sido enviado
                                                     if (!empty($arquivoTemp)) {
                                                         // altera dados do arquivo
                                                         $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'dsTipoPadronizado' => $arquivoTipo, 'nrTamanho' => $arquivoTamanho, 'dtEnvio' => new Zend_Db_Expr('GETDATE()'), 'dsHash' => $arquivoHash, 'stAtivo' => 'A');
                                                         $substituirArquivo = ArquivoDAO::cadastrar($dadosArquivo);
                                                         // pega o id do último arquivo cadastrado
                                                         $idUltimoArquivo = ArquivoDAO::buscarIdArquivo();
                                                         $idUltimoArquivo = (int) $idUltimoArquivo[0]->id;
                                                         // cadastrar o binário do arquivo
                                                         $dadosBinario = array('idArquivo' => $idUltimoArquivo, 'biArquivo' => $arquivoBinario);
                                                         $substituirBinario = ArquivoImagemDAO::cadastrar($dadosBinario);
                                                         // cadastra dados do comprovante
                                                         $dadosComprovante = array('idPRONAC' => $idPronac, 'idTipoDocumento' => $tipoDocumento, 'nmComprovante' => $titulo, 'dsComprovante' => $descricao, 'dsJustificativaAlteracao' => $justificativa, 'dsJustificativaCoordenador' => $justificativaCoordenador, 'idArquivo' => $idUltimoArquivo, 'idSolicitante' => 9997, 'dtEnvioComprovante' => new Zend_Db_Expr('GETDATE()'), 'stParecerComprovante' => 'AG', 'stComprovante' => 'A', 'idComprovanteAnterior' => $idComprovanteAnterior);
                                                         $substituirComprovante = ComprovanteExecucaoFisicaDAO::cadastrar($dadosComprovante, $doc);
                                                     } else {
                                                         // cadastra dados do comprovante
                                                         $dadosComprovante = array('idPRONAC' => $idPronac, 'idTipoDocumento' => $tipoDocumento, 'nmComprovante' => $titulo, 'dsComprovante' => $descricao, 'dsJustificativaAlteracao' => $justificativa, 'dsJustificativaCoordenador' => $justificativaCoordenador, 'idArquivo' => $idArquivo, 'idSolicitante' => 9997, 'dtEnvioComprovante' => new Zend_Db_Expr('GETDATE()'), 'stParecerComprovante' => 'AG', 'stComprovante' => 'A', 'idComprovanteAnterior' => $idComprovanteAnterior);
                                                         $substituirComprovante = ComprovanteExecucaoFisicaDAO::cadastrar($dadosComprovante, $doc);
                                                     }
                                                     if ($substituirComprovante) {
                                                         parent::message("Solicitação de substituição realizada com sucesso!", "execucaofisicadoprojeto/buscardocumentos?pronac=" . $pronac, "CONFIRM");
                                                     } else {
                                                         parent::message("Erro ao realizar solicitação de substituição!", "execucaofisicadoprojeto/buscardocumentos?pronac=" . $pronac, "ERROR");
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
             // fecha else
         } 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;
             $this->view->justificativa = $justificativa;
             $this->view->justificativaCoordenador = $justificativaCoordenador;
         }
     } else {
         // recebe o pronac via get
         $get = Zend_Registry::get('get');
         $pronac = $get->pronac;
         $doc = (int) $get->doc;
         try {
             // verifica se o pronac ou o id do comprovante vieram vazios
             if (empty($pronac) || empty($doc)) {
                 throw new Exception("Por favor, informe o PRONAC e o Comprovante!");
             } else {
                 // integração MODELO e VISÃO
                 // busca o PRONAC no banco
                 $resultadoPronac = ProjetoDAO::buscar($pronac);
                 // busca o Comprovante de acordo com o id no banco
                 $resultadoComprovante = ComprovanteExecucaoFisicaDAO::buscar($resultadoPronac[0]->IdPRONAC, $doc);
                 // caso o PRONAC ou o Comprovante não estejam cadastrados
                 if (!$resultadoPronac || !$resultadoComprovante) {
                     throw new Exception("Registro não encontrado!");
                 } else {
                     $this->view->buscarPronac = $resultadoPronac;
                     $this->view->buscarDoc = $resultadoComprovante;
                 }
             }
             // fecha else
         } catch (Exception $e) {
             parent::message($e->getMessage(), "execucaofisicadoprojeto/buscarpronac", "ERROR");
         }
     }
     // fecha else
 }
Ejemplo n.º 8
0
 private function anexararquivo()
 {
     // pega as informa��es do arquivo
     $idArquivo = '';
     $Mensagem = '';
     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 (!isset($_FILES['arquivo'])) {
             parent::message("O arquivo n&atilde;o atende os requisitos informados no formul&aacute;rio.", "upload/form-enviar-arquivo-marca?idPronac={$idPronac}", "ERROR");
         }
         if (empty($_FILES['arquivo']['tmp_name'])) {
             parent::message("Favor selecionar um arquivo.", "upload/form-enviar-arquivo-marca?idPronac={$idPronac}", "ERROR");
         }
         $tipos = array('bmp', 'gif', 'jpeg', 'jpg', 'png', 'raw', 'tif', 'pdf');
         if (!in_array(strtolower($arquivoExtensao), $tipos)) {
             parent::message("Favor selecionar o arquivo de Marca no formato BMP, GIF, JPEG, JPG, PNG, RAW, TIF ou PDF!", "upload/form-enviar-arquivo-marca?idPronac={$idPronac}", "ERROR");
         }
         if (!empty($idPronac) && $idPronac != "0") {
             $dataString = file_get_contents($arquivoTemp);
             $arrData = unpack("H*hex", $dataString);
             $data = "0x" . $arrData['hex'];
             // ==================== PERSISTE DADOS DO ARQUIVO =================//
             $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'biArquivo' => $data, 'dsDocumento' => $observacao, 'idPronac' => $idPronac);
             $Arquivo = new Arquivo();
             $idArquivo = $Arquivo->inserirMarca($dadosArquivo);
         }
     }
     return array('idArquivo' => $idArquivo, 'Mensagem' => $Mensagem);
 }
Ejemplo n.º 9
0
 /**
  * M?todo que chama as fun??es de balancear projeto, copiar tabelas e alterar a situa??o do projeto
  * @access public
  * @param void
  * @return void
  */
 public function aprovacaodiretaAction()
 {
     $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo');
     // cria a sess?o com o grupo ativo
     $codOrgao = $GrupoAtivo->codOrgao;
     //  Órg?o ativo na sess?o
     $this->view->codOrgao = $codOrgao;
     $idPronac = $_POST['idpronac'];
     $idusuario = $_POST['idusuario'];
     $tipo_doc = $_POST['tipo_doc'];
     //$cod_ect = $_POST['cod_ect'];
     $cod_ect = null;
     //pega as informaç?es do arquivo
     $arquivoNome = $_FILES['documento']['name'];
     // nome
     $arquivoTemp = $_FILES['documento']['tmp_name'];
     // nome temporário
     $arquivoTipo = $_FILES['documento']['type'];
     // tipo
     $arquivoTamanho = $_FILES['documento']['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
     }
     $tbDoc = array('idPronac' => $idPronac, 'stEstado' => 0, 'imDocumento' => null, 'idTipoDocumento' => $tipo_doc, 'idUsuario' => $idusuario, 'dtDocumento' => '2008/12/21', 'NoArquivo' => $arquivoNome, 'TaArquivo' => $arquivoTamanho, 'idUsuarioJuntada' => null, 'dtJuntada' => null, 'idUnidadeCadastro' => $codOrgao, 'CodigoCorreio' => $cod_ect, 'biDocumento' => $arquivoBinario);
     $dados = "Insert into SAC.dbo.tbDocumento\n                  (idPronac, stEstado, imDocumento, idTipoDocumento, idUsuario, dtDocumento, NoArquivo, TaArquivo, idUsuarioJuntada, dtJuntada, idUnidadeCadastro, CodigoCorreio, biDocumento)\n                  values\n                  (" . $idPronac . ", 0, null, " . $tipo_doc . ", " . $idusuario . ", GETDATE(), '" . $arquivoNome . "', " . $arquivoTamanho . ", null, null, " . $codOrgao . ", '" . $cod_ect . "', " . $arquivoBinario . ")\n            ";
     $db = Zend_Registry::get('db');
     $db->setFetchMode(Zend_DB::FETCH_OBJ);
     try {
         $db->beginTransaction();
         if (empty($arquivoTemp)) {
             // nome do arquivo
             parent::message("Por favor, informe o arquivo!!", "gerenciarpareceres/index", "ALERT");
         } else {
             if (empty($arquivoTemp)) {
                 // nome do arquivo
                 parent::message("Por favor, informe o arquivo!", "gerenciarpareceres/index", "ALERT");
             } else {
                 if ($arquivoExtensao != 'pdf') {
                     // extens?o do arquivo
                     parent::message("O arquivo deve ser PDF!", "gerenciarpareceres/index", "ALERT");
                 } else {
                     if ($arquivoTamanho > 10485760) {
                         // tamanho do arquivo: 10MB
                         parent::message("O arquivo n?o pode ser maior do que 10MB!", "gerenciarpareceres/index", "ALERT");
                     } else {
                         $resultado = TramitarDocumentosDAO::cadDocumento($dados);
                         $tbHistoricoDoc = array('idPronac' => $idPronac, 'idDocumento' => $resultado, 'idUnidade' => $codOrgao, 'dtTramitacaoEnvio' => date('Y/m/d H:i:s'), 'idUsuarioEmissor' => $idusuario, 'meDespacho' => null, 'idLote' => null, 'dtTramitacaoRecebida' => null, 'idUsuarioReceptor' => null, 'Acao' => 1, 'stEstado' => 1);
                         $resultado2 = TramitarDocumentosDAO::cadHistorico('SAC.dbo.tbHistoricoDocumento', $tbHistoricoDoc);
                     }
                 }
             }
         }
         $this->_helper->viewRenderer->setNoRender();
         //$servico   = $this->_request->getParam("servico"); // pega o id do pronac via get
         $aprovacao = new Aprovacao();
         $parecer = new Parecer();
         $planilhaaprovacao = new PlanilhaAprovacao();
         $projeto = new Projetos();
         $planilhaProjeto = new PlanilhaProjeto();
         $analiseConteudo = new Analisedeconteudo();
         $analiseaprovacao = new AnaliseAprovacao();
         $Distribuicao = new DistribuicaoProjetoComissao();
         $reuniao = new Reuniao();
         $pauta = new Pauta();
         $sp = new paVerificarAtualizarSituacaoAprovacao();
         // copia as tabelas
         $buscarParecer = $parecer->buscar(array('idPronac = ?' => $idPronac, 'stAtivo = ?' => 1))->current()->toArray();
         $Rplanilhaprojeto = $planilhaProjeto->buscar(array('idPRONAC = ?' => $idPronac));
         foreach ($Rplanilhaprojeto as $resu) {
             $data = array('tpPlanilha' => 'CO', 'dtPlanilha' => date('Y-m-d H:i:s'), 'idPlanilhaProjeto' => $resu->idPlanilhaProjeto, 'idPlanilhaProposta' => $resu->idPlanilhaProposta, 'IdPRONAC' => $resu->idPRONAC, 'idProduto' => $resu->idProduto, 'idEtapa' => $resu->idEtapa, 'idPlanilhaItem' => $resu->idPlanilhaItem, 'dsItem' => '', 'idUnidade' => $resu->idUnidade, 'qtItem' => $resu->Quantidade, 'nrOcorrencia' => $resu->Ocorrencia, 'vlUnitario' => $resu->ValorUnitario, 'qtDias' => $resu->QtdeDias, 'tpDespesa' => $resu->TipoDespesa, 'tpPessoa' => $resu->TipoPessoa, 'nrContraPartida' => $resu->Contrapartida, 'nrFonteRecurso' => $resu->FonteRecurso, 'idUFDespesa' => $resu->UfDespesa, 'idMunicipioDespesa' => $resu->MunicipioDespesa, 'dsJustificativa' => $resu->Justificativa, 'stAtivo' => 'S');
             $inserirPlanilhaAprovacao = $planilhaaprovacao->inserir($data);
         }
         $RanaliseConteudo = $analiseConteudo->buscar(array('IdPRONAC = ?' => $idPronac));
         foreach ($RanaliseConteudo as $resu) {
             $data = array('tpAnalise' => 'CO', 'dtAnalise' => date('Y-m-d H:i:s'), 'idAnaliseConteudo' => $resu->idAnaliseDeConteudo, 'IdPRONAC' => $resu->idPronac, 'idProduto' => $resu->idProduto, 'stLei8313' => $resu->Lei8313, 'stArtigo3' => $resu->Artigo3, 'nrIncisoArtigo3' => $resu->IncisoArtigo3, 'dsAlineaArt3' => $resu->AlineaArtigo3, 'stArtigo18' => $resu->Artigo18, 'dsAlineaArtigo18' => $resu->AlineaArtigo18, 'stArtigo26' => $resu->Artigo26, 'stLei5761' => $resu->Lei5761, 'stArtigo27' => $resu->Artigo27, 'stIncisoArtigo27_I' => $resu->IncisoArtigo27_I, 'stIncisoArtigo27_II' => $resu->IncisoArtigo27_II, 'stIncisoArtigo27_III' => $resu->IncisoArtigo27_III, 'stIncisoArtigo27_IV' => $resu->IncisoArtigo27_IV, 'stAvaliacao' => $resu->ParecerFavoravel, 'dsAvaliacao' => $resu->ParecerDeConteudo);
             //xd($data);
             $analiseaprovacao->inserir($data);
         }
         $consolidarAprovacao = TratarString::escapeString($buscarParecer['ResumoParecer']);
         $somaPlanilhaAprovacao = $planilhaaprovacao->somarPlanilhaAprovacao($idPronac);
         $valoraprovacao = $somaPlanilhaAprovacao['soma'];
         $tipoAprovacao = $buscarParecer['TipoParecer'];
         $buscarprojetos = $projeto->buscar(array('IdPRONAC = ?' => $idPronac))->current()->toArray();
         $dados = array('IdPRONAC' => $idPronac, 'AnoProjeto' => $buscarprojetos['AnoProjeto'], 'Sequencial' => $buscarprojetos['Sequencial'], 'TipoAprovacao' => $tipoAprovacao, 'dtAprovacao' => date('Y-m-d H:i:s'), 'ResumoAprovacao' => $consolidarAprovacao, 'dtInicioCaptacao' => date('Y-m-d H:i:s'), 'dtFimCaptacao' => date('Y-12-31 11:59:59'), 'AprovadoReal' => $valoraprovacao, 'AprovadoUfir' => 0, 'AutorizadoUfir' => 0, 'AutorizadoReal' => 0, 'ConcedidoCusteioReal' => 0, 'ConcedidoCapitalReal' => 0, 'ContraPartidaReal' => 0, 'Logon' => $idusuario);
         $inserir = $aprovacao->inserir($dados);
         $buscarReuniaoAberta = $reuniao->buscarReuniaoAberta();
         $dadosPauta = array("idNrReuniao" => $buscarReuniaoAberta['idNrReuniao'], "IdPRONAC" => $idPronac, "dtEnvioPauta" => date("Y-m-d H:i:s"), "stEnvioPlenario" => "N", "tpPauta" => '1', "stAnalise" => 'AR', "dsAnalise" => 'AD Referendum');
         $inserirProjetoPauta = $pauta->inserir($dadosPauta);
         $verificarSituacao = $sp->expaVerificarAtualizarSituacaoAprovacao($idPronac);
         $db->commit();
         parent::message("Projeto aprovado com sucesso!", "gerenciarpareceres/index", "CONFIRM");
     } catch (Zend_Exception $ex) {
         $db->rollBack();
         parent::message("Erro ao realizar cadastro", "gerenciarpareceres/index", "ERROR");
     }
 }
 public function cadastrarProrrogacaoAction()
 {
     $projetos = new Projetos();
     $DadosProjeto = $projetos->buscar(array('idPronac = ?' => $_POST['pronac']))->current();
     $dataI = explode('/', $_POST['dtInicio']);
     $dtI = checkdate($dataI[1], $dataI[0], $dataI[2]);
     if (!$dtI) {
         parent::message("Data Início inválida.", "solicitarprorrogacao", "ERROR");
     }
     $dataF = explode('/', $_POST['dtFinal']);
     $dtF = checkdate($dataF[1], $dataF[0], $dataF[2]);
     if (!$dtF) {
         parent::message("Data Final inválida.", "solicitarprorrogacao", "ERROR");
     }
     $pa = new paChecklistSolicitacaoProrrogacaoPrazo();
     $resutadoPA = $pa->checkSolicitacao($_POST['pronac'], Data::dataAmericana($_POST['dtInicio']), Data::dataAmericana($_POST['dtFinal']), 'I');
     if (count($resutadoPA) > 0) {
         $Projetos = new Projetos();
         $this->view->dadosProjeto = $Projetos->buscar(array('IdPRONAC = ?' => $_POST['pronac']));
         $this->view->Erros = $resutadoPA;
     } else {
         //            $idDocumento = null;
         $idDocumento = '';
         if (!empty($_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 (!isset($_FILES['arquivo'])) {
                 parent::message("O arquivo n&atilde;o atende os requisitos informados no formul&aacute;rio.", "solicitarprorrogacao", "ERROR");
             }
             if (empty($_FILES['arquivo']['tmp_name'])) {
                 parent::message("Falha ao anexar o arquivo.", "solicitarprorrogacao", "ERROR");
             }
             $tipos = array('pdf');
             if (!in_array(strtolower($arquivoExtensao), $tipos)) {
                 parent::message("Favor selecionar o arquivo no formato PDF!", "solicitarprorrogacao", "ERROR");
             }
             $dataString = file_get_contents($arquivoTemp);
             $arrData = unpack("H*hex", $dataString);
             $data = "0x" . $arrData['hex'];
             // ==================== PERSISTE DADOS DO ARQUIVO =================//
             $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'biArquivo' => $data, 'dsDocumento' => 'Cadastro de Prorrogação de Prazo de Captação', 'idPronac' => $_POST['pronac'], 'idTipoDocumento' => 27);
             $Arquivo = new Arquivo();
             $Arquivo->inserirUploads($dadosArquivo);
             $DocumentoProjeto = new tbDocumentoProjetoBDCORPORATIVO();
             $dadosDocumento = $DocumentoProjeto->buscar(array('idPronac =?' => $_POST['pronac'], 'idTipoDocumento =?' => 27), array('idDocumento DESC'));
             $idDocumento = $dadosDocumento[0]->idDocumento;
         }
         $dados = array('idPronac' => $DadosProjeto->IdPRONAC, 'AnoProjeto' => $DadosProjeto->AnoProjeto, 'Sequencial' => $DadosProjeto->Sequencial, 'DtInicioExecucao' => $DadosProjeto->DtInicioExecucao, 'DtFimExecucao' => $DadosProjeto->DtFimExecucao, 'Justificativa' => $_POST['justificativa'], 'idUsuario' => $this->idUsuario, 'idDocumento' => $idDocumento, 'DtInicio' => Data::dataAmericana($_POST['dtInicio']), 'DtFinal' => Data::dataAmericana($_POST['dtFinal']));
         $vw = new vwSolicitarProrrogacaoPrazoCaptacao();
         $vw->inserir($dados);
         parent::message("Pedido de prorrogação enviado ao Ministério da Cultura com sucesso!", "consultardadosprojeto/index?idPronac=" . Seguranca::encrypt($DadosProjeto->IdPRONAC), "CONFIRM");
     }
 }
Ejemplo n.º 11
0
 public static function cadastrarArquivosMult($files = array())
 {
     if (empty($files)) {
         $files = $_FILES;
     }
     if (!empty($files)) {
         for ($i = 0; $i < count($files["arquivo"]["name"]); $i++) {
             // pega as informações do arquivo
             $arquivoNome = $files['arquivo']['name'][$i];
             // nome
             $arquivoTemp = $files['arquivo']['tmp_name'][$i];
             // nome temporário
             $arquivoTipo = $files['arquivo']['type'][$i];
             // tipo
             $arquivoTamanho = $files['arquivo']['size'][$i];
             // tamanho
             if (!empty($arquivoNome) && !empty($arquivoTemp)) {
                 $arquivoExtensao = Upload::getExtensao($arquivoNome);
                 // extensão
                 $arquivoBinario = Upload::setBinario($arquivoTemp);
                 // binário
                 $arquivoHash = Upload::setHash($arquivoTemp);
                 // hash
             }
             // cadastra dados do arquivo
             $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'dsTipo' => $arquivoTipo, 'nrTamanho' => $arquivoTamanho, 'dtEnvio' => new Zend_Db_Expr('GETDATE()'), 'dsHash' => $arquivoHash, 'stAtivo' => 'A');
             $cadastrarArquivo = ArquivoDAO::cadastrar($dadosArquivo);
             // pega o id do último arquivo cadastrado
             $idUltimoArquivo = ArquivoDAO::buscarIdArquivo();
             $idUltimoArquivo = (int) $idUltimoArquivo[0]->id;
             // cadastra o binário do arquivo
             $dadosBinario = array('idArquivo' => $idUltimoArquivo, 'biArquivo' => $arquivoBinario);
             $cadastrarBinario = ArquivoImagemDAO::cadastrar($dadosBinario);
         }
     }
     // fecha for
 }
Ejemplo n.º 12
0
 public function arquivoMarcaProjetoAction()
 {
     $post = Zend_Registry::get('post');
     $observacao = $post->observacao;
     $idProposta = $post->idPreProjeto;
     $idPronac = $post->idPronac;
     $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 (!isset($_FILES['arquivo'])) {
         parent::message("O arquivo n&atilde;o atende os requisitos informados no formul&aacute;rio.", "upload/form-enviar-arquivo-marca?idPronac={$idPronac}", "ERROR");
     }
     if (empty($_FILES['arquivo']['tmp_name'])) {
         parent::message("Favor selecionar um arquivo.", "upload/form-enviar-arquivo-marca?idPronac={$idPronac}", "ERROR");
     }
     $tipos = array('bmp', 'gif', 'jpeg', 'jpg', 'png', 'raw', 'tif', 'pdf');
     if (!in_array(strtolower($arquivoExtensao), $tipos)) {
         parent::message("Favor selecionar o arquivo de Marca no formato BMP, GIF, JPEG, JPG, PNG, RAW, TIF ou PDF!", "upload/form-enviar-arquivo-marca?idPronac={$idPronac}", "ERROR");
     }
     if (!empty($idPronac) && $idPronac != "0") {
         $dataString = file_get_contents($arquivoTemp);
         $arrData = unpack("H*hex", $dataString);
         $data = "0x" . $arrData['hex'];
         try {
             // ==================== PERSISTE DADOS DO ARQUIVO =================//
             $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'biArquivo' => $data, 'dsDocumento' => $observacao, 'idPronac' => $idPronac);
             $Arquivo = new Arquivo();
             $idArquivo = $Arquivo->inserirMarca($dadosArquivo);
             parent::message("Arquivo enviado com sucesso!", "upload/form-enviar-arquivo-marca?idPronac={$idPronac}", "CONFIRM");
         } catch (Exception $e) {
             parent::message("{$e}", "upload/form-enviar-arquivo-marca?idPronac={$idPronac}", "CONFIRM");
         }
     } else {
         parent::message("Pronac inv&aacute;lido.", "upload/form-enviar-arquivo-marca?idPronac={$idPronac}", "ERROR");
     }
 }
 private function anexararquivo()
 {
     // 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
         }
         // cadastra dados do arquivo
         // cadastra dados do arquivo
         $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'dsTipoPadronizado' => $arquivoTipo, 'nrTamanho' => $arquivoTamanho, 'dtEnvio' => new Zend_Db_Expr('GETDATE()'), 'dsHash' => $arquivoHash, 'stAtivo' => 'I');
         $cadastrarArquivo = ArquivoDAO::cadastrar($dadosArquivo);
         // pega o id do último arquivo cadastrado
         $idUltimoArquivo = ArquivoDAO::buscarIdArquivo();
         $idUltimoArquivo = (int) $idUltimoArquivo[0]->id;
         // cadastra o binário do arquivo
         $dadosBinario = array('idArquivo' => $idUltimoArquivo, 'biArquivo' => $arquivoBinario);
         $cadastrarBinario = ArquivoImagemDAO::cadastrar($dadosBinario);
     }
     return $idUltimoArquivo;
 }
Ejemplo n.º 14
0
 public function cadastrarProcuracaoAction()
 {
     $auth = Zend_Auth::getInstance();
     $idUsuarioAtivo = $auth->getIdentity()->IdUsuario;
     // ==================== Dados do arquivo de upload ===============================
     $arquivoNome = $_FILES['arquivoProcuracao']['name'];
     // nome
     $arquivoTemp = $_FILES['arquivoProcuracao']['tmp_name'];
     // nome tempor�rio
     $arquivoTipo = $_FILES['arquivoProcuracao']['type'];
     // tipo
     $arquivoTamanho = $_FILES['arquivoProcuracao']['size'];
     // tamanho
     $arquivoExtensao = Upload::getExtensao($arquivoNome);
     // extens�o
     $arquivoBinario = Upload::setBinario($arquivoTemp);
     // bin�rio
     $arquivoHash = Upload::setHash($arquivoTemp);
     // hash
     if (!isset($_FILES['arquivoProcuracao'])) {
         parent::message("O arquivo n&atilde;o atende os requisitos informados no formul&aacute;rio.", "procuracao/cadastramento", "ERROR");
     }
     $tipos = array("pdf");
     if (!in_array(strtolower($arquivoExtensao), $tipos)) {
         parent::message("Favor selecionar o arquivo da Procura&ccedil;&atilde;o em formato PDF!", "procuracao/cadastramento", "ERROR");
     }
     //        xd($arquivoExtensao);
     //
     //        if ($arquivoExtensao > 1024) {
     //            parent::message("Favor selecionar o arquivo da Procura&ccedil;&atilde;o em formato PDF!", "procuracao/cadastramento", "ERROR");
     //        }
     if (!isset($_POST['idPronac'])) {
         parent::message("Nenhum projeto foi selecionado!", "procuracao/cadastramento", "ERROR");
     }
     try {
         $tbArquivoDAO = new tbArquivo();
         $tbArquivoImagemDAO = new tbArquivoImagem();
         $tbDocumentoDAO = new tbDocumento();
         $tbProcuracao = new tbProcuracao();
         $tbProcuradorProjeto = new tbProcuradorProjeto();
         // ==================== Insere na Tabela tbArquivo ===============================
         $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'dsTipoPadronizado' => $arquivoTipo, 'nrTamanho' => $arquivoTamanho, 'dtEnvio' => new Zend_Db_Expr('GETDATE()'), 'dsHash' => $arquivoHash, 'stAtivo' => 'A');
         $idArquivo = $tbArquivoDAO->inserir($dadosArquivo);
         // ==================== Insere na Tabela tbArquivoImagem ===============================
         $dadosBinario = array('idArquivo' => $idArquivo, 'biArquivo' => new Zend_Db_Expr("CONVERT(varbinary(MAX), {$arquivoBinario})"));
         $idArquivo = $tbArquivoImagemDAO->inserir($dadosBinario);
         // ==================== Insere na Tabela tbDocumento ===============================
         $dados = array('idTipoDocumento' => 17, 'idArquivo' => $idArquivo, 'dsDocumento' => NULL, 'dtEmissaoDocumento' => NULL, 'dtValidadeDocumento' => NULL, 'idTipoEventoOrigem' => NULL, 'nmTitulo' => 'Procuracao');
         $idDocumento = $tbDocumentoDAO->inserir($dados);
         $idDocumento = $idDocumento['idDocumento'];
         //Cadastra a procuracao
         $dadosProcuracao = array('idAgente' => $_POST['idAgenteProcurador'], 'idDocumento' => $idDocumento, 'dtProcuracao' => new Zend_Db_Expr('GETDATE()'), 'siProcuracao' => 0, 'dsJustificativa' => $_POST['dsJustificativa'], 'idSolicitante' => $idUsuarioAtivo);
         $idProcuracao = $tbProcuracao->inserir($dadosProcuracao);
         //Cadastra os projetos relacionados a procuracao cadastrada
         foreach ($_POST['idPronac'] as $idPronac) {
             $dadosProcuradorProjeto = array('idProcuracao' => $idProcuracao, 'idPronac' => $idPronac, 'siEstado' => 0);
             $tbProcuradorProjeto->inserir($dadosProcuradorProjeto);
         }
         parent::message("Procura&ccedil;&atilde;o cadastrada com sucesso!", "procuracao/index", "CONFIRM");
     } catch (Zend_Exception $e) {
         parent::message("Error" . $e->getMessage(), "procuracao/index", "ERROR");
     }
     exit;
 }
 public function cadastraranexoAction()
 {
     /* =============================================================================== */
     /* ==== VERIFICA PERMISSAO DE ACESSO DO PROPONENTE A PROPOSTA OU AO PROJETO ====== */
     /* =============================================================================== */
     $this->verificarPermissaoAcesso(false, true, false);
     $this->_helper->layout->disableLayout();
     $post = Zend_Registry::get('post');
     $idlicitacao = $post->idlicitacao;
     $iddispensa = $post->iddispensa;
     $idcontrato = $post->idcontrato;
     $idcotacao = $post->idcotacao;
     $idpronac = $post->idpronac;
     // 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) && !empty($arquivoTemp)) {
         $arquivoExtensao = Upload::getExtensao($arquivoNome);
         // extensão
         $arquivoBinario = Upload::setBinario($arquivoTemp);
         // binário
         $arquivoHash = Upload::setHash($arquivoTemp);
         // hash
         // cadastra dados do arquivo
         if ($arquivoExtensao != 'doc' and $arquivoExtensao != 'docx' and $arquivoExtensao != '') {
             // cadastra dados do arquivo
             $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'dsTipoPadronizado' => $arquivoTipo, 'nrTamanho' => $arquivoTamanho, 'dtEnvio' => new Zend_Db_Expr('GETDATE()'), 'dsHash' => $arquivoHash, 'stAtivo' => 'A');
             $cadastrarArquivo = ArquivoDAO::cadastrar($dadosArquivo);
             // pega o id do último arquivo cadastrado
             $idUltimoArquivo = ArquivoDAO::buscarIdArquivo();
             $idUltimoArquivo = (int) $idUltimoArquivo[0]->id;
             // cadastra o binário do arquivo
             $dadosBinario = array('idArquivo' => $idUltimoArquivo, 'biArquivo' => $arquivoBinario);
             $cadastrarBinario = ArquivoImagemDAO::cadastrar($dadosBinario);
             if ($idlicitacao) {
                 $ArquivoLicitacaoDao = new Arquivolicitacao();
                 $ArquivoLicitacaoDao->insert(array('idLicitacao' => $idlicitacao, 'idArquivo' => $idUltimoArquivo));
                 parent::message('Anexado com sucesso!', '/comprovarexecucaofinanceira/alterarlicitacao' . '?idusuario=' . $this->view->idusuario . '&idpronac=' . $idpronac . '&idlicitacao=' . $idlicitacao, 'CONFIRM');
             }
             if ($iddispensa) {
                 $ArquivoDispensaLicitacaoDao = new Arquivodispensalicitacao();
                 $ArquivoDispensaLicitacaoDao->insert(array('idDispensaLicitacao' => $iddispensa, 'idArquivo' => $idUltimoArquivo));
                 parent::message('Anexado com sucesso!', '/comprovarexecucaofinanceira/incluirdispensa' . '?idusuario=' . $this->view->idusuario . '&idpronac=' . $idpronac . '&iddispensa=' . $iddispensa, 'CONFIRM');
             }
             if ($idcontrato) {
                 $ArquivoContratoDao = new Arquivocontrato();
                 $ArquivoContratoDao->insert(array('idContrato' => $idcontrato, 'idArquivo' => $idUltimoArquivo));
                 parent::message('Anexado com sucesso!', '/comprovarexecucaofinanceira/incluircontrato' . '?idusuario=' . $this->view->idusuario . '&idpronac=' . $idpronac . '&idcontrato=' . $idcontrato, 'CONFIRM');
             }
             if ($idcotacao) {
                 $ArquivoCotacaoDao = new Arquivocotacao();
                 $ArquivoCotacaoDao->insert(array('idCotacao' => $idcotacao, 'idArquivo' => $idUltimoArquivo));
                 parent::message('Anexado com sucesso!', '/comprovarexecucaofinanceira/incluircotacao' . '?idusuario=' . $this->view->idusuario . '&idpronac=' . $idpronac . '&idcotacao=' . $idcotacao, 'CONFIRM');
             }
             /*$this->view->idlicitacao    = $idlicitacao;
               $this->view->iddispensa     = $iddispensa;
               $this->view->idcontrato     = $idcontrato;
               $this->view->idcotacao      = $idcotacao;
               $this->view->idpronac       = $idpronac;*/
         } else {
             /*$this->view->erro = true;
               $this->view->mensagemErro = 'Arquivo com extens&atilde;o invalida!';*/
             if ($idlicitacao) {
                 parent::message('Arquivo com extens&atilde;o inválida!', '/comprovarexecucaofinanceira/alterarlicitacao' . '?idusuario=' . $this->view->idusuario . '&idpronac=' . $idpronac . '&idlicitacao=' . $idlicitacao, 'ERROR');
             }
             if ($iddispensa) {
                 parent::message('Arquivo com extens&atilde;o inválida!', '/comprovarexecucaofinanceira/incluirdispensa' . '?idusuario=' . $this->view->idusuario . '&idpronac=' . $idpronac . '&iddispensa=' . $iddispensa, 'ERROR');
             }
             if ($idcontrato) {
                 parent::message('Arquivo com extens&atilde;o inválida!', '/comprovarexecucaofinanceira/incluircontrato' . '?idusuario=' . $this->view->idusuario . '&idpronac=' . $idpronac . '&idcontrato=' . $idcontrato, 'ERROR');
             }
             if ($idcotacao) {
                 parent::message('Arquivo com extens&atilde;o inválida!', '/comprovarexecucaofinanceira/incluircotacao' . '?idusuario=' . $this->view->idusuario . '&idpronac=' . $idpronac . '&idcotacao=' . $idcotacao, 'ERROR');
             }
         }
     } else {
         $this->view->erro = true;
         $this->view->mensagemErro = 'Selecione um arquivo para anexar!';
     }
 }
Ejemplo n.º 16
0
 /**
  * Método assinouRpaParecerista()
  * Assinou RPA do Parecerista
  * @access public
  * @param void
  * @return void
  */
 public function assinouRpaPareceristaAction()
 {
     $auth = Zend_Auth::getInstance();
     $modelGerarPagamentoParecerista = new GerarPagamentoParecerista();
     $idGerarPagamentoParecerista = $this->_request->getParam('idGerarPagamentoParecerista');
     $idAgente = $this->_request->getParam('idAgente');
     try {
         if (!empty($_FILES['arquivo']['tmp_name'])) {
             $arquivoNome = $_FILES['arquivo']['name'];
             // nome
             $arquivoTemp = $_FILES['arquivo']['tmp_name'];
             // nome temporário
             $arquivoTamanho = $_FILES['arquivo']['size'];
             // tamanho
             if (!empty($arquivoNome)) {
                 $arquivoExtensao = Upload::getExtensao($arquivoNome);
                 // extensão
             }
             if (!isset($_FILES['arquivo'])) {
                 parent::message("O arquivo n&atilde;o atende os requisitos informados no formul&aacute;rio.", "parecerista/confirmacao-pagamento-parecerista", "ALERT");
             }
             if (empty($_FILES['arquivo']['tmp_name'])) {
                 parent::message("Favor selecionar um arquivo RPA.", "parecerista/confirmacao-pagamento-parecerista", "ALERT");
             }
             $tipos = array('jpeg', 'jpg', 'png', 'pdf');
             if (!in_array(strtolower($arquivoExtensao), $tipos)) {
                 parent::message("Favor selecionar o arquivo de Marca no formato JPEG, JPG, PNG ou PDF!", "parecerista/confirmacao-pagamento-parecerista", "ALERT");
             }
             $dataString = file_get_contents($arquivoTemp);
             $arrData = unpack("H*hex", $dataString);
             $data = "0x" . $arrData['hex'];
             // cadastra dados do arquivo
             $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'nrTamanho' => $arquivoTamanho, 'stAtivo' => 'A', 'biArquivo' => $data, 'idDocumento' => NULL, 'idTipoDocumento' => 36, 'dsDocumento' => 'RPA Assinado Enviado pelo Parecerista', 'idAgente' => $idAgente, 'stAtivoDocumentoAgente' => 1);
             $vwAnexarDocumentoAgente = new vwAnexarDocumentoAgente();
             $vwAnexarDocumentoAgente->inserirUploads($dadosArquivo);
             $ultimoArquivo = ArquivoDAO::buscarIdArquivo();
             $idUltimoArquivo = (int) $ultimoArquivo[0]->id;
             $arquivoParecerista = new ArquivoPagamentoParecerista();
             $arquivoParecerista->inserirArquivodePagamento($idGerarPagamentoParecerista, $idUltimoArquivo, 2);
             // Mudar a situação do pagamento para 5 = pagamento confirmado pelo parecerista
             $dados = array('siPagamento' => 5, 'idUsuario' => $auth->getIdentity()->usu_codigo);
             $modelGerarPagamentoParecerista->update($dados, array('idGerarPagamentoParecerista = ?' => $idGerarPagamentoParecerista));
             parent::message('Pagamento confirmado com sucesso!', 'parecerista/confirmacao-pagamento-parecerista', 'CONFIRM');
         } else {
             parent::message('É preciso fazer o Upload do RPA assinado!', 'parecerista/confirmacao-pagamento-parecerista', 'ALERT');
         }
     } catch (Exception $exc) {
         parent::message('Erro ao confirmar o pagamento! ' . $exc->getMessage(), 'parecerista/confirmacao-pagamento-parecerista', 'ERROR');
     }
 }
 public function cadastraranexo($arquivoNome, $arquivoTemp, $arquivoTipo, $arquivoTamanho)
 {
     // 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) && !empty($arquivoTemp)) {
         //xd($arquivoNome);
         $arquivoExtensao = Upload::getExtensao($arquivoNome);
         // extens?o
         $arquivoBinario = Upload::setBinario($arquivoTemp);
         // binário
         $arquivoHash = Upload::setHash($arquivoTemp);
         // hash
         // cadastra dados do arquivo
         //if($arquivoExtensao != 'doc' and $arquivoExtensao != 'docx' and $arquivoExtensao != ''){
         // cadastra dados do arquivo
         $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'dsTipoPadronizado' => $arquivoTipo, 'nrTamanho' => $arquivoTamanho, 'dtEnvio' => new Zend_Db_Expr('GETDATE()'), 'dsHash' => $arquivoHash, 'stAtivo' => 'A');
         $cadastrarArquivo = ArquivoDAO::cadastrar($dadosArquivo);
         // pega o id do último arquivo cadastrado
         $idUltimoArquivo = ArquivoDAO::buscarIdArquivo();
         $idUltimoArquivo = (int) $idUltimoArquivo[0]->id;
         // cadastra o binário do arquivo
         $dadosBinario = array('idArquivo' => $idUltimoArquivo, 'biArquivo' => $arquivoBinario);
         $cadastrarBinario = ArquivoImagemDAO::cadastrar($dadosBinario);
         return $idUltimoArquivo;
     } else {
     }
     /*
               else{
               $this->view->erroextensao = true;
               } */
 }
Ejemplo n.º 18
0
 /**
  * Método salvaatestado()
  * Salva o atestado do Parecerista
  * @access public
  * @param void
  * @return void
  */
 public function salvaatestadoAction()
 {
     $this->autenticacao();
     $dtAtual = Date("Y/m/d h:i:s");
     $idAgente = $this->_request->getParam("id");
     $dtInicio = $this->formatadata($this->_request->getParam("dtinicio"));
     $dtFim = $this->formatadata($this->_request->getParam("dtfim"));
     $impacto = $this->_request->getParam("impacto");
     $tbAusencia = new TbAusencia();
     $tbDocumento = new tbDocumento();
     $tbArquivo = new tbArquivo();
     $tbArquivoImagem = new tbArquivoImagem();
     // 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
     }
     $db = Zend_Registry::get('db');
     $db->setFetchMode(Zend_DB::FETCH_OBJ);
     try {
         $db->beginTransaction();
         $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'stAtivo' => 'A', 'dsHash' => $arquivoHash, 'dtEnvio' => $dtAtual);
         $salvarArquivo = $tbArquivo->cadastrarDados($dadosArquivo);
         $idArquivo = $tbArquivo->buscarUltimo();
         $dadosArquivoImagem = array('idArquivo' => $idArquivo['idArquivo'], 'biArquivo' => $arquivoBinario);
         $dadosAI = "Insert into BDCORPORATIVO.scCorp.tbArquivoImagem \n\t\t\t\t  (idArquivo, biArquivo) values (" . $idArquivo['idArquivo'] . ", " . $arquivoBinario . ") ";
         $salvarArquivoImagem = $tbArquivoImagem->salvarDados($dadosAI);
         $dadosDocumento = array('idTipoDocumento' => 0, 'idArquivo' => $idArquivo['idArquivo']);
         $salvarDocumento = $tbDocumento->cadastrarDados($dadosDocumento);
         $ultimoDocumento = $tbDocumento->ultimodocumento();
         $dadosAusencia = array('idTipoAusencia' => 1, 'idAgente' => $idAgente, 'dtInicioAusencia' => $dtInicio, 'dtFimAusencia' => $dtFim, 'stImpacto' => $impacto, 'idDocumento' => $ultimoDocumento['idDocumento'], 'siAusencia' => 0, 'dsJustificativaAusencia' => '', 'dtCadastroAusencia' => $dtAtual);
         // salva o novo registro
         $salvar = $tbAusencia->inserir($dadosAusencia);
         // Busca o id do registro cadastrado
         $ultimoRegistro = $tbAusencia->UltimoRegistro();
         // Monta o array com o id do ultimo registro cadastrado
         $dados = array('idAlteracao' => $ultimoRegistro[0]->id);
         // Alterar o ultimo registro cadastrado colocando o seu próprio id no campo idalteração
         $altera = $tbAusencia->alteraAusencia($dados, $ultimoRegistro[0]->id);
         /* ********************************************************************************************** */
         if ($impacto = 1) {
             // Tem que pegar todos os produtos que estão como Parecerista e devolver para o Coord.
             // Criar uma função para isso!
             $tbDistribuirParecer = new tbDistribuirParecer();
             $projetoDAO = new Projetos();
             $projetos = $projetoDAO->buscaProjetosProdutosAnaliseInicial(array('idAgenteParecerista = ?' => $idAgente, 'DtDistribuicao >= ?' => '' . $dtInicio . '', 'DtDistribuicao <= ?' => '' . $dtFim . ''));
             foreach ($projetos as $p) {
                 $dados = array('Observacao' => 'Devolvido por motivo de atestado médico.', 'idUsuario' => $this->getIdUsuario, 'DtDevolucao' => $dtAtual);
                 $salvar = $tbDistribuirParecer->atualizarParecer($dados, $p->idDistribuirParecer);
             }
         }
         /* ********************************************************************************************** */
         $db->commit();
         parent::message("Cadastro realizado com sucesso!", "agentes/atestados/id/" . $idAgente, "CONFIRM");
     } catch (Exception $e) {
         $db->rollBack();
         parent::message("Erro ao cadastrar! " . $e->getMessage(), "agentes/atestados/id/" . $idAgente, "ERROR");
     }
 }
 /**
  * Método para enviar o arquivo txt do banco do brasil
  * @access public
  * @param void
  * @return void
  */
 public function uploadAction()
 {
     if ($this->getIdGrupo != 121 && $this->getIdGrupo != 122 && $this->getIdGrupo != 129) {
         parent::message('Você não tem permissão para acessar essa área do sistema!', 'principal/index', 'ALERT');
     }
     // caso o formulário seja enviado via post
     if ($this->getRequest()->isPost()) {
         // configuração o php.ini para 100MB
         @set_time_limit(0);
         @ini_set('mssql.textsize', 10485760000);
         @ini_set('mssql.textlimit', 10485760000);
         @ini_set('mssql.timeout', 10485760000);
         @ini_set('upload_max_filesize', '100M');
         // 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) && !empty($arquivoTemp)) {
             $arquivoExtensao = strtolower(Upload::getExtensao($arquivoNome));
             // extensão
         }
         // caminho do arquivo txt
         $so = stripos($_SERVER['SERVER_SOFTWARE'], 'win32') != FALSE ? 'WINDOWS' : 'LINUX';
         // sistema operacional
         $bar = $so == 'WINDOWS' ? '\\' : '/';
         // configura a barra de acordo com o SO
         $this->arquivoTXT = getcwd() . $bar . 'public' . $bar . 'txt' . $bar . $this->arquivoTXT;
         // diretório interno do arquivo
         $dir = $this->arquivoTXT;
         // diretório onde se encontram os arquivos do banco
         try {
             // integração MODELO e VISÃO
             if (empty($arquivoTemp)) {
                 throw new Exception('Por favor, informe o arquivo!');
             } else {
                 if ($arquivoExtensao != 'ret' && $arquivoExtensao != 'txt' || $arquivoTipo != 'text/plain' && $arquivoTipo != 'application/octet-stream') {
                     throw new Exception('A extensão do arquivo é inválida, envie somente arquivos <strong>.txt</strong>!');
                 } else {
                     $this->tbDepositoIdentificadoMovimentacao = new tbDepositoIdentificadoMovimentacao();
                     // verifica se existe algum dado na tabela
                     $buscar = $this->tbDepositoIdentificadoMovimentacao->buscar()->toArray();
                     if (count($buscar) > 0) {
                         throw new Exception('Aguarde um momento, pois, já existe um arquivo sendo processado!');
                     } else {
                         if (file_exists($dir . '/' . $arquivoNome)) {
                             throw new Exception('O arquivo <strong>' . $arquivoNome . '</strong> já existe!');
                         } else {
                             // envia o arquivo
                             if (move_uploaded_file($arquivoTemp, $dir . '/' . $arquivoNome)) {
                                 // abre o diretório
                                 if (($abrir = opendir($dir)) === false) {
                                     throw new Exception('Não foi possível abrir o diretório <strong>' . $dir . '</strong>!');
                                 }
                                 // busca todos os arquivos do diretório
                                 $i = 0;
                                 while (($arq = readdir($abrir)) !== false) {
                                     // verifica se a extensão do arquivo é .txt ou .ret
                                     if (substr(strtolower($arq), -4) == '.txt' || substr(strtolower($arq), -4) == '.ret') {
                                         // array contendo o caminho/nome completo de cada arquivo
                                         $arquivos[] = $dir . $bar . $arq;
                                         if ($i == 0) {
                                             // abre o arquivo para leitura
                                             $abrir_arquivo_header = fopen($arquivos[0], 'r');
                                             // pega a linha do arquivo
                                             $linha_header = fgets($abrir_arquivo_header, 4096);
                                             // faz a validação do arquivo de acordo com o layout
                                             $nr_banco = substr($linha_header, 76, 3);
                                             // NÚMERO DO BANCO
                                             $nm_arquivo = substr($linha_header, 11, 15);
                                             // NOME DO ARQUIVO
                                             $dt_arquivo = substr($linha_header, 181, 8);
                                             // DATA DA GERAÇÃO DO ARQUIVO
                                             //										$dt_inicio_movimentacao = substr($linha_header, 52, 8); // DATA DE INÍCIO DA MOVIMENTAÇÃO BANCÁRIA
                                             //										$dt_fim_movimentacao    = substr($linha_header, 60, 8); // DATA FINAL DA MOVIMENTAÇÃO BANCÁRIA
                                             // faz a validação do arquivo pelo header
                                             // verifica pelo header se o arquivo já existe
                                             if (substr($linha_header, 0, 1) == 0) {
                                                 //											if (!is_numeric($nr_banco) || !Data::validarData($dt_arquivo) || !Data::validarData($dt_inicio_movimentacao) || !Data::validarData($dt_fim_movimentacao))
                                                 if (!is_numeric($nr_banco) || !Data::validarData($dt_arquivo)) {
                                                     // fecha o arquivo
                                                     fclose($abrir_arquivo_header);
                                                     // exclui o arquivo
                                                     unlink($arquivos[0]);
                                                     throw new Exception('O layout do arquivo enviado é inválido!');
                                                 }
                                                 // busca a data de geração do arquivo para evitar inserção de registros duplicados
                                                 $dataGeracaoArquivo = Data::dataAmericana(Mascara::addMaskDataBrasileira($dt_arquivo));
                                                 // verifica se o arquivo já está cadastrado no banco de dados
                                                 $this->tbMovimentacaoBancaria = new tbMovimentacaoBancaria();
                                                 $buscarArquivoCadastrado = $this->tbMovimentacaoBancaria->buscar(array('dtArquivo = ?' => $dataGeracaoArquivo));
                                                 if (count($buscarArquivoCadastrado) > 0) {
                                                     // fecha o arquivo
                                                     fclose($abrir_arquivo_header);
                                                     // exclui o arquivo
                                                     unlink($arquivos[0]);
                                                     throw new Exception('Esse arquivo já foi enviado!');
                                                 }
                                                 $i++;
                                             }
                                             // fecha o arquivo
                                             fclose($abrir_arquivo_header);
                                             // exclui o arquivo
                                             unlink($arquivos[$i]);
                                         }
                                         // fecha if ($i == 0)
                                     }
                                     // fecha if
                                 }
                                 // fecha while
                                 // caso exista arquivo(s) .txt ou .ret no diretório:
                                 // 	1. Varre o conteúdo de cada arquivo
                                 // 	2. Grava o conteúdo de cada linha no banco
                                 // 	3. Deleta o arquivo do diretório
                                 if (isset($arquivos) && count($arquivos) > 0) {
                                     // ========== INÍCIO - VARRE O ARQUIVO DETALHADAMENTE ==========
                                     foreach ($arquivos as $arquivoTXT) {
                                         // abre o arquivo para leitura
                                         $abrir_arquivo = fopen($arquivoTXT, 'r');
                                         // início while de leitura do arquivo linha por linha
                                         $i = 0;
                                         $dsInformacao = array();
                                         while (!feof($abrir_arquivo)) {
                                             // pega a linha do arquivo
                                             $linha = fgets($abrir_arquivo, 4096);
                                             // caso a linha não seja vazia e o primeiro caractere for numérico
                                             if (!empty($linha) && is_numeric(substr($linha, 0, 1))) {
                                                 // armazena as linhas do arquivo em um array
                                                 $dsInformacao[$i] = trim($linha);
                                             }
                                             $i++;
                                         }
                                         // fim while de leitura do arquivo linha por linha
                                         // fecha o arquivo
                                         fclose($abrir_arquivo);
                                         // exclui o arquivo
                                         unlink($arquivoTXT);
                                         $auth = Zend_Auth::getInstance();
                                         // pega a autenticação
                                         // grava linha por linha do arquivo no banco
                                         foreach ($dsInformacao as $ds) {
                                             if (!$this->tbDepositoIdentificadoMovimentacao->inserir(array('dsInformacao' => $ds, 'idUsuario' => $auth->getIdentity()->usu_codigo))) {
                                                 throw new Exception('Erro ao enviar arquivo!');
                                             }
                                         }
                                     }
                                     // ========== FIM - VARRE O ARQUIVO DETALHADAMENTE ==========
                                     //$this->tbDepositoIdentificadoMovimentacao->DepositoIdentificadoMovimentacao();
                                 }
                                 // fecha if
                                 parent::message('Arquivo enviado com sucesso!', 'controlarmovimentacaobancaria/upload', 'CONFIRM');
                             } else {
                                 parent::message('Erro ao enviar arquivo!', 'controlarmovimentacaobancaria/upload', 'ERROR');
                             }
                         }
                     }
                     // fecha else
                 }
             }
         } catch (Exception $e) {
             $this->view->message = $e->getMessage();
             $this->view->message_type = 'ERROR';
         }
     }
     // fecha if post
 }
 public function cadastrarDocumentoAction()
 {
     $pronac = $this->_request->getParam("Pronac");
     $tpDocumento = $this->_request->getParam("tpDocumento");
     if (empty($pronac) || empty($tpDocumento)) {
         parent::message("Favor preencher os dados obrigatórios!", "anexardocumentosminc", "ERROR");
     }
     try {
         $projetos = new Projetos();
         $dadosProjeto = $projetos->buscarIdPronac($pronac);
         if (!empty($_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 (!isset($_FILES['arquivo'])) {
                 parent::message("O arquivo n&atilde;o atende os requisitos informados no formul&aacute;rio.", "anexardocumentosminc", "ERROR");
             }
             if (empty($_FILES['arquivo']['tmp_name'])) {
                 parent::message("Favor selecionar um arquivo.", "anexardocumentosminc", "ERROR");
             }
             $tipos = array('pdf');
             if (!in_array(strtolower($arquivoExtensao), $tipos)) {
                 parent::message("Favor selecionar o arquivo no formato PDF!", "anexardocumentosminc", "ERROR");
             }
             $dataString = file_get_contents($arquivoTemp);
             $arrData = unpack("H*hex", $dataString);
             $data = "0x" . $arrData['hex'];
             // ==================== PERSISTE DADOS DO ARQUIVO =================//
             $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'biArquivo' => $data, 'dsDocumento' => 'Anexar Documento - MINC', 'idPronac' => $dadosProjeto->IdPRONAC, 'idTipoDocumento' => $tpDocumento);
             $Arquivo = new Arquivo();
             $Arquivo->inserirUploads($dadosArquivo);
         }
         parent::message("Anexo cadastrado com sucesso!", "anexardocumentosminc", "CONFIRM");
     } catch (Exception $e) {
         parent::message("Erro ao salvar os dados.", "anexardocumentosminc", "ERROR");
     }
 }
 /**
  * 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();
         }
     }
 }
 /**
  * Método para enviar o arquivo txt do banco do brasil
  * @access public
  * @param void
  * @return void
  */
 public function uploadAction()
 {
     /*if ($this->getIdGrupo != 121 && $this->getIdGrupo != 129) // só Técnico de Acompanhamento que pode acessar
     		{
     			parent::message('Você não tem permissão para acessar essa área do sistema!', 'principal/index', 'ALERT');
     		}*/
     // caso o formulário seja enviado via post
     if ($this->getRequest()->isPost()) {
         // configuração o php.ini para 100MB
         @set_time_limit(0);
         @ini_set('mssql.textsize', 10485760000);
         @ini_set('mssql.textlimit', 10485760000);
         @ini_set('mssql.timeout', 10485760000);
         @ini_set('upload_max_filesize', '100M');
         // 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) && !empty($arquivoTemp)) {
             $arquivoExtensao = strtolower(Upload::getExtensao($arquivoNome));
             // extensão
         }
         // caminho do arquivo txt
         $so = stripos($_SERVER['SERVER_SOFTWARE'], 'win32') != FALSE ? 'WINDOWS' : 'LINUX';
         // sistema operacional
         $bar = $so == 'WINDOWS' ? '\\' : '/';
         // configura a barra de acordo com o SO
         $this->arquivoTXT = getcwd() . $bar . 'public' . $bar . 'txt' . $bar . $this->arquivoTXT;
         // diretório interno do arquivo
         $dir = $this->arquivoTXT;
         // diretório onde se encontram os arquivos do banco
         if (!is_dir($dir)) {
             if (!mkdir($dir, 0755, true)) {
                 throw new RuntimeException("Não foi possível criar a pasta para salvar o arquivo");
             }
         }
         try {
             // integração MODELO e VISÃO
             if (empty($arquivoTemp)) {
                 throw new Exception('Por favor, informe o arquivo!');
             } else {
                 if ($arquivoExtensao != 'ret' && $arquivoExtensao != 'txt' || $arquivoTipo != 'text/plain' && $arquivoTipo != 'application/octet-stream' && $arquivoTipo != '') {
                     throw new Exception('A extensão do arquivo é inválida, envie somente arquivos <strong>.txt</strong> ou <strong>.ret</strong>!');
                 } else {
                     if ($arquivoTamanho > 14680064) {
                         throw new Exception('O arquivo não pode ser maior do que <strong>14MB</strong>!');
                     } else {
                         if ($arquivoTamanho <= 150) {
                             throw new Exception('O layout do arquivo enviado é inválido!');
                         } else {
                             $this->tbDepositoIdentificadoCaptacao = new tbDepositoIdentificadoCaptacao();
                             $this->tbTmpDepositoIdentificado = new tbTmpDepositoIdentificado();
                             // verifica se existe algum dado na tabela
                             $buscar = $this->tbDepositoIdentificadoCaptacao->buscar()->toArray();
                             if (count($buscar) > 0) {
                                 throw new Exception('Aguarde um momento, pois, já existe um arquivo sendo processado!');
                             } else {
                                 if (file_exists($dir . '/' . $arquivoNome)) {
                                     throw new Exception('O arquivo <strong>' . $arquivoNome . '</strong> já existe!');
                                 } else {
                                     // envia o arquivo
                                     if (move_uploaded_file($arquivoTemp, $dir . '/' . $arquivoNome)) {
                                         // abre o diretório
                                         if (($abrir = opendir($dir)) === false) {
                                             throw new Exception('Não foi possível abrir o diretório <strong>' . $dir . '</strong>!');
                                         }
                                         // busca todos os arquivos do diretório
                                         $i = 0;
                                         while (($arq = readdir($abrir)) !== false) {
                                             // verifica se a extensão do arquivo é .txt ou .ret
                                             if (substr(strtolower($arq), -4) == '.txt' || substr(strtolower($arq), -4) == '.ret') {
                                                 // array contendo o caminho/nome completo de cada arquivo
                                                 $arquivos[] = $dir . $bar . $arq;
                                                 if ($i == 0) {
                                                     // abre o arquivo para leitura
                                                     $abrir_arquivo_header = fopen($arquivos[0], 'r');
                                                     // pega a linha do arquivo
                                                     $linha_header = fgets($abrir_arquivo_header, 4096);
                                                     // faz a validação do arquivo de acordo com o layout
                                                     $sequencial = substr($linha_header, 1, 4);
                                                     // SEQUENCIAL
                                                     $cliente = substr($linha_header, 5, 5);
                                                     // CLIENTE: MINC
                                                     $data_geracao = substr($linha_header, 10, 8);
                                                     // DATA DE GERAÇÃO DO ARQUIVO
                                                     $referencia = substr($linha_header, 18, 6);
                                                     // MÊS E ANO DE REFERÊNCIA DOS DEPÓSITOS
                                                     // faz a validação do arquivo pelo header
                                                     // verifica pelo header se o arquivo já existe
                                                     if (substr($linha_header, 0, 1) == 1) {
                                                         if (!is_numeric($sequencial) || trim(strtoupper($cliente)) != 'MINC' || !Data::validarData($data_geracao) || !Data::validarData('01' . $referencia)) {
                                                             // fecha o arquivo
                                                             fclose($abrir_arquivo_header);
                                                             // exclui o arquivo
                                                             unlink($arquivos[0]);
                                                             throw new Exception('O layout do arquivo enviado é inválido!');
                                                         }
                                                         // busca a data de geração do arquivo para evitar inserção de registros duplicados
                                                         //$dataGeracaoArquivo = Data::dataAmericana(Mascara::addMaskDataBrasileira($data_geracao));
                                                         // verifica se o arquivo já está cadastrado no banco de dados
                                                         $buscarArquivoCadastrado = $this->tbTmpDepositoIdentificado->buscar(array('dtGeracao = ?' => $data_geracao));
                                                         if (count($buscarArquivoCadastrado) > 0) {
                                                             // fecha o arquivo
                                                             fclose($abrir_arquivo_header);
                                                             // exclui o arquivo
                                                             unlink($arquivos[0]);
                                                             throw new Exception('Esse arquivo já foi enviado!');
                                                         }
                                                         $i++;
                                                     }
                                                     if (!is_numeric($sequencial) || trim(strtoupper($cliente)) != 'MINC' || !Data::validarData($data_geracao) || !Data::validarData('01' . $referencia)) {
                                                         // fecha o arquivo
                                                         fclose($abrir_arquivo_header);
                                                         // exclui o arquivo
                                                         unlink($arquivos[0]);
                                                         throw new Exception('O layout do arquivo enviado é inválido!');
                                                     }
                                                     // fecha o arquivo
                                                     fclose($abrir_arquivo_header);
                                                     // exclui o arquivo
                                                     if (isset($arquivos[$i])) {
                                                         unlink($arquivos[$i]);
                                                     }
                                                 }
                                                 // fecha if ($i == 0)
                                             }
                                             // fecha if
                                         }
                                         // fecha while
                                         // caso exista arquivo(s) .txt ou .ret no diretório:
                                         // 	1. Varre o conteúdo de cada arquivo
                                         // 	2. Grava o conteúdo de cada linha no banco
                                         // 	3. Deleta o arquivo do diretório
                                         if (isset($arquivos) && count($arquivos) > 0) {
                                             // ========== INÍCIO - VARRE O ARQUIVO DETALHADAMENTE ==========
                                             foreach ($arquivos as $arquivoTXT) {
                                                 // abre o arquivo para leitura
                                                 $abrir_arquivo = fopen($arquivoTXT, 'r');
                                                 // início while de leitura do arquivo linha por linha
                                                 $i = 0;
                                                 $dsInformacao = array();
                                                 while (!feof($abrir_arquivo)) {
                                                     // pega a linha do arquivo
                                                     $linha = fgets($abrir_arquivo, 4096);
                                                     // caso a linha não seja vazia e o primeiro caractere for numérico
                                                     if (!empty($linha) && is_numeric(substr($linha, 0, 1))) {
                                                         // armazena as linhas do arquivo em um array
                                                         $dsInformacao[$i] = trim($linha);
                                                     }
                                                     $i++;
                                                 }
                                                 // fim while de leitura do arquivo linha por linha
                                                 // fecha o arquivo
                                                 fclose($abrir_arquivo);
                                                 // exclui o arquivo
                                                 unlink($arquivoTXT);
                                                 // grava linha por linha do arquivo no banco
                                                 foreach ($dsInformacao as $ds) {
                                                     if (!$this->tbDepositoIdentificadoCaptacao->cadastrarDados(array('dsInformacao' => $ds, 'idUsuario' => $this->getIdUsuario))) {
                                                         throw new Exception('Erro ao enviar arquivo!');
                                                     }
                                                 }
                                             }
                                             $this->tbDepositoIdentificadoCaptacao->DepositoIdentificadoCaptacao();
                                             $where = "SUBSTRING(dsInformacao,1,1)!='1'";
                                             $this->tbTmpDepositoIdentificado->deletar($where);
                                             // ========== FIM - VARRE O ARQUIVO DETALHADAMENTE ==========
                                         }
                                         // fecha if
                                         parent::message('Arquivo enviado com sucesso!', 'movimentacaodeconta/upload', 'CONFIRM');
                                     } else {
                                         parent::message('Erro ao enviar arquivo!', 'movimentacaodeconta/upload', 'ERROR');
                                     }
                                 }
                             }
                             // fecha else
                         }
                     }
                 }
             }
         } catch (Exception $e) {
             $this->view->message = $e->getMessage();
             $this->view->message_type = 'ERROR';
         }
     }
     // fecha if post
 }
 private function anexararquivo()
 {
     // 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
         $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'dsTipoPadronizado' => $arquivoTipo, 'nrTamanho' => $arquivoTamanho, 'dtEnvio' => new Zend_Db_Expr('GETDATE()'), 'dsHash' => $arquivoHash, 'stAtivo' => 'I');
         $cadastrarArquivo = ArquivoDAO::cadastrar($dadosArquivo);
         // pega o id do último arquivo cadastrado
         $idUltimoArquivo = ArquivoDAO::buscarIdArquivo();
         $idUltimoArquivo = (int) $idUltimoArquivo[0]->id;
         // cadastra o binário do arquivo
         $dadosBinario = array('idArquivo' => $idUltimoArquivo, 'biArquivo' => $arquivoBinario);
         $cadastrarBinario = ArquivoImagemDAO::cadastrar($dadosBinario);
     }
     return $idUltimoArquivo;
 }
 public function cadastrarBensImoveisAction()
 {
     //** Verifica se o usuário logado tem permissão de acesso **//
     $this->verificarPermissaoAcesso(false, true, false);
     $idpronac = $this->_request->getParam("idpronac");
     if (strlen($idpronac) > 7) {
         $idpronac = Seguranca::dencrypt($idpronac);
     }
     try {
         if (!empty($_FILES['documentoDoacao']['tmp_name'])) {
             $arquivoNome = $_FILES['documentoDoacao']['name'];
             // nome
             $arquivoTemp = $_FILES['documentoDoacao']['tmp_name'];
             // nome temporário
             $arquivoTipo = $_FILES['documentoDoacao']['type'];
             // tipo
             $arquivoTamanho = $_FILES['documentoDoacao']['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 (!isset($_FILES['documentoDoacao'])) {
                 parent::message("O arquivo n&atilde;o atende os requisitos informados no formul&aacute;rio.", "comprovarexecucaofisica/bens-final/idpronac/" . Seguranca::encrypt($idpronac), "ERROR");
             }
             if (empty($_FILES['documentoDoacao']['tmp_name'])) {
                 parent::message("Favor selecionar um arquivo para a Doação do Bem Imóvel.", "comprovarexecucaofisica/bens-final/idpronac/" . Seguranca::encrypt($idpronac), "ERROR");
             }
             $tipos = array('bmp', 'gif', 'jpeg', 'jpg', 'png', 'raw', 'tif', 'pdf');
             if (!in_array(strtolower($arquivoExtensao), $tipos)) {
                 parent::message("Favor selecionar o arquivo de Doação do Bem Imóvel no formato BMP, GIF, JPEG, JPG, PNG, RAW, TIF ou PDF!", "comprovarexecucaofisica/bens-final/idpronac/" . Seguranca::encrypt($idpronac), "ERROR");
             }
             $dataString = file_get_contents($arquivoTemp);
             $arrData = unpack("H*hex", $dataString);
             $data = "0x" . $arrData['hex'];
             // ==================== PERSISTE DADOS DO ARQUIVO =================//
             $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'biArquivo' => $data, 'dsDocumento' => 'Comprovação do Relatório Final - Bem Imóvel', 'idPronac' => $idpronac, 'idTipoDocumento' => 26);
             $Arquivo = new Arquivo();
             $Arquivo->inserirUploads($dadosArquivo);
             $DocumentoProjeto = new tbDocumentoProjetoBDCORPORATIVO();
             $DocumentoDoacao = $DocumentoProjeto->buscar(array('idPronac=?' => $idpronac, 'idTipoDocumento=?' => 26), array('idDocumento DESC'));
         }
         if (!empty($_FILES['documentoAceite']['tmp_name'])) {
             $arquivoNome = $_FILES['documentoAceite']['name'];
             // nome
             $arquivoTemp = $_FILES['documentoAceite']['tmp_name'];
             // nome temporário
             $arquivoTipo = $_FILES['documentoAceite']['type'];
             // tipo
             $arquivoTamanho = $_FILES['documentoAceite']['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 (!isset($_FILES['documentoAceite'])) {
                 parent::message("O arquivo n&atilde;o atende os requisitos informados no formul&aacute;rio.", "comprovarexecucaofisica/bens-final/idpronac/" . Seguranca::encrypt($idpronac), "ERROR");
             }
             if (empty($_FILES['documentoAceite']['tmp_name'])) {
                 parent::message("Favor selecionar um arquivo para a Aceite do Bem Imóvel.", "comprovarexecucaofisica/bens-final/idpronac/" . Seguranca::encrypt($idpronac), "ERROR");
             }
             $tipos = array('bmp', 'gif', 'jpeg', 'jpg', 'png', 'raw', 'tif', 'pdf');
             if (!in_array(strtolower($arquivoExtensao), $tipos)) {
                 parent::message("Favor selecionar o arquivo de Aceite do Bem Imóvel no formato BMP, GIF, JPEG, JPG, PNG, RAW, TIF ou PDF!", "comprovarexecucaofisica/bens-final/idpronac/" . Seguranca::encrypt($idpronac), "ERROR");
             }
             $dataString = file_get_contents($arquivoTemp);
             $arrData = unpack("H*hex", $dataString);
             $data = "0x" . $arrData['hex'];
             // ==================== PERSISTE DADOS DO ARQUIVO =================//
             $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'biArquivo' => $data, 'dsDocumento' => 'Comprovação do Relatório Final - Bem Imóvel', 'idPronac' => $idpronac, 'idTipoDocumento' => 25);
             $Arquivo = new Arquivo();
             $Arquivo->inserirUploads($dadosArquivo);
             $DocumentoProjeto = new tbDocumentoProjetoBDCORPORATIVO();
             $documentoAceite = $DocumentoProjeto->buscar(array('idPronac=?' => $idpronac, 'idTipoDocumento=?' => 25), array('idDocumento DESC'));
         }
         $dadosItem = array('idPronac' => $idpronac, 'dtCadastroDoacao' => new Zend_Db_Expr('GETDATE()'), 'idItemOrcamentario' => $_POST['itemOrcamentario'], 'tpBem' => 'I', 'idAgente' => $_POST['agenteImovel'], 'qtBensDoados' => $_POST['qtBensDoados'], 'dsObservacao' => $_POST['observacao'], 'idDocumentoDoacao' => $DocumentoDoacao[0]->idDocumento, 'idDocumentoAceite' => $documentoAceite[0]->idDocumento, 'idUsuarioCadastrador' => $this->IdUsuario);
         $tbBensDoados = new tbBensDoados();
         $insert = $tbBensDoados->inserir($dadosItem);
         parent::message("Dados salvos com sucesso!", "comprovarexecucaofisica/bens-final/idpronac/" . Seguranca::encrypt($idpronac), "CONFIRM");
     } catch (Exception $e) {
         parent::message("Erro ao salvar os dados.", "comprovarexecucaofisica/bens-final/idpronac/" . Seguranca::encrypt($idpronac), "ERROR");
     }
 }
 public static function cadastrarArquivosMult($_FILES, $idPedidoAlteracao, $status)
 {
     $Projetos = new SolicitarAlteracaoDAO();
     $valor = $_FILES['arquivo']['name'][0];
     if (!empty($valor)) {
         for ($i = 0; $i < count($_FILES["arquivo"]["name"]); $i++) {
             // pega as informações do arquivo
             $arquivoNome = $_FILES['arquivo']['name'][$i];
             // nome
             $arquivoTemp = $_FILES['arquivo']['tmp_name'][$i];
             // nome temporário
             $arquivoTipo = $_FILES['arquivo']['type'][$i];
             // tipo
             $arquivoTamanho = $_FILES['arquivo']['size'][$i];
             // tamanho
             if (!empty($arquivoNome) && !empty($arquivoTemp)) {
                 $arquivoExtensao = Upload::getExtensao($arquivoNome);
                 // extensão
                 $arquivoBinario = Upload::setBinario($arquivoTemp);
                 // binário
                 $arquivoHash = Upload::setHash($arquivoTemp);
                 // hash
                 // cadastra dados do arquivo
                 $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'dsTipoPadronizado' => $arquivoTipo, 'nrTamanho' => $arquivoTamanho, 'dtEnvio' => new Zend_Db_Expr('GETDATE()'), 'dsHash' => $arquivoHash, 'stAtivo' => 'A');
                 $cadastrarArquivo = ArquivoDAO::cadastrar($dadosArquivo);
                 // pega o id do último arquivo cadastrado
                 $idUltimoArquivo = ArquivoDAO::buscarIdArquivo();
                 $idUltimoArquivo = (int) $idUltimoArquivo[0]->id;
                 // cadastra o binário do arquivo
                 $dadosBinario = array('idArquivo' => $idUltimoArquivo, 'biArquivo' => $arquivoBinario);
                 $cadastrarBinario = ArquivoImagemDAO::cadastrar($dadosBinario);
                 // cadastra o pedido de alteração
                 $Projetos->insertArquivo($idUltimoArquivo, $idPedidoAlteracao, $status);
             }
         }
     }
     // fecha for
 }
Ejemplo n.º 26
0
 public function incluirSolicitacaoReadequacaoAction()
 {
     //FUNÇÃO ACESSADA SOMENTE PELO PROPONENTE.
     if ($this->idPerfil != 1111) {
         parent::message("Você não tem permissão para acessar essa área do sistema!", "principal", "ALERT");
     }
     $idPronac = $this->_request->getParam("idPronac");
     if (strlen($idPronac) > 7) {
         $idPronac = Seguranca::dencrypt($idPronac);
     }
     $post = Zend_Registry::get('post');
     $tbReadequacao = new tbReadequacao();
     $busca = array();
     $busca['idPronac =?'] = $idPronac;
     $busca['idTipoReadequacao =?'] = $post->tipoReadequacao;
     $busca['siEncaminhamento =?'] = 12;
     $dadosCadastrados = $tbReadequacao->buscar($busca)->current();
     if (count($dadosCadastrados) > 0) {
         parent::message('Tipo de solicitação de readequação já cadastrada!', "readequacoes/index?idPronac=" . Seguranca::encrypt($idPronac), "ERROR");
     }
     if ($post->tipoReadequacao == 2) {
         //Planilha Orçamentária
         $tbPlanilhaAprovacao = new tbPlanilhaAprovacao();
         $planilhaReadequada = $tbPlanilhaAprovacao->buscar(array('IdPRONAC = ?' => $idPronac, 'tpPlanilha = ?' => 'SR', 'idReadequacao is null' => ''));
         if (count($planilhaReadequada) == 0) {
             parent::message('Não houve nenhuma alteração na planilha orçamentária do projeto!', "readequacoes/index?idPronac=" . Seguranca::encrypt($idPronac), "ERROR");
         }
     } else {
         if ($post->tipoReadequacao == 9) {
             //Local de Realização
             $tbAbrangencia = new tbAbrangencia();
             $locaisReadequados = $tbAbrangencia->buscar(array('idPronac = ?' => $idPronac, 'idReadequacao is null' => ''));
             if (count($locaisReadequados) == 0) {
                 parent::message('Não houve nenhuma alteração nos locais de realização do projeto!', "readequacoes/index?idPronac=" . Seguranca::encrypt($idPronac), "ERROR");
             }
         } else {
             if ($post->tipoReadequacao == 11) {
                 //Planos de Distribuição
                 $tbPlanoDistribuicao = new tbPlanoDistribuicao();
                 $planosReadequados = $tbPlanoDistribuicao->buscar(array('idPronac = ?' => $idPronac, 'idReadequacao is null' => ''));
                 if (count($planosReadequados) == 0) {
                     parent::message('Não houve nenhuma alteração nos planos de distribuição do projeto!', "readequacoes/index?idPronac=" . Seguranca::encrypt($idPronac), "ERROR");
                 }
             } else {
                 if ($post->tipoReadequacao == 14) {
                     //Planos de Divulgação
                     $tbPlanoDivulgacao = new tbPlanoDivulgacao();
                     $planosReadequados = $tbPlanoDivulgacao->buscar(array('idPronac = ?' => $idPronac, 'idReadequacao is null' => ''));
                     if (count($planosReadequados) == 0) {
                         parent::message('Não houve nenhuma alteração nos planos de divulgação do projeto!', "readequacoes/index?idPronac=" . Seguranca::encrypt($idPronac), "ERROR");
                     }
                 }
             }
         }
     }
     try {
         $tbArquivoDAO = new tbArquivo();
         $tbArquivoImagemDAO = new tbArquivoImagem();
         $tbDocumentoDAO = new tbDocumento();
         // ==================== Dados do arquivo de upload ===============================
         $arquivoNome = $_FILES['arquivo']['name'];
         // nome
         $arquivoTemp = $_FILES['arquivo']['tmp_name'];
         // nome tempor�rio
         $arquivoTipo = $_FILES['arquivo']['type'];
         // tipo
         $arquivoTamanho = $_FILES['arquivo']['size'];
         // tamanho
         $idDocumento = null;
         if (!empty($arquivoTemp)) {
             $arquivoExtensao = Upload::getExtensao($arquivoNome);
             // extens�o
             $arquivoBinario = Upload::setBinario($arquivoTemp);
             // bin�rio
             $arquivoHash = Upload::setHash($arquivoTemp);
             // hash
             if ($arquivoExtensao != 'pdf' && $arquivoExtensao != 'PDF') {
                 throw new Exception('A extensão do arquivo é inválida, envie somente arquivos <strong>.pdf</strong>!');
             } else {
                 if ($arquivoTamanho > 5242880) {
                     throw new Exception('O arquivo não pode ser maior do que <strong>5MB</strong>!');
                 }
             }
             $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'dsTipoPadronizado' => $arquivoTipo, 'nrTamanho' => $arquivoTamanho, 'dtEnvio' => new Zend_Db_Expr('GETDATE()'), 'dsHash' => $arquivoHash, 'stAtivo' => 'A');
             $idArquivo = $tbArquivoDAO->inserir($dadosArquivo);
             // ==================== Insere na Tabela tbArquivoImagem ===============================
             $dadosBinario = array('idArquivo' => $idArquivo, 'biArquivo' => new Zend_Db_Expr("CONVERT(varbinary(MAX), {$arquivoBinario})"));
             $idArquivo = $tbArquivoImagemDAO->inserir($dadosBinario);
             // ==================== Insere na Tabela tbDocumento ===============================
             $dados = array('idTipoDocumento' => 38, 'idArquivo' => $idArquivo, 'dsDocumento' => 'Solicitação de Readequação', 'dtEmissaoDocumento' => NULL, 'dtValidadeDocumento' => NULL, 'idTipoEventoOrigem' => NULL, 'nmTitulo' => 'Readequacao');
             $idDocumento = $tbDocumentoDAO->inserir($dados);
             $idDocumento = $idDocumento['idDocumento'];
         }
         $auth = Zend_Auth::getInstance();
         // pega a autenticação
         $tblAgente = new Agentes();
         $rsAgente = $tblAgente->buscar(array('CNPJCPF=?' => $auth->getIdentity()->Cpf))->current();
         $dados = array();
         $dados['idPronac'] = $idPronac;
         $dados['idTipoReadequacao'] = $post->tipoReadequacao;
         $dados['dtSolicitacao'] = new Zend_Db_Expr('GETDATE()');
         $dados['idSolicitante'] = $rsAgente->idAgente;
         $dados['dsJustificativa'] = $_POST['descJustificativa'];
         $dados['dsSolicitacao'] = $_POST['descSolicitacao'];
         $dados['idDocumento'] = $idDocumento;
         $dados['siEncaminhamento'] = 12;
         $dados['stEstado'] = 0;
         $idReadequacao = $tbReadequacao->inserir($dados);
         $tbPlanilhaAprovacao = new tbPlanilhaAprovacao();
         $dadosPlanilha = array();
         $dadosPlanilha['idReadequacao'] = $idReadequacao;
         $wherePlanilha = "IdPRONAC = {$idPronac} AND tpPlanilha = 'SR' AND idReadequacao is null";
         $tbPlanilhaAprovacao->update($dadosPlanilha, $wherePlanilha);
         if ($idReadequacao) {
             parent::message('Solicitação cadastrada com sucesso!', "readequacoes/index?idPronac=" . Seguranca::encrypt($idPronac), "CONFIRM");
         } else {
             throw new Exception("Erro ao cadastrar a readequação!");
         }
     } catch (Exception $e) {
         parent::message($e->getMessage(), "readequacoes?idPronac=" . Seguranca::encrypt($idPronac), "ERROR");
     }
 }