public function indexAction()
 {
     $tblPlanoDistribuicao = new PlanoDistribuicao();
     $rsPlanoDistribuicao = $tblPlanoDistribuicao->busca(array("Segmento=?" => 61), array("idPlanoDistribuicao DESC"), 10);
     $arrDados = array("planosDistribuicao" => $rsPlanoDistribuicao, "formulario" => $this->_urlPadrao . "/plano-distribuicao/frm-plano-distribuicao");
     $this->montaTela("planodistribuicao/index.phtml", $arrDados);
 }
 /**
  * Metodo para emitir parecer
  * @access public
  * @param void
  * @return void
  */
 public function emitirparecerAction()
 {
     $idPronac = $this->_request->getParam("idpronac");
     $pa = new paChecarLimitesOrcamentario();
     $resultadoCheckList = $pa->exec($idPronac, 3);
     $i = 0;
     foreach ($resultadoCheckList as $resultado) {
         if ($resultado->Observacao == 'PENDENTE') {
             $i++;
         }
     }
     $this->view->qtdErrosCheckList = $i;
     $this->view->resultadoCheckList = $resultadoCheckList;
     $tblParecer = new Parecer();
     $tblPlanilhaAprovacao = new PlanilhaAprovacao();
     $auth = Zend_Auth::getInstance();
     // pega a autenticacao
     $tblProjetos = new Projetos();
     $tblPreProjeto = new PreProjeto();
     $ConsultaReuniaoAberta = ReuniaoDAO::buscarReuniaoAberta();
     $NumeroReuniao = $ConsultaReuniaoAberta['NrReuniao'];
     //CASO O COMPONENTE QUEIRA APENAS SALVAR O SEU PARECER - INICIO
     if (isset($_POST['usu_codigo'])) {
         $this->_helper->layout->disableLayout();
         // desabilita o Zend_Layout
         $tipoAgente = $_POST['tipoplanilha'];
         $parecer = $_POST['parecer'];
         $buscarParecer = $tblParecer->buscar(array('IdPRONAC = ?' => $_POST['idpronac'], 'stAtivo = ?' => 1))->current();
         if (count($buscarParecer) > 0) {
             $buscarParecer = $buscarParecer->toArray();
             $dados = array('idPRONAC' => $_POST['idpronac'], 'AnoProjeto' => $buscarParecer['AnoProjeto'], 'idEnquadramento' => $buscarParecer['idEnquadramento'], 'Sequencial' => $buscarParecer['Sequencial'], 'TipoParecer' => $buscarParecer['TipoParecer'], 'ParecerFavoravel' => Seguranca::tratarVarAjaxUFT8($parecer), 'dtParecer' => date('Y-m-d H:i:s'), 'NumeroReuniao' => $NumeroReuniao, 'ResumoParecer' => utf8_decode($_POST['justificativa']), 'SugeridoUfir' => 0, 'SugeridoReal' => $_POST['valorreal'], 'SugeridoCusteioReal' => 0, 'SugeridoCapitalReal' => 0, 'Atendimento' => 'S', 'Logon' => $_POST['usu_codigo'], 'stAtivo' => 1, 'idTipoAgente' => $tipoAgente);
             $idparecer = isset($buscarParecer['IdParecer']) ? $buscarParecer['IdParecer'] : $buscarParecer['idParecer'];
             //se parecer ativo nao é o Componente, inativa os outros e grava o do Componente
             if (!$buscarParecer or $buscarParecer['idTipoAgente'] != $tipoAgente) {
                 try {
                     $dadosAtualizar = array('stAtivo' => 0);
                     $where = "idparecer = " . $idparecer;
                     $update = $tblParecer->alterar($dadosAtualizar, $where);
                     $inserir = $tblParecer->inserir($dados);
                     echo json_encode(array('error' => false));
                 } catch (Exception $e) {
                     echo json_encode(array('error' => true, 'descricao' => $e->getMessage()));
                 }
                 die;
             } else {
                 try {
                     $where = "idparecer = " . $idparecer;
                     $update = $tblParecer->alterar($dados, $where);
                     echo json_encode(array('error' => false));
                 } catch (Zend_Exception $e) {
                     echo json_encode(array('error' => true, 'descricao' => $e->getMessage()));
                 }
                 die;
             }
         } else {
             echo json_encode(array('error' => true, 'descricao' => 'Não foi encontrado parecer válido da análise técnica.'));
             die;
         }
     }
     //CASO O COMPONENTE QUEIRA SALVAR O SEU PARECER - FIM
     //CASO O PROJETO VOLTE DA CNIC APROVADO PARA O COMPONENTE READEQUAR - INICIO
     if (isset($_POST['idpronac'])) {
         $idpronac = $_POST['idpronac'];
         $tblSituacao = new Situacao();
         $tblPauta = new Pauta();
         $buscarnrreuniaoprojeto = $tblPauta->dadosiniciaistermoaprovacao(array($idpronac))->current();
         $dados = array();
         //TRATANDO SITUACAO DO PROJETO QUANDO ESTE FOR DE READEQUACAO
         if ($this->bln_readequacao == "false") {
             $dados['Situacao'] = 'D03';
             $buscarsituacao = $tblSituacao->listasituacao(array('D03'))->current();
         } else {
             $dados['Situacao'] = 'D02';
             $buscarsituacao = $tblSituacao->listasituacao(array('D02'))->current();
         }
         $dados['DtSituacao'] = date('Y-m-d H:i:s');
         $dados['ProvidenciaTomada'] = 'PROJETO APROVADO NA CNIC N&ordm ' . $buscarnrreuniaoprojeto->NrReuniao . ' - ' . $buscarsituacao['Descricao'];
         $dados['Logon'] = $auth->getIdentity()->usu_codigo;
         $where = "IdPRONAC = " . $idpronac;
         $tblProjetos->alterar($dados, $where);
         //$tblProjetos->alterarSituacao($idpronac, NULL, $dados['Situacao'], $dados['ProvidenciaTomada']);
         parent::message("Projeto readequado com sucesso!", "areadetrabalho/index", "CONFIRM");
         exit;
     }
     //CASO O PROJETO VOLTE DA CNIC APROVADO PARA O COMPONENTE READEQUAR - FIM
     //FINALIZAR ANALISE - JUSTIFICATIVA DE PLENARIA - INICIO
     if (isset($_POST['justificativaenvioplenaria'])) {
         // recebe os dados via post
         $post = Zend_Registry::get('post');
         $parecerAtualizado = trim($post->pareceratualizado);
         //CONFIRMA SE O PARECER REALMENTE FOI EMITIDO E ESTA GRAVADO
         $tblParecer = new Parecer();
         $rsParecer = $tblParecer->buscar(array("IdPRONAC = ?" => $post->idPronac, "idTipoAgente = ?" => 6, "stAtivo = ?" => 1));
         if ($rsParecer->count() <= 0) {
             parent::message("Para finalizar a An&aacute;lise &eacute; necess&aacute;rio emitir um parecer. O parecer n&atilde;o foi gravado corretamente.", "realizaranaliseprojeto/emitirparecer/idpronac/" . $post->idPronac, "ERROR");
             die;
         } else {
             $idParecer = isset($rsParecer[0]->IdParecer) ? $rsParecer[0]->IdParecer : $rsParecer[0]->idParecer;
             $rsParecerAtualizar = $tblParecer->find($idParecer)->current();
             $rsParecerAtualizar->ResumoParecer = $parecerAtualizado;
             $rsParecerAtualizar->save();
         }
         $tblSituacao = new Situacao();
         $tblProjetos = new Projetos();
         $tblPauta = new Pauta();
         $tblReuniao = new tbreuniao();
         $idPronac = $post->idPronac;
         //recupera tipo da planilha de acordo com o resultado da reuniao plenaria
         /*$buscarnrreuniaoprojeto = $tblPauta->dadosiniciaistermoaprovacao(array($idPronac) )->current();
           $rsReuniao = $tblReuniao->buscar(array('NrReuniao=?'=>$buscarnrreuniaoprojeto->NrReuniao))->current();
           $buscaReadAprovacadoCnic = $tblPauta->buscar(array('IdPRONAC = ?'=>$idPronac, 'stAnalise = ?'=>'AS', 'idNrReuniao = ?'=>$rsReuniao->idNrReuniao));
           if($buscaReadAprovacadoCnic->count() > 0){ $tpPlanilha = "SE"; } else{ $tpPlanilha = "CO"; }*/
         $tblPlanilhaAprovacao = new PlanilhaAprovacao();
         $rsPlanilhaAtual = $tblPlanilhaAprovacao->buscar(array('IdPRONAC = ?' => $idPronac), array('dtPlanilha DESC'))->current();
         $tpPlanilha = !empty($rsPlanilhaAtual) && $rsPlanilhaAtual->tpPlanilha == 'SE' ? 'SE' : 'CO';
         //TRATANDO SITUACAO DO PROJETO QUANDO ESTE FOR DE READEQUACAO
         $codSituacao = $this->bln_readequacao == "false" ? 'D03' : 'D02';
         $stEnvioPlenaria = isset($post->stEnvioPlenaria) ? 'S' : 'N';
         $justificativa = $post->justificativaenvioplenaria;
         $TipoAprovacao = $post->decisao;
         $situacao = $post->situacao == null ? $codSituacao : $post->situacao;
         $dtsituacao = date('Y-m-d H:i:s');
         $buscarsituacao = $tblSituacao->listasituacao(array($situacao))->current()->toArray();
         $providencia = $post->situacao == null ? 'PROJETO APROVADO NA CNIC N ' . $NumeroReuniao . ' - ' . $buscarsituacao['Descricao'] : 'PROJETO INDEFERIDO NA CNIC N ' . $NumeroReuniao . ' - ' . $buscarsituacao['Descricao'];
         $stEnvioPlenaria = $post->stEnvioPlenaria == null ? 'N' : 'S';
         /**** CODIGO DE READEQUACAO ****/
         //SE O PROJETO FOR DE READEQUACAO e a DECISAO FOR DE APROVACAO - INATIVA A ANTIGA PLANILHA 'CO' e ATIVA A 'CO' READEQUADA
         if ($this->bln_readequacao == "true") {
             //finaliza readequacao do projeto
             if (!empty($this->idPedidoAlteracao) && $this->idPedidoAlteracao > 0) {
                 //ReadequacaoProjetos::alterarPedido($this->idPedidoAlteracao, '2');
                 $tbPedidoAlteracao = new tbPedidoAlteracaoProjeto();
                 $rsPedidoAlteracao = $tbPedidoAlteracao->buscar(array('idPedidoAlteracao = ?' => $this->idPedidoAlteracao))->current();
                 $rsPedidoAlteracao->siVerificacao = 2;
                 $rsPedidoAlteracao->save();
                 //$dados = array('siVerificacao' => 2);
                 //$where = array('idPedidoAlteracao = ' => $this->idPedidoAlteracao);
                 //$rsPedidoAlteracao = $tbPedidoAlteracao->alterar($dados, $where);
             }
             //troca planilhas apenas se a decisao do componente for de aprovar a readequacao  //Se a planilha atual é SE significa que voltou da plenaria e nao entra na opcao de desativar a antiga e ativar a nova
             if ($post->decisao = 'AC' && $tpPlanilha != 'SE') {
                 try {
                     //ATIVA PLANILHA CO READEQUADA
                     $tblPlanilhaAprovacao = new PlanilhaAprovacao();
                     $rsPlanilha_Ativa = $tblPlanilhaAprovacao->buscar(array('idPronac = ?' => $idPronac, 'stAtivo = ?' => 'S', 'tpPlanilha=?' => 'CO'));
                     //PLANILHA DA APROVACAO INICIAL
                     $arrBuscaPlanilha = array();
                     $arrBuscaPlanilha["idPronac = ? "] = $idPronac;
                     $arrBuscaPlanilha["tpPlanilha = ? "] = 'CO';
                     $arrBuscaPlanilha["stAtivo = ? "] = 'N';
                     $arrBuscaPlanilha["idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idPronac}')"] = '(?)';
                     $rsPlanilha_Inativa = $tblPlanilhaAprovacao->buscar($arrBuscaPlanilha);
                     //PLANILHA DA READEQUACAO
                     //inativa Planilha Aprovacao Inicial
                     foreach ($rsPlanilha_Ativa as $planilhaI) {
                         $planilhaI->stAtivo = 'N';
                         $planilhaI->save();
                     }
                     //ativa Planilha Readequada
                     $planilha = null;
                     foreach ($rsPlanilha_Inativa as $planilhaR) {
                         $planilhaR->stAtivo = 'S';
                         $planilhaR->save();
                     }
                 } catch (Exception $e) {
                     //xd($e->getMessage());
                     parent::message("Erro ao ativar Planilha readequada. " . $e->getMessage(), "realizaranaliseprojeto/emitirparecer" . $query_string, "ERROR");
                 }
             }
         }
         /**** FIM CODIGO DE READEQUACAO ****/
         try {
             // busca a reuniao aberta
             $idReuniao = $ConsultaReuniaoAberta['idNrReuniao'];
             // verifica se ja esta na pauta
             $verificaPauta = RealizarAnaliseProjetoDAO::retornaRegistro($idPronac, $idReuniao);
             if (count($verificaPauta) == 0) {
                 // cadastra o projeto na pauta
                 $dados = array('idNrReuniao' => $idReuniao, 'IdPRONAC' => $idPronac, 'dtEnvioPauta' => new Zend_Db_Expr('GETDATE()'), 'stEnvioPlenario' => $stEnvioPlenaria, 'tpPauta' => 1, 'stAnalise' => $TipoAprovacao, 'dsAnalise' => TratarString::escapeString($justificativa), 'stPlanoAnual' => $post->stPlanoAnual);
                 $tblPauta->inserir($dados);
                 $dadosprojeto = array('Situacao' => $situacao, 'DtSituacao' => $dtsituacao, 'ProvidenciaTomada' => $providencia);
                 $tblProjetos->alterar($dadosprojeto, 'IdPRONAC = ' . $idPronac);
                 parent::message("Projeto cadastrado na Pauta com sucesso!", "areadetrabalho/index", "CONFIRM");
                 die;
             } else {
                 // altera o projeto na pauta
                 $dados = array('idNrReuniao' => $idReuniao, 'dtEnvioPauta' => new Zend_Db_Expr('GETDATE()'), 'stEnvioPlenario' => $stEnvioPlenaria, 'tpPauta' => 1, 'dsAnalise' => TratarString::escapeString($justificativa), 'stAnalise' => $TipoAprovacao, 'stPlanoAnual' => $post->stPlanoAnual);
                 //                            $alterar = $tblPauta->alterar($dados, 'IdPRONAC = '.$idPronac.' and idNrReuniao = '.$idReuniao);
                 $dadosprojeto = array('Situacao' => $situacao, 'DtSituacao' => $dtsituacao, 'ProvidenciaTomada' => $providencia);
                 //                            $tblProjetos->alterar($dadosprojeto, 'IdPRONAC = '.$idPronac);
                 $tbRecurso = new tbRecurso();
                 $dadosRecursoAtual = $tbRecurso->buscar(array('IdPRONAC = ?' => $idPronac, 'stAtendimento = ?' => 'N', 'tpSolicitacao =?' => 'EN'));
                 if (count($dadosRecursoAtual) > 0) {
                     $auth = Zend_Auth::getInstance();
                     // pega a autenticação
                     $this->idUsuario = $auth->getIdentity()->usu_codigo;
                     //ATUALIZAÇÃO DA TABELA RECURSO//
                     $dadosNovos = array('dtAvaliacao' => new Zend_Db_Expr('GETDATE()'), 'dsAvaliacao' => 'Recurso deferido conforme solicitação do Proponente.', 'idAgenteAvaliador' => $this->idUsuario);
                     $tbRecurso->update($dadosNovos, "idRecurso=" . $dadosRecursoAtual[0]->idRecurso);
                     //ATUALIZAÇÃO DA TABELA Enquadramento//
                     $Enquadramento = new Enquadramento();
                     $dadosEnquadramentoAtual = $Enquadramento->buscarDados($idPronac, null);
                     if (count($dadosRecursoAtual) > 0) {
                         $tpEnquadramento = $dadosEnquadramentoAtual[0]->Enquadramento == 1 ? 2 : 1;
                         $dadosNovosEnquadramento = array('Enquadramento' => $tpEnquadramento, 'dtEnquadramento' => new Zend_Db_Expr('GETDATE()'), 'Observacao' => 'Alteração de Enquadramento conforme deferimento de recurso.', 'Logon' => $this->idUsuario);
                         $Enquadramento->update($dadosNovosEnquadramento, "IdEnquadramento=" . $dadosEnquadramentoAtual[0]->IdEnquadramento);
                     }
                 }
                 parent::message("Projeto j&aacute; est&aacute; em Pauta, sendo alterado com sucesso!", "areadetrabalho/index", "CONFIRM");
                 die;
             }
         } catch (Exception $e) {
             //xd($e->getMessage());
             parent::message("Erro ao incluir projeto na Pauta. " . $e->getMessage(), "realizaranaliseprojeto/emitirparecer" . $query_string, "ERROR");
         }
     } else {
         // recebe os dados via get
         $idpronac = $this->_request->getParam("idpronac");
         $this->view->idpronac = $idpronac;
         try {
             if (empty($idpronac)) {
                 //throw new Exception("Por favor, clique no Pronac Aguardando An&aacute;lise!");
                 parent::message("Erro ao realizar operação.", "realizaranaliseprojeto/emitirparecer", "ERROR");
             } else {
                 $idpronac = $this->_request->getParam("idpronac");
                 $projeto = new Projetos();
                 $planilhaproposta = new PlanilhaProposta();
                 $planilhaprojeto = new PlanilhaProjeto();
                 $planoDistribuicao = new PlanoDistribuicao();
                 $analiseaprovacao = new AnaliseAprovacao();
                 $planilhaAprovacao = new PlanilhaAprovacao();
                 $tbPreProjeto = new PreProjeto();
                 //antigo modo
                 //$tblPauta = new Pauta();
                 //$buscaReadAprovacadoCnic = $tblPauta->buscar(array('IdPRONAC = ?'=>$idpronac, 'stAnalise = ?'=>"AS"));
                 //novo modo
                 $rsPlanilhaAtual = $planilhaAprovacao->buscar(array('IdPRONAC = ?' => $idpronac), array('dtPlanilha DESC'))->current();
                 $tipoplanilha = !empty($rsPlanilhaAtual) && $rsPlanilhaAtual->tpPlanilha == 'SE' ? 'SE' : 'CO';
                 if (!empty($rsPlanilhaAtual) && $rsPlanilhaAtual->tpPlanilha == 'SE') {
                     $tpPlanilha = "SE";
                     $tpAnalise = "SE";
                     $tpAgente = '10';
                 } else {
                     $tpPlanilha = "CO";
                     $tpAnalise = "CO";
                     $tpAgente = '6';
                 }
                 $projetoAtual = $projeto->buscar(array('IdPRONAC = ?' => $idpronac))->current()->toArray();
                 $idprojeto = $projetoAtual['idProjeto'];
                 $rsPreprojeto = $tbPreProjeto->buscar(array('idPreProjeto=?' => $idprojeto))->current();
                 if (!empty($rsPreprojeto)) {
                     $stPlanoAnual = $rsPreprojeto->stPlanoAnual;
                 } else {
                     $stPlanoAnual = '0';
                 }
                 $this->view->tipoplanilha = $tpPlanilha;
                 $this->view->tipoagente = $tpAgente;
                 $this->view->stPlanoAnual = $stPlanoAnual;
                 /**** CODIGO DE READEQUACAO ****/
                 $arrWhereSomaPlanilha = array();
                 $arrWhereSomaPlanilha['idPronac = ?'] = $idpronac;
                 //TRATANDO SOMA DE PROJETO QUANDO ESTE FOR DE READEQUACAO
                 if ($this->bln_readequacao == "false") {
                     $fonteincentivo = $planilhaproposta->somarPlanilhaProposta($idprojeto, 109);
                     $outrasfontes = $planilhaproposta->somarPlanilhaProposta($idprojeto, false, 109);
                 } else {
                     $arrWhereFontesIncentivo = $arrWhereSomaPlanilha;
                     $arrWhereFontesIncentivo['idPlanilhaItem <> ? '] = '206';
                     //elaboracao e agenciamento
                     $arrWhereFontesIncentivo['tpPlanilha = ? '] = 'SR';
                     $arrWhereFontesIncentivo['stAtivo = ? '] = 'N';
                     $arrWhereFontesIncentivo['NrFonteRecurso = ? '] = '109';
                     $arrWhereFontesIncentivo["idPedidoAlteracao = (?)"] = new Zend_Db_Expr("(SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')");
                     $arrWhereFontesIncentivo["tpAcao <> ('E') OR tpAcao IS NULL "] = '(?)';
                     $fonteincentivo = $planilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereFontesIncentivo);
                     $arrWhereOutrasFontes = $arrWhereSomaPlanilha;
                     $arrWhereOutrasFontes['idPlanilhaItem <> ? '] = '206';
                     //elaboracao e agenciamento
                     $arrWhereOutrasFontes['tpPlanilha = ? '] = 'SR';
                     $arrWhereOutrasFontes['stAtivo = ? '] = 'N';
                     $arrWhereOutrasFontes['NrFonteRecurso <> ? '] = '109';
                     $arrWhereOutrasFontes["idPedidoAlteracao = (?)"] = new Zend_Db_Expr("(SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')");
                     $arrWhereOutrasFontes["tpAcao <> ('E') OR tpAcao IS NULL "] = '(?)';
                     $outrasfontes = $planilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereOutrasFontes);
                 }
                 $this->view->fontesincentivo = $fonteincentivo['soma'];
                 $this->view->outrasfontes = $outrasfontes['soma'];
                 $this->view->valorproposta = $fonteincentivo['soma'] + $outrasfontes['soma'];
                 $arrWhereSomaPlanilha = array();
                 $arrWhereSomaPlanilha['idPronac = ?'] = $idpronac;
                 $arrWhereSomaPlanilha['idPlanilhaItem <> ? '] = '206';
                 //elaboracao e agenciamento
                 $arrWhereSomaPlanilha['tpPlanilha = ? '] = $tpPlanilha;
                 $arrWhereSomaPlanilha['NrFonteRecurso = ? '] = '109';
                 if ($this->bln_readequacao == "true") {
                     $arrWhereSomaPlanilha["idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')"] = '(?)';
                     $arrWhereSomaPlanilha["tpAcao <> ('E') OR tpAcao IS NULL "] = '(?)';
                     $arrWhereSomaPlanilha['stAtivo = ? '] = 'N';
                 } else {
                     $arrWhereSomaPlanilha['stAtivo = ? '] = 'S';
                 }
                 //VALOR TOTAL DO PROJETO - V1
                 //antiga soma
                 //$valorProjeto = $planilhaAprovacao->somarPlanilhaAprovacao($idpronac,206, $tpPlanilha, $arrWhereReadequacao);
                 //nova soma
                 $valorProjeto = $planilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereSomaPlanilha);
                 /**** FIM CODIGO DE READEQUACAO ****/
                 $this->view->totalsugerido = $valorProjeto['soma'] ? $valorProjeto['soma'] : 0;
                 //valor total do projeto (Planilha Aprovacao)
                 //CALCULO DOS 20% - ETAPA DIVULGACAO
                 //soma para calculo dos 20% etapada de Divulgacao
                 $arrWhereEtapa = array();
                 $arrWhereEtapa['pa.idPronac = ?'] = $idpronac;
                 $arrWhereEtapa['pa.idPlanilhaItem <> ? '] = '206';
                 //elaboracao e agenciamento
                 $arrWhereEtapa['pa.tpPlanilha = ? '] = $tpPlanilha;
                 $arrWhereEtapa['pa.NrFonteRecurso = ? '] = '109';
                 $arrWhereEtapa['pa.idEtapa = ?'] = '3';
                 if ($this->bln_readequacao == "true") {
                     $arrWhereEtapa["pa.idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')"] = '(?)';
                     $arrWhereEtapa["pa.tpAcao <> ('E') OR pa.tpAcao IS NULL "] = '(?)';
                     $arrWhereEtapa['pa.stAtivo = ? '] = 'N';
                 } else {
                     $arrWhereEtapa['pa.stAtivo = ? '] = 'S';
                 }
                 $arrWhereEtapa['aa.tpAnalise = ?'] = $tpPlanilha;
                 $arrWhereEtapa['aa.stAvaliacao = ?'] = 1;
                 // 1 = parecer favoravel, 0 = parecer nao favoravel
                 //$this->view->V2 = $valorProjetoDivulgacao['soma'];
                 $valorProjetoDivulgacao = $planilhaAprovacao->somarItensPlanilhaAprovacaoProdutosFavoraveis($arrWhereEtapa);
                 //CALCULO DOS 15% - CUSTOS ADMINISTRATIVOS
                 $arrWhereCustoAdm = array();
                 $arrWhereCustoAdm['idPronac = ?'] = $idpronac;
                 $arrWhereCustoAdm['idProduto = ?'] = 0;
                 $arrWhereCustoAdm['idEtapa = ?'] = 4;
                 //custos administrativos
                 $arrWhereCustoAdm['idPlanilhaItem NOT IN (?)'] = array(5249, 206, 1238);
                 //Remuneracao de captacao de recursos
                 $arrWhereCustoAdm['tpPlanilha = ? '] = $tpPlanilha;
                 $arrWhereCustoAdm['NrFonteRecurso = ? '] = '109';
                 if ($this->bln_readequacao == "true") {
                     $arrWhereCustoAdm["idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')"] = '(?)';
                     $arrWhereCustoAdm["tpAcao <> ('E') OR tpAcao IS NULL "] = '(?)';
                     $arrWhereCustoAdm['stAtivo = ? '] = 'N';
                 } else {
                     $arrWhereCustoAdm['stAtivo = ? '] = 'S';
                 }
                 //$this->view->V2.1 = $valoracustosadministrativos['soma'];
                 $valoracustosadministrativos = $planilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereCustoAdm);
                 //CALCULO DOS 10% - REMUNERACAO PARA CAPTACAO DE RECURSO
                 $arrWhereItemCaptRecurso = array();
                 $arrWhereItemCaptRecurso['idPronac = ?'] = $idpronac;
                 $arrWhereItemCaptRecurso['idPlanilhaItem = ?'] = '5249';
                 //Item de Remuneracao de captacao de recursos
                 $arrWhereItemCaptRecurso['tpPlanilha = ? '] = $tpPlanilha;
                 $arrWhereItemCaptRecurso['NrFonteRecurso = ? '] = '109';
                 if ($this->bln_readequacao == "true") {
                     $arrWhereItemCaptRecurso["idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')"] = '(?)';
                     $arrWhereItemCaptRecurso["tpAcao <> ('E') OR tpAcao IS NULL "] = '(?)';
                     $arrWhereItemCaptRecurso['stAtivo = ? '] = 'N';
                 } else {
                     $arrWhereItemCaptRecurso['stAtivo = ? '] = 'S';
                 }
                 //$this->view->V2.2 = $valorItemCaptacaoRecurso['soma'];
                 $valorItemCaptacaoRecurso = $planilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereItemCaptRecurso);
                 //Calcula os 20% do valor total do projeto V3
                 $porcentValorProjeto = $valorProjeto['soma'] * 0.2;
                 //Calcula os 15% do valor total do projeto V3.1
                 $quinzecentoprojeto = $valorProjeto['soma'] * 0.15;
                 //Calcula os 10% do valor total do projeto V3.2
                 $dezPercentValorProjeto = $valorProjeto['soma'] * 0.1;
                 //Calculo do 20% -> V4
                 //Subtrai os custos da etapa divulgacao pelos 20% do projeto (V2 - V3)
                 $verificacaonegativo20porcento = $valorProjetoDivulgacao->soma - $porcentValorProjeto;
                 //Calculo do 15% -> V4.1
                 //Subtrai os custos administrativos pelos 15% do projeto (V2.1 - V3.1)
                 $verificacaonegativo = $valoracustosadministrativos['soma'] - $quinzecentoprojeto;
                 //Calculo do 10% -> V4.2
                 //Subtrai o item de captacao de recurso pelos 10% do projeto (V2.2 - V3.2)
                 $verificacaonegativo10porcento = $valorItemCaptacaoRecurso['soma'] - $dezPercentValorProjeto;
                 //if V4 e V4.1 maior que zero soma os dois V4
                 if ($verificacaonegativo20porcento > 0 && $verificacaonegativo > 0 && $verificacaonegativo10porcento > 0) {
                     //V1 - (V4 + V4.1 + V4.2) = V5
                     /*V5*/
                     $novoValorProjeto = $valorProjeto['soma'] - ($verificacaonegativo20porcento + $verificacaonegativo + $verificacaonegativo10porcento);
                     /*V6*/
                     $vinteporcentovalorretirar = $novoValorProjeto * 0.2;
                     //V2 - V6
                     $valorretirarplanilhaEtapaDivulgacao = $valorProjetoDivulgacao->soma - $vinteporcentovalorretirar;
                     //(correcao V2 - V6)
                     //$this->view->verifica15porcento = $valorretirarplanilha;
                     $this->view->valorReadequar20porcento = $valorretirarplanilhaEtapaDivulgacao;
                     $this->view->totaldivulgacao = "true";
                     /*V6.1*/
                     $quinzecentovalorretirar = $novoValorProjeto * 0.15;
                     //V2 - V6
                     $valorretirarplanilha = $valoracustosadministrativos['soma'] - $quinzecentovalorretirar;
                     //(correcao V2 - V6)
                     $this->view->verifica15porcento = $valorretirarplanilha;
                     /*V6.2*/
                     $dezcentovalorretirar = $novoValorProjeto * 0.1;
                     //V2 - V6
                     $valorretirarplanilhaItemCaptacaoRecurso = $valorItemCaptacaoRecurso['soma'] - $dezcentovalorretirar;
                     //(correcao V2 - V6)
                     $this->view->valorReadequar10porcento = $valorretirarplanilhaItemCaptacaoRecurso;
                     $this->view->totalcaptacaorecurso = "true";
                 } elseif ($verificacaonegativo20porcento > 0 || $verificacaonegativo > 0 || $verificacaonegativo10porcento > 0) {
                     //Calculo dos 20%
                     if ($verificacaonegativo20porcento <= 0) {
                         $this->view->totaldivulgacao = "false";
                         $this->view->valorReadequar20porcento = 0;
                     } else {
                         //V1 - V4 = V5
                         /*V5*/
                         $valorretirar20porcento = $valorProjeto['soma'] - $verificacaonegativo20porcento;
                         /*V6*/
                         $vinteporcentovalorretirar = $valorretirar20porcento * 0.2;
                         //V2 - V6
                         $valorretirarplanilhaEtapaDivulgacao = $valorProjetoDivulgacao->soma - $vinteporcentovalorretirar;
                         //(correcao V2 - V6)
                         $this->view->valorReadequar20porcento = $valorretirarplanilhaEtapaDivulgacao;
                         $this->view->totaldivulgacao = "true";
                     }
                     //Calculo dos 10%
                     if ($verificacaonegativo10porcento <= 0) {
                         $this->view->totalcaptacaorecurso = "false";
                         $this->view->valorReadequar10porcento = 0;
                     } else {
                         //V1 - V4 = V5
                         /*V5*/
                         $valorretirar10porcento = $valorProjeto['soma'] - $verificacaonegativo10porcento;
                         /*V6*/
                         $dezcentovalorretirar = $valorretirar10porcento * 0.1;
                         //V2 - V6
                         $valorretirarplanilhaItemCaptacaoRecurso = $valorItemCaptacaoRecurso['soma'] - $dezcentovalorretirar;
                         //(correcao V2 - V6)
                         $this->view->valorReadequar10porcento = $valorretirarplanilhaItemCaptacaoRecurso;
                         $this->view->totalcaptacaorecurso = "true";
                     }
                     //Calculo dos 10% (complemento)
                     $tetoCemMil = (int) '100000.00';
                     if ($valorItemCaptacaoRecurso['soma'] > $tetoCemMil) {
                         //verfica se o valor do item de captacao de recurso é maior que R$100.000,00
                         $this->view->totalcaptacaorecurso = "true";
                         $this->view->valorReadequar10porcento = $valorItemCaptacaoRecurso['soma'] - $tetoCemMil;
                     }
                     //Calculo dos 15%
                     if ($valorProjeto['soma'] > 0 and $valoracustosadministrativos['soma'] < $valorProjeto['soma']) {
                         if ($verificacaonegativo <= 0) {
                             $this->view->verifica15porcento = 0;
                         } else {
                             //V1 - V4 = V5
                             /*V5*/
                             $valorretirar = $valorProjeto['soma'] - $verificacaonegativo;
                             /*V6*/
                             $quinzecentovalorretirar = $valorretirar * 0.15;
                             //V2 - V6
                             $valorretirarplanilha = $valoracustosadministrativos['soma'] - $quinzecentovalorretirar;
                             //(correcao V2 - V6)
                             $this->view->verifica15porcento = $valorretirarplanilha;
                         }
                     } else {
                         $this->view->verifica15porcento = $valoracustosadministrativos['soma'];
                     }
                 } else {
                     //Calculo dos 20%
                     $this->view->totaldivulgacao = "false";
                     $this->view->valorReadequar20porcento = 0;
                     //Calculo dos 10% (complemento)
                     $tetoCemMil = (int) '100000.00';
                     if ($valorItemCaptacaoRecurso['soma'] > $tetoCemMil) {
                         //verfica se o valor do item de captacao de recurso é maior que R$100.000,00
                         $this->view->totalcaptacaorecurso = "true";
                         $this->view->valorReadequar10porcento = $valorItemCaptacaoRecurso['soma'] - $tetoCemMil;
                     } else {
                         $this->view->totalcaptacaorecurso = "false";
                         $this->view->valorReadequar10porcento = 0;
                     }
                     //Calculo dos 15%
                     $this->view->verifica15porcento = 0;
                 }
                 //FIM - DOS CALCULO DOS 20% e 15%
                 $buscarPlano = $planoDistribuicao->buscar(array('idProjeto = ?' => $projetoAtual['idProjeto'], 'stPrincipal= ?' => 1))->current()->toArray();
                 $buscarAnaliseAp = $analiseaprovacao->buscar(array('IdPRONAC = ?' => $idpronac, 'idProduto = ?' => $buscarPlano['idProduto'], 'tpAnalise = ?' => $tpAnalise));
                 //CALCULO DOS 50%
                 if ($buscarAnaliseAp->count() > 0) {
                     $buscarAnaliseAp = $buscarAnaliseAp->current()->toArray();
                     //$aprovacao['planilhaprovacao'] = 0;
                     //$aprovacao['planilhaprojeto'] = 0;
                     if ($buscarAnaliseAp['stAvaliacao'] == 1) {
                         //CODIGO ANTIGO
                         /*$buscaraprovacao  = $planilhaAprovacao->CompararPlanilha($idpronac, $tpPlanilha);
                           foreach($buscaraprovacao as $resu){
                               $aprovacao['planilhaprovacao'] += $resu->planilhaaprovacao;
                               $aprovacao['planilhaprojeto'] += $resu->planilhaprojeto;
                           }
                           $aprovacao['planilhaprovacao'] = $aprovacao['planilhaprovacao'] != 0 ? $aprovacao['planilhaprovacao'] : 1;
                           $valoraprovacao = $aprovacao['planilhaprojeto'] * 0.5; */
                         $valoraprovacao = $this->view->fontesincentivo * 0.5;
                         if ($valoraprovacao >= $this->view->totalsugerido) {
                             $this->view->parecerfavoravel = 'NAO';
                             $this->view->nrparecerfavoravel = 1;
                         } else {
                             $this->view->parecerfavoravel = 'SIM';
                             $this->view->nrparecerfavoravel = 2;
                         }
                     } else {
                         $this->view->parecerfavoravel = 'NAO';
                         $this->view->nrparecerfavoravel = 1;
                     }
                 } else {
                     $this->view->parecerfavoravel = 'NAO';
                     $this->view->nrparecerfavoravel = 1;
                 }
                 //$this->view->V1=$valorProjeto['soma'];
                 $produtos = RealizarAnaliseProjetoDAO::analiseDeConteudo($idpronac, $tpPlanilha);
                 $this->view->ResultRealizarAnaliseProjeto = RealizarAnaliseProjetoDAO::analiseparecerConsolidado($idpronac);
                 $verificaEnquadramento = RealizarAnaliseProjetoDAO::verificaEnquadramento($idpronac, $tpPlanilha);
                 if (isset($verificaEnquadramento[0]->stArtigo18) && $verificaEnquadramento[0]->stArtigo18 == true) {
                     $this->view->enquadramento = 'Artigo 18';
                 } else {
                     if (isset($verificaEnquadramento[0]->stArtigo26) && $verificaEnquadramento[0]->stArtigo26 == true) {
                         $this->view->enquadramento = 'Artigo 26';
                     } else {
                         $this->view->enquadramento = 'NAO ENQUADRADO';
                     }
                 }
                 $this->view->ResultProduto = $produtos;
                 $this->view->ResultValoresAnaliseProjeto = $produtos;
                 $indeferidos = RealizarAnaliseProjetoDAO::retornaIndeferimento();
                 $this->view->indeferidos = $indeferidos;
                 $this->view->idpronac = $idpronac;
                 /**** CODIGO DE READEQUACAO ****/
                 //antiga busca
                 //$buscarjustificativa = $tblParecer->buscarParecer($tpAgente,$idpronac);
                 //nova busca
                 $arrBuscaParecer = array();
                 $arrBuscaParecer['idPronac = ?'] = $idpronac;
                 $arrBuscaParecer['idTipoAgente = ?'] = $tpAgente;
                 $arrBuscaParecer['TipoParecer = ?'] = $this->bln_readequacao == "true" ? '2' : '1';
                 $buscarjustificativa = $tblParecer->buscar($arrBuscaParecer);
                 /**** FIM - CODIGO DE READEQUACAO ****/
                 if ($buscarjustificativa->count() > 0) {
                     $buscarjustificativa = $buscarjustificativa->current()->toArray();
                     $this->view->valorJustificativa = $buscarjustificativa['ResumoParecer'];
                 } else {
                     $this->view->valorJustificativa = null;
                 }
                 $auth = Zend_Auth::getInstance();
                 // pega a autenticao
                 $Usuario = new Usuario();
                 // objeto usuario
                 $idagente = $Usuario->getIdUsuario($auth->getIdentity()->usu_codigo);
                 $idagente = $idagente['idAgente'];
                 //-------------------------------------------------------------------------------------------------------------
                 $reuniao = new Reuniao();
                 //---------------------------------------------------------------------------------------------------------------
                 $ConsultaReuniaoAberta = $reuniao->buscar(array("stEstado = ?" => 0));
                 if ($ConsultaReuniaoAberta->count() > 0) {
                     $this->view->dadosReuniaoPlenariaAtual = $ConsultaReuniaoAberta;
                     $this->view->usu_codigo = $auth->getIdentity()->usu_codigo;
                     $ConsultaReuniaoAberta = $ConsultaReuniaoAberta->current()->toArray();
                     $this->view->plenariaatual = $ConsultaReuniaoAberta['idNrReuniao'];
                     $this->view->dadosReuniaoPlenariaAtual = $ConsultaReuniaoAberta;
                     //---------------------------------------------------------------------------------------------------------------
                     $votantes = new Votante();
                     $exibirVotantes = $votantes->selecionarvotantes($ConsultaReuniaoAberta['idNrReuniao']);
                     if (count($exibirVotantes) > 0) {
                         foreach ($exibirVotantes as $votantes) {
                             $dadosVotante[] = $votantes->idAgente;
                         }
                         if (count($dadosVotante) > 0) {
                             if (in_array($idagente, $dadosVotante)) {
                                 $this->view->votante = true;
                             } else {
                                 $this->view->votante = false;
                             }
                         }
                     }
                 } else {
                     parent::message("N&atilde;o existe CNIC aberta no momento. Favor aguardar!", "principal/index", "ERROR");
                 }
             }
             // fecha else
         } catch (Exception $e) {
             die($e->getMessage());
         }
     }
     // fecha else
 }
 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 testeAction()
 {
     $tblPlanoDistribuicao = new PlanoDistribuicao();
     $rs = $tblPlanoDistribuicao->fetchAll();
     echo "<pre>";
     print_r($rs);
     die("<br>parando");
 }
