public function cadastrarPlanoDistribuicaoAction() { $linkFinal = ''; if (isset($_POST['relatorofinal']) && $_POST['relatorofinal']) { $linkFinal = '-final'; } //** 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 { $Visao = new Visao(); $visaoBeneficiario = $Visao->buscar(array('idAgente=?' => $_POST['idAgente'], 'Visao=?' => 199)); if (count($visaoBeneficiario) == 0) { $dadosAgente = array('idAgente' => $_POST['idAgente'], 'Visao' => 199, 'Usuario' => $this->IdUsuario, 'stAtivo' => 'A'); $Visao->inserir($dadosAgente); } $tbBeneficiarioProdutoCultural = new tbBeneficiarioProdutoCultural(); $produtoBeneficiario = $tbBeneficiarioProdutoCultural->buscar(array('IdPRONAC=?' => $idpronac, 'idAgente=?' => $_POST['idAgente'], 'idPlanoDistribuicao=?' => $_POST['produto'], 'idTipoBeneficiario=?' => $_POST['tipoDocumento'])); if (count($produtoBeneficiario) > 0) { parent::message("Já foi cadastrado o mesmo agente para este produto!", "comprovarexecucaofisica/plano-de-distribuicao{$linkFinal}/idpronac/" . Seguranca::encrypt($idpronac), "ERROR"); } else { 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ão atende os requisitos informados no formulário.", "comprovarexecucaofisica/plano-de-distribuicao{$linkFinal}/idpronac/" . Seguranca::encrypt($idpronac), "ERROR"); } if (empty($_FILES['arquivo']['tmp_name'])) { parent::message("Favor selecionar um arquivo para o novo Plano de Distribuição.", "comprovarexecucaofisica/plano-de-distribuicao{$linkFinal}/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 Marca no formato BMP, GIF, JPEG, JPG, PNG, RAW, TIF ou PDF!", "comprovarexecucaofisica/plano-de-distribuicao{$linkFinal}/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 Trimestral/Final - Plano de Distribuição', 'idPronac' => $idpronac, 'idTipoDocumento' => $_POST['tipoDocumento']); $Arquivo = new Arquivo(); $Arquivo->inserirUploads($dadosArquivo); $DocumentoProjeto = new tbDocumentoProjetoBDCORPORATIVO(); $dadosDocumento = $DocumentoProjeto->buscar(array('idPronac =?' => $idpronac, 'idTipoDocumento =?' => $_POST['tipoDocumento']), array('idDocumento DESC')); $dados = array('IdPRONAC' => $idpronac, 'idAgente' => $_POST['idAgente'], 'idPlanoDistribuicao' => $_POST['produto'], 'idDocumento' => $dadosDocumento[0]->idDocumento, 'qtRecebida' => $_POST['quantidade'], 'idTipoBeneficiario' => $_POST['tipoDocumento']); $tbBeneficiarioProdutoCultural->inserir($dados); } else { parent::message("Não foi possível cadastrar os dados do Plano de Distribuição!", "comprovarexecucaofisica/plano-de-distribuicao{$linkFinal}/idpronac/" . Seguranca::encrypt($idpronac), "ERROR"); } } parent::message("Dados salvos com sucesso!", "comprovarexecucaofisica/plano-de-distribuicao{$linkFinal}/idpronac/" . Seguranca::encrypt($idpronac), "CONFIRM"); } catch (Exception $e) { parent::message("Erro ao salvar os dados.", "comprovarexecucaofisica/plano-de-distribuicao{$linkFinal}/idpronac/" . Seguranca::encrypt($idpronac), "ERROR"); } }
public function uploadAction() { //======================= INSTANCIA AS DAO =========================== $tbArquivoDAO = new tbArquivo(); $tbArquivoImagemDAO = new tbArquivoImagem(); $tbDocumentoDAO = new tbDocumento(); $ProcuracaoDAO = new Procuracao(); $tbVinculoPropostaDAO = new tbVinculoPropostaResponsavelProjeto(); $tbVinculoDAO = new TbVinculo(); $Sgcacesso = new Sgcacesso(); $Agentes = new Agentes(); $Nomes = new Nomes(); $Visao = new Visao(); $Internet = new Internet(); //================== VARIÁVEIS PASSADAS VIA POST ===================== $responsavel = $this->_request->getParam("responsavel"); $proponente = $this->_request->getParam("proponente"); $dsObservacao = $this->_request->getParam("dsObservacao"); $arrayProjetos = $this->_request->getParam("projetos"); // ==================== Dados do arquivo de upload =============================== $arquivoNome = $_FILES['divulgacao']['name']; // nome $arquivoTemp = $_FILES['divulgacao']['tmp_name']; // nome tempor�rio $arquivoTipo = $_FILES['divulgacao']['type']; // tipo $arquivoTamanho = $_FILES['divulgacao']['size']; // tamanho $arquivoExtensao = Upload::getExtensao($arquivoNome); // extens�o $arquivoBinario = Upload::setBinario($arquivoTemp); // bin�rio $arquivoHash = Upload::setHash($arquivoTemp); // hash //================= VALIDA O RESPONSAVEL E PROPONENTE ================ if ($responsavel == 0) { $responsavel = $this->idResponsavel; } if ($proponente == 0) { $proponente = $this->idAgente; } //========= BUSCA O IDVINCULO COM AS INFORMAÇÕES PASSADAS ============= $whereVinculo['idUsuarioResponsavel = ?'] = $responsavel; $whereVinculo['idAgenteProponente = ?'] = $proponente; $buscarVinculo = $tbVinculoDAO->buscar($whereVinculo); try { // ==================== 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' => $_POST['dsObservacao'], 'dtEmissaoDocumento' => NULL, 'dtValidadeDocumento' => NULL, 'idTipoEventoOrigem' => NULL, 'nmTitulo' => 'Procuracao'); $idDocumento = $tbDocumentoDAO->inserir($dados); $idDocumento = $idDocumento['idDocumento']; //======== MONTA UM ARRAY COM AS INFORMAÇÕES DO VINCULO PROPOSTA======== for ($i = 0; $i < sizeof($arrayProjetos); $i++) { $arrayVinculoProposta = array('idVinculo' => $buscarVinculo[0]->idVinculo, 'idPreProjeto' => $arrayProjetos[$i], 'siVinculoProposta' => 0); // Salva as informações retornando o idVinculo Proposta $idVinculoProposta = $tbVinculoPropostaDAO->inserir($arrayVinculoProposta); // ==================== Insere na Tabela Procuracao =============================== $dadosVinculoProjeto = array('idVinculoProposta' => $idVinculoProposta, 'idDocumento' => $idDocumento, 'siProcuracao' => 0, 'dsObservacao' => $dsObservacao, 'dsJustificativa' => ''); $inserirproposta = $ProcuracaoDAO->inserir($dadosVinculoProjeto); } // ======== CADASTRA A VISÃO DE PROCURADOR PARA O RESPONSÁVEL CASO A MESMA NÃO EXISTA ======== $buscarDadosResponsavel = $Sgcacesso->buscar(array('IdUSuario = ?' => $responsavel))->current(); // busca os dados do responsável $buscarDadosAgente = $Agentes->buscar(array('CNPJCPF = ?' => $buscarDadosResponsavel['Cpf']))->current(); // verifica se o responsável é um agente if ($buscarDadosAgente) { // verifica se tem visão de procurador $buscarVisao = $Visao->buscar(array('idAgente = ?' => $buscarDadosAgente['idAgente'], 'Visao = ?' => 247))->current(); if (!$buscarVisao) { $dadosVisao = array('idAgente' => $buscarDadosAgente['idAgente'], 'Visao' => 247, 'Usuario' => empty($this->idUsuario) ? $this->idAgente : $this->idUsuario, 'stAtivo' => 'A'); $Visao->inserir($dadosVisao); // cadastra a visão de procurador } } else { // cadastra como agente $dadosNovoAgente = array('CNPJCPF' => $buscarDadosResponsavel['Cpf'], 'TipoPessoa' => 0, 'Status' => 0, 'Usuario' => empty($this->idUsuario) ? $this->idAgente : $this->idUsuario); $Agentes->inserir($dadosNovoAgente); // cadastra o agente $idAgenteNovo = $Agentes->BuscaAgente($buscarDadosResponsavel['Cpf']); $idAgenteNovo = $idAgenteNovo[0]->idAgente; // pega o id do agente cadastrado $dadosNome = array('idAgente' => $idAgenteNovo, 'TipoNome' => 18, 'Descricao' => $buscarDadosResponsavel['Nome'], 'Status' => 0, 'Usuario' => empty($this->idUsuario) ? $this->idAgente : $this->idUsuario); $Nomes->inserir($dadosNome); // cadastra o nome do agente $dadosVisao = array('idAgente' => $idAgenteNovo, 'Visao' => 247, 'Usuario' => empty($this->idUsuario) ? $this->idAgente : $this->idUsuario, 'stAtivo' => 'A'); $Visao->inserir($dadosVisao); // cadastra a visão de procurador $dadosInternet = array('idAgente' => $idAgenteNovo, 'TipoInternet' => 28, 'Descricao' => $buscarDadosResponsavel['Email'], 'Status' => 1, 'Divulgar' => 1, 'Usuario' => empty($this->idUsuario) ? $this->idAgente : $this->idUsuario); $Internet->inserir($dadosInternet); // cadastra o email do procurador } parent::message("Procuração cadastrada com sucesso!", "procuracao/cadastramento", "CONFIRM"); } catch (Zend_Exception $e) { parent::message("Error" . $e->getMessage(), "procuracao/cadastramento", "ERROR"); // parent::message("É necessário um vínculo para enviar o cadastramento da procuração", "procuracao/index?idPreProjeto=" . $idpreprojeto, "ERROR"); } exit; }