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; }