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>"; } }