public function finalizageralAction()
 {
     //idAcaoAvaliacaoItemPedidoAlteracao da Tabela BDCORPORATIVO.scSAC.tbAcaoAvaliacaoItemPedidoAlteracao
     $idAcao = $_GET['id'];
     //            $new = new tbProposta();
     //            $ss = $new->finalizarReadequacaoDeProposta('119720');
     //            xd($ss);
     //retorna o id do agente logado
     $idAgenteRemetente = $this->getIdUsuario;
     $idPerfilRemetente = $this->codGrupo;
     $db = Zend_Registry::get('db');
     $db->setFetchMode(Zend_DB::FETCH_OBJ);
     try {
         $db->beginTransaction();
         //ATUALIZA OS CAMPOS stAtivo e stVerificacao NA TABELA tbAcaoAvaliacaoItemPedidoAlteracao
         $sqlfin = ReadequacaoProjetos::retornaSQLfinalizaGeral($idAcao);
         $dados = $db->fetchAll($sqlfin);
         //BUSCA OS REGISTROS DA TABELA tbAcaoAvaliacaoItemPedidoAlteracao
         $sqlfin2 = ReadequacaoProjetos::retornaSQLfinalizaGeral2($idAcao);
         $dados = $db->fetchAll($sqlfin2);
         $id = $dados[0]->idAvaliacaoItemPedidoAlteracao;
         $idOrgao = $dados[0]->idOrgao;
         //BUSCA OS REGISTROS DOS CAMPOS idPedidoAlteracao E tpAlteracaoProjeto DA TABELA tbAvaliacaoItemPedidoAlteracao
         $sqlfin3 = ReadequacaoProjetos::retornaSQLfinalizaGeral3($id);
         $dados = $db->fetchAll($sqlfin3);
         $idPedidoAlt = $dados[0]->idPedidoAlteracao;
         $tpAlt = $dados[0]->tpAlteracaoProjeto;
         $stAvaliacaoItem = $dados[0]->stAvaliacaoItemPedidoAlteracao;
         //ATUALIZA O CAMPO stVerificacao NA TABELA tbPedidoAlteracaoXTipoAlteracao
         $sqlfin4 = ReadequacaoProjetos::retornaSQLfinalizaGeral4($idPedidoAlt, $tpAlt);
         $dados = $db->fetchAll($sqlfin4);
         //CRIAR NOVO REGISTRO DE ENCAMINHAMENTO NA TABELA tbAcaoAvaliacaoItemPedidoAlteracao
         if (!isset($_GET['checklist'])) {
             $sqlfin5 = ReadequacaoProjetos::retornaSQLfinalizaGeral5($id, $idOrgao, $idAgenteRemetente, $idPerfilRemetente);
             $dados = $db->fetchAll($sqlfin5);
         }
         //BUSCA O IDPRONAC DA TABELA tbPedidoAlteracaoProjeto
         $sqlfin6 = ReadequacaoProjetos::retornaSQLfinalizaGeral6($idPedidoAlt);
         $dados = $db->fetchAll($sqlfin6);
         $idPronac = $dados[0]->IdPRONAC;
         //Verifica se possui item de custo NA TABELA tbPedidoAlteracaoXTipoAlteracao
         if ($tpAlt == 7) {
             $sqlfin7 = ReadequacaoProjetos::retornaSQLfinalizaGeral7($idPedidoAlt);
             $itens = $db->fetchAll($sqlfin7);
             if (count($itens) == 2) {
                 $tpAlt = 10;
             }
         }
         $auth = Zend_Auth::getInstance();
         // pega a autenticação
         $agente = GerenciarPautaReuniaoDAO::consultaAgenteUsuario($auth->getIdentity()->usu_codigo);
         $idagente = $agente['idAgente'];
         if ($stAvaliacaoItem == 'AP') {
             if ($tpAlt == 1 && isset($_GET['checklist'])) {
                 //NOME DO PROPONENTE
                 $NomeProponenteSolicitado = PedidoAlteracaoDAO::buscarAlteracaoNomeProponente($idPronac);
                 $proponente = new Interessado();
                 $dados = array('Nome' => mb_convert_case(strtolower($NomeProponenteSolicitado['proponente']), MB_CASE_TITLE, "ISO-8859-1"));
                 $proponente->alterar($dados, array('CgcCpf = ?' => $NomeProponenteSolicitado['CgcCpf']));
             } else {
                 if ($tpAlt == 2 && isset($_GET['checklist'])) {
                     //TROCA DE PROPONENTE
                     $trocaProponenteAtual = VerificarAlteracaoProjetoDAO::BuscarDadosGenericos($idPronac);
                     $NomeAtual = $trocaProponenteAtual['proponente'];
                     $CpfCnpjAtual = $trocaProponenteAtual['CgcCpf'];
                     $idNome = $trocaProponenteAtual['idNome'];
                     $trocaProponenteSolicitada = PedidoAlteracaoDAO::buscarAlteracaoRazaoSocial($idPronac);
                     $NomeSolicitado = $trocaProponenteSolicitada['nmRazaoSocial'];
                     $CpfCnpjSolicitado = $trocaProponenteSolicitada['CgcCpf'];
                     // altera o cpf do proponente
                     $_Projetos = new Projetos();
                     $_alterarProponente = $_Projetos->alterar(array('CgcCpf' => $CpfCnpjSolicitado), array('IdPRONAC = ?' => $idPronac));
                     // altera o nome do proponente
                     $_Nomes = new Nomes();
                     $_alterarNome = $_Nomes->alterar(array('Descricao' => $NomeSolicitado), array('idNome = ?' => $idNome));
                     $proponente = new Interessado();
                     $dados = array('Nome' => mb_convert_case(strtolower($NomeSolicitado), MB_CASE_TITLE, "ISO-8859-1"));
                     $proponente->alterar($dados, array('CgcCpf = ?' => $CpfCnpjSolicitado));
                     /**
                      * ==============================================================
                      * 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('IdPRONAC = ?' => $idPronac));
                     $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 = ?' => $CpfCnpjSolicitado));
                     $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!", "verificarreadequacaodeprojeto/verificarreadequacaodeprojetocoordacompanhamento", "ERROR");
                     }
                     /**
                      * ==============================================================
                      * FIM DA ATUALIZACAO DO VINCULO DO PROPONENTE
                      * ==============================================================
                      */
                 } else {
                     if ($tpAlt == 3) {
                         //FICHA TÉCNICA
                         $fichatecAtual = FichaTecnicaDAO::buscarFichaTecnicaFinal($idPronac, $idPedidoAlt);
                         $Atual = $fichatecAtual[0]->FichaTecnica;
                         $idPreProjeto = $fichatecAtual[0]->idPreProjeto;
                         $fichatecSolicitada = PedidoAlteracaoDAO::buscarAlteracaoFichaTecnicaFinal($idPronac, $idPedidoAlt);
                         $Solicitada = $fichatecSolicitada[0]['dsFichaTecnica'];
                         $avaliacao = ReadequacaoProjetos::finalizacaoCoordAcomp("SAC.dbo.PreProjeto", "FichaTecnica", $Solicitada, "idPreProjeto", $idPreProjeto);
                         $result = $db->fetchAll($avaliacao);
                     } else {
                         if ($tpAlt == 4) {
                             //LOCAL DE REALIZAÇÃO
                             $local = ProjetoDAO::buscarPronac($idPronac);
                             $idProjeto = $local['idProjeto'];
                             $dadosTbAbran = tbAbrangenciaDAO::buscarDadosTbAbrangencia(null, $id);
                             foreach ($dadosTbAbran as $x) {
                                 if (trim($x->tpAcao) == 'I') {
                                     $dados = array('idProjeto' => $idProjeto, 'idPais' => $x->idPais, 'idUF' => $x->idUF, 'idMunicipioIBGE' => $x->idMunicipioIBGE, 'Usuario' => $idagente, 'stAbrangencia' => '1');
                                     //if (count(AbrangenciaDAO::verificarLocalRealizacao($idProjeto, $x->idMunicipioIBGE)) <= 0) :
                                     $local = AbrangenciaDAO::cadastrar($dados);
                                     //endif;
                                     //print_r($local);
                                 } else {
                                     if (trim($x->tpAcao) == 'E') {
                                         // altera o status dos locais excluídos
                                         $Abrangencia = new Abrangencia();
                                         $Abrangencia->update(array('stAbrangencia' => 0), array('idAbrangencia = ?' => $x->idAbrangenciaAntiga));
                                         //$_local = AbrangenciaDAO::buscarAbrangenciasAtuais($idProjeto, $x->idPais, $x->idUF, $x->idMunicipioIBGE);
                                         //$__local = AbrangenciaDAO::excluir($_local[0]->idAbrangencia);
                                     }
                                 }
                             }
                         } else {
                             if ($tpAlt == 5 && isset($_GET['checklist'])) {
                                 //NOME DO PROJETO
                                 $Projetos = new Projetos();
                                 $DadosAlteracaoNomeProjeto = PedidoAlteracaoDAO::buscarAlteracaoNomeProjeto($idPronac);
                                 $dados = array('NomeProjeto' => $DadosAlteracaoNomeProjeto['nmProjeto']);
                                 $Projetos->alterar($dados, array('IdPRONAC = ?' => $idPronac));
                             } else {
                                 if ($tpAlt == 6) {
                                     //PROPOSTA PEDAGÓGICA
                                     $sqlproposta = ReadequacaoProjetos::retornaSQLproposta("sqlpropostafinalizar", $idPronac);
                                     $dadosSolicitado = $db->fetchAll($sqlproposta);
                                     $Projeto = new Projetos();
                                     $DadosProj = $Projeto->buscar(array('IdPRONAC = ?' => $idPronac));
                                     if (count($DadosProj) > 0 && !empty($DadosProj[0]->idProjeto)) {
                                         $PreProjeto = new PreProjeto();
                                         $dados = array('EstrategiadeExecucao' => $dadosSolicitado[0]['dsEstrategiaExecucao'], 'EspecificacaoTecnica' => $dadosSolicitado[0]['dsEspecificacaoSolicitacao']);
                                         PreProjeto::alterarDados($dados, array('idPreProjeto = ?' => $DadosProj[0]->idProjeto));
                                     }
                                 } else {
                                     if ($tpAlt == 7) {
                                         $tbPlanoDistribuicao = new tbPlanoDistribuicao();
                                         $produtosAnalisadosDeferidos = $tbPlanoDistribuicao->produtosAvaliadosReadequacao($idPedidoAlt, $id);
                                         foreach ($produtosAnalisadosDeferidos as $valores) {
                                             $Projeto = new Projetos();
                                             $DadosProj = $Projeto->buscar(array('IdPRONAC = ?' => $idPronac));
                                             $dadosProduto = array('idPlanoDistribuicao' => $valores->idPlanoDistribuicao, 'idProjeto' => $DadosProj[0]->idProjeto, 'idProduto' => $valores->idProduto, 'Area' => $valores->cdArea, 'Segmento' => $valores->cdSegmento, 'idPosicaoDaLogo' => $valores->idPosicaoLogo, 'QtdeProduzida' => $valores->qtProduzida, 'QtdePatrocinador' => $valores->qtPatrocinador, 'QtdeProponente' => NULL, 'QtdeOutros' => $valores->qtOutros, 'QtdeVendaNormal' => $valores->qtVendaNormal, 'QtdeVendaPromocional' => $valores->qtVendaPromocional, 'PrecoUnitarioNormal' => $valores->vlUnitarioNormal, 'PrecoUnitarioPromocional' => $valores->vlUnitarioPromocional, 'stPrincipal' => $valores->stPrincipal, 'stPlanoDistribuicaoProduto' => 1);
                                             //ALTERA OU INSERE O PLANO DE DISTRIBUICAO
                                             $PlanoDistribuicao = new PlanoDistribuicao();
                                             $x = $PlanoDistribuicao->salvar($dadosProduto);
                                         }
                                     } else {
                                         if ($tpAlt == 8 && isset($_GET['checklist'])) {
                                             //PRORROGACAO DE PRAZOS - CAPTACAO
                                             $datas = PedidoAlteracaoDAO::buscarAlteracaoPrazoCaptacao($idPronac);
                                             $Projeto = new Projetos();
                                             $DadosProj = $Projeto->buscar(array('IdPRONAC = ?' => $idPronac));
                                             $Aprovacao = new Aprovacao();
                                             $registro = $Aprovacao->buscar(array('AnoProjeto = ?' => $DadosProj[0]->AnoProjeto, 'Sequencial = ?' => $DadosProj[0]->Sequencial));
                                             $dados = array('IdPRONAC' => $idPronac, 'AnoProjeto' => $DadosProj[0]->AnoProjeto, 'Sequencial' => $DadosProj[0]->Sequencial, 'TipoAprovacao' => 3, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'DtInicioCaptacao' => $datas['dtInicioNovoPrazo'], 'DtFimCaptacao' => $datas['dtFimNovoPrazo'], 'Logon' => $idagente);
                                             $Aprovacao->inserir($dados);
                                         } else {
                                             if ($tpAlt == 9 && isset($_GET['checklist'])) {
                                                 //PRORROGACAO DE PRAZOS - EXECUCAO
                                                 $datas = PedidoAlteracaoDAO::buscarAlteracaoPrazoExecucao($idPronac);
                                                 $projetos = new Projetos();
                                                 $dados = array('DtInicioExecucao' => $datas['dtInicioNovoPrazo'], 'DtFimExecucao' => $datas['dtFimNovoPrazo']);
                                                 $projetos->alterar($dados, array('IdPRONAC = ?' => $idPronac));
                                             } else {
                                                 if ($tpAlt == 10) {
                                                     $tbPlanoDistribuicao = new tbPlanoDistribuicao();
                                                     $produtosAnalisadosDeferidos = $tbPlanoDistribuicao->produtosAvaliadosReadequacao($idPedidoAlt, $id);
                                                     foreach ($produtosAnalisadosDeferidos as $valores) {
                                                         $Projeto = new Projetos();
                                                         $DadosProj = $Projeto->buscar(array('IdPRONAC = ?' => $idPronac));
                                                         $dadosProduto = array('idPlanoDistribuicao' => $valores->idPlanoDistribuicao, 'idProjeto' => $DadosProj[0]->idProjeto, 'idProduto' => $valores->idProduto, 'Area' => $valores->cdArea, 'Segmento' => $valores->cdSegmento, 'idPosicaoDaLogo' => $valores->idPosicaoLogo, 'QtdeProduzida' => $valores->qtProduzida, 'QtdePatrocinador' => $valores->qtPatrocinador, 'QtdeProponente' => NULL, 'QtdeOutros' => $valores->qtOutros, 'QtdeVendaNormal' => $valores->qtVendaNormal, 'QtdeVendaPromocional' => $valores->qtVendaPromocional, 'PrecoUnitarioNormal' => $valores->vlUnitarioNormal, 'PrecoUnitarioPromocional' => $valores->vlUnitarioPromocional, 'stPrincipal' => $valores->stPrincipal, 'stPlanoDistribuicaoProduto' => 1);
                                                         //ALTERA OU INSERE O PLANO DE DISTRIBUICAO
                                                         $PlanoDistribuicao = new PlanoDistribuicao();
                                                         $x = $PlanoDistribuicao->salvar($dadosProduto);
                                                     }
                                                     // PRODUTO + ITEN DE CUSTO
                                                     $planilhaProposta = new PlanilhaProposta();
                                                     $planilhaProjeto = new PlanilhaProjeto();
                                                     $DeParaPlanilhaAprovacao = new DeParaPlanilhaAprovacao();
                                                     $Projetos = new Projetos();
                                                     $planilha = new PlanilhaAprovacao();
                                                     $PlanilhasSolicitadas = $planilha->buscar(array('IdPRONAC = ?' => $idPronac, 'tpPlanilha = ?' => 'PA'));
                                                     $buscarProjeto = $Projetos->buscar(array('IdPRONAC = ?' => $idPronac));
                                                     foreach ($PlanilhasSolicitadas as $dadosP) {
                                                         if (!empty($dadosP->idPedidoAlteracao)) {
                                                             // busca a ação a ser executada conforme solicitação de readequação
                                                             //$_idPlanilhaProjeto      = empty($dadosP->idPlanilhaProjeto) ? ('idPlanilhaProjeto ? ' => new Zend_Db_Expr('IS NULL')) : ('idPlanilhaProjeto = ? ' => $dadosP->idPlanilhaProjeto);
                                                             //$_idPlanilhaProposta     = empty($dadosP->idPlanilhaProposta) ? ('idPlanilhaProposta ? ' => new Zend_Db_Expr('IS NULL')) : ('idPlanilhaProposta = ? ' => $dadosP->idPlanilhaProposta);
                                                             //$_idPlanilhaAprovacaoPai = empty($dadosP->idPlanilhaAprovacaoPai) ? ('idPlanilhaAprovacaoPai ? ' => new Zend_Db_Expr('IS NULL')) : ('idPlanilhaAprovacaoPai = ? ' => $dadosP->idPlanilhaAprovacaoPai);
                                                             $_dados = array('IdPRONAC = ?' => $idPronac, 'tpPlanilha = ?' => 'SR', 'IdPRONAC = ?' => $idPronac, 'idPedidoAlteracao = ? ' => $dadosP->idPedidoAlteracao);
                                                             $buscarTpAcaoSR = $planilha->buscar($_dados);
                                                             if (count($buscarTpAcaoSR) > 0 && !empty($buscarProjeto[0]->idProjeto)) {
                                                                 // EXCLUSÃO
                                                                 if ($buscarTpAcaoSR[0]->tpAcao == 'E') {
                                                                     // planilha antiga
                                                                     $idProjeto = $buscarProjeto[0]->idProjeto;
                                                                     $dadosAprovados = $planilhaProposta->buscar(array('idProjeto = ?' => $idProjeto, 'idProduto = ?' => $dadosP->idProduto, 'idEtapa = ?' => $dadosP->idEtapa, 'idPlanilhaItem = ?' => $dadosP->idPlanilhaItem));
                                                                     foreach ($dadosAprovados as $dadosExculsao) {
                                                                         $buscarDeParaPlanilhaAprovacao = $DeParaPlanilhaAprovacao->buscarPlanilhaProposta($dadosExculsao->idPlanilhaProposta);
                                                                         foreach ($buscarDeParaPlanilhaAprovacao as $b) {
                                                                             $DeParaPlanilhaAprovacao->delete(array('idPlanilhaAprovacao = ?' => $b->idPlanilhaAprovacao));
                                                                         }
                                                                         $planilha->delete(array('idPlanilhaProposta = ?' => $dadosExculsao->idPlanilhaProposta));
                                                                         $planilhaProjeto->delete(array('idPlanilhaProposta = ?' => $dadosExculsao->idPlanilhaProposta));
                                                                         $planilhaProposta->delete(array('idPlanilhaProposta = ?' => $dadosExculsao->idPlanilhaProposta));
                                                                     }
                                                                     // ALTERAÇÃO
                                                                 } elseif ($buscarTpAcaoSR[0]->tpAcao == 'A') {
                                                                     // planilha antiga
                                                                     $idProjeto = $buscarProjeto[0]->idProjeto;
                                                                     $dadosAprovados = $planilhaProposta->buscar(array('idProjeto = ?' => $idProjeto, 'idProduto = ?' => $dadosP->idProduto, 'idEtapa = ?' => $dadosP->idEtapa, 'idPlanilhaItem = ?' => $dadosP->idPlanilhaItem));
                                                                     foreach ($dadosAprovados as $dadosAlteracao) {
                                                                         $where = array('idPlanilhaProposta = ?' => $dadosAlteracao->idPlanilhaProposta);
                                                                         $dados = array('idProduto' => $dadosP->idProduto, 'idEtapa' => $dadosP->idEtapa, 'idPlanilhaItem' => $dadosP->idPlanilhaItem, 'Descricao' => $dadosP->dsItem, 'Unidade' => $dadosP->idUnidade, 'Quantidade' => $dadosP->qtItem, 'Ocorrencia' => $dadosP->nrOcorrencia, 'ValorUnitario' => $dadosP->vlUnitario, 'QtdeDias' => $dadosP->qtDias, 'TipoDespesa' => $dadosP->tpDespesa, 'TipoPessoa' => $dadosP->tpPessoa, 'Contrapartida' => $dadosP->nrContraPartida, 'FonteRecurso' => $dadosP->nrFonteRecurso, 'UfDespesa' => $dadosP->idUFDespesa, 'MunicipioDespesa' => $dadosP->idMunicipioDespesa, 'idUsuario' => $dadosP->idAgente, 'dsJustificativa' => $dadosP->dsJustificativa);
                                                                         $planilhaProposta->alterar($dados, $where);
                                                                     }
                                                                     $planilha->update(array('tpPlanilha' => 'CO', 'stAtivo' => 'N'), array('idPlanilhaAprovacao = ? ' => $dadosP->idPlanilhaAprovacao));
                                                                     $planilha->update(array('tpPlanilha' => 'CO', 'stAtivo' => 'N'), array('idPlanilhaAprovacao = ? ' => $buscarTpAcaoSR[0]->idPlanilhaAprovacao));
                                                                     // INCLUSÃO
                                                                 } elseif ($buscarTpAcaoSR[0]->tpAcao == 'I') {
                                                                     // planilha antiga
                                                                     $ReplicaDados = array('idProjeto' => $buscarProjeto[0]->idProjeto, 'idProduto' => $dadosP->idProduto, 'idEtapa' => $dadosP->idEtapa, 'idPlanilhaItem' => $dadosP->idPlanilhaItem, 'Descricao' => $dadosP->dsItem, 'Unidade' => $dadosP->idUnidade, 'Quantidade' => $dadosP->qtItem, 'Ocorrencia' => $dadosP->nrOcorrencia, 'ValorUnitario' => $dadosP->vlUnitario, 'QtdeDias' => $dadosP->qtDias, 'TipoDespesa' => $dadosP->tpDespesa, 'TipoPessoa' => $dadosP->tpPessoa, 'Contrapartida' => $dadosP->nrContraPartida, 'FonteRecurso' => $dadosP->nrFonteRecurso, 'UfDespesa' => $dadosP->idUFDespesa, 'MunicipioDespesa' => $dadosP->idMunicipioDespesa, 'idUsuario' => $dadosP->idAgente, 'dsJustificativa' => $dadosP->dsJustificativa);
                                                                     $planilhaProposta->inserir($ReplicaDados);
                                                                     $planilha->update(array('tpPlanilha' => 'CO', 'stAtivo' => 'N'), array('idPlanilhaAprovacao = ? ' => $dadosP->idPlanilhaAprovacao));
                                                                     $planilha->update(array('tpPlanilha' => 'CO', 'stAtivo' => 'N'), array('idPlanilhaAprovacao = ? ' => $buscarTpAcaoSR[0]->idPlanilhaAprovacao));
                                                                 }
                                                             }
                                                         }
                                                         // fecha if
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
         $db->commit();
         //CASO SEJA O ÚLTIMO ITEM DO PEDIDO DE ALTERAÇÃO, FINALIZA O STATUS DA MESMA
         $tbPedidoAlteracaoXTipoAlteracao = new tbPedidoAlteracaoXTipoAlteracao();
         $verificarPedidosAtivos = $tbPedidoAlteracaoXTipoAlteracao->buscar(array('idPedidoAlteracao = ?' => $idPedidoAlt, 'stVerificacao <> ?' => 4));
         $arrBusca = array();
         $arrBusca['p.siVerificacao IN (?)'] = array('1');
         $arrBusca['p.IdPRONAC = ?'] = $idPronac;
         $arrBusca['x.tpAlteracaoProjeto IN (?)'] = array('1', '2', '5', '7', '8', '9', '10');
         $arrBusca['a.stAvaliacaoItemPedidoAlteracao IN (?)'] = array('AP');
         $arrBusca['c.stVerificacao NOT IN (?)'] = array('4');
         $buscaChecklist = $tbPedidoAlteracaoXTipoAlteracao->buscarPedidoChecklist($arrBusca);
         if (count($verificarPedidosAtivos) == 0 && count($buscaChecklist) == 0) {
             $tbPedidoAlteracaoProjeto = new tbPedidoAlteracaoProjeto();
             $tbPedidoAlteracaoProjeto->alterar(array('siVerificacao' => 2), array('idPedidoAlteracao = ?' => $idPedidoAlt));
         }
         if (isset($_GET['checklist'])) {
             parent::message("Portaria publicada com sucesso!", "publicacaodou/index", "CONFIRM");
         } else {
             parent::message("Projeto finalizado com sucesso!", "verificarreadequacaodeprojeto/verificarreadequacaodeprojetocoordacompanhamento", "CONFIRM");
         }
     } catch (Zend_Exception $e) {
         $db->rollBack();
         parent::message("Erro na devolução da solicitação", "verificarreadequacaodeprojeto/verificarreadequacaodeprojetocoordacompanhamento", "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']);
 }
 /**
  * Método resnovoresponsavel()
  * Retorno do novoresponsavel
  * UC 89 - Fluxo FA4 - Vincular Respons�vel
  * @access public
  * @param void
  * @return void
  */
 public function respnovoresponsavelAction()
 {
     //ini_set('default_charset', 'utf-8');
     $this->_helper->layout->disableLayout();
     $cnpjcpf = Mascara::delMaskCPF($this->_request->getParam("cnpjcpf"));
     $nome = $this->_request->getParam("nome");
     $tbVinculo = new TbVinculo();
     if (empty($cnpjcpf) && empty($nome)) {
         echo "<table class='tabela'>\n\t\t\t\t\t<tr>\n\t\t\t\t\t    <td class='red' align='center'>Voc� deve preencher pelo menos um campo!</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</table>";
         exit;
     } elseif (!empty($cnpjcpf)) {
         $where['SGA.Cpf = ?'] = $cnpjcpf;
     } elseif (!empty($nome)) {
         $where['SGA.Nome like (?)'] = "%" . utf8_decode($nome) . "%";
     }
     $busca = $tbVinculo->buscarResponsaveis($where, $this->idAgenteProponente);
     $this->view->dados = $busca;
     $this->view->dadoscount = count($busca);
     $this->view->idAgenteProponente = $this->idAgenteProponente;
 }
Example #4
0
 public function cadastrarusuarioAction()
 {
     if ($_POST) {
         $post = Zend_Registry::get('post');
         $cpf = Mascara::delMaskCNPJ(Mascara::delMaskCPF($post->cpf));
         // recebe cpf
         $nome = $post->nome;
         // recebe o nome
         $dataNasc = $post->dataNasc;
         // recebe dataNasc
         $email = $post->email;
         // recebe email
         $emailConf = $post->emailConf;
         // recebe confirmacao senha
         if (trim($email) != trim($emailConf)) {
             parent::message("Digite o email certo!", "/login/cadastrarusuario", "ALERT");
         }
         $SenhaFinal = Gerarsenha::gerasenha(15, true, true, true, false);
         //                $encriptaSenha = EncriptaSenhaDAO::encriptaSenha($cpf, $gerarSenha);
         //                $SenhaFinal = $encriptaSenha[0]->senha;
         //                $SenhaFinal = $gerarSenha;
         $dataFinal = data::dataAmericana($dataNasc);
         $dados = array("Cpf" => $cpf, "Nome" => $nome, "DtNascimento" => $dataFinal, "Email" => $email, "Senha" => $SenhaFinal, "DtCadastro" => date("Y-m-d"), "Situacao" => 1, "DtSituacao" => date("Y-m-d"));
         //                xd($dados);
         $sgcAcesso = new Sgcacesso();
         $sgcAcessoBuscaCpf = $sgcAcesso->buscar(array("Cpf = ?" => $cpf));
         $sgcAcessoBuscaCpfArray = $sgcAcessoBuscaCpf->toArray();
         if (!empty($sgcAcessoBuscaCpfArray)) {
             parent::message("CPF j&aacute; cadastrado", "/login/cadastrarusuario", "ALERT");
         }
         $sgcAcessoBuscaEmail = $sgcAcesso->buscar(array("Email = ?" => $email));
         $sgcAcessoBuscaEmailArray = $sgcAcessoBuscaEmail->toArray();
         if (!empty($sgcAcessoBuscaEmailArray)) {
             parent::message("E-mail j&aacute; cadastrado", "/login/cadastrarusuario", "ALERT");
         }
         if (empty($sgcAcessoBuscaCpfArray) && empty($sgcAcessoBuscaEmailArray)) {
             $sgcAcessoSave = $sgcAcesso->salvar($dados);
             /**
              * ==============================================================
              * INICIO DO VINCULO DO RESPONSAVEL COM ELE MESMO (PROPONENTE)
              * ==============================================================
              */
             /* ========== VERIFICA SE O RESPONSAVEL JA TEM CADASTRO COMO PROPONENTE ========== */
             $Agentes = new Agentes();
             $Visao = new Visao();
             $buscarAgente = $Agentes->buscar(array('CNPJCPF = ?' => $cpf));
             $idAgenteProp = count($buscarAgente) > 0 ? $buscarAgente[0]->idAgente : 0;
             $buscarVisao = $Visao->buscar(array('Visao = ?' => 144, 'stAtivo = ?' => 'A', 'idAgente = ?' => $idAgenteProp));
             /* ========== VINCULA O RESPONSAVEL A SEU PROPRIO PERFIL DE PROPONENTE ========== */
             if (count($buscarVisao) > 0) {
                 $tbVinculo = new TbVinculo();
                 $idResp = $sgcAcesso->buscar(array('Cpf = ?' => $sgcAcessoSave));
                 // pega o id do responsável cadastrado
                 $dadosVinculo = array('idAgenteProponente' => $idAgenteProp, 'dtVinculo' => new Zend_Db_Expr('GETDATE()'), 'siVinculo' => 2, 'idUsuarioResponsavel' => $idResp[0]->IdUsuario);
                 $tbVinculo->inserir($dadosVinculo);
             }
             /**
              * ==============================================================
              * FIM DO VINCULO DO RESPONSAVEL COM ELE MESMO (PROPONENTE)
              * ==============================================================
              */
             /* ========== ENVIA O E-MAIL PARA O USUARIO ========== */
             $assunto = "Cadastro SALICWEB";
             $perfil = 'SALICWEB';
             $mens = "Ol&aacute; {$nome} ,<br><br>";
             $mens .= "Senha: {$SenhaFinal} <br><br>";
             $mens .= "Esta &eacute; a sua senha de acesso ao Sistema de Apresenta&ccedil;&atilde;o de Projetos via Web do ";
             $mens .= "Minist&eacute;rio da Cultura.<br><br>Lembramos que a mesma dever&aacute; ser ";
             $mens .= "trocada no seu primeiro acesso ao sistema.<br><br>";
             $mens .= "Esta &eacute; uma mensagem autom&aacute;tica. Por favor n&atilde;o responda.<br><br>";
             $mens .= "Atenciosamente,<br>Minist&eacute;rio da Cultura";
             $enviaEmail = EmailDAO::enviarEmail($email, $assunto, $mens, $perfil);
             parent::message("Cadastro efetuado com sucesso. Verifique a senha no seu email", "/login/index", "CONFIRM");
         }
     }
     // fecha if
 }
 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");
     }
 }
 /**
  * 
  */
 private function salvaragente()
 {
     /**/
     $auth = Zend_Auth::getInstance();
     // pega a autenticação
     $Usuario = isset($auth->getIdentity()->IdUsuario) ? $auth->getIdentity()->IdUsuario : $auth->getIdentity()->usu_codigo;
     // =============================================== INÍCIO SALVAR CPF/CNPJ ==================================================
     $cpf = Mascara::delMaskCPF(Mascara::delMaskCNPJ($this->_request->getParam("cpf")));
     // retira as máscaras
     $Tipo = $this->_request->getParam("Tipo");
     $arrayAgente = array('CNPJCPF' => $cpf, 'TipoPessoa' => $Tipo, 'Status' => 0, 'Usuario' => $Usuario);
     $Agentes = new Agentes();
     $salvaAgente = $Agentes->inserirAgentes($arrayAgente);
     $Agente = $Agentes->BuscaAgente($cpf);
     $idAgente = $Agente[0]->idAgente;
     // ================================================ FIM SALVAR CPF/CNPJ =====================================================
     // ================================================ INÍCIO SALVAR NOME ======================================================
     $nome = $this->_request->getParam("nome");
     $TipoNome = strlen($cpf) == 11 ? 18 : 19;
     // 18 = pessoa física e 19 = pessoa jurídica
     if ($this->modal == "s") {
         $nome = Seguranca::tratarVarAjaxUFT8($nome);
     }
     try {
         $gravarNome = NomesDAO::gravarNome($idAgente, $TipoNome, $nome, 0, $Usuario);
     } catch (Exception $e) {
         parent::message("Erro ao salvar o nome: " . $e->getMessage(), "agentes/incluiragente", "ERROR");
     }
     // ================================================ FIM SALVAR NOME ======================================================
     // ================================================ INICIO SALVAR VISÃO ======================================================
     $Visao = $this->_request->getParam("visao");
     $grupologado = $this->_request->getParam("grupologado");
     /*
      * Validação - Se for componente da comissão ele não salva a visão
      * Regra o componente da comissão não pode alterar sua visão.
      */
     if ($grupologado != 118) {
         $GravarVisao = array('idAgente' => $idAgente, 'Visao' => $Visao, 'Usuario' => $Usuario, 'stAtivo' => 'A');
         try {
             $busca = VisaoDAO::buscarVisao($idAgente, $Visao);
             if (!$busca) {
                 $i = VisaoDAO::cadastrarVisao($GravarVisao);
             }
         } catch (Exception $e) {
             parent::message("Erro ao salvar a visão: " . $e->getMessage(), "agentes/incluiragente", "ERROR");
         }
         // ================================================ FIM SALVAR visão ======================================================
         // ===================== INÍCIO SALVAR TITULAÇÃO (área/SEGMENTO DO COMPONENTE DA COMISSÃO) ================================
         $titular = $this->_request->getParam("titular");
         $areaCultural = $this->_request->getParam("areaCultural");
         $segmentoCultural = $this->_request->getParam("segmentoCultural");
         // só salva área e segmento para a visão de Componente da Comissão e se os campos titular e areaCultural forem informados
         if ((int) $Visao == 210 && ((int) $titular == 0 || (int) $titular == 1) && !empty($areaCultural)) {
             $GravarComponente = array('idAgente' => $idAgente, 'cdArea' => $areaCultural, 'cdSegmento' => $segmentoCultural, 'stTitular' => $titular, 'stConselheiro' => 'A');
             $AtualizarComponente = array('cdArea' => $areaCultural, 'cdSegmento' => $segmentoCultural, 'stTitular' => $titular);
             try {
                 // busca a titulação do agente (titular/suplente de área cultural)
                 $busca = TitulacaoConselheiroDAO::buscarComponente($idAgente, $Visao);
                 if (!$busca) {
                     $i = TitulacaoConselheiroDAO::gravarComponente($GravarComponente);
                 } else {
                     $i = TitulacaoConselheiroDAO::atualizaComponente($idAgente, $AtualizarComponente);
                 }
             } catch (Exception $e) {
                 parent::message("Erro ao salvar a área e segmento: " . $e->getMessage(), "agentes/incluiragente", "ERROR");
             }
         }
         // ============================= FIM SALVAR TITULAÇÃO (área/SEGMENTO DO COMPONENTE DA COMISSÃO) ===========================
     }
     // Fecha o if da regra do componente da comissão
     // =========================================== INICIO SALVAR ENDEREÇOS ====================================================
     $cepEndereco = $this->_request->getParam("cep");
     $tipoEndereco = $this->_request->getParam("tipoEndereco");
     $ufEndereco = $this->_request->getParam("uf");
     $CidadeEndereco = $this->_request->getParam("cidade");
     $Endereco = $this->_request->getParam("logradouro");
     $divulgarEndereco = $this->_request->getParam("divulgarEndereco");
     $tipoLogradouro = $this->_request->getParam("tipoLogradouro");
     $numero = $this->_request->getParam("numero");
     $complemento = $this->_request->getParam("complemento");
     $bairro = $this->_request->getParam("bairro");
     $enderecoCorrespodencia = 1;
     try {
         $arrayEnderecos = array('idAgente' => $idAgente, 'Cep' => str_replace(".", "", str_replace("-", "", $cepEndereco)), 'TipoEndereco' => $tipoEndereco, 'UF' => $ufEndereco, 'Cidade' => $CidadeEndereco, 'Logradouro' => $Endereco, 'Divulgar' => $divulgarEndereco, 'TipoLogradouro' => $tipoLogradouro, 'Numero' => $numero, 'Complemento' => $complemento, 'Bairro' => $bairro, 'Status' => $enderecoCorrespodencia, 'Usuario' => $Usuario);
         $insere = EnderecoNacionalDAO::gravarEnderecoNacional($arrayEnderecos);
     } catch (Exception $e) {
         parent::message("Erro ao salvar o endereço: " . $e->getMessage(), "agentes/incluiragente", "ERROR");
     }
     // ============================================= FIM SALVAR ENDEREÇOS ====================================================
     // =========================================== INICIO SALVAR TELEFONES ====================================================
     $movimentacacaobancaria = $this->_request->getParam('movimentacaobancaria');
     if (empty($movimentacacaobancaria)) {
         $tipoFone = $this->_request->getParam("tipoFone");
         $ufFone = $this->_request->getParam("ufFone");
         $dddFone = $this->_request->getParam("dddFone");
         $Fone = $this->_request->getParam("fone");
         $divulgarFone = $this->_request->getParam("divulgarFone");
         try {
             $arrayTelefones = array('idAgente' => $idAgente, 'TipoTelefone' => $tipoFone, 'UF' => $ufFone, 'DDD' => $dddFone, 'Numero' => $Fone, 'Divulgar' => $divulgarFone, 'Usuario' => $Usuario);
             $insere = Telefone::cadastrar($arrayTelefones);
         } catch (Exception $e) {
             parent::message("Erro ao salvar o telefone: " . $e->getMessage(), "agentes/incluiragente", "ERROR");
         }
     }
     // =========================================== FIM SALVAR TELEFONES ====================================================
     // =========================================== INICIO SALVAR EMAILS ====================================================
     if (empty($movimentacacaobancaria)) {
         $tipoEmail = $this->_request->getParam("tipoEmail");
         $Email = $this->_request->getParam("email");
         $divulgarEmail = $this->_request->getParam("divulgarEmail");
         $enviarEmail = 1;
         try {
             $arrayEmail = array('idAgente' => $idAgente, 'TipoInternet' => $tipoEmail, 'Descricao' => $Email, 'Status' => $enviarEmail, 'Divulgar' => $divulgarEmail, 'Usuario' => $Usuario);
             $insere = Email::cadastrar($arrayEmail);
         } catch (Exception $e) {
             parent::message("Erro ao salvar o e-mail: " . $e->getMessage(), "agentes/incluiragente", "ERROR");
         }
     }
     // =========================================== FIM SALVAR EMAILS ====================================================
     // ================ INICIO SALVAR VINCULO DO RESPONSAVEL COM ELE MESMO (PROPONENTE) ================
     $acao = null;
     if (empty($movimentacacaobancaria)) {
         try {
             $this->vincular($cpf, $idAgente);
         } catch (Exception $e) {
             parent::message("Erro ao salvar o e-mail: " . $e->getMessage(), "agentes/incluiragente", "ERROR");
         }
         // ================ FIM SALVAR VINCULO DO RESPONSAVEL COM ELE MESMO (PROPONENTE) ================
         // Caso venha do UC 89 Solicitar Vinculo
         $acao = $this->_request->getParam('acao');
         $idResponsavel = $this->idResponsavel;
         // ============== VINCULA O RESPONSAVEL COM O PROPONENTE CADASTRADO =============================
         if (!empty($acao) && !empty($idResponsavel)) {
             $tbVinculo = new TbVinculo();
             $dadosVinculo = array('idAgenteProponente' => $idAgente, 'dtVinculo' => new Zend_Db_Expr('GETDATE()'), 'siVinculo' => 0, 'idUsuarioResponsavel' => $idResponsavel);
             $tbVinculo->inserir($dadosVinculo);
         }
     }
     //================ FIM VINCULA O RESPONSAVEL COM O PROPONENTE CADASTRADO ========================
     if (isset($acao) && $acao != '') {
         // Retorna para o listar propostas
         $tbVinculo = new TbVinculo();
         $dadosVinculo = array('idAgenteProponente' => $idAgente, 'dtVinculo' => new Zend_Db_Expr('GETDATE()'), 'siVinculo' => 0, 'idUsuarioResponsavel' => $auth->getIdentity()->IdUsuario);
         $tbVinculo->inserir($dadosVinculo);
     }
     /**/
     // Se vim do UC 10 - solicitar alteração no Projeto
     // Chega aqui com o idpronac
     $idpronac = $this->_request->getParam('idpronac');
     // Se vim do UC38 - Movimentação bancaria - Captação
     $projetofnc = $this->_request->getParam('cadastrarprojeto');
     # tratamento para disparar "js custom event" no dispatch
     $agente = ManterAgentesDAO::buscarAgentes($cpf);
     $agente = $agente[0];
     $agente->id = $agente->idAgente;
     $agente->nome = $agente->Nome;
     $agente->cpfCnpj = $agente->CNPJCPF;
     $agenteArray = (array) $agente;
     array_walk($agenteArray, function ($value, $key) use($agente) {
         $agente->{$key} = utf8_encode($value);
     });
     $this->salvarAgenteRedirect($agente, $idpronac, $projetofnc, $movimentacacaobancaria, $acao);
 }
 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;
 }
 public function buscarProponentesComboAction()
 {
     $this->_helper->layout->disableLayout();
     // desabilita o Zend_Layout
     $mecanismo = $_POST['mecanismo'];
     $tblVinculo = new TbVinculo();
     $rsVinculo = $tblVinculo->buscarProponenteResponsavel($this->idResponsavel, $mecanismo);
     $agente = array();
     $i = 1;
     if (count($rsVinculo) > 0) {
         foreach ($rsVinculo as $rs) {
             $dadosCombo[$i]['idAgenteProponente'] = $rs->idAgente;
             if (strlen($rs->CNPJCPF) == 11) {
                 $proponente = '[' . Mascara::addMaskCPF($rs->CNPJCPF) . '] - ' . utf8_encode($rs->NomeProponente);
             } else {
                 $proponente = '[' . Mascara::addMaskCNPJ($rs->CNPJCPF) . '] - ' . utf8_encode($rs->NomeProponente);
             }
             $dadosCombo[$i]['proponente'] = $proponente;
             $i++;
         }
         $jsonEncode = json_encode($dadosCombo);
         echo json_encode(array('resposta' => true, 'conteudo' => $dadosCombo));
     } else {
         echo json_encode(array('resposta' => false));
     }
     die;
 }