예제 #1
0
 public function cnicSalvarAvaliacaoDoItemAction()
 {
     $this->_helper->layout->disableLayout();
     $this->_helper->viewRenderer->setNoRender();
     $idagente = GerenciarPautaReuniaoDAO::consultaAgenteUsuario($this->idUsuario);
     $idagente = $idagente['idAgente'];
     $dados = array();
     $dados['idUnidade'] = $_POST['Unidade'];
     $dados['qtItem'] = $_POST['Quantidade'];
     $dados['nrOcorrencia'] = $_POST['Ocorrencia'];
     $dados['vlUnitario'] = str_replace('.', '', $_POST['ValorUnitario']);
     $dados['vlUnitario'] = str_replace(',', '.', $dados['vlUnitario']);
     $dados['qtDias'] = $_POST['QtdeDias'];
     $dados['dsJustificativa'] = utf8_decode($_POST['Justificativa']);
     $dados['idAgente'] = $idagente;
     $vlTotal = @number_format($_POST['Quantidade'] * $_POST['Ocorrencia'] * $dados['vlUnitario'], 2, '', '');
     //O valor total dos valores não podem ultrapassar o valor solicitado na proposta.
     if ($vlTotal > $_POST['valorSolicitado']) {
         echo json_encode(array('resposta' => false, 'msg' => utf8_decode('O valor total não pode ser maior do que ' . $_POST['valorSolicitado'] . '.')));
     } else {
         $where = array('idPlanilhaAprovacao = ?' => $_POST['idPlanilha']);
         $PlanilhaAprovacao = new PlanilhaAprovacao();
         if ($PlanilhaAprovacao->alterar($dados, $where)) {
             echo json_encode(array('resposta' => true, 'msg' => 'Dados salvos com sucesso!'));
         } else {
             echo json_encode(array('resposta' => true, 'msg' => 'Erro ao salvar os dados!'));
         }
     }
     die;
 }
 function reintegrarValoresEtapaAction()
 {
     $post = Zend_Registry::get('post');
     $idPronac = $this->_request->getParam("idPronac");
     $idProduto = $this->_request->getParam("idProduto");
     $idEtapa = $this->_request->getParam("idEtapa");
     $tpPlanilha = $this->_request->getParam("tpPlanilha");
     $etapaAReintegrar = $this->_request->getParam("etapaAReintegrar");
     $codEtapa = $this->_request->getParam("codEtapa");
     $justificativa = $this->_request->getParam("justificativa");
     $tblPlanilhaAprovacao = new PlanilhaAprovacao();
     if ($this->bln_readequacao != "true") {
         $url = "analisedecustos";
     } else {
         $url = "analisedecustosreadequacao";
     }
     try {
         if ($this->bln_readequacao != "true") {
             $arrBusca = array();
             $arrBusca['PAP.idProduto = ?'] = $idProduto;
             $arrBusca['PAP.idEtapa = ?'] = $idEtapa;
             $arrBusca['PAP.stAtivo = ?'] = 'S';
             $rsPlanilha = $tblPlanilhaAprovacao->buscarAnaliseCustos($idPronac, $tpPlanilha, $arrBusca);
             foreach ($rsPlanilha as $planilha) {
                 //reintegra valos do proponente (Solicitado)
                 if ($etapaAReintegrar == "solicitado") {
                     $dados = null;
                     $dados = array('qtItem' => $planilha->quantidadeprop, 'nrOcorrencia' => $planilha->ocorrenciaprop, 'vlUnitario' => $planilha->valorUnitarioprop, 'dsJustificativa' => $justificativa);
                 }
                 //reintegra valos do parecerista
                 if ($etapaAReintegrar == "parecerista") {
                     $dados = null;
                     $dados = array('qtItem' => $planilha->quantidadeparc, 'nrOcorrencia' => $planilha->ocorrenciaparc, 'vlUnitario' => $planilha->valorUnitarioparc, 'dsJustificativa' => $justificativa);
                 }
                 $where = "IdPRONAC = '{$idPronac}'";
                 $where .= " AND idProduto = '{$idProduto}'";
                 $where .= " AND idEtapa   = '{$idEtapa}'";
                 $where .= " AND tpPlanilha = '{$tpPlanilha}'";
                 $where .= " AND idPlanilhaAprovacao = '{$planilha->idPlanilhaAprovacao}'";
                 $tblPlanilhaAprovacao->alterar($dados, $where);
             }
         } else {
             //projeto de READEQUACAO
             $arrBusca = array();
             $arrBusca['PAP.idProduto = ?'] = $idProduto;
             $arrBusca['PAP.idEtapa = ?'] = $idEtapa;
             $arrBusca['PAP.stAtivo = ?'] = 'N';
             $arrBusca['PAP.idPedidoAlteracao = (?)'] = new Zend_Db_Expr('(SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = PAP.IdPRONAC)');
             $rsPlanilha = $tblPlanilhaAprovacao->buscarAnaliseCustosPlanilhaAprovacao($idPronac, $tpPlanilha, $arrBusca);
             foreach ($rsPlanilha as $planilha) {
                 //recupera item de custo correspondente na planilha PA
                 $rsPlanPA = $tblPlanilhaAprovacao->buscar(array('idPlanilhaAprovacao = ? ' => $planilha->idPlanilhaAprovacaoPai))->current();
                 //recupera item de custo correspondente na planilha SR
                 $rsPlanSR = $tblPlanilhaAprovacao->buscar(array('idPlanilhaAprovacao = ? ' => $rsPlanPA->idPlanilhaAprovacaoPai))->current();
                 //reintegra valores do proponente (Solicitado)
                 if ($etapaAReintegrar == "solicitado") {
                     $dados = null;
                     $dados = array('qtItem' => $rsPlanSR->qtItem, 'nrOcorrencia' => $rsPlanSR->nrOcorrencia, 'vlUnitario' => $rsPlanSR->vlUnitario, 'dsJustificativa' => $justificativa);
                 }
                 //reintegra valos do parecerista
                 if ($etapaAReintegrar == "parecerista") {
                     $dados = null;
                     $dados = array('qtItem' => $rsPlanPA->qtItem, 'nrOcorrencia' => $rsPlanPA->nrOcorrencia, 'vlUnitario' => $rsPlanPA->vlUnitario, 'dsJustificativa' => $justificativa);
                 }
                 $where = "IdPRONAC = '{$idPronac}'";
                 $where .= " AND idProduto = '{$idProduto}'";
                 $where .= " AND idEtapa   = '{$idEtapa}'";
                 $where .= " AND tpPlanilha = '{$tpPlanilha}'";
                 $where .= " AND idPlanilhaAprovacao = '{$planilha->idPlanilhaAprovacao}'";
                 $tblPlanilhaAprovacao->alterar($dados, $where);
             }
             //feach foreach (planilha)
         }
         parent::message("Etapa reintegrada com sucesso!", "realizaranaliseprojeto/" . $url . "/idpronac/" . $idPronac . "/?ETP=" . $codEtapa, "CONFIRM");
     } catch (Exception $e) {
         //xd($e->getMessage());
         parent::message("Erro ao efetuar alteração! " . $e->getMessage(), "realizaranaliseprojeto/" . $url . "/idpronac/" . $idPronac, "ERROR");
     }
 }
 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>";
     }
 }