/**
     * Metodo responsavel por gravar a proposta em banco (INSERT e UPDATE)
     * @param void
     * @return objeto
     */
    public function salvarAction()
    {
        /* =============================================================================== */
        /* ==== VERIFICA PERMISSAO DE ACESSO DO PROPONENTE A PROPOSTA OU AO PROJETO ====== */
        /* =============================================================================== */
        //        $this->verificarPermissaoAcesso(false, false, false);
        $post = Zend_Registry::get("post");
        $idPreProjeto = $post->idPreProjeto;
        $acao = $post->acao;
        if ($acao == 'atualizacao_automatica') {
            $this->_helper->layout->disableLayout();
            // desabilita o Zend_Layout
            $this->_helper->viewRenderer->setNoRender(true);
        }
        $dtInicio = null;
        $dtInicioTemp = explode("/", $post->dtInicioDeExecucao);
        $dtInicio = $dtInicioTemp[2] . "/" . $dtInicioTemp[1] . "/" . $dtInicioTemp[0] . date(" H:i:s");
        $dtFim = null;
        $dtFimTemp = explode("/", $post->dtFinalDeExecucao);
        $dtFim = $dtFimTemp[2] . "/" . $dtFimTemp[1] . "/" . $dtFimTemp[0] . date(" H:i:s");
        //        /* VALIDAÇÃO SUMULA 10 DATA EXECUÇÃO <> DE DATA ATUAL E > 30/09 DO ENVIO DA PROPOSTA */
        //        if ($post->stPlanoAnual <> 0) {
        //            $ano_vigente     = date("Y");
        //            $ano_execucao    = explode('/', $post->dtInicioDeExecucao);
        //            $ano_execucao    = $ano_execucao[2];
        //            $data_validacao = (int) date("Y").'0129';
        //            $data_vigente = (int) date("Ymd");
        //            xd($ano_vigente  .'-'.  $ano_execucao);
        //            if ($ano_execucao <= $ano_vigente) {
        //                parent::message('O perodo de execuo de projetos de plano anual dever ser posterior ao ano vigente', '/manterpropostaincentivofiscal/buscaproponente', 'ALERT');
        //            }
        //        }
        $dtAtoTombamento = null;
        if ($post->dtAtoTombamento) {
            $dtAtoTombamentoTemp = explode("/", $post->dtAtoTombamento);
            $dtAtoTombamento = $dtAtoTombamentoTemp[2] . "/" . $dtAtoTombamentoTemp[1] . "/" . $dtAtoTombamentoTemp[0] . date(" H:i:s");
        }
        $idAgente = $post->idAgente;
        $nomeProjeto = str_replace("'", "", $post->nomeProjeto);
        $nomeProjeto = str_replace("\"", "", $nomeProjeto);
        //***NAO TIRAR ESSA QUEBRA DE LINHA - FAZ PARTE DA PROGRAMACAO****
        $resumoDoProjeto = str_replace('
', ' ', str_replace('	', '', str_replace('&nbsp;', '', strip_tags(trim($_POST['resumoDoProjeto'])))));
        //***NAO TIRAR ESSA QUEBRA DE LINHA - FAZ PARTE DA PROGRAMACAO****
        $stDataFixa = $post->stDataFixa;
        $stPlanoAnual = $post->stPlanoAnual;
        $agenciaBancaria = $post->agenciaBancaria;
        $propostaAudioVisual = $post->propostaAudioVisual;
        $dtInicioDeExecucao = $dtInicio;
        $dtFinalDeExecucao = $dtFim;
        $nrAtoTombamento = $post->nrAtoTombamento;
        $dtAtoTombamento = $dtAtoTombamento;
        $esferaTombamento = $post->esferaTombamento;
        $objetivos = $_POST['objetivos'];
        $justificativa = $_POST['justificativa'];
        $acessibilidade = $_POST['acessibilidade'];
        $democratizacaoDeAcesso = $_POST['democratizacaoDeAcesso'];
        $etapaDeTrabalho = $_POST['etapaDeTrabalho'];
        $fichaTecnica = $_POST['fichaTecnica'];
        $sinopse = $_POST['sinopse'];
        $impactoAmbiental = $_POST['impactoAmbiental'];
        $especificacaoTecnica = $_POST['especificacaoTecnica'];
        $informacoes = $_POST['informacoes'];
        $dados = array("idAgente" => $idAgente, "NomeProjeto" => $nomeProjeto, "Mecanismo" => 1, "AgenciaBancaria" => $agenciaBancaria, "AreaAbrangencia" => $propostaAudioVisual, "DtInicioDeExecucao" => $dtInicioDeExecucao, "DtFinalDeExecucao" => $dtFinalDeExecucao, "NrAtoTombamento" => $nrAtoTombamento, "DtAtoTombamento" => $dtAtoTombamento, "EsferaTombamento" => $esferaTombamento, "ResumoDoProjeto" => $resumoDoProjeto, "Objetivos" => $objetivos, "Justificativa" => $justificativa, "Acessibilidade" => $acessibilidade, "DemocratizacaoDeAcesso" => $democratizacaoDeAcesso, "EtapaDeTrabalho" => $etapaDeTrabalho, "FichaTecnica" => $fichaTecnica, "Sinopse" => $sinopse, "ImpactoAmbiental" => $impactoAmbiental, "EspecificacaoTecnica" => $especificacaoTecnica, "EstrategiadeExecucao" => $informacoes, "dtAceite" => date("Y/m/d H:i:s"), "stEstado" => 1, "stDataFixa" => $stDataFixa, "stPlanoAnual" => $stPlanoAnual, "idUsuario" => $this->idResponsavel, "stTipoDemanda" => "NA");
        $dados['idPreProjeto'] = $idPreProjeto;
        if (!empty($idPreProjeto)) {
            $mesagem = "Altera&ccedil;&atilde;o realizada com sucesso!";
        } else {
            $mesagem = "Cadastro realizado com sucesso!";
        }
        //CONECTA COM BANCO SAC
        $db = new Conexao(Zend_Registry::get('DIR_CONFIG'), "conexao_sac");
        //instancia classe modelo
        $tblPreProjeto = new PreProjeto();
        $db = Zend_Db_Table::getDefaultAdapter();
        //$db->beginTransaction();
        try {
            //persiste os dados do Pre Projeto
            $idPreProjeto = $tblPreProjeto->salvar($dados);
            $this->view->idPreProjeto = $idPreProjeto;
            if ($acao == "incluir") {
                //persiste os dados de Movimentacao
                //               $tblMovimentacao = new Movimentacao(); //CODIGO COMENTADO PARA DEIXAR A TRIGGER TRABALHAR EM PRODUCAO
                //                $dados = array("idProjeto" => $idPreProjeto,
                //                    "Movimentacao" => "95", //Status = Proposta com Proponente
                //                    "DtMovimentacao" => date("Y/m/d H:i:s"),
                //                    "stEstado" => "0",
                //                    "Usuario" => $this->idResponsavel
                //                );
                //                $tblMovimentacao->salvar($dados);
                /* **************************************************************************************** */
                // Salvando os dados na TbVinculoProposta
                $tbVinculoDAO = new TbVinculo();
                $tbVinculoPropostaDAO = new tbVinculoPropostaResponsavelProjeto();
                $whereVinculo['idUsuarioResponsavel = ?'] = $this->idResponsavel;
                $whereVinculo['idAgenteProponente   = ?'] = $idAgente;
                $vinculo = $tbVinculoDAO->buscar($whereVinculo);
                if (count($vinculo) == 0) {
                    $dadosV = array('idAgenteProponente' => $idAgente, 'dtVinculo' => new Zend_Db_Expr("GETDATE()"), 'siVinculo' => 2, 'idUsuarioResponsavel' => $this->idResponsavel);
                    $insere = $tbVinculoDAO->inserir($dadosV);
                }
                $vinculo2 = $tbVinculoDAO->buscar($whereVinculo);
                if (count($vinculo2) > 0) {
                    $novosDadosV = array('idVinculo' => $idVinculo = $vinculo2[0]->idVinculo, 'idPreProjeto' => $idPreProjeto, 'siVinculoProposta' => 2);
                    $insere = $tbVinculoPropostaDAO->inserir($novosDadosV, false);
                }
                /* **************************************************************************************** */
            }
            //$db->commit();
            if ($acao != 'atualizacao_automatica') {
                parent::message($mesagem, "/manterpropostaincentivofiscal/editar?idPreProjeto=" . $idPreProjeto, "CONFIRM");
            }
            return;
        } catch (Zend_Exception $ex) {
            //$db->rollback();
            parent::message("Não foi possível realizar a operação!" . $ex->getMessage(), "/manterpropostaincentivofiscal/index?idPreProjeto=" . $idPreProjeto, "ERROR");
        }
    }
 public function vinculoresponsavelAction()
 {
     $tbVinculo = new TbVinculo();
     $agentes = new Agentes();
     $idResponsavel = $this->_request->getParam("idResponsavel");
     $idProponente = $this->idAgente;
     $where['idUsuarioResponsavel = ?'] = $idResponsavel;
     $where['idAgenteProponente   = ?'] = $idProponente;
     $vinculo = $tbVinculo->buscar($where);
     $dados = array('idAgenteProponente' => $idProponente, 'dtVinculo' => new Zend_Db_Expr("GETDATE()"), 'siVinculo' => 2, 'idUsuarioResponsavel' => $idResponsavel);
     try {
         if (count($vinculo) > 0) {
             $dadosUP['siVinculo'] = 2;
             $whereUP['idVinculo = ?'] = $vinculo[0]->idVinculo;
             $update = $tbVinculo->alterar($dadosUP, $whereUP);
         } else {
             $insere = $tbVinculo->inserir($dados);
         }
         parent::message("vinculado com sucesso!", "manterpropostaincentivofiscal/novoresponsavel", "CONFIRM");
     } catch (Exception $e) {
         parent::message("Erro ao vincular! " . $e->getMessage(), "manterpropostaincentivofiscal/novoresponsavel", "ERROR");
     }
 }
 public function inserirdadospropostaeditalAction()
 {
     $array = array('mensagem' => '');
     if ($_REQUEST['idAgente'] && $_REQUEST['idEdital'] && $_REQUEST['nomeProjeto'] && $_REQUEST['resumoProjeto']) {
         try {
             if (strlen(trim($_REQUEST['resumoProjeto'])) > 1000) {
                 $array['mensagem'] = 'Quantidade de caracteres maior que o permitido. Limite: 1000 caracteres.';
                 $array['tpmensagem'] = 'msgERROR';
                 $this->_redirect('/manterpropostaedital/dadospropostaedital?idPreProjeto=' . $_REQUEST['idPreProjeto'] . '&idAgente=' . $_REQUEST['idAgente'] . '&idEdital=' . $_REQUEST['idEdital'] . '&mensagem=' . $array['mensagem'] . '&tpmensagem=' . $array['tpmensagem']);
             }
             $array = array();
             $array['Mecanismo'] = 2;
             // Adicionado, Edital deve ser Mecanismo 2
             $array['idAgente'] = $_REQUEST['idAgente'];
             $array['idEdital'] = $_REQUEST['idEdital'];
             $array['AgenciaBancaria'] = $_REQUEST['agencia'];
             $datainicio = explode('/', $_REQUEST['dtIniExec']);
             $array['DtInicioDeExecucao'] = $datainicio['2'] . '-' . $datainicio['1'] . '-' . $datainicio['0'];
             $datafim = explode('/', $_REQUEST['dtFimExec']);
             $array['DtFinalDeExecucao'] = $datafim['2'] . '-' . $datafim['1'] . '-' . $datafim['0'];
             $array['NomeProjeto'] = TratarString::escapeString($_REQUEST['nomeProjeto']);
             $array['stTipoDemanda'] = 'ED';
             $array['ResumoDoProjeto'] = trim(TratarString::escapeString($_REQUEST['resumoProjeto']));
             // Salvar o responsável
             $array['idUsuario'] = $this->idResponsavel;
             if (isset($_REQUEST['idPreProjeto'])) {
                 $array['idPreProjeto'] = $_REQUEST['idPreProjeto'];
                 $dados = ManterpropostaeditalDAO::alterarDadosProposta($array);
                 $array['mensagem'] = 'Alteração realizada com sucesso!';
                 $array['tpmensagem'] = 'msgCONFIRM';
                 $array['mensagem'] = htmlspecialchars($array['mensagem']);
                 parent::message("Altera&ccedil;&atilde;o realizada com sucesso!", "/manterpropostaedital/dadospropostaedital?idPreProjeto=" . $array['idPreProjeto'], "CONFIRM");
             } else {
                 $dados = ManterpropostaeditalDAO::inserirProposta($array);
                 $array['idPreProjeto'] = $dados;
                 $tblMovimentacao = new Movimentacao();
                 $dados = array("idProjeto" => $array['idPreProjeto'], "Movimentacao" => "95", "DtMovimentacao" => date("Y/m/d H:i:s"), "stEstado" => "0", "Usuario" => $this->idUsuario);
                 //$this->view->usuario->usu_codigo;
                 $tblMovimentacao->salvar($dados);
                 /*******************************************************************************************/
                 // Salvando os dados na TbVinculoProposta
                 $tbVinculoDAO = new TbVinculo();
                 $tbVinculoPropostaDAO = new tbVinculoPropostaResponsavelProjeto();
                 $whereVinculo['idUsuarioResponsavel = ?'] = $this->idResponsavel;
                 $whereVinculo['idAgenteProponente   = ?'] = $_REQUEST['idAgente'];
                 $vinculo = $tbVinculoDAO->buscar($whereVinculo);
                 if (count($vinculo) == 0) {
                     $dadosV = array('idAgenteProponente' => $_REQUEST['idAgente'], 'dtVinculo' => new Zend_Db_Expr("GETDATE()"), 'siVinculo' => 2, 'idUsuarioResponsavel' => $this->idResponsavel);
                     $insere = $tbVinculoDAO->inserir($dadosV);
                 }
                 $vinculo2 = $tbVinculoDAO->buscar($whereVinculo);
                 if (count($vinculo2) > 0) {
                     $novosDadosV = array('idVinculo' => $idVinculo = $vinculo2[0]->idVinculo, 'idPreProjeto' => $array['idPreProjeto'], 'siVinculoProposta' => 2);
                     $insere = $tbVinculoPropostaDAO->inserir($novosDadosV, false);
                 }
                 /*******************************************************************************************/
                 $array['mensagem'] = 'Cadastro realizado com sucesso!';
                 $array['tpmensagem'] = 'msgCONFIRM';
             }
         } catch (Zend_Exception $ex) {
             parent::message("Não foi possível realizar a operação!", "/manterpropostaincentivofiscal/listar-propostas", "ERROR");
         }
     } else {
         $array['mensagem'] = 'Dados incorretos.';
         $array['tpmensagem'] = 'Erro!';
     }
     $this->_redirect('/manterpropostaedital/dadospropostaedital?idPreProjeto=' . $array['idPreProjeto'] . '&mensagem=' . $array['mensagem'] . '&tpmensagem=' . $array['tpmensagem']);
 }
Exemplo n.º 4
0
 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&ccedil;&atilde;o cadastrada com sucesso!", "procuracao/cadastramento", "CONFIRM");
     } catch (Zend_Exception $e) {
         parent::message("Error" . $e->getMessage(), "procuracao/cadastramento", "ERROR");
         //	            parent::message("&Eacute; necess&aacute;rio um v&iacute;nculo para enviar o cadastramento da procura&ccedil;&atilde;o", "procuracao/index?idPreProjeto=" . $idpreprojeto, "ERROR");
     }
     exit;
 }