public function consolidarVotacaoAction()
 {
     $this->_helper->layout->disableLayout();
     // desabilita o Zend_Layout
     $auth = Zend_Auth::getInstance();
     // pega a autenticao
     $post = Zend_Registry::get("post");
     $reuniao = new Reuniao();
     $reuniaoatual = $reuniao->buscarReuniaoAberta();
     $idReuniaoatual = $reuniaoatual['idNrReuniao'];
     $nrReuniaoatual = $reuniaoatual['NrReuniao'];
     $tpresultadovotacao = $_POST['tpresultadovotacao'];
     $resultado = $_POST['resultadovotacao'];
     $tpConsolidacaoVotacao = $_POST['tpconsolidacaovotacao'];
     $idTipoReadequacao = $_POST['resultadovotacao'];
     $parecerSecretario = Seguranca::tratarVarAjaxUFT8($_POST['parecerconsolidado']);
     //$idAbrangencia = $post->cod;
     $pauta = new Pauta();
     $votantes = new Votante();
     $parecer = new Parecer();
     $tblProjetos = new Projetos();
     $pa = new PlanilhaAprovacao();
     $st = new Situacao();
     $dpc = new DistribuicaoProjetoComissao();
     $idPronac = explode('_', $post->idpronac);
     $idTipoReadequacao = NULL;
     if (isset($idPronac[1]) && !empty($idPronac[1])) {
         $idTipoReadequacao = $idPronac[1];
     }
     $idPronac = $idPronac[0];
     $idNrReuniao = $idReuniaoatual;
     $nrReuniao = $nrReuniaoatual;
     $tpResultadoVotacao = $tpresultadovotacao;
     $resultadoVotacao = $resultado;
     $dsParecerConsolidado = $parecerSecretario;
     $blnReadequacao = $this->bln_readequacao == "false" ? 0 : 1;
     $situacao = $_POST['situacao'] != null ? $_POST['situacao'] : "NUL";
     //a sp espera apenas 3 digitos para verificar se a situacao e null
     try {
         // executa a sp
         $sp = new paConsolidarProjetoVotadoNaCnic();
         $arr = $sp->consolidarVotacaoProjeto($idPronac, $idNrReuniao, $nrReuniao, $tpResultadoVotacao, $resultadoVotacao, $dsParecerConsolidado, $blnReadequacao, $situacao, $tpConsolidacaoVotacao, $idTipoReadequacao);
         if (!is_array($arr)) {
             //x('com erro');
             throw new Exception($sp);
         } else {
             //x('sem erro');
             if (count($arr) > 0 && $arr[0]->Tipo == 1) {
                 //sucesso
                 /************** APAGA ARQUIVO DA VOTACAO DO PROJETO ********************/
                 $arquivo = getcwd() . "/public/plenaria/votacao.txt";
                 if (file_exists($arquivo)) {
                     unlink($arquivo);
                 }
                 echo json_encode(array('error' => false));
                 die;
             } else {
                 throw new Exception($sp);
             }
         }
     } catch (Exception $e) {
         //xd($e->getMessage());
         echo json_encode(array('error' => true, 'descricao' => "N&atilde;o foi poss&iacute;vel consolidar a vota&ccedil;&atilde;o do Projeto. <br />" . $e->getMessage()));
         die;
     }
     //GRAVA CONSOLIDACAO DO VOTACAO
     if (isset($_POST['resultadovotacao'])) {
         $this->_helper->viewRenderer->setNoRender(true);
         $tblConsolidacao = new Consolidacaovotacao();
         $tpresultadovotacao = $_POST['tpresultadovotacao'];
         $resultado = $_POST['resultadovotacao'];
         $parecerSecretario = Seguranca::tratarVarAjaxUFT8($_POST['parecerconsolidado']);
         //$idpronac           = $_POST['dadosidpronac'];
         //$parecerSecretario = $_POST['parecerconsolidadoAtual']; //foi necessario essa alteracao pq o parecer nao estava sendo recuperado quando o salvamento era feito com ajax
         try {
             /************** SETA VALOR FINAL DA VOTACAO DO PROJETO *****************/
             $where = "IdPRONAC = " . $idpronac . " and IdNrReuniao=" . $reuniaoatual;
             $pauta->alterar(array('stAnalise' => $resultado), $where);
             /************** INSERE DADOS DA CONSOLIDACAO ***************************/
             $dadosconsolidacao = array('dsConsolidacao' => $parecerSecretario, 'IdPRONAC' => $idpronac, 'idNrReuniao' => $reuniaoatual);
             $tblConsolidacao->inserir($dadosconsolidacao);
             /************** APAGA ARQUIVO DA VOTACAO DO PROJETO ********************/
             //
             $arquivo = getcwd() . "/public/plenaria/votacao.txt";
             if (file_exists($arquivo)) {
                 unlink($arquivo);
             }
             /************** ALTERA SITUACAO DO PROJETO *****************************/
             $situacao = null;
             if ($resultado == 'AS' and $_POST['situacao'] == null) {
                 //TRATANDO SITUACAO DO PROJETO QUANDO ESTE FOR DE READEQUACAO
                 if ($this->bln_readequacao == "false") {
                     $situacao = 'D03';
                 } else {
                     $situacao = 'D02';
                 }
             } else {
                 if ($_POST['situacao'] != null) {
                     $situacao = $_POST['situacao'];
                     $dtsituacao = date('Y-m-d H:i:s');
                     $buscarsituacao = $st->listasituacao(array($situacao))->current()->toArray();
                     $providencia = $_POST['situacao'] == null ? 'PROJETO APROVADO NA CNIC N ' . $nrreuniaoatual . ' - ' . $buscarsituacao['Descricao'] : 'PROJETO INDEFERIDO NA CNIC N ' . $nrreuniaoatual . ' - ' . $buscarsituacao['Descricao'];
                     $where = "IdPRONAC = {$idpronac}";
                     $dados = array("Situacao" => $situacao, "DtSituacao" => date('Y-m-d H:i:s'), "ProvidenciaTomada" => $providencia);
                     $tblProjetos->alterar($dados, $where);
                     //$tblProjetos->alterarSituacao($idpronac, null, $situacao, $providencia);
                 }
             }
             /************** COPIA PLANILHAS *****************************************/
             $arrBuscaPlanilha = array();
             $arrBuscaPlanilha["idPronac = ?"] = $idpronac;
             $arrBuscaPlanilha["tpPlanilha = ? "] = 'CO';
             $arrBuscaPlanilha["stAtivo = ? "] = 'S';
             //TRATANDO QUANDO o PROJETO FOR DE READEQUACAO
             if ($this->bln_readequacao != "false") {
                 $arrBuscaPlanilha["idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')"] = '(?)';
             }
             $planilhaaprovacao = $pa->buscar($arrBuscaPlanilha);
             //Manteve o resultado igual
             if ($tpresultadovotacao == 1 and $resultado == 'AS') {
                 $consolidacao = $parecer->buscar(array('IdPRONAC = ?' => $idpronac, 'stAtivo = ?' => 1))->current()->toArray();
                 $consolidacao = $consolidacao['ResumoParecer'];
             } else {
                 if ($tpresultadovotacao == 2 and $resultado == 'AS') {
                     $consolidacao = Seguranca::tratarVarAjaxUFT8($_POST['parecerconsolidado']);
                 } else {
                     if ($tpresultadovotacao == 3 and $resultado == 'AS') {
                         foreach ($planilhaaprovacao as $resu) {
                             $data = array('tpPlanilha' => 'SE', 'dtPlanilha' => date('Y-m-d H:i:s'), 'idPlanilhaProjeto' => $resu->idPlanilhaProjeto, 'idPlanilhaProposta' => $resu->idPlanilhaProposta, 'IdPRONAC' => $resu->IdPRONAC, 'idProduto' => $resu->idProduto, 'idEtapa' => $resu->idEtapa, 'idPlanilhaItem' => $resu->idPlanilhaItem, 'idUnidade' => $resu->idUnidade, 'qtItem' => $resu->qtItem, 'dsItem' => '', 'nrOcorrencia' => $resu->nrOcorrencia, 'vlUnitario' => $resu->vlUnitario, 'qtDias' => $resu->qtDias, 'tpDespesa' => $resu->tpDespesa, 'tpPessoa' => $resu->tpPessoa, 'nrContraPartida' => $resu->nrContraPartida, 'nrFonteRecurso' => $resu->nrFonteRecurso, 'idUFDespesa' => $resu->idUFDespesa, 'idMunicipioDespesa' => $resu->idMunicipioDespesa, 'dsJustificativa' => $resu->dsJustificativa, 'stAtivo' => 'S', 'idPedidoAlteracao' => $resu->idPedidoAlteracao, 'idPlanilhaAprovacaoPai' => $resu->idPlanilhaAprovacaoPai);
                             $inserirPlanilhaAprovacao = $pa->inserir($data);
                         }
                         //$where = "IdPRONAC = $idpronac and tpPlanilha = 'CO' and stAtivo = 'S'";
                         $where = "IdPRONAC = '{$idpronac}'";
                         $where .= " AND tpPlanilha = 'CO'";
                         $where .= " AND stAtivo    = 'S'";
                         //TRATANDO QUANDO o PROJETO FOR DE READEQUACAO
                         if ($this->bln_readequacao != "false") {
                             $where .= " AND idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')";
                         }
                         $dados = array('stAtivo' => 'N');
                         $pa->alterar($dados, $where);
                         $ana = new AnaliseAprovacao();
                         $RanaliseConteudo = $ana->buscar(array("tpAnalise = ?" => 'CO', "IdPRONAC = ?" => $idpronac, 'idAnaliseAprovacaoPai is null' => null));
                         foreach ($RanaliseConteudo as $resu) {
                             $data = array('tpAnalise' => 'SE', 'dtAnalise' => date('Y-m-d H:i:s'), 'idAnaliseConteudo' => $resu->idAnaliseConteudo, 'IdPRONAC' => $resu->IdPRONAC, 'idProduto' => $resu->idProduto, 'stLei8313' => $resu->stLei8313, 'stArtigo3' => $resu->stArtigo3, 'nrIncisoArtigo3' => $resu->nrIncisoArtigo3, 'dsAlineaArt3' => $resu->dsAlineaArt3, 'stArtigo18' => $resu->stArtigo18, 'dsAlineaArtigo18' => $resu->dsAlineaArtigo18, 'stArtigo26' => $resu->stArtigo26, 'stLei5761' => $resu->stLei5761, 'stArtigo27' => $resu->stArtigo27, 'stIncisoArtigo27_I' => $resu->stIncisoArtigo27_I, 'stIncisoArtigo27_II' => $resu->stIncisoArtigo27_II, 'stIncisoArtigo27_III' => $resu->stIncisoArtigo27_III, 'stIncisoArtigo27_IV' => $resu->stIncisoArtigo27_IV, 'stAvaliacao' => $resu->stAvaliacao, 'dsAvaliacao' => $resu->dsAvaliacao, 'idAnaliseAprovacaoPai' => $resu->idAnaliseAprovacao);
                             $ana->inserir($data);
                         }
                         $dados = array('Situacao' => 'D01');
                         $where = 'IdPRONAC = ' . $idpronac;
                         $tblProjetos->alterar($dados, $where);
                     }
                 }
             }
             echo json_encode(array('error' => false));
         } catch (Exception $e) {
             echo json_encode(array('error' => true, 'descricao' => $e->getMessage()));
             //parent::message("", "gerenciarpautareuniao/gerenciaradministrativo", "ALERT");
         }
         //INATIVA DISTRIBUICAO DESSE PROJETO PARA O COMPONENTE POIS SUA ANALIZE FOI FINALIZADA
         /*try{
               $tblDistribuicao = new tbDistribuicaoProjetoComissao();
               $tblDistribuicao->alterar(array('stDistribuicao' => 'I'), array('idPRONAC = ?'=>$idpronac));
               return;
           }// fecha try
           catch (Exception $e)
           {
               echo json_encode(array('error' => true, 'descricao' => $e->getMessage()));
               return;
               //parent::message("Ocorreu um erro ao inativar a distribuição desse Projeto feita ao Componente, mas as outras ações foram realizadas com sucesso.", "gerenciarpautareuniao/gerenciaradministrativo", "ALERT");
           }*/
         //echo "<script>msg();</script>";
     }
 }
 public function listaprojetoscnicAction()
 {
     $auth = Zend_Auth::getInstance();
     // pega a autenticacao
     $this->_helper->layout->disableLayout();
     // desabilita o Zend_Layout
     $post = Zend_Registry::get('post');
     $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo');
     // cria a sessao com o grupo ativo
     $stenvioplenaria = $this->_request->getParam('stenvioplenaria');
     $grid = $this->_request->getParam("grid");
     // pega o tipo da grid que deve ser carregada
     $ordenacaoVotado = new Zend_Session_Namespace('ordenacaoVotado');
     // cria a sessao para manter a ordenacao da grid
     $ordenacaoNaoPauta = new Zend_Session_Namespace('ordenacaoNaoPauta');
     // cria a sessao para manter a ordenacao da grid
     $where = array();
     $readequacao = $this->_request->getParam('readequacao');
     $plenaria = $this->_request->getParam('plenaria');
     $rsProjetosNaoAnalisados = array();
     $rsProjetosVotados = array();
     $qntdPlenariaRecursos = array();
     $projetosRecursos = array();
     $qntdPlenariaReadequacoes = array();
     $projetosReadequacoes = array();
     $rsProjetosEmPauta = array();
     $countProjetosEmPauta = 0;
     $idagente = GerenciarPautaReuniaoDAO::consultaAgenteUsuario($auth->getIdentity()->usu_codigo);
     $idagente = $idagente['idAgente'];
     $tbPauta = new tbPauta();
     $reuniao = new Reuniao();
     $raberta = $reuniao->buscarReuniaoAberta();
     $votacao = new Votacao();
     $tbRecurso = new tbRecurso();
     $tbReadequacao = new tbReadequacao();
     $idNrReuniao = $raberta['idNrReuniao'];
     $ordenacao = array(10, 4);
     //ORDENANDO POR NOME DO COMPONENTE E PRONAC
     //GRID - PROJETO SUBMETIDOS A PLENARIA - PLANO ANUAL
     if ($grid == "planoanual") {
         $view = "listar-projetos-plenaria-planoanual.phtml";
         $stPlanoAnual = '1';
         //GRID - PROJETO SUBMETIDOS A PLENARIA - RECURSO
     } else {
         if ($grid == "recurso") {
             $view = "listar-projetos-plenaria-recurso.phtml";
             $projetosRecursos = $tbRecurso->buscarRecursosEnviadosPlenaria($idNrReuniao);
             $qntdPlenariaRecursos = $projetosRecursos->count();
             //GRID - PROJETO SUBMETIDOS A PLENARIA - READEQUAÇÃO
         } else {
             if ($grid == "readequacao") {
                 $view = "listar-projetos-plenaria-readequacao.phtml";
                 $projetosReadequacoes = $tbReadequacao->buscarReadequacoesEnviadosPlenaria($idNrReuniao);
                 $qntdPlenariaReadequacoes = $projetosReadequacoes->count();
                 //GRID - PROJETOS VOTADOS
             } else {
                 if ($grid == "votado") {
                     $view = "listar-projetos-plenaria-votado.phtml";
                     $stPlanoAnual = '0';
                     $arrBuscaVotados = array();
                     $arrBuscaVotados['cv.idNrReuniao = ?'] = $idNrReuniao;
                     $arrBuscaVotados['tp.idNrReuniao = ?'] = $idNrReuniao;
                     if ($GrupoAtivo->codGrupo == '118' || $GrupoAtivo->codGrupo == '133') {
                         //118 = componente da comissao  133 = membros natos
                         $arrBuscaVotados['vt.idAgente = ?'] = $idagente;
                     } else {
                         $arrBuscaVotados['vt.idAgente = (?)'] = new Zend_Db_Expr('(SELECT TOP 1 max(idAgente) from BDCORPORATIVO.scSAC.tbVotacao where IdPRONAC = pr.IdPRONAC)');
                     }
                     $arrBuscaVotados['tp.idNrReuniao = ?'] = $idNrReuniao;
                     $arrBuscaVotados['vt.idNrReuniao = ?'] = $idNrReuniao;
                     $arrBuscaVotados['par.stAtivo = ?'] = 1;
                     if (!empty($readequacao) && $readequacao == 'true') {
                         $arrBuscaVotados['par.TipoParecer <> ?'] = 1;
                         /**parecer de readequacao**/
                     } else {
                         $arrBuscaVotados['par.TipoParecer = ?'] = 1;
                         /**parecer de analise inicial**/
                     }
                     $rsProjetosVotados = $tbPauta->buscarProjetosVotadosCnic($arrBuscaVotados, $ordenacaoVotado->ordemVotado);
                     //GRID - PROJETO SUBMETIDOS A PLENARIA /OU/ NAO SUBMETIDOS
                 } else {
                     if ($grid == "pautaNaoPlenaria") {
                         //NAO SUBMETIDOS
                         $view = "listar-projetos-nao-plenaria.phtml";
                     } elseif ($grid == "naoPauta") {
                         //NAO SUBMETIDOS - NAO ANALISADOS
                         $view = "listar-projetos-nao-pauta.phtml";
                         $tblDistribuicao = new tbDistribuicaoProjetoComissao();
                         $arrReuniao['idNrReuniao IS NULL '] = "?";
                         $whereNaoAnalisados = array();
                         if (!empty($readequacao) && $readequacao == 'true') {
                             $whereNaoAnalisados['par.TipoParecer <> ?'] = 1;
                             /**parecer de readequacao**/
                         } else {
                             $whereNaoAnalisados['par.TipoParecer = ?'] = 1;
                             /**parecer de analise inicial**/
                         }
                         $rsProjetosNaoAnalisados = $tblDistribuicao->buscarProjetoEmPauta($whereNaoAnalisados, $ordenacaoNaoPauta->ordemNaoPauta, null, null, false, "Não analisado", $arrReuniao);
                     } else {
                         //SUBMETIDOS
                         $view = "listar-projetos-plenaria.phtml";
                         $stPlanoAnual = '0';
                     }
                 }
             }
         }
     }
     //$buscarProjetoPauta = $pauta->PautaReuniaoAtual($idNrReuniao);
     if ($grid != "recurso" && $grid != "readequacao") {
         //RECUPERA PROJETOS INCLUIDOS NA PAUTA DA REUNIAO ATUAL - PLENARIA
         $where['tp.idNrReuniao = ?'] = $idNrReuniao;
         $where['par.stAtivo = ?'] = 1;
         $where['dpc.stDistribuicao = ?'] = 'A';
         $where["tp.stAnalise not in ('AS', 'IS', 'AR')"] = '?';
         if ($grid != "pautaNaoPlenaria" && $grid != "naoPauta") {
             $where["tp.stPlanoAnual = ?"] = $stPlanoAnual;
         }
         //BUSCAR PROJETOS DE READEQUACAO
         if (!empty($readequacao) && $readequacao == 'true') {
             //$arrBusca['par.TipoParecer IN (?)'] = array('2','4');
             $where['par.TipoParecer <> ?'] = 1;
             //parecer de readequacao
             $readequacao = "true";
         } else {
             $where['par.TipoParecer = ?'] = 1;
             //parecer de analise inicial
             $readequacao = "false";
         }
         //BUSCAR PROJETOS NAO SUBMETIDOS A PLENARIA
         if (empty($plenaria) || $plenaria == "true") {
             $where['tp.stEnvioPlenario = ?'] = 'S';
             //projeto submetido a plenaria
             $plenaria = "true";
         } else {
             $where['tp.stEnvioPlenario <> ?'] = 'S';
             //projeto nao submetido a plenaria
             $plenaria = "false";
         }
         //$where["pr.idPronac in (?)"] = $arrPronacs;
         $rsProjetosEmPauta = $tbPauta->buscarProjetosEmPautaReuniaoCnic($where, $ordenacao);
         $countProjetosEmPauta = $rsProjetosEmPauta->count();
     }
     /*
      * CODIGO NOVO PARA VERIFICAR SE UM PROJETO AINDA ESTA EM VOTACAO PARA MOSTRA O Play OU Stop NO PAINEL DO PRESIDENTE CNIC
      */
     $idPronacEmVotacao = null;
     $arquivoProjetoEmVotacao = getcwd() . "/public/plenaria/votacao.txt";
     if (file_exists($arquivoProjetoEmVotacao)) {
         $verificavotacao = null;
         $read = fopen($arquivoProjetoEmVotacao, 'r');
         if ($read) {
             while (($buffer = fgets($read, 4096)) !== false) {
                 $verificavotacao = $buffer;
             }
             fclose($read);
             $verificavotacao = str_replace("'", "", $verificavotacao);
         }
         $dados = json_decode($verificavotacao, true);
         if (count($dados) > 0) {
             $idPronacEmVotacao = $dados['idpronac'];
         }
     }
     //BUSCA PROJETO QUE ESTEJA COM DT DE VOTACAO NULA PARA IDENTIFICAR QUE ETE PROJETO AINDA ESTA EM VOTACAO
     $rsProjetosEmVotacao = $votacao->buscar(array('idNrReuniao = ?' => $idNrReuniao, 'dtVoto is null' => ''));
     //$rsProjetosEmVotacao = $votacao->buscar(array('idNrReuniao = ?' => $idNrReuniao));
     $arrPronacs = array();
     if ($rsProjetosEmVotacao->count() > 0) {
         $rsProjetosEmVotacao = $rsProjetosEmVotacao->current()->toArray();
         if ($rsProjetosEmVotacao['tpVotacao'] == 3) {
             //Se for readequação
             $idPronacEmVotacao = $rsProjetosEmVotacao['IdPRONAC'] . '_' . $rsProjetosEmVotacao['tpTipoReadequacao'];
         } else {
             $idPronacEmVotacao = $rsProjetosEmVotacao['IdPRONAC'];
         }
     }
     //BUSCAR ULTIMO PROJETO VOTADO
     $order = array('dtVoto DESC');
     $rsUltimoProjetoVotado = $votacao->buscar(array('idNrReuniao = ?' => $idNrReuniao), $order)->current();
     //x($rsUltimoProjetoVotado);
     if (!empty($rsUltimoProjetoVotado)) {
         $tbConsolidacao = new Consolidacaovotacao();
         $arrBuscaConsolidacao = array();
         $arrBuscaConsolidacao['idNrReuniao = ?'] = $idNrReuniao;
         $arrBuscaConsolidacao['IdPRONAC = ?'] = $rsUltimoProjetoVotado->IdPRONAC;
         $rsConsolidacao = $tbConsolidacao->buscar($arrBuscaConsolidacao)->current();
         if (empty($rsConsolidacao)) {
             if ($rsUltimoProjetoVotado['tpVotacao'] == 3) {
                 //Se for readequação
                 $idPronacEmVotacao = $rsUltimoProjetoVotado['IdPRONAC'] . '_' . $rsUltimoProjetoVotado['tpTipoReadequacao'];
             } else {
                 $idPronacEmVotacao = $rsUltimoProjetoVotado['IdPRONAC'];
             }
         }
     }
     $grupoativo = $GrupoAtivo->codGrupo;
     $this->montaTela('gerenciarpautareuniao/' . $view, array('projetosplenaria' => $rsProjetosEmPauta, 'projetosplenariarecurso' => $projetosRecursos, 'projetosplenariareadequacao' => $projetosReadequacoes, 'projetosplenarianaoanalisado' => $rsProjetosNaoAnalisados, 'projetosvotados' => $rsProjetosVotados, 'grupoativo' => $grupoativo, 'pronacvotacaoatual' => $idPronacEmVotacao, 'stPlenaria' => $raberta['stPlenaria'], 'qtdplenario' => $countProjetosEmPauta, 'qtdplenariorecurso' => $qntdPlenariaRecursos, 'qtdplenarioreadequacao' => $qntdPlenariaReadequacoes, 'qtdNaoAnalisado' => count($rsProjetosNaoAnalisados), 'qtdvotados' => count($rsProjetosVotados), 'parametrosBusca' => $_POST, 'readequacao' => $readequacao, 'plenaria' => $plenaria));
 }