Пример #6
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
     $tmpTblPlanoDistribuicao = new PlanoDistribuicao();
     //DECIDINDO SE SERA FEITA UM INSERT OU UPDATE
     if (!empty($dados['idPlanoDistribuicao'])) {
         $tmpRsPlanoDistribuicao = $tmpTblPlanoDistribuicao->find($dados['idPlanoDistribuicao'])->current();
     } else {
         $tmpRsPlanoDistribuicao = $tmpTblPlanoDistribuicao->createRow();
     }
     //ATRIBUINDO VALORES AOS CAMPOS QUE FORAM PASSADOS
     if (isset($dados['idProjeto'])) {
         $tmpRsPlanoDistribuicao->idProjeto = $dados['idProjeto'];
     }
     if (isset($dados['idProduto'])) {
         $tmpRsPlanoDistribuicao->idProduto = $dados['idProduto'];
     }
     if (isset($dados['Area'])) {
         $tmpRsPlanoDistribuicao->Area = $dados['Area'];
     }
     if (isset($dados['Segmento'])) {
         $tmpRsPlanoDistribuicao->Segmento = $dados['Segmento'];
     }
     if (isset($dados['idPosicaoDaLogo'])) {
         $tmpRsPlanoDistribuicao->idPosicaoDaLogo = $dados['idPosicaoDaLogo'];
     }
     if (isset($dados['QtdeProduzida'])) {
         $tmpRsPlanoDistribuicao->QtdeProduzida = $dados['QtdeProduzida'];
     }
     if (isset($dados['QtdePatrocinador'])) {
         $tmpRsPlanoDistribuicao->QtdePatrocinador = $dados['QtdePatrocinador'];
     }
     if (isset($dados['QtdeProponente'])) {
         $tmpRsPlanoDistribuicao->QtdeProponente = $dados['QtdeProponente'];
     }
     if (isset($dados['QtdeOutros'])) {
         $tmpRsPlanoDistribuicao->QtdeOutros = $dados['QtdeOutros'];
     }
     if (isset($dados['QtdeVendaNormal'])) {
         $tmpRsPlanoDistribuicao->QtdeVendaNormal = $dados['QtdeVendaNormal'];
     }
     if (isset($dados['QtdeVendaPromocional'])) {
         $tmpRsPlanoDistribuicao->QtdeVendaPromocional = $dados['QtdeVendaPromocional'];
     }
     if (isset($dados['PrecoUnitarioNormal'])) {
         $tmpRsPlanoDistribuicao->PrecoUnitarioNormal = $dados['PrecoUnitarioNormal'];
     }
     if (isset($dados['PrecoUnitarioPromocional'])) {
         $tmpRsPlanoDistribuicao->PrecoUnitarioPromocional = $dados['PrecoUnitarioPromocional'];
     }
     if (isset($dados['stPrincipal'])) {
         $tmpRsPlanoDistribuicao->stPrincipal = $dados['stPrincipal'];
     }
     if (isset($dados['Usuario'])) {
         $tmpRsPlanoDistribuicao->Usuario = $dados['Usuario'];
     }
     if (isset($dados['dsJustificativaPosicaoLogo'])) {
         $tmpRsPlanoDistribuicao->dsJustificativaPosicaoLogo = $dados['dsJustificativaPosicaoLogo'];
     }
     if (isset($dados['stPlanoDistribuicaoProduto'])) {
         $tmpRsPlanoDistribuicao->stPlanoDistribuicaoProduto = $dados['stPlanoDistribuicaoProduto'];
     }
     //echo "<pre>";
     //xd($tmpRsPlanoDistribuicao);
     //SALVANDO O OBJETO CRIADO
     $id = $tmpRsPlanoDistribuicao->save();
     if ($id) {
         return $id;
     } else {
         return false;
     }
 }
 public function transformarPropostaEmProjetoAction()
 {
     //verifica se id preprojeto foi enviado
     $this->_helper->layout->disableLayout();
     $this->_helper->viewRenderer->setNoRender();
     $get = Zend_Registry::get('get');
     $this->validarAcessoAdmissibilidade();
     $auth = Zend_Auth::getInstance();
     // instancia da autenticação
     $idOrgao = $auth->getIdentity()->usu_orgao;
     $tblProposta = new Proposta();
     $rsProposta = $tblProposta->buscar(array("idPreProjeto = ?" => $this->idPreProjeto))->current();
     //O codigo deste IF serve apenas para mostrar a mensagem ao usuario
     if ($get->recuperarUnidade != "") {
         //Buscando produto principal
         $tblPlanoDistribuicao = new PlanoDistribuicao();
         $rsPlanoDistribuicao = $tblPlanoDistribuicao->buscar(array("idProjeto = ?" => $this->idPreProjeto, "stPrincipal = ?" => 1))->current();
         $tblOrgaos = new Orgaos();
         if ($rsProposta->idEdital == 0 && empty($rsProposta->idEdital)) {
             //Se existe plano de distribuicao, entao pega-se o orgao baseado no produto principal
             $rsOrgaos = $tblOrgaos->buscarOrgaoPorSegmento($rsPlanoDistribuicao->Segmento)->current();
         } else {
             //Se nao existe plano de distribuicao, entao esta e uma proposta por edital,
             //entao pega-se o orgao do edital
             $tblEdital = new Edital();
             $rsEdital = $tblEdital->buscar(array("idEdital = ?" => $rsProposta->idEdital))->current();
             $rsOrgaos = $tblOrgaos->buscar(array("Codigo = ?" => $rsEdital->idOrgao))->current();
         }
         //xd($rsOrgaos);
         $msg = "Deseja Transformar a proposta Nr. {$this->idPreProjeto}, em Projeto? <br>A mesma ser&aacute; enviada para a Unidade: {$rsOrgaos->Sigla}, para An&aacute;lise T&eacute;cnica.<br> Confirma a opera&ccedil;&atilde;o?";
         die($msg);
     }
     //Buscando produto principal
     $tblPlanoDistribuicao = new PlanoDistribuicao();
     $rsPlanoDistribuicao = $tblPlanoDistribuicao->buscar(array("idProjeto = ?" => $this->idPreProjeto, "stPrincipal = ?" => 1))->current();
     $tblOrgaos = new Orgaos();
     if ($rsProposta->idEdital == 0 || empty($rsProposta->idEdital)) {
         //Se existe plano de distribuicao, entao pega-se o orgao baseado no produto principal
         $rsOrgaos = $tblOrgaos->buscarOrgaoPorSegmento($rsPlanoDistribuicao->Segmento)->current();
         //$idOrgao = $rsOrgaos->Codigo;
         $idOrgao = $this->codOrgao;
     } else {
         //Se nao existe plano de distribuicao, entao esta e uma proposta por edital,
         //entao pega-se o orgao do edital
         $tblEdital = new Edital();
         $rsEdital = $tblEdital->buscar(array("idEdital = ?" => $rsProposta->idEdital))->current();
         $rsOrgaos = $tblOrgaos->buscar(array("Codigo = ?" => $rsEdital->idOrgao))->current();
         //$idOrgao = $rsOrgaos->Codigo;
         $idOrgao = $this->codOrgao;
     }
     $tblAgente = new Agentes();
     $rsAgente = $tblAgente->buscarAgenteNome(array("a.idAgente = ?" => $rsProposta->idAgente))->current();
     $cnpjcpf = $rsAgente->CNPJCPF;
     try {
         $aux = new paTransformarPropostaEmProjeto();
         $aux = $aux->execSP($this->idPreProjeto, $cnpjcpf, $idOrgao, $this->idUsuario);
         $tblProjeto = new Projetos();
         $rsProjeto = $tblProjeto->buscar(array("idProjeto = ?" => $this->idPreProjeto), "IdPRONAC DESC")->current();
         if (!empty($rsProjeto)) {
             $nrPronac = $rsProjeto->AnoProjeto . $rsProjeto->Sequencial;
             echo "A Proposta " . $this->idPreProjeto . " foi transformada no Projeto No. " . $nrPronac;
             echo '<br><br><a href="../gerenciarparecertecnico/dadosetiqueta?pronac=' . $nrPronac . '&etiqueta=nao" target="_blank">Imprimir etiqueta</a>';
         }
     } catch (Exception $e) {
         echo "Erro ao tentar transformar proposta em projeto!";
     }
 }
