public function exibirpropostaculturalAction()
 {
     $idPreProjeto = $this->idPreProjeto;
     $dados = AnalisarPropostaDAO::buscarGeral($idPreProjeto);
     $this->view->itensGeral = $dados;
     //========== inicio codigo dirigente ================
     /*==================================================*/
     $arrMandatos = array();
     $this->view->mandatos = $arrMandatos;
     $preProjeto = new PreProjeto();
     $rsDirigentes = array();
     $Empresa = $preProjeto->buscar(array('idPreProjeto = ?' => $this->idPreProjeto))->current();
     $idEmpresa = $Empresa->idAgente;
     $Projetos = new Projetos();
     $dadosProjeto = $Projetos->buscar(array('idProjeto = ?' => $this->idPreProjeto))->current();
     $Pronac = null;
     if (count($dadosProjeto) > 0) {
         $Pronac = $dadosProjeto->AnoProjeto . $dadosProjeto->Sequencial;
     }
     $this->view->Pronac = $Pronac;
     if (isset($dados[0]->CNPJCPFdigirente) && $dados[0]->CNPJCPFdigirente != "") {
         $tblAgente = new Agentes();
         $tblNomes = new Nomes();
         foreach ($dados as $v) {
             $rsAgente = $tblAgente->buscarAgenteNome(array('CNPJCPF=?' => $v->CNPJCPFdigirente))->current();
             $rsDirigentes[$rsAgente->idAgente]['CNPJCPFDirigente'] = $rsAgente->CNPJCPF;
             $rsDirigentes[$rsAgente->idAgente]['idAgente'] = $rsAgente->idAgente;
             $rsDirigentes[$rsAgente->idAgente]['NomeDirigente'] = $rsAgente->Descricao;
         }
         $tbDirigenteMandato = new tbAgentesxVerificacao();
         foreach ($rsDirigentes as $dirigente) {
             $rsMandato = $tbDirigenteMandato->listarMandato(array('idEmpresa = ?' => $idEmpresa, 'idDirigente = ?' => $dirigente['idAgente'], 'stMandato = ?' => 0));
             $NomeDirigente = $dirigente['NomeDirigente'];
             $arrMandatos[$NomeDirigente] = $rsMandato;
         }
     }
     $this->view->dirigentes = $rsDirigentes;
     $this->view->mandatos = $arrMandatos;
     //============== fim codigo dirigente ================
     /*==================================================*/
     $propostaPorEdital = false;
     if ($this->view->itensGeral[0]->idEdital && $this->view->itensGeral[0]->idEdital != 0) {
         $propostaPorEdital = true;
     }
     $this->view->isEdital = $propostaPorEdital;
     $this->view->itensTelefone = AnalisarPropostaDAO::buscarTelefone($this->view->itensGeral[0]->idAgente);
     $this->view->itensPlanosDistribuicao = AnalisarPropostaDAO::buscarPlanoDeDistribucaoProduto($idPreProjeto);
     $this->view->itensFonteRecurso = AnalisarPropostaDAO::buscarFonteDeRecurso($idPreProjeto);
     $this->view->itensLocalRealiazacao = AnalisarPropostaDAO::buscarLocalDeRealizacao($idPreProjeto);
     $this->view->itensDeslocamento = AnalisarPropostaDAO::buscarDeslocamento($idPreProjeto);
     $this->view->itensPlanoDivulgacao = AnalisarPropostaDAO::buscarPlanoDeDivulgacao($idPreProjeto);
     //DOCUMENTOS ANEXADOS PROPOSTA
     $tbl = new tbDocumentosPreProjeto();
     $rs = $tbl->buscarDocumentos(array("idProjeto = ?" => $this->idPreProjeto));
     $this->view->arquivosProposta = $rs;
     //DOCUMENTOS ANEXADOS PROPONENTE
     $tbA = new tbDocumentosAgentes();
     $rsA = $tbA->buscarDocumentos(array("idAgente = ?" => $dados[0]->idAgente));
     $this->view->arquivosProponente = $rsA;
     //DOCUMENTOS ANEXADOS NA DILIGENCIA
     $tblAvaliacaoProposta = new AvaliacaoProposta();
     $rsAvaliacaoProposta = $tblAvaliacaoProposta->buscar(array("idProjeto = ?" => $idPreProjeto, "idArquivo ?" => new Zend_Db_Expr("IS NOT NULL")));
     $tbArquivo = new tbArquivo();
     $arrDadosArquivo = array();
     $arrRelacionamentoAvaliacaoDocumentosExigidos = array();
     if (count($rsAvaliacaoProposta) > 0) {
         foreach ($rsAvaliacaoProposta as $avaliacao) {
             $arrDadosArquivo[$avaliacao->idArquivo] = $tbArquivo->buscar(array("idArquivo = ?" => $avaliacao->idArquivo));
             $arrRelacionamentoAvaliacaoDocumentosExigidos[$avaliacao->idArquivo] = $avaliacao->idCodigoDocumentosExigidos;
         }
     }
     $this->view->relacionamentoAvaliacaoDocumentosExigidos = $arrRelacionamentoAvaliacaoDocumentosExigidos;
     $this->view->itensDocumentoPreProjeto = $arrDadosArquivo;
     //PEGANDO RELACAO DE DOCUMENTOS EXIGIDOS(GERAL, OU SEJA, TODO MUNDO)
     $tblDocumentosExigidos = new DocumentosExigidos();
     $rsDocumentosExigidos = $tblDocumentosExigidos->buscar()->toArray();
     $arrDocumentosExigidos = array();
     foreach ($rsDocumentosExigidos as $documentoExigido) {
         $arrDocumentosExigidos[$documentoExigido["Codigo"]] = $documentoExigido;
     }
     $this->view->documentosExigidos = $arrDocumentosExigidos;
     $this->view->itensHistorico = AnalisarPropostaDAO::buscarHistorico($idPreProjeto);
     $this->view->itensPlanilhaOrcamentaria = AnalisarPropostaDAO::buscarPlanilhaOrcamentaria($idPreProjeto);
     $buscarProduto = ManterorcamentoDAO::buscarProdutos($this->idPreProjeto);
     $this->view->Produtos = $buscarProduto;
     $buscarEtapa = ManterorcamentoDAO::buscarEtapasProdutos($this->idPreProjeto);
     $this->view->Etapa = $buscarEtapa;
     $buscarItem = ManterorcamentoDAO::buscarItensProdutos($this->idPreProjeto);
     $this->view->Item = $buscarItem;
     $this->view->AnaliseCustos = PreProjeto::analiseDeCustos($this->idPreProjeto);
     $this->view->idPreProjeto = $this->idPreProjeto;
     $pesquisaView = $this->_getParam('pesquisa');
     if ($pesquisaView == 'proposta') {
         $this->view->menu = 'inativo';
         $this->view->tituloTopo = 'Consultar dados da proposta';
     }
     if ($propostaPorEdital) {
         $tbFormDocumentoDAO = new tbFormDocumento();
         $edital = $tbFormDocumentoDAO->buscar(array('idEdital = ?' => $this->view->itensGeral[0]->idEdital, 'idClassificaDocumento = ?' => $this->COD_CLASSIFICACAO_DOCUMENTO));
         //busca o nome do EDITAL
         $edital = $tbFormDocumentoDAO->buscar(array('idEdital = ?' => $this->view->itensGeral[0]->idEdital));
         $nmEdital = $edital[0]->nmFormDocumento;
         $this->view->nmEdital = $nmEdital;
         $arrPerguntas = array();
         $arrRespostas = array();
         $tbPerguntaDAO = new tbPergunta();
         $tbRespostaDAO = new tbResposta();
         foreach ($edital as $registro) {
             $questoes = $tbPerguntaDAO->montarQuestionario($registro["nrFormDocumento"], $registro["nrVersaoDocumento"]);
             $questionario = '';
             if (is_object($questoes) and count($questoes) > 0) {
                 foreach ($questoes as $questao) {
                     $resposta = '';
                     $where = array('nrFormDocumento = ?' => $registro["nrFormDocumento"], 'nrVersaoDocumento = ?' => $registro["nrVersaoDocumento"], 'nrPergunta = ?' => $questao->nrPergunta, 'idProjeto = ?' => $this->idPreProjeto);
                     $resposta = $tbRespostaDAO->buscar($where);
                     $arrPerguntas[$registro["nrFormDocumento"]]["titulo"] = $registro["nmFormDocumento"];
                     $arrPerguntas[$registro["nrFormDocumento"]]["pergunta"][] = $questao->toArray();
                     $arrRespostas[] = $resposta->toArray();
                 }
             }
         }
         $this->view->perguntas = $arrPerguntas;
         $this->view->respostas = $arrRespostas;
         $this->montaTela("admissibilidade/proposta-por-edital.phtml");
     } else {
         $this->montaTela("admissibilidade/proposta-por-incentivo-fiscal.phtml");
     }
 }
 public function salvaalterarprojetoAction()
 {
     $post = Zend_Registry::get('post');
     //$pronac = addslashes($post->pronac);
     $pronac = $this->_request->getParam("pronac");
     //verficia se o pronac esta criptografado
     if (strlen($pronac) > 12) {
         $pronac = Seguranca::dencrypt($pronac);
     }
     if (!empty($post->Situacao)) {
         $providenciaTomada = $post->justificativa;
     } else {
         $providenciaTomada = '';
     }
     $ano = addslashes(substr($pronac, 0, 2));
     $sequencial = addslashes(substr($pronac, 2, strlen($pronac)));
     $arrBusca = array('tbr.anoprojeto =?' => $ano, 'tbr.sequencial =?' => $sequencial);
     $tblProjeto = new Projetos();
     $validapronac = $tblProjeto->VerificaPronac($arrBusca);
     if (count($validapronac) > 0) {
         $dadosProjeto = $tblProjeto->buscarTodosDadosProjeto($validapronac[0]->IdPRONAC);
         $dadosProjeto = $dadosProjeto[0];
     } else {
         parent::message("Dados obrigatórios não informados", "alterarprojeto/consultarprojeto", "ERROR");
     }
     // Verificando se o Projeto atual está desabilitado e se pode ser habilitado!
     if (!empty($post->habilitado) && $post->habilitado == 'S') {
         $tbl = new Inabilitado();
         $whereI['AnoProjeto = ?'] = $dadosProjeto->AnoProjeto;
         $whereI['Sequencial = ?'] = $dadosProjeto->Sequencial;
         $retorno = $tbl->Localizar($whereI);
         $msg = 'O proponente não pode ser habilitado à presente data. Para habilitá-lo, favor anexar documento.';
         if (count($retorno) > 0 && $retorno[0]->idTipoInabilitado > 0 && $retorno[0]->idTipoInabilitado <= 7 && $retorno[0]->Anos < 1) {
             parent::message($msg, "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac) . "&menu=" . $post->menu, "ALERT");
         } else {
             if (count($retorno) > 0 && $retorno[0]->idTipoInabilitado >= 4 && $retorno[0]->idTipoInabilitado <= 5 && $retorno[0]->Anos < 2) {
                 parent::message($msg, "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac) . "&menu=" . $post->menu, "ALERT");
             } else {
                 if (count($retorno) > 0 && $retorno[0]->idTipoInabilitado >= 6 && $retorno[0]->idTipoInabilitado <= 7 && $retorno[0]->Anos < 3) {
                     parent::message($msg, "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac) . "&menu=" . $post->menu, "ALERT");
                 }
             }
         }
     }
     $dados = Null;
     $dados = array('idPRONAC' => $dadosProjeto->IdPRONAC, 'idLogon' => $this->idusuario, 'cdArea' => null, 'cdSegmento' => null, 'nmProjeto' => null, 'cdSituacao' => null, 'cdOrgao' => null, 'dtInicioExecucao' => null, 'dtFimExecucao' => null, 'idEnquadramento' => null, 'CGCCPF' => null, 'dsProvidenciaTomada' => $providenciaTomada, 'dsHistoricoAlteracaoProjeto' => $post->justificativa, 'dtHistoricoAlteracaoProjeto' => date("Y-m-d H:i:s"));
     if (!empty($post->Area)) {
         $dados['cdArea'] = $dadosProjeto->Area;
         $dados['dsProvidenciaTomada'] = 'Area -> ' . $post->Area;
     }
     if (!empty($post->Segmento)) {
         $dados['cdSegmento'] = $dadosProjeto->Segmento;
         $dados['dsProvidenciaTomada'] .= '/ Segmento -> ' . $post->Segmento;
     }
     if (!empty($post->NomeProjeto)) {
         $dados['nmProjeto'] = $dadosProjeto->NomeProjeto;
         $dados['dsProvidenciaTomada'] = $post->NomeProjeto;
     }
     if (!empty($post->sinteseProjeto)) {
         $dados['dsProvidenciaTomada'] = "Sintese do Projeto -> " . $post->sinteseProjeto;
     }
     if (!empty($post->Situacao)) {
         $dados['cdSituacao'] = $dadosProjeto->Situacao;
         $dados['dsProvidenciaTomada'] = $providenciaTomada;
     }
     if (!empty($post->Orgao)) {
         $dados['cdOrgao'] = $dadosProjeto->Orgao;
         $dados['dsProvidenciaTomada'] = $post->Orgao;
     }
     if (!empty($post->dtInicioExecucao)) {
         $dados['dtInicioExecucao'] = $dadosProjeto->DtInicioExecucao;
         $dados['dsProvidenciaTomada'] = "Inicio -> " . $post->dtInicioExecucao;
     }
     if (!empty($post->dtFimExecucao)) {
         $dados['dtFimExecucao'] = $dadosProjeto->DtFimExecucao;
         $dados['dsProvidenciaTomada'] .= "/ Fim -> " . $post->dtFimExecucao;
     }
     if (!empty($post->idEnquadramento)) {
         $dados['idEnquadramento'] = $dadosProjeto->Enquadramento;
         $dados['dsProvidenciaTomada'] = $post->idEnquadramento;
     }
     if (!empty($post->CGCCPF)) {
         $dados['CGCCPF'] = $dadosProjeto->CgcCpf;
         $dados['dsProvidenciaTomada'] = str_replace("/", "", str_replace("-", "", str_replace(".", "", addslashes($post->CGCCPF))));
     }
     if (!empty($post->habilitado)) {
         $dados['dsProvidenciaTomada'] = "Inabilitado = " . $post->habilitado;
     }
     if (!empty($post->dtInicioExecucao) && !empty($post->dtFimExecucao)) {
         $dados['dtInicioExecucao'] = ConverteData($post->dtInicioExecucao, 13);
         $dtInicio = $dados['dtInicioExecucao'];
         $dados['dtFimExecucao'] = ConverteData($post->dtFimExecucao, 13);
         $dtFim = $dados['dtFimExecucao'];
     }
     $tblHistoricoAlteracaoProjeto = new tbHistoricoAlteracaoProjeto();
     $idHistAlteracaoProjeto = $tblHistoricoAlteracaoProjeto->inserir($dados);
     //salva historico
     if ($idHistAlteracaoProjeto > 1) {
         //Se tiver salvo o historico atualiza a tabela projeto
         $tblHistoricoAlteracaoDoc = new tbHistoricoAlteracaoDocumento();
         if (!empty($post->documentoid)) {
             foreach ($post->documentoid as $documentoid) {
                 //Salva o relacionamento da tabela documentos com a de historico
                 $dados = array('idHistoricoAlteracaoProjeto' => $idHistAlteracaoProjeto, 'idDocumento' => $documentoid, 'idDocumentosExigidos' => '58');
                 $respostaArqXLog = $tblHistoricoAlteracaoDoc->salvar($dados);
             }
         }
         if (!empty($post->arquivoid)) {
             foreach ($post->arquivoid as $arquivoid) {
                 //Atualiza a situacao dos arquivos para ativo
                 $atualizaArquivo = ArquivoDAO::alterar(array('stAtivo' => 'A'), $arquivoid);
             }
         }
         $dados = null;
         $dados = array('idPRONAC' => $dadosProjeto->IdPRONAC);
         if (!empty($post->Situacao)) {
             $this->validasituacao($dadosProjeto);
         }
         if (!empty($post->habilitado)) {
             $this->salvahabilitado($dadosProjeto);
         }
         //funcao para inserir o novo proponente na tabela Interesados
         if (!empty($post->CGCCPF)) {
             $interessadoTb = new Interessado();
             $interessado = $interessadoTb->Busca($where = array("CgcCpf = ? " => str_replace("/", "", str_replace("-", "", str_replace(".", "", addslashes($post->CGCCPF))))));
             if (count($interessado) <= 0) {
                 $dadosProponente = array("CgcCpf" => str_replace("/", "", str_replace("-", "", str_replace(".", "", addslashes($post->CGCCPF)))), "Nome" => $post->nome, "Endereco" => "0", "Cidade" => "", "Uf" => "", "Cep" => "", "Responsavel" => "", "Grupo" => 1);
                 if (str_replace("/", "", str_replace("-", "", str_replace(".", "", addslashes($post->CGCCPF)))) > 11) {
                     $dadosProponente['tipoPessoa'] = 1;
                 } else {
                     $dadosProponente['tipoPessoa'] = 1;
                 }
                 $interessadoTb->inserir($dadosProponente);
             }
             $Agentes = new Agentes();
             $tbDocumentosAgentes = new tbDocumentosAgentes();
             $ag = $Agentes->buscar(array('CNPJCPF = ?' => Mascara::delMaskCPFCNPJ($post->CGCCPF)))->current();
             $docs = $tbDocumentosAgentes->buscarDocumentos(array('a.idAgente = ?' => $ag->idAgente));
             if (count($docs) == 0) {
                 parent::message("Os documentos do novo proponente não estão cadastrados no sistema. Favor anexar os documentos!", "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac) . "&menu=" . $post->menu, "ALERT");
             }
         }
         if (!empty($post->Area)) {
             $dados['Area'] = $post->Area;
         }
         if (!empty($post->Segmento)) {
             $dados['Segmento'] = $post->Segmento;
         }
         if (!empty($post->NomeProjeto)) {
             $dados['NomeProjeto'] = $post->NomeProjeto;
         }
         if (!empty($post->sinteseProjeto)) {
             $dados['ResumoProjeto'] = $post->sinteseProjeto;
         }
         if (!empty($post->Situacao)) {
             $dados['Situacao'] = $post->Situacao;
             $dados['DtSituacao'] = date("Y-m-d H:i:s");
             $dados['ProvidenciaTomada'] = $providenciaTomada;
         }
         if (!empty($post->Orgao)) {
             $dados['Orgao'] = $post->Orgao;
         }
         if (!empty($post->dtInicioExecucao)) {
             $dados['DtInicioExecucao'] = $dtInicio;
         }
         if (!empty($post->dtFimExecucao)) {
             $dados['DtFimExecucao'] = $dtFim;
         }
         if (!empty($post->CGCCPF)) {
             $dados['CgcCpf'] = str_replace("/", "", str_replace("-", "", str_replace(".", "", addslashes($post->CGCCPF))));
         }
         /**
          * ==============================================================
          * INICIO DA ATUALIZACAO DO VINCULO DO PROPONENTE
          * ==============================================================
          */
         $Projetos = new Projetos();
         $Agentes = new Agentes();
         $Visao = new Visao();
         $tbVinculo = new TbVinculo();
         $tbVinculoProposta = new tbVinculoProposta();
         /* ========== BUSCA OS DADOS DO PROPONENTE ANTIGO ========== */
         $buscarCpfProponenteAntigo = $Projetos->buscar(array('AnoProjeto+Sequencial = ?' => $post->pronac));
         $cpfProponenteAntigo = count($buscarCpfProponenteAntigo) > 0 ? $buscarCpfProponenteAntigo[0]->CgcCpf : 0;
         $buscarIdProponenteAntigo = $Agentes->buscar(array('CNPJCPF = ?' => $cpfProponenteAntigo));
         $idProponenteAntigo = count($buscarIdProponenteAntigo) > 0 ? $buscarIdProponenteAntigo[0]->idAgente : 0;
         $idPreProjetoVinculo = count($buscarCpfProponenteAntigo) > 0 ? $buscarCpfProponenteAntigo[0]->idProjeto : 0;
         /* ========== BUSCA OS DADOS DO NOVO PROPONENTE ========== */
         $buscarNovoProponente = $Agentes->buscar(array('CNPJCPF = ?' => Mascara::delMaskCPFCNPJ($post->CGCCPF)));
         $idNovoProponente = count($buscarNovoProponente) > 0 ? $buscarNovoProponente[0]->idAgente : 0;
         $buscarVisao = $Visao->buscar(array('Visao = ?' => 144, 'idAgente = ?' => $idNovoProponente));
         /* ========== BUSCA OS DADOS DA PROPOSTA VINCULADA ========== */
         $idVinculo = $tbVinculoProposta->buscar(array('idPreProjeto = ?' => $idPreProjetoVinculo));
         /* ========== ATUALIZA O VINCULO DO PROPONENTE ========== */
         //            if (count($buscarVisao) > 0 && count($idVinculo) > 0) :
         //                $whereVinculo = array('idVinculo = ?' => $idVinculo[0]->idVinculo);
         //
         //                $dadosVinculo = array(
         //                    'idAgenteProponente' => $idNovoProponente
         //                    , 'dtVinculo' => new Zend_Db_Expr('GETDATE()'));
         //
         //                $tbVinculo->alterar($dadosVinculo, $whereVinculo);
         //            else :
         //                parent::message("O usuário informado não é Proponente ou o Projeto não está vinculado a uma Proposta!", "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac), "ERROR");
         //            endif;
         /**
          * ==============================================================
          * FIM DA ATUALIZACAO DO VINCULO DO PROPONENTE
          * ==============================================================
          */
         //ATUALIZA DADOS DO PROJETO
         $idProjeto = $tblProjeto->salvar($dados);
         if (!empty($post->idEnquadramento)) {
             $dados = null;
             $dados = array('IdEnquadramento' => $dadosProjeto->IdEnquadramento, 'Enquadramento' => $post->idEnquadramento, 'DtEnquadramento' => date("Y-m-d H:i:s"), 'Logon' => $this->idusuario);
             $tblEnquadramento = new Enquadramento();
             $idEnquadramento = $tblEnquadramento->alterarEnquadramento($dados);
         }
         if ($idProjeto == $dadosProjeto->IdPRONAC) {
             if ($post->idEnquadramento) {
                 if ($idEnquadramento == $dadosProjeto->IdEnquadramento && $idEnquadramento !== false) {
                     parent::message("Altera&ccedil;&atilde;o realizada com sucesso!", "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac) . "&menu=" . $post->menu, "CONFIRM");
                 } else {
                     parent::message("Esse Projeto n&atilde;o possui Enquadramento", "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac) . "&menu=" . $post->menu, "ERROR");
                 }
             } else {
                 parent::message("Altera&ccedil;&atilde;o realizada com sucesso!", "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac) . "&menu=" . $post->menu, "CONFIRM");
             }
         } else {
             parent::message("Erro ao salvar dados", "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac) . "&menu=" . $post->menu, "ERROR");
         }
     } else {
         parent::message("Erro ao salvar dados", "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac), "ERROR");
     }
 }