/** * 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"); } }