Пример #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 excluirPlanoDeDistribuicaoAction()
 {
     $this->_helper->layout->disableLayout();
     $idPlanoDistribuicao = $this->_request->getParam("idPlanoDistribuicao");
     $idPronac = $this->_request->getParam("idPronac");
     if (strlen($idPronac) > 7) {
         $idPronac = Seguranca::dencrypt($idPronac);
     }
     //VERIFICA SE JA POSSUI OS PLANOS DE DISTRIBUIÇÃO NA TABELA tbPlanoDistribuicao (READEQUACAO), SE NÃO TIVER, COPIA DA ORIGINAL, E DEPOIS INCLUI O ITEM DESEJADO.
     $tbPlanoDistribuicao = new tbPlanoDistribuicao();
     $readequacaoPDDist = $tbPlanoDistribuicao->buscar(array('idPronac=?' => $idPronac, 'stAtivo=?' => 'S'));
     $planosAtivos = $tbPlanoDistribuicao->buscarPlanosDistribuicaoReadequacao($idPronac);
     if (count($readequacaoPDDist) == 0) {
         $planosCopiados = array();
         foreach ($planosAtivos as $value) {
             $planosCopiados['idReadequacao'] = NULL;
             $planosCopiados['idProduto'] = $value->idProduto;
             $planosCopiados['cdArea'] = $value->idArea;
             $planosCopiados['cdSegmento'] = $value->idSegmento;
             $planosCopiados['idPosicaoLogo'] = $value->idPosicaoDaLogo;
             $planosCopiados['qtProduzida'] = $value->QtdeProduzida;
             $planosCopiados['qtPatrocinador'] = $value->QtdePatrocinador;
             $planosCopiados['qtOutros'] = $value->QtdeOutros;
             $planosCopiados['qtProponente'] = $value->QtdeProponente;
             $planosCopiados['qtVendaNormal'] = $value->QtdeVendaNormal;
             $planosCopiados['qtVendaPromocional'] = $value->QtdeVendaPromocional;
             $planosCopiados['vlUnitarioNormal'] = $value->PrecoUnitarioNormal;
             $planosCopiados['vlUnitarioPromocional'] = $value->PrecoUnitarioPromocional;
             $planosCopiados['stPrincipal'] = $value->stPrincipal;
             $planosCopiados['tpSolicitacao'] = 'N';
             $planosCopiados['stAtivo'] = 'S';
             $planosCopiados['idPronac'] = $idPronac;
             $tbPlanoDistribuicao->inserir($planosCopiados);
         }
     }
     /* DADOS DO ITEM PARA EXCLUSAO LÓGICA DO ITEM DA READEQUACAO */
     $dados = array();
     $dados['tpSolicitacao'] = 'E';
     $itemPDDist = $tbPlanoDistribuicao->buscar(array('idPlanoDistribuicao=?' => $idPlanoDistribuicao))->current();
     if ($itemPDDist) {
         if ($itemPDDist->tpSolicitacao == 'I') {
             $exclusaoLogica = $tbPlanoDistribuicao->delete(array('idPlanoDistribuicao = ?' => $idPlanoDistribuicao));
         } else {
             $where = "stAtivo = 'S' AND idPlanoDistribuicao = {$idPlanoDistribuicao}";
             $exclusaoLogica = $tbPlanoDistribuicao->update($dados, $where);
         }
     } else {
         $PlanoDistribuicao = new PlanoDistribuicao();
         $itemPDDist = $PlanoDistribuicao->find(array('idPlanoDistribuicao=?' => $idPlanoDistribuicao))->current();
         $dadosArray = array('idProduto =?' => $itemPDDist->idProduto, 'idPronac =?' => $idPronac, 'stAtivo =?' => 'S');
         $itemPDDist = $tbPlanoDistribuicao->buscar($dadosArray)->current();
         $where = "stAtivo = 'S' AND idPlanoDistribuicao = {$itemPDDist->idPlanoDistribuicao}";
         $exclusaoLogica = $tbPlanoDistribuicao->update($dados, $where);
     }
     if ($exclusaoLogica) {
         //$jsonEncode = json_encode($dadosPlanilha);
         echo json_encode(array('resposta' => true));
     } else {
         echo json_encode(array('resposta' => false));
     }
     die;
 }