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ão foi possível consolidar a votaçã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)); }