/** * Metodo para efetuar a retirada de pauta */ public function retirarDePautaAction() { // recebe os dados via post $post = Zend_Registry::get('post'); $idPronac = $post->idPronacPauta; $idRetirarDePauta = $post->idRetirarDePauta; $justificativa = $post->justificativaCoordenador; $tpAcao = $post->tpAcaoPauta; try { // altera o status da tabela tbRetirarDePauta $tbRetirarDePauta = new tbRetirarDePauta(); $dados = array('idAgenteAnalise' => $this->idAgente, 'dtAnalise' => new Zend_Db_Expr('GETDATE()'), 'dsJustificativaAnalise' => $justificativa, 'tpAcao' => $tpAcao, 'stAtivo' => 0); $where = array('idRetirarDePauta = ?' => $idRetirarDePauta); if ($tbRetirarDePauta->alterar($dados, $where)) { // início devolver pra vinculada if ($tpAcao == 3) { if ($this->bln_readequacao == "true") { throw new Exception("Este Projeto encontra-se em Análise de Readequação!"); } $arrBusca = array(); $arrBusca['p.IdPRONAC = ?'] = $idPronac; $arrBusca['t.stPrincipal = ?'] = 1; $arrBusca['t.stEstado = ?'] = 0; $tbDistParecer = new tbDistribuirParecer(); $rsProduto = $tbDistParecer->buscarProdutos($arrBusca); if (count($rsProduto) <= 0) { throw new Exception("Dados não encontrados."); } else { // usuario logado $auth = Zend_Auth::getInstance(); // instancia da autenticacao $idusuario = $auth->getIdentity()->usu_codigo; $idorgao = $rsProduto[0]->idOrgao; try { $arrBusca = array(); $arrBusca['p.IdPRONAC = ?'] = $idPronac; $arrBusca['t.stEstado = ?'] = 0; $tbDistParecer = new tbDistribuirParecer(); $rsProdutos = $tbDistParecer->buscarProdutos($arrBusca); //VOLTANDO TODOS OS PRODUTOS foreach ($rsProdutos as $produto) { $rsDistParecer = $tbDistParecer->find($produto->idDistribuirParecer)->current(); //ALTERA REGISTROS ANTERIORES PARA SE TORNAR HISTORICO $rsDistParecer->FecharAnalise = 0; //informacao inserida por solicitacao do gestor para prever esta acao na Trigger de update da tabela tbDistribuirParecer $rsDistParecer->stEstado = 1; $rsDistParecer->save(); //GRAVA NOVA DISTRIBUICAO $dados = array('idPRONAC' => $idPronac, 'idProduto' => $produto->idProduto, 'TipoAnalise' => $produto->TipoAnalise, 'idOrgao' => $produto->idOrgao, 'DtEnvio' => date("Y-m-d H:i:s"), 'DtDistribuicao' => null, 'DtDevolucao' => null, 'Observacao' => $justificativa, 'stEstado' => 0, 'stPrincipal' => $produto->stPrincipal, 'FecharAnalise' => 2, 'DtRetorno' => null, 'idUsuario' => $idusuario); // xd($dados); $tbDistParecer->inserir($dados); } //============================================================================================// //======= APAGA/ALTERA REGISTROS DESSA ANALISE REFERENTE AO COMPONENTE DA COMISSAO ============// //============================================================================================// //INATIVA DISTRIBUICAO FEITA PARA O COMPONENTE $tblDistProjComissao = new tbDistribuicaoProjetoComissao(); $rsDistProjComissao = $tblDistProjComissao->buscar(array('IdPRONAC =?' => $idPronac), array('dtDistribuicao DESC'))->current(); if (!empty($rsDistProjComissao)) { try { $where = "IdPRONAC = {$idPronac}"; $tblDistProjComissao->alterar(array('stDistribuicao' => 'I'), $where); } catch (Zend_Exception $ex) { parent::message("Erro ao inativar a distribuição do Projeto para o Componente - " . $ex->getMessage(), "projetosgerenciar/index", "ERROR"); } } //APAGA PLANILHA APROVACAO CRIADA $tblPlanilha = new PlanilhaAprovacao(); $arrBuscaPlanilha = array(); $arrBuscaPlanilha["IdPRONAC = ? "] = $idPronac; $arrBuscaPlanilha["tpPlanilha = ? "] = 'CO'; $arrBuscaPlanilha["stAtivo = ? "] = 'S'; $rsPlanilha = $tblPlanilha->buscar($arrBuscaPlanilha); $arrIdsPlanilha = array(); foreach ($rsPlanilha as $planilha) { $arrIdsPlanilha[] = $planilha->idPlanilhaAprovacao; } if (count($arrIdsPlanilha) > 0) { $where = null; $where = " idPRONAC = " . $idPronac . " and idPlanilhaAprovacao IN (" . implode(",", $arrIdsPlanilha) . ")"; try { $tblPlanilha->apagar($where); } catch (Zend_Exception $ex) { parent::message("Erro ao apagar a planilha do Componente - " . $ex->getMessage(), "projetosgerenciar/index", "ERROR"); } } //APAGA ANALISE DO COMPONENTE $tblAnalise = new AnaliseAprovacao(); $rsAnalise = $tblAnalise->buscar(array('IdPRONAC = ?' => $idPronac)); $arrIdsAnalises = array(); foreach ($rsAnalise as $analise) { $arrIdsAnalises[] = $analise->idAnaliseAprovacao; } if (count($arrIdsAnalises) > 0) { $where = null; $where = " IdPRONAC = " . $idPronac . " and idAnaliseAprovacao IN (" . implode(",", $arrIdsAnalises) . ")"; try { $tblAnalise->apagar($where); } catch (Zend_Exception $ex) { parent::message("Erro ao apagar a análise do Componente - " . $ex->getMessage(), "projetosgerenciar/index", "ERROR"); } } //APAGA PARECER DO COMPONENTE $tblParecer = new Parecer(); $rsParecer = $tblParecer->buscar(array('idPRONAC = ?' => $idPronac, 'idTipoAgente = ?' => 6))->current(); if (!empty($rsParecer)) { $idparecer = isset($rsParecer->IdParecer) ? $rsParecer->IdParecer : $rsParecer->idParecer; $where = null; $where = " idPRONAC = " . $idPronac . " and idParecer = " . $idparecer; try { $tblParecer->apagar($where); } catch (Zend_Exception $ex) { parent::message("Erro ao excluir o parecer do Componente - " . $ex->getMessage(), "projetosgerenciar/index", "ERROR"); } } //APAGA PARECER do PARECERISTA $rsParecer = array(); $tblParecer = new Parecer(); $rsParecer = $tblParecer->buscar(array('IdPRONAC =?' => $idPronac, 'idTipoAgente = ?' => 1))->current(); if (!empty($rsParecer)) { $idparecer = isset($rsParecer->IdParecer) ? $rsParecer->IdParecer : $rsParecer->idParecer; $where = null; $where = " idPRONAC = " . $idPronac . " and idParecer = " . $idparecer; try { $tblParecer->apagar($where); } catch (Zend_Exception $ex) { parent::message("Erro ao excluir o parecer do Parecerista - " . $ex->getMessage(), "projetosgerenciar/index", "ERROR"); } } try { //ALTERA SITUACAO DO PROJETO $tblProjeto = new Projetos(); $ProvidenciaTomada = 'Projeto devolvido para análise técnica por solicitação do Componente.'; $tblProjeto->alterarSituacao($idPronac, '', 'B11', $ProvidenciaTomada); } catch (Zend_Exception $ex) { parent::message("Erro ao alterar a situação do Projeto - " . $ex->getMessage(), "projetosgerenciar/index", "ERROR"); } parent::message("Devolvido com sucesso!", "projetosgerenciar/index/", "CONFIRM"); } catch (Zend_Exception $ex) { parent::message("Erro ao devolver projeto - " . $ex->getMessage(), "projetosgerenciar/index", "ERROR"); } } } // fecha if ($tpAcao == 3) // fim devolver pra vinculada parent::message("Solicitação enviada com sucesso!", "projetosgerenciar/index", "CONFIRM"); } else { throw new Exception("Erro ao enviar solicitação"); } } catch (Exception $e) { parent::message($e->getMessage(), "projetosgerenciar/index", "ERROR"); } }
/** * Metodo com a tabela de analise de custos - Projetos em Readequacao * @access public * @param void * @return void */ public function analisedecustosreadequacaoAction() { $auth = Zend_Auth::getInstance(); // pega a autenticao $idagente = GerenciarPautaReuniaoDAO::consultaAgenteUsuario($auth->getIdentity()->usu_codigo); $idagente = $idagente['idAgente']; $tblPlanilhaAprovacao = new PlanilhaAprovacao(); $tblPlanilhaProposta = new PlanilhaProposta(); $tblPlanilhaProjeto = new PlanilhaProjeto(); $tblPlanoDistribuicao = new PlanoDistribuicaoProduto(); $tblAnaliseAprovacao = new AnaliseAprovacao(); // caso o formulario seja enviado via post // atualiza a planilha if ($this->getRequest()->isPost()) { // recebe os dados via post $post = Zend_Registry::get('post'); $idPronac = $post->idpronac; $idplanilhaaprovacao = $post->idPlanilha; $unidade = $post->unidade; $qtdItem = $post->qtd; $ocorrencia = $post->ocorrencia; $vlunitario = Mascara::delMaskMoeda($post->vlunitario); $dias = $post->dias; $justificativa = $post->justificativa; $idEtapa = $post->idEtapaDoItem; try { $rsPlanilhaAtual = $tblPlanilhaAprovacao->buscar(array('IdPRONAC = ?' => $idPronac), array('dtPlanilha DESC'))->current(); $tpPlanilha = !empty($rsPlanilhaAtual) && $rsPlanilhaAtual->tpPlanilha == 'SE' ? 'SE' : 'CO'; $this->view->tpPlanilha = $tpPlanilha; $dados = array('tpPlanilha' => $tpPlanilha, 'dtPlanilha' => new Zend_Db_Expr('GETDATE()'), 'idUnidade' => $unidade, 'qtItem' => $qtdItem, 'nrOcorrencia' => $ocorrencia, 'vlUnitario' => $vlunitario, 'qtDias' => $dias, 'dsJustificativa' => $justificativa, 'idAgente' => $idagente, 'stAtivo' => 'N'); $where = 'idPlanilhaAprovacao = ' . $idplanilhaaprovacao; $alterarPlanilha = $tblPlanilhaAprovacao->alterar($dados, $where); //ATUALIZA ETAPA DO ITEM CASO TENHA SIDO ENVIADA if (!empty($idEtapa)) { //recupera informacoes do item de custo que esta sendo alterado $rsPlanCO = $tblPlanilhaAprovacao->buscar(array('idPlanilhaAprovacao = ? ' => $idplanilhaaprovacao))->current(); //recupera item de custo correspondente na planilha PA $rsPlanPA = $tblPlanilhaAprovacao->buscar(array('idPlanilhaAprovacao = ? ' => $rsPlanCO->idPlanilhaAprovacaoPai))->current(); //recupera item de custo correspondente na planilha SR $rsPlanSR = $tblPlanilhaAprovacao->buscar(array('idPlanilhaAprovacao = ? ' => $rsPlanPA->idPlanilhaAprovacaoPai))->current(); //etapa a ser atualizada $dados = array('idEtapa' => $idEtapa); //ATUALIZA ETAPA - PLANILHA CO ou SE $where = 'idPlanilhaAprovacao = ' . $idplanilhaaprovacao; $tblPlanilhaAprovacao->alterar($dados, $where); //ATUALIZA ETAPA - PLANILHA PA $wherePA = 'idPlanilhaAprovacao = ' . $rsPlanPA->idPlanilhaAprovacao; $tblPlanilhaAprovacao->alterar($dados, $wherePA); //ATUALIZA ETAPA - PLANILHA SR $whereSR = 'idPlanilhaAprovacao = ' . $rsPlanSR->idPlanilhaAprovacao; $tblPlanilhaAprovacao->alterar($dados, $whereSR); } if ($alterarPlanilha) { parent::message("Registro inserido com sucesso!", "realizaranaliseprojeto/analisedecustosreadequacao/idpronac/" . $idPronac . "/?idplanilha=" . $idplanilhaaprovacao, "CONFIRM"); } else { throw new Exception("Erro ao efetuar alteraço!"); } } catch (Exception $e) { parent::message($e->getMessage(), "realizaranaliseprojeto/analisedecustosreadequacao/idpronac/" . $idPronac, "ERROR"); } } else { // recebe os dados via get $idpronac = $this->_request->getParam("idpronac"); $tblPlanilhaAprovacao = new PlanilhaAprovacao(); $tblPlanilhaProposta = new PlanilhaProposta(); $tblPlanilhaProjeto = new PlanilhaProjeto(); $tblProjetos = new Projetos(); $rsPlanilhaAtual = $tblPlanilhaAprovacao->buscar(array('IdPRONAC = ?' => $idpronac), array('dtPlanilha DESC'))->current(); $tipoplanilha = !empty($rsPlanilhaAtual) && $rsPlanilhaAtual->tpPlanilha == 'SE' ? 'SE' : 'CO'; $this->view->tpPlanilha = $tipoplanilha; $rsProjeto = $tblProjetos->buscar(array('IdPRONAC=?' => $idpronac))->current(); $idPreProjeto = !empty($rsProjeto->idProjeto) ? $rsProjeto->idProjeto : '0'; $rsProdutoPrincipal = $tblPlanoDistribuicao->buscar(array('idProjeto=?' => $idPreProjeto, 'stPrincipal=?' => 1, 'stPlanoDistribuicaoProduto = ?' => 1))->current(); $rsAnaliseProdutoPrincipal = $tblAnaliseAprovacao->buscar(array('idPronac=?' => $idpronac, 'idProduto=?' => $rsProdutoPrincipal->idProduto, 'tpAnalise=?' => $tipoplanilha))->current(); $arrBuscaPlanilha = array(); $arrBuscaPlanilha["pap.stAtivo = ? "] = 'N'; $arrBuscaPlanilha["pap.idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')"] = '(?)'; $buscarplanilhaCO = $tblPlanilhaAprovacao->buscarAnaliseCustosPlanilhaAprovacao($idpronac, $tipoplanilha, $arrBuscaPlanilha); //xd($buscarplanilhaCO); $planilhaaprovacao = array(); $count = 0; $fonterecurso = null; foreach ($buscarplanilhaCO as $resuplanilha) { $produto = $resuplanilha->Produto == null ? 'Adminitração do Projeto' : $resuplanilha->Produto; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['idPlanilhaAprovacao'] = $resuplanilha->idPlanilhaAprovacao; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['idUnidade'] = $resuplanilha->idUnidade; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['nrFonteRecurso'] = $resuplanilha->nrFonteRecurso; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['item'] = $resuplanilha->Item; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['Unidade'] = $resuplanilha->Unidade; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['qtitemcomp'] = $resuplanilha->qtItem; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['nrocorrenciacomp'] = $resuplanilha->nrOcorrencia; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['vlunitariocomp'] = $resuplanilha->vlUnitario; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['qtdiascomp'] = $resuplanilha->qtDias; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['Unidadecomp'] = $resuplanilha->Unidade; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['vlconselheiro'] = $resuplanilha->vlTotal ? $resuplanilha->vlTotal : 0; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['justificativaconselheiro'] = $resuplanilha->dsJustificativa; //$planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa.' - '.$resuplanilha->Etapa][$resuplanilha->UF.' - '.$resuplanilha->Cidade][$count]['reducao'] = $resuplanilha->VlSugeridoConselheiro < $resuplanilha->VlSolicitado ? 1 : 0; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['idProduto'] = $resuplanilha->idProduto; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['idEtapa'] = $resuplanilha->idEtapa; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['idPlanilhaItem'] = $resuplanilha->idPlanilhaItem; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['stAvaliacao'] = $resuplanilha->stAvaliacao; //grava array com produtos favorecidos na analise de conteudo if ($resuplanilha->idProduto >= 1) { if ($resuplanilha->stAvaliacao == 1) { $arrProdutosFavoraveis[$produto] = $resuplanilha->stAvaliacao; } } else { if ($rsAnaliseProdutoPrincipal->stAvaliacao == 1) { $arrProdutosFavoraveis[$produto] = 1; //Admistracao do Projeto, que nao possui codigo de produto (so favorece os custos administrativos se o produto principal estiver favorecido) } } $count++; } /******** Planilha aprovacao SR (Proponente - solicitada) ****************/ $arrBuscaPlanilha = array(); $arrBuscaPlanilha["pap.stAtivo = ? "] = 'N'; $arrBuscaPlanilha["pap.idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')"] = '(?)'; $resuplanilha = null; $count = 0; $buscarplanilhaSR = $tblPlanilhaAprovacao->buscarAnaliseCustosPlanilhaAprovacao($idpronac, 'SR', $arrBuscaPlanilha); //xd($buscarplanilhaSR); foreach ($buscarplanilhaSR as $resuplanilha) { $produto = $resuplanilha->Produto == null ? 'Adminitração do Projeto' : $resuplanilha->Produto; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['diasprop'] = $resuplanilha->qtDias; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['quantidadeprop'] = $resuplanilha->qtItem; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['ocorrenciaprop'] = $resuplanilha->nrOcorrencia; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['valorUnitarioprop'] = $resuplanilha->vlUnitario; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['UnidadeProposta'] = $resuplanilha->Unidade; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['vlproponente'] = $resuplanilha->vlTotal ? $resuplanilha->vlTotal : 0; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['justificitivaproponente'] = $resuplanilha->dsJustificativa; $valorConselheiro = $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['vlconselheiro']; $valorSolicitado = $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['vlproponente']; $reducao = $valorConselheiro < $valorSolicitado ? 1 : 0; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['reducao'] = $reducao; $count++; } /******** Planilha aprovacao PA (Parecerista) ****************/ $arrBuscaPlanilha = array(); $arrBuscaPlanilha["pap.stAtivo = ? "] = 'N'; $arrBuscaPlanilha["pap.idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')"] = '(?)'; $resuplanilha = null; $count = 0; $buscarplanilhaPA = $tblPlanilhaAprovacao->buscarAnaliseCustosPlanilhaAprovacao($idpronac, 'PA', $arrBuscaPlanilha); //xd($buscarplanilhaSR); foreach ($buscarplanilhaPA as $resuplanilha) { $produto = $resuplanilha->Produto == null ? 'Adminitração do Projeto' : $resuplanilha->Produto; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['UnidadeProjeto'] = $resuplanilha->Unidade; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['quantidadeparc'] = $resuplanilha->qtItem; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['ocorrenciaparc'] = $resuplanilha->nrOcorrencia; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['diasparc'] = $resuplanilha->qtDias; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['valorUnitarioparc'] = $resuplanilha->vlUnitario; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['vlparecerista'] = $resuplanilha->vlTotal ? $resuplanilha->vlTotal : 0; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['justificativaparecerista'] = $resuplanilha->dsJustificativa; $count++; } $buscarprojeto = $tblProjetos->buscar(array('IdPRONAC = ?' => $idpronac))->current(); //$buscarsomaaprovacao = $tblPlanilhaAprovacao->somarPlanilhaAprovacao($idpronac, 206 , $tipoplanilha, array('PAP.stAtivo=?'=>'N')); $arrWhereSomaPlanilha = array(); $arrWhereSomaPlanilha['idPronac = ?'] = $idpronac; $arrWhereSomaPlanilha['idPlanilhaItem <> ? '] = '206'; //elaboracao e agenciamento $arrWhereSomaPlanilha['tpPlanilha = ? '] = $tipoplanilha; $arrWhereSomaPlanilha['NrFonteRecurso = ? '] = '109'; $arrWhereSomaPlanilha['stAtivo = ? '] = 'N'; $arrWhereSomaPlanilha["idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')"] = '(?)'; $arrWhereSomaPlanilha["tpAcao <> ('E') OR tpAcao IS NULL "] = '(?)'; $buscarsomaaprovacao = $tblPlanilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereSomaPlanilha); $arrWhereSomaPlanilha['tpPlanilha = ? '] = 'SR'; $buscarsomaproposta = $tblPlanilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereSomaPlanilha); $arrWhereSomaPlanilha['tpPlanilha = ? '] = 'PA'; $buscarsomaprojeto = $tblPlanilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereSomaPlanilha); //$buscarsomaproposta = $tblPlanilhaProposta->somarPlanilhaProposta($buscarprojeto->idProjeto); //$buscarsomaprojeto = $tblPlanilhaProjeto->somarPlanilhaProjeto($idpronac, 109); $buscarPlanilhaUnidade = PlanilhaUnidadeDAO::buscar(); $this->view->planilhaUnidade = $buscarPlanilhaUnidade; $this->view->planilha = $planilhaaprovacao; //xd($planilhaaprovacao); $this->view->projeto = $buscarprojeto; $this->view->totalcomponente = $buscarsomaaprovacao['soma']; $this->view->totalparecerista = $buscarsomaprojeto['soma']; $this->view->totalproponente = $buscarsomaproposta['soma']; $this->view->produtosFavoraveis = $arrProdutosFavoraveis; $this->montaTela("realizaranaliseprojeto/analisedecustos.phtml", array()); } // fecha else }
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>"; } }