Exemplo n.º 1
0
 /**
  * Grava registro. Se seja passado um ID ele altera um registro existente
  * @param array $dados - array com dados referentes as colunas da tabela no formato "nome_coluna_1"=>"valor_1","nome_coluna_2"=>"valor_2"
  * @return ID do registro inserido/alterado ou FALSE em caso de erro
  */
 public function salvar($dados)
 {
     //INSTANCIANDO UM OBJETO DE ACESSO AOS DADOS DA TABELA
     $tblAbrangencia = new Abrangencia();
     //DECIDINDO SE INCLUI OU ALTERA UM REGISTRO
     $dados['stAbrangencia'] = 1;
     if (isset($dados['idAbrangencia']) && !empty($dados['idAbrangencia'])) {
         //UPDATE
         $rsAbrangencia = $tblAbrangencia->find($dados['idAbrangencia'])->current();
     } else {
         //INSERT
         $dados['idAbrangencia'] = null;
         return $tblAbrangencia->insert($dados);
         //$rsAbrangencia = $tblAbrangencia->createRow();
     }
     //ATRIBUINDO VALORES AOS CAMPOS QUE FORAM PASSADOS
     if (!empty($dados['idProjeto'])) {
         $rsAbrangencia->idProjeto = $dados['idProjeto'];
     }
     if (!empty($dados['idPais'])) {
         $rsAbrangencia->idPais = $dados['idPais'];
     }
     $rsAbrangencia->idUF = $dados['idUF'];
     //if(!empty($dados['idUF'])) { $rsAbrangencia->idUF = $dados['idUF']; }
     $rsAbrangencia->idMunicipioIBGE = $dados['idMunicipioIBGE'];
     //if(!empty($dados['idMunicipioIBGE'])) { $rsAbrangencia->idMunicipioIBGE = $dados['idMunicipioIBGE']; }
     if (!empty($dados['Usuario'])) {
         $rsAbrangencia->Usuario = $dados['Usuario'];
     }
     $rsAbrangencia->stAbrangencia = 1;
     //SALVANDO O OBJETO
     $id = $rsAbrangencia->save();
     if ($id) {
         return $id;
     } else {
         return false;
     }
 }
 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 validarEnvioPropostaAoMinc($idPreProjeto)
 {
     //BUSCA DADOS DO PROJETO
     $arrBusca = array();
     $arrBusca['idPreProjeto = ?'] = $idPreProjeto;
     $tblPreProjeto = new PreProjeto();
     $rsPreProjeto = $tblPreProjeto->buscar($arrBusca)->current();
     //xd($rsPreProjeto);
     /* ======== VERIFICA TODAS AS INFORMACOES NECESSARIAS AO ENVIO DA PROPOSTA ======= */
     $arrResultado = array();
     $arrResultado['erro'] = false;
     /*         * ******* MOVIMENTACAO ******** */
     //VERIFICA SE A PROPOSTA ESTA COM O MINC
     $Movimentacao = new Movimentacao();
     $rsMovimentacao = $Movimentacao->buscarStatusAtualProposta($idPreProjeto);
     if ($rsMovimentacao->Movimentacao != 95) {
         $arrResultado['erro'] = true;
         $arrResultado['movimentacao']['erro'] = false;
         $arrResultado['movimentacao']['msg'] = "A Proposta Cultural encontra-se no Minist&eacute;rio da Cultura";
     } else {
         /* $arrResultado['erro'] = true;
            $arrResultado['movimentacao']['erro'] = false;
            $arrResultado['movimentacao']['msg'] = "A Proposta Cultural encontra-se no Minist&eacute;rio da Cultura"; */
     }
     /*         * ******* DADOS DO PROPONENTE ******** */
     $tblProponente = new Proponente();
     //$rsProponente = $tblProponente->buscar(array("a.idAgente = ?"=>$rsPreProjeto->idAgente))->current();
     $tblAgente = new Agentes();
     $rsProponente = $tblAgente->buscarAgenteNome(array("a.idAgente = ?" => $rsPreProjeto->idAgente))->current();
     $regularidade = Regularidade::buscarSalic($rsProponente->CNPJCPF);
     $dadosEndereco = EnderecoNacionalDAO::buscarEnderecoNacional($rsPreProjeto->idAgente);
     $dadosEmail = Email::buscar($rsPreProjeto->idAgente);
     $dadosDirigente = ManterAgentesDAO::buscarVinculados(null, null, null, null, $rsPreProjeto->idAgente);
     //$dadosDirigente = ManterAgentes::buscaDirigentes($rsProponente->CNPJCPF);
     $tblLocaisRealizacao = new Abrangencia();
     $dadosLocais = $tblLocaisRealizacao->buscar(array("a.idProjeto" => $idPreProjeto, "a.stAbrangencia" => 1));
     $tblPlanoDivulgacao = new PlanoDeDivulgacao();
     $dadosPlanoDivulgacao = $tblPlanoDivulgacao->buscar(array("idProjeto =?" => $idPreProjeto))->toArray();
     $tblPlanoDistribuicao = new PlanoDistribuicao();
     $dadosPlanoDistribuicao = $tblPlanoDistribuicao->buscar(array("a.idProjeto = ?" => $idPreProjeto, "a.stPlanoDistribuicaoProduto = ?" => 1), array("idProduto ASC"))->toArray();
     if (count($rsProponente) > 0) {
         //VERIFICA SE O PROPONENTE EST� VINCULADO
         $vinculoProponente = new tbVinculoPropostaResponsavelProjeto();
         $whereProp['VP.idPreProjeto = ?'] = $this->idPreProjeto;
         $whereProp['VP.siVinculoProposta = ?'] = 2;
         $rsVinculo = $vinculoProponente->buscarResponsaveisProponentes($whereProp);
         if ($rsVinculo->count() > 0) {
             if (isset($rsVinculo[0]->siVinculo) && $rsVinculo[0]->siVinculo == 0) {
                 $msgProponente = "Aguardando o vínculo do Proponente";
             } elseif (isset($rsVinculo[0]->siVinculo) && $rsVinculo[0]->siVinculo == 1) {
                 $msgProponente = "O Proponente rejeitou o vínculo";
             } elseif (isset($rsVinculo[0]->siVinculo) && $rsVinculo[0]->siVinculo == 2) {
                 $msgProponente = "Proponente Vinculado";
             } else {
                 $msgProponente = "Proponente desvinculado";
             }
             if ($rsVinculo[0]->siVinculo == 2) {
                 $arrResultado['vinculoproponente']['erro'] = false;
                 $arrResultado['vinculoproponente']['msg'] = $msgProponente;
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['vinculoproponente']['erro'] = true;
                 $arrResultado['vinculoproponente']['msg'] = $msgProponente;
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['vinculoproponente']['erro'] = true;
             $arrResultado['vinculoproponente']['msg'] = "Proponente desvinculado";
         }
         //REGULARIDADE DO PROPONENTE
         if (count($regularidade) > 0) {
             if ($regularidade[0]->Habilitado == "S") {
                 $arrResultado['regularidadeproponente']['erro'] = false;
                 $arrResultado['regularidadeproponente']['msg'] = "Proponente em situa&ccedil;&atilde;o REGULAR no Minist&eacute;rio da Cultura";
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['regularidadeproponente']['erro'] = true;
                 $arrResultado['regularidadeproponente']['msg'] = "Proponente em situa&ccedil;&atilde;o IRREGULAR no Minist&eacute;rio da Cultura";
             }
         } else {
             $arrResultado['regularidadeproponente']['erro'] = false;
             $arrResultado['regularidadeproponente']['msg'] = "Proponente em situa&ccedil;&atilde;o REGULAR no Minist&eacute;rio da Cultura";
         }
         //DADOS GERAIS DA PROPOSTA
         if (!empty($rsPreProjeto)) {
             if (trim($rsPreProjeto->Objetivos) == "" || trim($rsPreProjeto->Justificativa) == "" || trim($rsPreProjeto->Acessibilidade) == "" || trim($rsPreProjeto->DemocratizacaoDeAcesso) == "" || trim($rsPreProjeto->EtapaDeTrabalho) == "" || trim($rsPreProjeto->FichaTecnica) == "" || trim($rsPreProjeto->Sinopse) == "" || trim($rsPreProjeto->ImpactoAmbiental) == "" || trim($rsPreProjeto->EspecificacaoTecnica) == "") {
                 $arrResultado['erro'] = true;
                 $arrResultado['dadosgeraisproposta']['erro'] = true;
                 $arrResultado['dadosgeraisproposta']['msg'] = "Dados gerais da proposta pendente. Os campos Objetivos, Justificativa, Acessibilidade, Democratiza&ccedil;&atilde;o de Acesso, Etapas de Trabalho, Ficha Técnica, Sinopse da obra, Impacto Ambiental e Especifica&ccedil;&atilde;o técnicas do produto, são de preenchimento obrigatório.";
             } else {
                 $arrResultado['dadosgeraisproposta']['erro'] = false;
                 $arrResultado['dadosgeraisproposta']['msg'] = "Dados gerais da proposta";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['dadosgeraisproposta']['erro'] = true;
             $arrResultado['dadosgeraisproposta']['msg'] = "Dados gerais da proposta pendente. Os campos Objetivos, Justificativa, Acessibilidade, Democratiza&ccedil;&atilde;o de Acesso, Etapas de Trabalho, Ficha Técnica, Sinopse da obra, Impacto Ambiental e Especifica&ccedil;&atilde;o técnicas do produto, são de preenchimento obrigatório.";
         }
         //E-MAIL
         $blnEmail = false;
         if (count($dadosEmail) > 0) {
             foreach ($dadosEmail as $email) {
                 if ($email->Status == 1) {
                     $blnEmail = true;
                 }
             }
             if ($blnEmail === false) {
                 $arrResultado['erro'] = true;
                 $arrResultado['email']['erro'] = true;
                 $arrResultado['email']['msg'] = "E-mail do proponente inexistente";
             } else {
                 $arrResultado['email']['erro'] = false;
                 $arrResultado['email']['msg'] = "E-mail do proponente";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['email']['erro'] = true;
             $arrResultado['email']['msg'] = "E-mail do proponente inexistente";
         }
         //ENDERECO
         $blnEndCorrespondencia = false;
         if (count($dadosEndereco) > 0) {
             foreach ($dadosEndereco as $endereco) {
                 if ($endereco->Status == 1) {
                     $blnEndCorrespondencia = true;
                 }
             }
             if ($blnEndCorrespondencia === false) {
                 $arrResultado['erro'] = true;
                 $arrResultado['endereco']['erro'] = true;
                 $arrResultado['endereco']['msg'] = "Dados cadastrais do proponente inexistente ou n&atilde;o h&aacute; endere&ccedil;o para correspond&ecirc;ncia selecionado";
             } else {
                 $arrResultado['endereco']['erro'] = false;
                 $arrResultado['endereco']['msg'] = "Dados cadastrais do proponente";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['endereco']['erro'] = true;
             $arrResultado['endereco']['msg'] = "Dados cadastrais do proponente inexistente ou n&atilde;o h&aacute; endere&ccedil;o para correspond&ecirc;ncia selecionado";
         }
         //NATUREZA
         if ($rsProponente->TipoPessoa == 1) {
             $tblNatureza = new Natureza();
             $dadosNatureza = $tblNatureza->buscar(array("idAgente = ?" => $rsPreProjeto->idAgente));
             if (count($dadosNatureza) > 0) {
                 $arrResultado['dirigente']['erro'] = false;
                 $arrResultado['dirigente']['msg'] = "Natureza do proponente";
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['dirigente']['erro'] = true;
                 $arrResultado['dirigente']['msg'] = "Natureza do proponente";
             }
         }
         //DIRIGENTE
         if ($rsProponente->TipoPessoa == 1) {
             if (count($dadosDirigente) > 0) {
                 $arrResultado['dirigente']['erro'] = false;
                 $arrResultado['dirigente']['msg'] = "Cadastro de Dirigente";
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['dirigente']['erro'] = true;
                 $arrResultado['dirigente']['msg'] = "Cadastro de Dirigente";
             }
         }
         //LOCAIS DE RALIZACAO
         if (count($dadosLocais) > 0) {
             $arrResultado['locaisrealizacao']['erro'] = false;
             $arrResultado['locaisrealizacao']['msg'] = "Local de realiza&ccedil;&atilde;o da proposta";
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['locaisrealizacao']['erro'] = true;
             $arrResultado['locaisrealizacao']['msg'] = "O Local de realiza&ccedil;&atilde;o da proposta n&atilde;o foi preenchido";
         }
         //PLANO DE DIVULGACAO
         if (count($dadosPlanoDivulgacao) > 0) {
             $arrResultado['planodivulgacao']['erro'] = false;
             $arrResultado['planodivulgacao']['msg'] = "Plano B&aacute;sico de Divulga&ccedil;&atilde;o";
             $planinhaProposta = new PlanilhaProposta();
             $get = Zend_Registry::get('get');
             $idProjeto = $get->idPreProjeto;
             $buscaPlanilhaPropostaDivulgacao = $planinhaProposta->somarPlanilhaPropostaDivulgacao($idProjeto, 109);
             $buscaPlanilhaProposta = $planinhaProposta->somarPlanilhaProposta($idProjeto, 109);
             $porcentProposta = $buscaPlanilhaProposta->soma * 0.2;
             $valorPropostaDivulgacao = $buscaPlanilhaPropostaDivulgacao->soma;
             if ($valorPropostaDivulgacao > $porcentProposta) {
                 $valorRetirar = $valorPropostaDivulgacao - $porcentProposta;
                 $arrResultado['erro'] = true;
                 $arrResultado['planodivulgacao']['erro'] = true;
                 //$arrResultado['planodivulgacao']['msg'] = "Custo de Divulga��o/Comercializa��o superior a 20% do valor total do projeto";
                 $arrResultado['planodivulgacao']['msg'] = "Custo de Divulga&ccedil;&atilde;o/Comercializa&ccedil;&atilde;o superior a 20% do valor total da proposta. Favor readequar os custos em <b>R\$ " . number_format($valorRetirar, '2', ',', '.') . "</b> para enviar a sua proposta ao Minist�rio da Cultura.";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['planodivulgacao']['erro'] = true;
             $arrResultado['planodivulgacao']['msg'] = "O Plano B&aacute;sico de Divulga&ccedil;&atilde;o n&atilde;o foi preenchido";
         }
         //PLANO DE DISTRIBUICAO
         if (count($dadosPlanoDistribuicao) > 0) {
             $arrResultado['planodistribuicao']['erro'] = false;
             $arrResultado['planodistribuicao']['msg'] = "Plano Distribui&ccedil;&atilde;o de Produto";
             //PLANILHA POR PRODUTO
             //inicializando variaveis
             $arrProdutoPlanilhaOrcamentaria = array();
             $arrProdutoPlanilhaCustoAdmin = array();
             $arrBuscaPlanilhaOrcamentaria = array();
             //para planilhas orcamentarias onde idProduto <> 0
             $arrBuscaPlanilhaCustoAdmin = array();
             //para planilhas orcamentarias onde idProduto = 0
             $qtdeProdutoPrincial = 0;
             $valorProjeto = 0;
             //instancia classe modelo PlanilhaProposta
             $tblPlanilhaProposta = new PlanilhaProposta();
             foreach ($dadosPlanoDistribuicao as $produto) {
                 //=========== PLANILHA ORCAMENTARIA ===============
                 $idProduto = $produto['idProduto'];
                 $arrBuscaPlanilhaOrcamentaria['idProjeto = ?'] = $idPreProjeto;
                 $arrBuscaPlanilhaOrcamentaria['idProduto = ?'] = $idProduto;
                 //$arrBuscaPlanilhaOrcamentaria['idEtapa <> ?']=4;
                 $planilhaOrcamentaria = $tblPlanilhaProposta->buscar($arrBuscaPlanilhaOrcamentaria);
                 //$planilha = PlanilhaPropostaDAO::buscarPlanilhaPorProjetoProduto($idPreProjeto, $idProduto);
                 if (count($planilhaOrcamentaria) > 0) {
                     $arrProdutoPlanilhaOrcamentaria['CONTEM'][] = $idProduto;
                     //realiza calculo para encontrar valor do projeto
                     for ($i = 0; $i < sizeof($planilhaOrcamentaria); $i++) {
                         $valorProjeto += $planilhaOrcamentaria[$i]->Quantidade * $planilhaOrcamentaria[$i]->Ocorrencia * $planilhaOrcamentaria[$i]->ValorUnitario;
                     }
                 } else {
                     $arrProdutoPlanilhaOrcamentaria['NAO_CONTEM'][] = $idProduto;
                 }
                 //=========== PRODUTO PRINCIPAL ==========
                 if ($produto['stPrincipal'] == 1) {
                     $qtdeProdutoPrincial++;
                 }
             }
             //fecha FOREACH de Plano Distribuicao
             if (!empty($arrProdutoPlanilhaOrcamentaria['NAO_CONTEM'])) {
                 $arrResultado['erro'] = true;
                 $arrResultado['planilhaproduto']['erro'] = true;
                 $arrResultado['planilhaproduto']['msg'] = "Existe produto cadastrado sem a respectiva planilha or&ccedil;ament&aacute;ria lan&ccedil;ada";
             }
             //=========== PLANILHA CUSTO ADMINISTRATIVO ==========
             $arrBuscaPlanilhaCustoAdmin['idProjeto = ?'] = $idPreProjeto;
             $arrBuscaPlanilhaCustoAdmin['idProduto = ?'] = 0;
             //planilha de custo admin. n&atilde;o tem produto
             $arrBuscaPlanilhaCustoAdmin['idEtapa = ?'] = 4;
             //etapa 4 = Custo/Adminitrativo
             $planilhaCustoAdmin = $tblPlanilhaProposta->buscar($arrBuscaPlanilhaCustoAdmin);
             $valorCustoAdmin = 0;
             if (count($planilhaCustoAdmin) > 0) {
                 $arrResultado['planilhacustoadmin']['erro'] = false;
                 $arrResultado['planilhacustoadmin']['msg'] = "Planilha de custos administrativos lan&ccedil;ada";
                 //realiza calculo para encontrar custo administrativo do projeto
                 for ($i = 0; $i < sizeof($planilhaCustoAdmin); $i++) {
                     $valorCustoAdmin += $planilhaCustoAdmin[$i]->Quantidade * $planilhaCustoAdmin[$i]->Ocorrencia * $planilhaCustoAdmin[$i]->ValorUnitario;
                 }
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['planilhacustoadmin']['erro'] = true;
                 $arrResultado['planilhacustoadmin']['msg'] = "A planilha de custos administrativos da proposta n&atilde;o est&aacute; lan&ccedil;ada";
             }
             //calcula percentual do custo administrativo
             $quinzecentoprojeto = $valorProjeto * 0.15;
             /* if ($valorProjeto > 0) {
                $percentual = $valorCustoAdmin / $valorProjeto * 100;
                } else {
                $percentual = 100;
                } */
             //if ($percentual > 15) {
             if ($valorCustoAdmin > $quinzecentoprojeto) {
                 $valorRetirarCustoAdm = $valorCustoAdmin - $quinzecentoprojeto;
                 $arrResultado['erro'] = true;
                 $arrResultado['percentualcustoadmin']['erro'] = true;
                 $arrResultado['percentualcustoadmin']['msg'] = "Custo administrativo  superior a 15% do valor total da proposta. Favor readequar os custos em <b>R\$ " . number_format($valorRetirarCustoAdm, '2', ',', '.') . "</b> para enviar a sua proposta ao Minist�rio da Cultura.";
             }
             if ($qtdeProdutoPrincial <= 0) {
                 $arrResultado['erro'] = true;
                 $arrResultado['produtoprincipal']['erro'] = true;
                 $arrResultado['produtoprincipal']['msg'] = "N&atilde;o h&aacute; produto principal selecionado na proposta";
             } elseif ($qtdeProdutoPrincial > 1) {
                 $arrResultado['erro'] = true;
                 $arrResultado['produtoprincipal']['erro'] = true;
                 $arrResultado['produtoprincipal']['msg'] = "S&oacute; poder&aacute; haver um produto principal em cada proposta, a sua est&aacute; com mais de um produto";
             } else {
                 $arrResultado['produtoprincipal']['erro'] = false;
                 $arrResultado['produtoprincipal']['msg'] = "Produto principal";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['planodistribuicao']['erro'] = true;
             $arrResultado['planodistribuicao']['msg'] = "O Plano Distribui&ccedil;&atilde;o de Produto n&atilde;o foi preenchido";
         }
     } else {
         $arrResultado['erro'] = true;
         $arrResultado['proponente']['erro'] = true;
         $arrResultado['proponente']['msg'] = "Dados cadastrais do proponente inexistente ou n&atilde;o h&aacute; endere&ccedil;o para correspond&ecirc;ncia selecionado";
     }
     //=========== PLANO ANUAL==========
     if ($rsPreProjeto->stPlanoAnual != 0) {
         $ano_envio = date("Y");
         $ano_execucao = explode('/', data::formatarDataMssql($rsPreProjeto->DtInicioDeExecucao));
         $ano_execucao = $ano_execucao[2];
         $data_validacao = (int) date("Y") . '0930';
         if ($data_validacao <= date('Ymd') && $ano_envio >= $ano_execucao) {
             $arrResultado['erro'] = true;
             $arrResultado['planoanual']['erro'] = true;
             $arrResultado['planoanual']['msg'] = "De acordo com a súmula 10, projetos de plano anual só poderão ser enviados até 30 de setembro do ano vigente, e o período de execução deverá ser do ano seguinte a data de envio.";
         } else {
             $arrResultado['planoanual']['erro'] = false;
             $arrResultado['planoanual']['msg'] = "Plano Anual";
         }
     }
     return $arrResultado;
 }
 public function validarEnvioPropostaAoMinc($idPreProjeto)
 {
     //BUSCA DADOS DO PROJETO
     $arrBusca = array();
     $arrBusca['idPreProjeto = ?'] = $idPreProjeto;
     $tblPreProjeto = new PreProjeto();
     $rsPreProjeto = $tblPreProjeto->buscar($arrBusca)->current();
     /* ======== VERIFICA TODAS AS INFORMACOES NECESSARIAS AO ENVIO DA PROPOSTA ======= */
     $arrResultado = array();
     $arrResultado['erro'] = false;
     //valida mes de envio da proposta
     /* if(date("m") == "01" || date("m") == "12"){
        $arrResultado['prazoenvioproposta']['erro'] = true;
        $arrResultado['prazoenvioproposta']['msg'] = "Conforme Art 5º da Instrução Normativa nº 1, de 5 de outubro de 2010, nenhuma proposta poderá ser enviada ao MinC nos meses de DEZEMBRO e JANEIRO! - <font color='red'>PENDENTE</font>";
        return $arrResultado;
        } */
     /*         * ******* MOVIMENTACAO ******** */
     $tblMovimentacao = new Movimentacao();
     $rsMovimentacao = $tblMovimentacao->buscar(array("idProjeto = ?" => $idPreProjeto), array("idMovimentacao DESC"))->current();
     if (count($rsMovimentacao) > 0) {
         if ($rsMovimentacao->Movimentacao != 95) {
             $arrResultado['erro'] = true;
             $arrResultado['movimentacao']['erro'] = false;
             $arrResultado['movimentacao']['msg'] = "A Proposta Cultural encontra-se no Minist&eacute;rio da Cultura";
         }
     }
     /*         * ******* DADOS DO PROPONENTE ******** */
     $tblProponente = new Proponente();
     //$rsProponente = $tblProponente->buscar(array("a.idAgente = ?"=>$rsPreProjeto->idAgente))->current();
     $tblAgente = new Agentes();
     $rsProponente = $tblAgente->buscarAgenteNome(array("a.idAgente = ?" => $rsPreProjeto->idAgente))->current();
     $regularidade = Regularidade::buscarSalic($rsProponente->CNPJCPF);
     $dadosEndereco = EnderecoNacionalDAO::buscarEnderecoNacional($rsPreProjeto->idAgente);
     $dadosEmail = Email::buscar($rsPreProjeto->idAgente);
     $dadosDirigente = ManterAgentesDAO::buscarVinculados(null, null, null, null, $rsPreProjeto->idAgente);
     //$dadosDirigente = ManterAgentes::buscaDirigentes($rsProponente->CNPJCPF);
     $tblLocaisRealizacao = new Abrangencia();
     $dadosLocais = $tblLocaisRealizacao->buscar(array("a.idProjeto" => $idPreProjeto, "a.stAbrangencia" => 1));
     if (count($rsProponente) > 0) {
         //VERIFICA SE O PROPONENTE ESTÁ VINCULADO
         $vinculoProponente = new tbVinculoPropostaResponsavelProjeto();
         $whereProp['VP.idPreProjeto = ?'] = $idPreProjeto;
         $whereProp['VP.siVinculoProposta = ?'] = 2;
         $rsVinculo = $vinculoProponente->buscarResponsaveisProponentes($whereProp);
         if ($rsVinculo[0]->siVinculo == 2) {
             $arrResultado['erro'] = false;
             $arrResultado['vinculoproponente']['erro'] = false;
             $arrResultado['vinculoproponente']['msg'] = "Vinculo do Proponente REGULAR";
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['vinculoproponente']['erro'] = true;
             $arrResultado['vinculoproponente']['msg'] = "Vinculo do Proponente IRREGULAR";
         }
         //REGULARIDADE DO PROPONENTE
         if (count($regularidade) > 0) {
             if ($regularidade[0]->Habilitado == "S") {
                 $arrResultado['regularidadeproponente']['erro'] = false;
                 $arrResultado['regularidadeproponente']['msg'] = "Proponente em situa&ccedil;&atilde;o REGULAR no Minist&eacute;rio da Cultura - <font color='green'>OK</font>";
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['regularidadeproponente']['erro'] = true;
                 $arrResultado['regularidadeproponente']['msg'] = "Proponente em situa&ccedil;&atilde;o IRREGULAR no Minist&eacute;rio da Cultura - <font color='red'>PENDENTE</font>";
             }
         } else {
             $arrResultado['regularidadeproponente']['erro'] = false;
             $arrResultado['regularidadeproponente']['msg'] = "Proponente em situa&ccedil;&atilde;o REGULAR no Minist&eacute;rio da Cultura - <font color='green'>OK</font>";
         }
         //E-MAIL
         $blnEmail = false;
         if (count($dadosEmail) > 0) {
             foreach ($dadosEmail as $email) {
                 if ($email->Status == 1) {
                     $blnEmail = true;
                 }
             }
             if ($blnEmail === false) {
                 $arrResultado['erro'] = true;
                 $arrResultado['email']['erro'] = true;
                 $arrResultado['email']['msg'] = "E-mail do proponente inexistente - <font color='red'>PENDENTE</font>";
             } else {
                 $arrResultado['email']['erro'] = false;
                 $arrResultado['email']['msg'] = "E-mail do proponente - <font color='green'>OK</font>";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['email']['erro'] = true;
             $arrResultado['email']['msg'] = "E-mail do proponente inexistente - <font color='red'>PENDENTE</font>";
         }
         //ENDERECO
         $blnEndCorrespondencia = false;
         if (count($dadosEndereco) > 0) {
             foreach ($dadosEndereco as $endereco) {
                 if ($endereco->Status == 1) {
                     $blnEndCorrespondencia = true;
                 }
             }
             if ($blnEndCorrespondencia === false) {
                 $arrResultado['erro'] = true;
                 $arrResultado['endereco']['erro'] = true;
                 $arrResultado['endereco']['msg'] = "Dados cadastrais do proponente inexistente ou n&atilde;o h&aacute; endere&ccedil;o para correspond&ecirc;ncia selecionado";
             } else {
                 $arrResultado['endereco']['erro'] = false;
                 $arrResultado['endereco']['msg'] = "Dados cadastrais do proponente - <font color='green'>OK</font>";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['endereco']['erro'] = true;
             $arrResultado['endereco']['msg'] = "Dados cadastrais do proponente inexistente ou n&atilde;o h&aacute; endere&ccedil;o para correspond&ecirc;ncia selecionado";
         }
         //NATUREZA
         if ($rsProponente->TipoPessoa == 1) {
             $tblNatureza = new Natureza();
             $dadosNatureza = $tblNatureza->buscar(array("idAgente = ?" => $rsPreProjeto->idAgente));
             if (count($dadosNatureza) > 0) {
                 $arrResultado['dirigente']['erro'] = false;
                 $arrResultado['dirigente']['msg'] = "Natureza do proponente - <font color='green'>OK</font>";
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['dirigente']['erro'] = true;
                 $arrResultado['dirigente']['msg'] = "Natureza do proponente - <font color='red'>PENDENTE</font>";
             }
         }
         //DIRIGENTE
         if ($rsProponente->TipoPessoa == 1) {
             if (count($dadosDirigente) > 0) {
                 $arrResultado['dirigente']['erro'] = false;
                 $arrResultado['dirigente']['msg'] = "Cadastro de Dirigente - <font color='green'>OK</font>";
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['dirigente']['erro'] = true;
                 $arrResultado['dirigente']['msg'] = "Cadastro de Dirigente - <font color='red'>PENDENTE</font>";
             }
         }
         //LOCAIS DE RALIZACAO
         if (count($dadosLocais) > 0) {
             $arrResultado['locaisrealizacao']['erro'] = false;
             $arrResultado['locaisrealizacao']['msg'] = "Local de realiza&ccedil;&atilde;o da proposta - <font color='green'>OK</font>";
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['locaisrealizacao']['erro'] = true;
             $arrResultado['locaisrealizacao']['msg'] = "O Local de realiza&ccedil;&atilde;o da proposta n&atilde;o foi preenchido - <font color='red'>PENDENTE</font>";
         }
     } else {
         $arrResultado['erro'] = true;
         $arrResultado['proponente']['erro'] = true;
         $arrResultado['proponente']['msg'] = "Dados cadastrais do proponente inexistente ou n&atilde;o h&aacute; endere&ccedil;o para correspond&ecirc;ncia selecionado";
     }
     return $arrResultado;
 }
 public function painelcontroletecnicofiscalizacaoAction()
 {
     $auth = Zend_Auth::getInstance();
     // instancia da autenticação
     $idUsuario = $auth->getIdentity()->usu_codigo;
     $usuarios = new Usuario();
     $agente = $usuarios->getIdUsuario($idUsuario);
     $idAgente = $agente->idAgente;
     $aprovacaoDao = new Aprovacao();
     $selectAp = $aprovacaoDao->totalAprovadoProjeto(true);
     $abrangenciaDao = new Abrangencia();
     $selectAb = $abrangenciaDao->abrangenciaProjeto(true);
     $projetosDao = new Projetos();
     $resp = $projetosDao->buscaProjetosFiscalizacao($selectAb, $selectAp, false, false, array('tbFiscalizacao.idUsuarioInterno = ?' => $idUsuario));
     $this->view->projetosFiscalizacao = array(array('nome' => 'FISCALIZA&Ccedil;&Atilde;O EM ANDAMENTO', 'qtd' => 0, 'projetos' => array()), array('nome' => 'FISCALIZA&Ccedil;&Atilde;O EM ATRASO', 'qtd' => 0, 'projetos' => array()));
     $idFiscalizacaoAnt = null;
     foreach ($resp as $key => $val) {
         if ($idFiscalizacaoAnt != $val->idFiscalizacao) {
             if ($val->stAvaliacao == 0) {
                 $idFiscalizacaoAnt = $val->idFiscalizacao;
                 if ($val->stFiscalizacaoProjeto == 0 && date('Ymd', strtotime($val->dtFimFiscalizacaoProjeto)) >= date('Ymd')) {
                     $num = 0;
                 } elseif ($val->stFiscalizacaoProjeto == 2) {
                     $num = 2;
                 } elseif (date('Ymd', strtotime($val->dtFimFiscalizacaoProjeto)) < date('Ymd') || $val->stFiscalizacaoProjeto == 1) {
                     $num = 1;
                 }
                 $this->view->projetosFiscalizacao[$num]['qtd']++;
                 $this->view->projetosFiscalizacao[$num]['projetos'][$val->IdPRONAC]['&nbsp;'] = $this->view->projetosFiscalizacao[$num]['qtd'];
                 $this->view->projetosFiscalizacao[$num]['projetos'][$val->IdPRONAC]['PRONAC'] = "<a target='_blank' href='" . $this->url(array('controller' => 'consultardadosprojeto', 'action' => 'index')) . "?idPronac=" . $val->IdPRONAC . "' >" . $val->AnoProjeto . $val->Sequencial . "</a>";
                 $this->view->projetosFiscalizacao[$num]['projetos'][$val->IdPRONAC]['Nome do Projeto'] = $val->NomeProjeto;
                 $this->view->projetosFiscalizacao[$num]['projetos'][$val->IdPRONAC]['Regi&atilde;o'] = $val->Regiao;
                 $this->view->projetosFiscalizacao[$num]['projetos'][$val->IdPRONAC]['UF'] = $val->uf;
                 $this->view->projetosFiscalizacao[$num]['projetos'][$val->IdPRONAC]['Cidade'] = $val->cidade;
                 $this->view->projetosFiscalizacao[$num]['projetos'][$val->IdPRONAC]['&Aacute;rea'] = $val->dsArea;
                 $this->view->projetosFiscalizacao[$num]['projetos'][$val->IdPRONAC]['Segmento'] = $val->dsSegmento;
                 $this->view->projetosFiscalizacao[$num]['projetos'][$val->IdPRONAC]['Valor'] = number_format($val->TotalAprovado, 2, ',', '.');
                 $this->view->projetosFiscalizacao[$num]['projetos'][$val->IdPRONAC]['Mecanismo'] = $val->dsMecanismo;
                 if ($val->stPlanoAnual == 0) {
                     $this->view->projetosFiscalizacao[$num]['projetos'][$val->IdPRONAC]['Plano Anual'] = 'N&atilde;o';
                 } else {
                     $this->view->projetosFiscalizacao[$num]['projetos'][$val->IdPRONAC]['Plano Anual'] = 'Sim';
                 }
                 $this->view->projetosFiscalizacao[$num]['projetos'][$val->IdPRONAC]['Data Inicio'] = date('d/m/Y', strtotime($val->dtInicioFiscalizacaoProjeto));
                 $this->view->projetosFiscalizacao[$num]['projetos'][$val->IdPRONAC]['Data Fim'] = date('d/m/Y', strtotime($val->dtFimFiscalizacaoProjeto));
                 $fiscalizarHref = $this->url(array('controller' => 'fiscalizarprojetocultural', 'action' => 'parecerdotecnico')) . '?idProjeto=' . $val->idProjeto . '&idFiscalizacao=' . $val->idFiscalizacao;
                 if ($val->stFiscalizacaoProjeto == 1 and date('Ymd', strtotime($val->dtFimFiscalizacaoProjeto)) >= date('Ymd')) {
                     if ($val->stAvaliacao == 1) {
                         $this->view->projetosFiscalizacao[$num]['projetos'][$val->IdPRONAC]['Fiscalizar'] = '';
                     } else {
                         $this->view->projetosFiscalizacao[$num]['projetos'][$val->IdPRONAC]['Fiscalizar'] = '   <center><a href="' . $fiscalizarHref . '">
                                                                                                            <img src="../public/img/btn_busca.gif" alt="Fiscalizar"/>
                                                                                                         </a></center>';
                     }
                 } elseif ($val->stFiscalizacaoProjeto != 2 and date('Ymd', strtotime($val->dtFimFiscalizacaoProjeto)) < date('Ymd')) {
                     if ($val->stAvaliacao == 1) {
                         $this->view->projetosFiscalizacao[$num]['projetos'][$val->IdPRONAC]['Fiscalizar'] = '';
                     } else {
                         $this->view->projetosFiscalizacao[$num]['projetos'][$val->IdPRONAC]['Fiscalizar'] = '   <center><a href="' . $fiscalizarHref . '">
                                                                                                            <img src="../public/img/btn_busca.gif" alt="Fiscalizar"/>
                                                                                                         </a></center>';
                     }
                 }
             }
         }
     }
 }
 public function salvarLocalRealizacaoAction()
 {
     $post = Zend_Registry::get("post");
     $idAbrangencia = $post->cod;
     $tblAbrangencia = new Abrangencia();
     //RECUPERA LOCALIZACOES CADASTRADAS
     $arrBusca = array();
     $arrBusca['idProjeto'] = $this->idPreProjeto;
     $arrBusca['stAbrangencia'] = 1;
     $arrBusca['p.idPais'] = $post->pais;
     if ($post->pais == 31) {
         $arrBusca['u.idUF'] = $post->estados;
         $arrBusca['m.idMunicipioIBGE'] = $post->cidades;
     }
     if (!empty($idAbrangencia)) {
         $arrBusca['idAbrangencia'] = $idAbrangencia;
     }
     $rsAbrangencia = $tblAbrangencia->buscar($arrBusca);
     if (count($rsAbrangencia) > 0 && empty($idAbrangencia)) {
         parent::message("Local de Realização já cadastrado!", "/localderealizacao/index?idPreProjeto=" . $this->idPreProjeto . $edital, "ALERT");
     }
     if (isset($_REQUEST['edital'])) {
         $edital = "&edital=s";
     } else {
         $edital = "";
     }
     $pais = $post->pais;
     $estados = $post->estados;
     $cidades = $post->cidades;
     //INSERE LOCAIS DE REALIZACAO (tabela SAC.dbo.Abrangencia)
     $dados = array("idProjeto" => $this->idPreProjeto, "stAbrangencia" => 1, "Usuario" => $this->usuarioLogado, "idPais" => $pais, "idUF" => $pais == 31 ? $estados : 0, "idMunicipioIBGE" => $pais == 31 ? $cidades : 0);
     if (!empty($dados["idProjeto"]) && !empty($dados["idPais"])) {
         $retorno = $tblAbrangencia->insert($dados);
     }
     parent::message("Cadastro realizado com sucesso!", "/localderealizacao/index?idPreProjeto=" . $this->idPreProjeto . $edital, "CONFIRM");
 }
 public function excluirAbrangenciaAjaxAction()
 {
     $this->_helper->layout->disableLayout();
     // desabilita o Zend_Layout
     $post = Zend_Registry::get('post');
     $idAbrangencia = (int) $post->abrg;
     $tblAbrangencia = new Abrangencia();
     if ($tblAbrangencia->excluir($idAbrangencia)) {
         echo json_encode(array('resposta' => true));
     } else {
         echo json_encode(array('resposta' => false));
     }
     die;
 }
Exemplo n.º 8
0
 public function validarEnvioPropostaAoMinc($idPreProjeto)
 {
     //BUSCA DADOS DO PROJETO
     $arrBusca = array();
     $arrBusca['idPreProjeto = ?'] = $idPreProjeto;
     $tblPreProjeto = new PreProjeto();
     $rsPreProjeto = $tblPreProjeto->buscar($arrBusca)->current();
     /* ======== VERIFICA TODAS AS INFORMACOES NECESSARIAS AO ENVIO DA PROPOSTA ======= */
     $arrResultado = array();
     $arrResultado['erro'] = false;
     //valida mes de envio da proposta
     /* if(date("m") == "01" || date("m") == "12"){
        $arrResultado['prazoenvioproposta']['erro'] = true;
        $arrResultado['prazoenvioproposta']['msg'] = "Conforme Art 5? da Instruç?o Normativa n? 1, de 5 de outubro de 2010, nenhuma proposta poderá ser enviada ao MinC nos meses de DEZEMBRO e JANEIRO!";
        return $arrResultado;
        } */
     /*         * ******* MOVIMENTACAO ******** */
     //VERIFICA SE A PROPOSTA ESTA COM O MINC
     $Movimentacao = new Movimentacao();
     $rsMovimentacao = $Movimentacao->buscarStatusAtualProposta($idPreProjeto);
     if ($rsMovimentacao->Movimentacao != 95) {
         $arrResultado['erro'] = true;
         $arrResultado['movimentacao']['erro'] = false;
         $arrResultado['movimentacao']['msg'] = "A Proposta Cultural encontra-se no Minist&eacute;rio da Cultura";
     } else {
         /* $arrResultado['erro'] = true;
            $arrResultado['movimentacao']['erro'] = false;
            $arrResultado['movimentacao']['msg'] = "A Proposta Cultural encontra-se no Minist&eacute;rio da Cultura"; */
     }
     /*         * ******* DADOS DO PROPONENTE ******** */
     $tblProponente = new Proponente();
     //$rsProponente = $tblProponente->buscar(array("a.idAgente = ?"=>$rsPreProjeto->idAgente))->current();
     $tblAgente = new Agentes();
     $rsProponente = $tblAgente->buscarAgenteNome(array("a.idAgente = ?" => $rsPreProjeto->idAgente))->current();
     $regularidade = Regularidade::buscarSalic($rsProponente->CNPJCPF);
     $dadosEndereco = EnderecoNacionalDAO::buscarEnderecoNacional($rsPreProjeto->idAgente);
     $dadosEmail = Email::buscar($rsPreProjeto->idAgente);
     $dadosDirigente = ManterAgentesDAO::buscarVinculados(null, null, null, null, $rsPreProjeto->idAgente);
     //$dadosDirigente = ManterAgentes::buscaDirigentes($rsProponente->CNPJCPF);
     $tblLocaisRealizacao = new Abrangencia();
     $dadosLocais = $tblLocaisRealizacao->buscar(array("a.idProjeto" => $idPreProjeto, "a.stAbrangencia" => 1));
     $tblPlanoDivulgacao = new PlanoDeDivulgacao();
     $dadosPlanoDivulgacao = $tblPlanoDivulgacao->buscar(array("idProjeto =?" => $idPreProjeto))->toArray();
     $tblPlanoDistribuicao = new PlanoDistribuicao();
     $dadosPlanoDistribuicao = $tblPlanoDistribuicao->buscar(array("a.idProjeto =?" => $idPreProjeto), array("idProduto ASC"))->toArray();
     if (count($rsProponente) > 0) {
         //REGULARIDADE DO PROPONENTE
         if (count($regularidade) > 0) {
             if ($regularidade[0]->Habilitado == "S") {
                 $arrResultado['regularidadeproponente']['erro'] = false;
                 $arrResultado['regularidadeproponente']['msg'] = "Proponente em situa&ccedil;&atilde;o REGULAR no Minist&eacute;rio da Cultura";
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['regularidadeproponente']['erro'] = true;
                 $arrResultado['regularidadeproponente']['msg'] = "Proponente em situa&ccedil;&atilde;o IRREGULAR no Minist&eacute;rio da Cultura";
             }
         } else {
             $arrResultado['regularidadeproponente']['erro'] = false;
             $arrResultado['regularidadeproponente']['msg'] = "Proponente em situa&ccedil;&atilde;o REGULAR no Minist&eacute;rio da Cultura";
         }
         //E-MAIL
         $blnEmail = false;
         if (count($dadosEmail) > 0) {
             foreach ($dadosEmail as $email) {
                 if ($email->Status == 1) {
                     $blnEmail = true;
                 }
             }
             if ($blnEmail === false) {
                 $arrResultado['erro'] = true;
                 $arrResultado['email']['erro'] = true;
                 $arrResultado['email']['msg'] = "E-mail do proponente inexistente";
             } else {
                 $arrResultado['email']['erro'] = false;
                 $arrResultado['email']['msg'] = "E-mail do proponente";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['email']['erro'] = true;
             $arrResultado['email']['msg'] = "E-mail do proponente inexistente";
         }
         //ENDERECO
         $blnEndCorrespondencia = false;
         if (count($dadosEndereco) > 0) {
             foreach ($dadosEndereco as $endereco) {
                 if ($endereco->Status == 1) {
                     $blnEndCorrespondencia = true;
                 }
             }
             if ($blnEndCorrespondencia === false) {
                 $arrResultado['erro'] = true;
                 $arrResultado['endereco']['erro'] = true;
                 $arrResultado['endereco']['msg'] = "Dados cadastrais do proponente inexistente ou n&atilde;o h&aacute; endere&ccedil;o para correspond&ecirc;ncia selecionado";
             } else {
                 $arrResultado['endereco']['erro'] = false;
                 $arrResultado['endereco']['msg'] = "Dados cadastrais do proponente";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['endereco']['erro'] = true;
             $arrResultado['endereco']['msg'] = "Dados cadastrais do proponente inexistente ou n&atilde;o h&aacute; endere&ccedil;o para correspond&ecirc;ncia selecionado";
         }
         //NATUREZA
         if ($rsProponente->TipoPessoa == 1) {
             $tblNatureza = new Natureza();
             $dadosNatureza = $tblNatureza->buscar(array("idAgente = ?" => $rsPreProjeto->idAgente));
             if (count($dadosNatureza) > 0) {
                 $arrResultado['dirigente']['erro'] = false;
                 $arrResultado['dirigente']['msg'] = "Natureza do proponente";
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['dirigente']['erro'] = true;
                 $arrResultado['dirigente']['msg'] = "Natureza do proponente";
             }
         }
         //DIRIGENTE
         if ($rsProponente->TipoPessoa == 1) {
             if (count($dadosDirigente) > 0) {
                 $arrResultado['dirigente']['erro'] = false;
                 $arrResultado['dirigente']['msg'] = "Cadastro de Dirigente";
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['dirigente']['erro'] = true;
                 $arrResultado['dirigente']['msg'] = "Cadastro de Dirigente";
             }
         }
         //LOCAIS DE RALIZACAO
         if (count($dadosLocais) > 0) {
             $arrResultado['locaisrealizacao']['erro'] = false;
             $arrResultado['locaisrealizacao']['msg'] = "Local de realiza&ccedil;&atilde;o da proposta";
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['locaisrealizacao']['erro'] = true;
             $arrResultado['locaisrealizacao']['msg'] = "O Local de realiza&ccedil;&atilde;o da proposta n&atilde;o foi preenchido";
         }
         //PLANO DE DIVULGACAO
         if (count($dadosPlanoDivulgacao) > 0) {
             $arrResultado['planodivulgacao']['erro'] = false;
             $arrResultado['planodivulgacao']['msg'] = "Plano B&aacute;sico de Divulga&ccedil;&atilde;o";
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['planodivulgacao']['erro'] = true;
             $arrResultado['planodivulgacao']['msg'] = "O Plano B&aacute;sico de Divulga&ccedil;&atilde;o n&atilde;o foi preenchido";
         }
         //PLANO DE DISTRIBUICAO
         if (count($dadosPlanoDistribuicao) > 0) {
             $arrResultado['planodistribuicao']['erro'] = false;
             $arrResultado['planodistribuicao']['msg'] = "Plano Distribui&ccedil;&atilde;o de Produto";
             //PLANILHA POR PRODUTO
             //inicializando variaveis
             $arrProdutoPlanilhaOrcamentaria = array();
             $arrProdutoPlanilhaCustoAdmin = array();
             $arrBuscaPlanilhaOrcamentaria = array();
             //para planilhas orcamentarias onde idProduto <> 0
             $arrBuscaPlanilhaCustoAdmin = array();
             //para planilhas orcamentarias onde idProduto = 0
             $qtdeProdutoPrincial = 0;
             $valorProjeto = 0;
             //instancia classe modelo PlanilhaProposta
             $tblPlanilhaProposta = new PlanilhaProposta();
             foreach ($dadosPlanoDistribuicao as $produto) {
                 //=========== PLANILHA ORCAMENTARIA ===============
                 $idProduto = $produto['idProduto'];
                 $arrBuscaPlanilhaOrcamentaria['idProjeto = ?'] = $idPreProjeto;
                 $arrBuscaPlanilhaOrcamentaria['idProduto = ?'] = $idProduto;
                 //$arrBuscaPlanilhaOrcamentaria['idEtapa <> ?']=4;
                 $planilhaOrcamentaria = $tblPlanilhaProposta->buscar($arrBuscaPlanilhaOrcamentaria);
                 //$planilha = PlanilhaPropostaDAO::buscarPlanilhaPorProjetoProduto($idPreProjeto, $idProduto);
                 if (count($planilhaOrcamentaria) > 0) {
                     $arrProdutoPlanilhaOrcamentaria['CONTEM'][] = $idProduto;
                     //realiza calculo para encontrar valor do projeto
                     for ($i = 0; $i < sizeof($planilhaOrcamentaria); $i++) {
                         $valorProjeto += $planilhaOrcamentaria[$i]->Quantidade * $planilhaOrcamentaria[$i]->Ocorrencia * $planilhaOrcamentaria[$i]->ValorUnitario;
                     }
                 } else {
                     $arrProdutoPlanilhaOrcamentaria['NAO_CONTEM'][] = $idProduto;
                 }
                 //=========== PRODUTO PRINCIPAL ==========
                 if ($produto['stPrincipal'] == 1) {
                     $qtdeProdutoPrincial++;
                 }
             }
             //fecha FOREACH de Plano Distribuicao
             if (!empty($arrProdutoPlanilhaOrcamentaria['NAO_CONTEM'])) {
                 $arrResultado['erro'] = true;
                 $arrResultado['planilhaproduto']['erro'] = true;
                 $arrResultado['planilhaproduto']['msg'] = "Existe produto cadastrado sem a respectiva planilha or&ccedil;ament&aacute;ria lan&ccedil;ada";
             }
             //=========== PLANILHA CUSTO ADMINISTRATIVO ==========
             $arrBuscaPlanilhaCustoAdmin['idProjeto = ?'] = $idPreProjeto;
             $arrBuscaPlanilhaCustoAdmin['idProduto = ?'] = 0;
             //planilha de custo admin. n&atilde;o tem produto
             $arrBuscaPlanilhaCustoAdmin['idEtapa = ?'] = 4;
             //etapa 4 = Custo/Adminitrativo
             $planilhaCustoAdmin = $tblPlanilhaProposta->buscar($arrBuscaPlanilhaCustoAdmin);
             $valorCustoAdmin = 0;
             if (count($planilhaCustoAdmin) > 0) {
                 $arrResultado['planilhacustoadmin']['erro'] = false;
                 $arrResultado['planilhacustoadmin']['msg'] = "Planilha de custos administrativos lan&ccedil;ada";
                 //realiza calculo para encontrar custo administrativo do projeto
                 for ($i = 0; $i < sizeof($planilhaCustoAdmin); $i++) {
                     $valorCustoAdmin += $planilhaCustoAdmin[$i]->Quantidade * $planilhaCustoAdmin[$i]->Ocorrencia * $planilhaCustoAdmin[$i]->ValorUnitario;
                 }
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['planilhacustoadmin']['erro'] = true;
                 $arrResultado['planilhacustoadmin']['msg'] = "A planilha de custos administrativos do projeto n&atilde;o est&aacute; lan&ccedil;ada";
             }
             //calcula percentual do custo administrativo
             if ($valorProjeto > 0) {
                 $percentual = $valorCustoAdmin / $valorProjeto * 100;
             } else {
                 $percentual = 100;
             }
             if ($percentual > 15) {
                 $arrResultado['erro'] = true;
                 $arrResultado['percentualcustoadmin']['erro'] = true;
                 $arrResultado['percentualcustoadmin']['msg'] = "Custo administrativo superior a 15% do valor total do projeto";
             } else {
                 $arrResultado['percentualcustoadmin']['erro'] = false;
                 $arrResultado['percentualcustoadmin']['msg'] = "Custo administrativo inferior a 15% do valor total do projeto";
             }
             if ($qtdeProdutoPrincial <= 0) {
                 $arrResultado['erro'] = true;
                 $arrResultado['produtoprincipal']['erro'] = true;
                 $arrResultado['produtoprincipal']['msg'] = "N&atilde;o h&aacute; produto principal selecionado na proposta";
             } elseif ($qtdeProdutoPrincial > 1) {
                 $arrResultado['erro'] = true;
                 $arrResultado['produtoprincipal']['erro'] = true;
                 $arrResultado['produtoprincipal']['msg'] = "S&oacute; poder&aacute; haver um produto principal em cada proposta, a sua est&aacute; com mais de um produto";
             } else {
                 $arrResultado['produtoprincipal']['erro'] = false;
                 $arrResultado['produtoprincipal']['msg'] = "Produto principal";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['planodistribuicao']['erro'] = true;
             $arrResultado['planodistribuicao']['msg'] = "O Plano Distribui&ccedil;&atilde;o de Produto n&atilde;o foi preenchido";
         }
     } else {
         $arrResultado['erro'] = true;
         $arrResultado['proponente']['erro'] = true;
         $arrResultado['proponente']['msg'] = "Dados cadastrais do proponente inexistente ou n&atilde;o h&aacute; endere&ccedil;o para correspond&ecirc;ncia selecionado";
     }
     return $arrResultado;
 }
 public function encaminharReadequacaoChecklistAction()
 {
     if ($this->idPerfil != 93 && $this->idPerfil != 94 && $this->idPerfil != 121 && $this->idPerfil != 122 && $this->idPerfil != 123) {
         parent::message("Você não tem permissão para acessar essa área do sistema!", "principal", "ALERT");
     }
     $auth = Zend_Auth::getInstance();
     $idCoordenador = $auth->getIdentity()->usu_codigo;
     $get = Zend_Registry::get('get');
     $idReadequacao = (int) $get->id;
     $reuniao = new Reuniao();
     $raberta = $reuniao->buscarReuniaoAberta();
     $idNrReuniao = $raberta['stPlenaria'] == 'A' ? $raberta['idNrReuniao'] + 1 : $raberta['idNrReuniao'];
     $tbReadequacaoXParecer = new tbReadequacaoXParecer();
     $dadosParecer = $tbReadequacaoXParecer->buscar(array('idReadequacao=?' => $idReadequacao));
     foreach ($dadosParecer as $key => $dp) {
         $pareceres = array();
         $pareceres[$key] = $dp->idParecer;
     }
     $Parecer = new Parecer();
     $parecerTecnico = $Parecer->buscar(array('IdParecer=(?)' => $pareceres), array('IdParecer'))->current();
     $tbReadequacao = new tbReadequacao();
     if ($parecerTecnico->ParecerFavoravel == 2) {
         //Se for parecer favorável, atualiza os dados solicitados na readequação
         $read = $tbReadequacao->buscarReadequacao(array('idReadequacao =?' => $idReadequacao))->current();
         // READEQUAÇÃO DE PLANILHA ORÇAMENTÁRIA
         if ($read->idTipoReadequacao == 2) {
             $Projetos = new Projetos();
             $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current();
             $tbPlanilhaAprovacao = new tbPlanilhaAprovacao();
             //BUSCAR VALOR TOTAL DA PLANILHA ATIVA
             $where = array();
             $where['a.IdPRONAC = ?'] = $read->idPronac;
             $where['a.stAtivo = ?'] = 'S';
             $PlanilhaAtiva = $tbPlanilhaAprovacao->valorTotalPlanilha($where)->current();
             //BUSCAR VALOR TOTAL DA PLANILHA DE READEQUADA
             $where = array();
             $where['a.IdPRONAC = ?'] = $read->idPronac;
             $where['a.tpPlanilha = ?'] = 'SR';
             $where['a.stAtivo = ?'] = 'N';
             $PlanilhaReadequada = $tbPlanilhaAprovacao->valorTotalPlanilha($where)->current();
             if ($PlanilhaAtiva->Total < $PlanilhaReadequada->Total) {
                 $TipoAprovacao = 2;
                 $dadosPrj->Situacao = 'D28';
             } else {
                 $TipoAprovacao = 4;
                 $dadosPrj->Situacao = 'D29';
             }
             $dadosPrj->save();
             $AprovadoReal = number_format($PlanilhaReadequada->Total - $PlanilhaAtiva->Total, 2, '.', '');
             $tbAprovacao = new Aprovacao();
             $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => $TipoAprovacao, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'AprovadoReal' => $AprovadoReal, 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao);
             $idAprovacao = $tbAprovacao->inserir($dadosAprovacao);
             // READEQUAÇÃO DE ALTERAÇÃO DE RAZÃO SOCIAL
         } else {
             if ($read->idTipoReadequacao == 3) {
                 //Se for readequação de alteração de razão social, atualiza os dados na AGENTES.dbo.Nomes.
                 $Projetos = new Projetos();
                 $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current();
                 $tbAprovacao = new Aprovacao();
                 $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao);
                 $idAprovacao = $tbAprovacao->inserir($dadosAprovacao);
                 // READEQUAÇÃO DE AGÊNCIA BANCÁRIA
             } else {
                 if ($read->idTipoReadequacao == 4) {
                     //Se for readequação de agência bancária, atualiza os dados na SAC.dbo.PreProjeto.
                     $Projetos = new Projetos();
                     $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                     $agenciaBancaria = str_replace('-', '', $read->dsSolicitacao);
                     $tblContaBancaria = new ContaBancaria();
                     $arrayDadosBancarios = array('Agencia' => $agenciaBancaria, 'ContaBloqueada' => '000000000000', 'DtLoteRemessaCB' => NULL, 'LoteRemessaCB' => '00000', 'OcorrenciaCB' => '000', 'ContaLivre' => '000000000000', 'DtLoteRemessaCL' => NULL, 'LoteRemessaCL' => '00000', 'OcorrenciaCL' => '000', 'Logon' => $this->idUsuario, 'idPronac' => $read->idPronac);
                     $whereDadosBancarios['AnoProjeto = ?'] = $dadosPrj->AnoProjeto;
                     $whereDadosBancarios['Sequencial = ?'] = $dadosPrj->Sequencial;
                     $tblContaBancaria->alterar($arrayDadosBancarios, $whereDadosBancarios);
                     // READEQUAÇÃO DE SINOPSE DA OBRA
                 } else {
                     if ($read->idTipoReadequacao == 5) {
                         //Se for readequação de sinopse da obra, atualiza os dados na SAC.dbo.PreProjeto.
                         $Projetos = new Projetos();
                         $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                         $PrePropojeto = new PreProjeto();
                         $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                         $dadosPreProjeto->Sinopse = $read->dsSolicitacao;
                         $dadosPreProjeto->save();
                         // READEQUAÇÃO DE IMPACTO AMBIENTAL
                     } else {
                         if ($read->idTipoReadequacao == 6) {
                             //Se for readequação de impacto ambiental, atualiza os dados na SAC.dbo.PreProjeto.
                             $Projetos = new Projetos();
                             $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                             $PrePropojeto = new PreProjeto();
                             $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                             $dadosPreProjeto->ImpactoAmbiental = $read->dsSolicitacao;
                             $dadosPreProjeto->save();
                             // READEQUAÇÃO DE ESPECIFICAÇÃO TÉCNICA
                         } else {
                             if ($read->idTipoReadequacao == 7) {
                                 //Se for readequação de especificação técnica, atualiza os dados na SAC.dbo.PreProjeto.
                                 $Projetos = new Projetos();
                                 $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                 $PrePropojeto = new PreProjeto();
                                 $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                                 $dadosPreProjeto->EspecificacaoTecnica = $read->dsSolicitacao;
                                 $dadosPreProjeto->save();
                                 // READEQUAÇÃO DE ESTRATÉGIA DE EXECUÇÃO
                             } else {
                                 if ($read->idTipoReadequacao == 8) {
                                     //Se for readequação de estratégia de execução, atualiza os dados na SAC.dbo.PreProjeto.
                                     $Projetos = new Projetos();
                                     $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                     $PrePropojeto = new PreProjeto();
                                     $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                                     $dadosPreProjeto->EstrategiadeExecucao = $read->dsSolicitacao;
                                     $dadosPreProjeto->save();
                                     // READEQUAÇÃO DE LOCAL DE REALIZAÇÃO
                                 } else {
                                     if ($read->idTipoReadequacao == 9) {
                                         //Se for readequação de local de realização, atualiza os dados na SAC.dbo.Abrangencia.
                                         $Abrangencia = new Abrangencia();
                                         $tbAbrangencia = new tbAbrangencia();
                                         $abrangencias = $tbAbrangencia->buscar(array('idReadequacao=?' => $idReadequacao));
                                         foreach ($abrangencias as $abg) {
                                             $Projetos = new Projetos();
                                             $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                             //Se não houve avalição do conselheiro, pega a avaliação técnica como referencia.
                                             $avaliacao = $abg->tpAnaliseComissao;
                                             if ($abg->tpAnaliseComissao == 'N') {
                                                 $avaliacao = $abg->tpAnaliseTecnica;
                                             }
                                             //Se a avaliação foi deferida, realiza as mudanças necessárias na tabela original.
                                             if ($avaliacao == 'D') {
                                                 if ($abg->tpSolicitacao == 'E') {
                                                     //Se a abrangencia foi excluída, atualiza os status da abrangencia na SAC.dbo.Abrangencia
                                                     $Abrangencia->delete(array('idProjeto = ?' => $dadosPrj->idProjeto, 'idPais = ?' => $abg->idPais, 'idUF = ?' => $abg->idUF, 'idMunicipioIBGE = ?' => $abg->idMunicipioIBGE));
                                                 } else {
                                                     if ($abg->tpSolicitacao == 'I') {
                                                         //Se a abangência foi incluída, cria um novo registro na tabela SAC.dbo.Abrangencia
                                                         $novoLocalRead = array();
                                                         $novoLocalRead['idProjeto'] = $dadosPrj->idProjeto;
                                                         $novoLocalRead['idPais'] = $abg->idPais;
                                                         $novoLocalRead['idUF'] = $abg->idUF;
                                                         $novoLocalRead['idMunicipioIBGE'] = $abg->idMunicipioIBGE;
                                                         $novoLocalRead['Usuario'] = $this->idUsuario;
                                                         $novoLocalRead['stAbrangencia'] = 1;
                                                         $Abrangencia->salvar($novoLocalRead);
                                                     }
                                                 }
                                             }
                                         }
                                         $dadosAbr = array();
                                         $dadosAbr['stAtivo'] = 'N';
                                         $whereAbr = "idPronac = {$read->idPronac} AND idReadequacao = {$idReadequacao}";
                                         $tbAbrangencia->update($dadosAbr, $whereAbr);
                                         // READEQUAÇÃO DE ALTERAÇÃO DE PROPONENTE
                                     } else {
                                         if ($read->idTipoReadequacao == 10) {
                                             //Se for readequação de alteração de proponente, atualiza os dados na SAC.dbo.Projetos.
                                             $Projetos = new Projetos();
                                             $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current();
                                             $tbAprovacao = new Aprovacao();
                                             $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao);
                                             $idAprovacao = $tbAprovacao->inserir($dadosAprovacao);
                                             // READEQUAÇÃO DE PLANO DE DISTRIBUIÇÃO
                                         } else {
                                             if ($read->idTipoReadequacao == 11) {
                                                 //Se for readequação de plano de distribuição, atualiza os dados na SAC.dbo.PlanoDistribuicaoProduto.
                                                 $PlanoDistribuicaoProduto = new PlanoDistribuicaoProduto();
                                                 $tbPlanoDistribuicao = new tbPlanoDistribuicao();
                                                 $planosDistribuicao = $tbPlanoDistribuicao->buscar(array('idReadequacao=?' => $idReadequacao));
                                                 foreach ($planosDistribuicao as $plano) {
                                                     $Projetos = new Projetos();
                                                     $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                                     //Se não houve avalição do conselheiro, pega a avaliação técnica como referencia.
                                                     $avaliacao = $plano->tpAnaliseComissao;
                                                     if ($plano->tpAnaliseComissao == 'N') {
                                                         $avaliacao = $plano->tpAnaliseTecnica;
                                                     }
                                                     //Se a avaliação foi deferida, realiza as mudanças necessárias na tabela original.
                                                     if ($avaliacao == 'D') {
                                                         if ($plano->tpSolicitacao == 'E') {
                                                             //Se o plano de distribuição foi excluído, atualiza os status do plano na SAC.dbo.PlanoDistribuicaoProduto
                                                             $PlanoDistribuicaoProduto->delete(array('idProjeto = ?' => $dadosPrj->idProjeto, 'idProduto = ?' => $plano->idProduto, 'Area = ?' => $plano->cdArea, 'Segmento = ?' => $plano->cdSegmento));
                                                         } else {
                                                             if ($plano->tpSolicitacao == 'I') {
                                                                 //Se o plano de distribuição foi incluído, cria um novo registro na tabela SAC.dbo.PlanoDistribuicaoProduto
                                                                 $novoPlanoDistRead = array();
                                                                 $novoPlanoDistRead['idProjeto'] = $dadosPrj->idProjeto;
                                                                 $novoPlanoDistRead['idProduto'] = $plano->idProduto;
                                                                 $novoPlanoDistRead['Area'] = $plano->cdArea;
                                                                 $novoPlanoDistRead['Segmento'] = $plano->cdSegmento;
                                                                 $novoPlanoDistRead['idPosicaoDaLogo'] = $plano->idPosicaoLogo;
                                                                 $novoPlanoDistRead['QtdeProduzida'] = $plano->qtProduzida;
                                                                 $novoPlanoDistRead['QtdePatrocinador'] = $plano->qtPatrocinador;
                                                                 $novoPlanoDistRead['QtdeProponente'] = $plano->qtProponente;
                                                                 $novoPlanoDistRead['QtdeOutros'] = $plano->qtOutros;
                                                                 $novoPlanoDistRead['QtdeVendaNormal'] = $plano->qtVendaNormal;
                                                                 $novoPlanoDistRead['QtdeVendaPromocional'] = $plano->qtVendaPromocional;
                                                                 $novoPlanoDistRead['PrecoUnitarioNormal'] = $plano->vlUnitarioNormal;
                                                                 $novoPlanoDistRead['PrecoUnitarioPromocional'] = $plano->vlUnitarioPromocional;
                                                                 $novoPlanoDistRead['stPrincipal'] = 0;
                                                                 $novoPlanoDistRead['Usuario'] = $this->idUsuario;
                                                                 $novoPlanoDistRead['dsJustificativaPosicaoLogo'] = null;
                                                                 $novoPlanoDistRead['stPlanoDistribuicaoProduto'] = 1;
                                                                 $PlanoDistribuicaoProduto->inserir($novoPlanoDistRead);
                                                             }
                                                         }
                                                     }
                                                 }
                                                 $dadosPDD = array();
                                                 $dadosPDD['stAtivo'] = 'N';
                                                 $wherePDD = "idPronac = {$read->idPronac} AND idReadequacao = {$idReadequacao}";
                                                 $tbPlanoDistribuicao->update($dadosPDD, $wherePDD);
                                                 // READEQUAÇÃO DE NOME DO PROJETO
                                             } else {
                                                 if ($read->idTipoReadequacao == 12) {
                                                     //Se for readequação de nome do projeto, insere o registo na tela de Checklist de Publicação.
                                                     $Projetos = new Projetos();
                                                     $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current();
                                                     $tbAprovacao = new Aprovacao();
                                                     $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao);
                                                     $idAprovacao = $tbAprovacao->inserir($dadosAprovacao);
                                                     // READEQUAÇÃO DE PERÍODO DE EXECUÇÃO
                                                 } else {
                                                     if ($read->idTipoReadequacao == 13) {
                                                         //Se for readequação de período de execução, atualiza os dados na SAC.dbo.Projetos.
                                                         $dtFimExecucao = Data::dataAmericana($read->dsSolicitacao);
                                                         $Projetos = new Projetos();
                                                         $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current();
                                                         $dadosPrj->DtFimExecucao = $dtFimExecucao;
                                                         $dadosPrj->save();
                                                         // READEQUAÇÃO DE PLANO DE DIVULGAÇÃO
                                                     } else {
                                                         if ($read->idTipoReadequacao == 14) {
                                                             //Se for readequação de plano de divulgacao, atualiza os dados na SAC.dbo.PlanoDeDivulgacao.
                                                             $PlanoDeDivulgacao = new PlanoDeDivulgacao();
                                                             $tbPlanoDivulgacao = new tbPlanoDivulgacao();
                                                             $planosDivulgacao = $tbPlanoDivulgacao->buscar(array('idReadequacao=?' => $idReadequacao));
                                                             foreach ($planosDivulgacao as $plano) {
                                                                 $Projetos = new Projetos();
                                                                 $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                                                 //Se não houve avalição do conselheiro, pega a avaliação técnica como referencia.
                                                                 $avaliacao = $plano->tpAnaliseComissao;
                                                                 if ($plano->tpAnaliseComissao == 'N') {
                                                                     $avaliacao = $plano->tpAnaliseTecnica;
                                                                 }
                                                                 //Se a avaliação foi deferida, realiza as mudanças necessárias na tabela original.
                                                                 if ($avaliacao == 'D') {
                                                                     if ($plano->tpSolicitacao == 'E') {
                                                                         //Se o plano de divulgação foi excluído, atualiza os status do plano na SAC.dbo.PlanoDeDivulgacao
                                                                         $PlanoDivulgacaoEmQuestao = $PlanoDeDivulgacao->buscar(array('idProjeto = ?' => $dadosPrj->idProjeto, 'idPeca = ?' => $plano->idPeca, 'idVeiculo = ?' => $plano->idVeiculo))->current();
                                                                         $tbLogomarca = new tbLogomarca();
                                                                         $dadosLogomarcaDaDivulgacao = $tbLogomarca->buscar(array('idPlanoDivulgacao = ?' => $PlanoDivulgacaoEmQuestao->idPlanoDivulgacao))->current();
                                                                         $dadosLogomarcaDaDivulgacao->delete();
                                                                         $PlanoDivulgacaoEmQuestao->delete();
                                                                     } else {
                                                                         if ($plano->tpSolicitacao == 'I') {
                                                                             //Se o plano de divulgação foi incluído, cria um novo registro na tabela SAC.dbo.PlanoDeDivulgacao
                                                                             $novoPlanoDivRead = array();
                                                                             $novoPlanoDivRead['idProjeto'] = $dadosPrj->idProjeto;
                                                                             $novoPlanoDivRead['idPeca'] = $plano->idPeca;
                                                                             $novoPlanoDivRead['idVeiculo'] = $plano->idVeiculo;
                                                                             $novoPlanoDivRead['Usuario'] = $this->idUsuario;
                                                                             $novoPlanoDivRead['siPlanoDeDivulgacao'] = 0;
                                                                             $novoPlanoDivRead['idDocumento'] = null;
                                                                             $novoPlanoDivRead['stPlanoDivulgacao'] = 1;
                                                                             $PlanoDeDivulgacao->inserir($novoPlanoDivRead);
                                                                         }
                                                                     }
                                                                 }
                                                             }
                                                             $dadosPDD = array();
                                                             $dadosPDD['stAtivo'] = 'N';
                                                             $wherePDD = "idPronac = {$read->idPronac} AND idReadequacao = {$idReadequacao}";
                                                             $tbPlanoDivulgacao->update($dadosPDD, $wherePDD);
                                                             // READEQUAÇÃO DE RESUMO DO PROJETO
                                                         } else {
                                                             if ($read->idTipoReadequacao == 15) {
                                                                 //Se for readequação de resumo do projeto, atualiza os dados na SAC.dbo.PreProjeto.
                                                                 $Projetos = new Projetos();
                                                                 $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current();
                                                                 $tbAprovacao = new Aprovacao();
                                                                 $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao);
                                                                 $idAprovacao = $tbAprovacao->inserir($dadosAprovacao);
                                                                 // READEQUAÇÃO DE OBJETIVOS
                                                             } else {
                                                                 if ($read->idTipoReadequacao == 16) {
                                                                     //Se for readequação de objetivos, atualiza os dados na SAC.dbo.PreProjeto.
                                                                     $Projetos = new Projetos();
                                                                     $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                                                     $PrePropojeto = new PreProjeto();
                                                                     $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                                                                     $dadosPreProjeto->Objetivos = $read->dsSolicitacao;
                                                                     $dadosPreProjeto->save();
                                                                     // READEQUAÇÃO DE JUSTIFICATIVA
                                                                 } else {
                                                                     if ($read->idTipoReadequacao == 17) {
                                                                         //Se for readequação de justificativa, atualiza os dados na SAC.dbo.PreProjeto.
                                                                         $Projetos = new Projetos();
                                                                         $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                                                         $PrePropojeto = new PreProjeto();
                                                                         $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                                                                         $dadosPreProjeto->Justificativa = $read->dsSolicitacao;
                                                                         $dadosPreProjeto->save();
                                                                         // READEQUAÇÃO DE ACESSIBILIDADE
                                                                     } else {
                                                                         if ($read->idTipoReadequacao == 18) {
                                                                             //Se for readequação de acesibilidade, atualiza os dados na SAC.dbo.PreProjeto.
                                                                             $Projetos = new Projetos();
                                                                             $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                                                             $PrePropojeto = new PreProjeto();
                                                                             $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                                                                             $dadosPreProjeto->Acessibilidade = $read->dsSolicitacao;
                                                                             $dadosPreProjeto->save();
                                                                             // READEQUAÇÃO DE DEMOCRATIZAÇÃO DE ACESSO
                                                                         } else {
                                                                             if ($read->idTipoReadequacao == 19) {
                                                                                 //Se for readequação de democratização de acesso, atualiza os dados na SAC.dbo.PreProjeto.
                                                                                 $Projetos = new Projetos();
                                                                                 $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                                                                 $PrePropojeto = new PreProjeto();
                                                                                 $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                                                                                 $dadosPreProjeto->DemocratizacaoDeAcesso = $read->dsSolicitacao;
                                                                                 $dadosPreProjeto->save();
                                                                                 // READEQUAÇÃO DE ETAPAS DE TRABALHO
                                                                             } else {
                                                                                 if ($read->idTipoReadequacao == 20) {
                                                                                     //Se for readequação de etapas de trabalho, atualiza os dados na SAC.dbo.PreProjeto.
                                                                                     $Projetos = new Projetos();
                                                                                     $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                                                                     $PrePropojeto = new PreProjeto();
                                                                                     $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                                                                                     $dadosPreProjeto->EtapaDeTrabalho = $read->dsSolicitacao;
                                                                                     $dadosPreProjeto->save();
                                                                                     // READEQUAÇÃO DE FICHA TÉCNICA
                                                                                 } else {
                                                                                     if ($read->idTipoReadequacao == 21) {
                                                                                         //Se for readequação de ficha técnica, atualiza os dados na SAC.dbo.PreProjeto.
                                                                                         $Projetos = new Projetos();
                                                                                         $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                                                                         $PrePropojeto = new PreProjeto();
                                                                                         $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                                                                                         $dadosPreProjeto->FichaTecnica = $read->dsSolicitacao;
                                                                                         $dadosPreProjeto->save();
                                                                                     }
                                                                                 }
                                                                             }
                                                                         }
                                                                     }
                                                                 }
                                                             }
                                                         }
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     //Atualiza a tabela tbReadequacao
     $dados = array();
     $dados['siEncaminhamento'] = 15;
     //Finalizam sem a necessidade de passar pela publicação no DOU.
     $dados['stEstado'] = 1;
     $tiposParaChecklist = array(2, 3, 10, 12, 15);
     if (in_array($read->idTipoReadequacao, $tiposParaChecklist)) {
         $dados['siEncaminhamento'] = 9;
         //Encaminhado pelo sistema para o Checklist de Publicação
         $dados['stEstado'] = 0;
     }
     $dados['idNrReuniao'] = $idNrReuniao;
     $where = "idReadequacao = {$idReadequacao}";
     $return = $tbReadequacao->update($dados, $where);
     //Atualiza a tabela tbDistribuirReadequacao
     $dados = array();
     $dados['stValidacaoCoordenador'] = 1;
     $dados['DtValidacaoCoordenador'] = new Zend_Db_Expr('GETDATE()');
     $dados['idCoordenador'] = $idCoordenador;
     $where = "idReadequacao = {$idReadequacao}";
     $tbDistribuirReadequacao = new tbDistribuirReadequacao();
     $return2 = $tbDistribuirReadequacao->update($dados, $where);
     if (!$return && !$return2) {
         parent::message("Não foi possível encaminhar a readequação para o Checklist de Publicação", "readequacoes/painel?tipoFiltro=analisados", "ERROR");
     }
     parent::message("Readequação encaminhada com sucesso!", "readequacoes/painel?tipoFiltro=analisados", "CONFIRM");
 }