Пример #1
0
 /**
  * metodo que verifica o status da retirada de pauta
  * @access public
  * @param integer $idPronac
  * @return void
  */
 function statusRetirarDePauta($idPronac, $idAgenteEnvio = null)
 {
     // busca as solicitações ativas
     $tbRetirarDePauta = new tbRetirarDePauta();
     if (empty($idAgenteEnvio)) {
         $where = array('idPronac = ?' => $idPronac);
     } else {
         $where = array('idPronac = ?' => $idPronac, 'idAgenteEnvio = ?' => $idAgenteEnvio);
     }
     $order = array('idRetirarDePauta DESC');
     return $tbRetirarDePauta->buscarDados($where, $order)->current();
 }
 /**
  * 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&atilde;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&ccedil;&atilde;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&aacute;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&ccedil;&atilde;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&ccedil;&atilde;o enviada com sucesso!", "projetosgerenciar/index", "CONFIRM");
         } else {
             throw new Exception("Erro ao enviar solicita&ccedil;&atilde;o");
         }
     } catch (Exception $e) {
         parent::message($e->getMessage(), "projetosgerenciar/index", "ERROR");
     }
 }
 /**
  * Metodo para efetuar o cancelamento da retirada de pauta
  */
 public function cancelarRetirarDePautaAction()
 {
     //$this->_helper->layout->disableLayout(); // desabilita o Zend_Layout
     // recebe os dados do formulario
     $post = Zend_Registry::get('post');
     $idRetirarDePauta = $post->idRetirarDePauta;
     try {
         if (!empty($idRetirarDePauta)) {
             $tbRetirarDePauta = new tbRetirarDePauta();
             $dados = array('idAgenteEnvio' => $this->idAgente, 'dtEnvio' => new Zend_Db_Expr('GETDATE()'), 'tpAcao' => 2, 'stAtivo' => 0);
             $where = array('idRetirarDePauta = ?' => $idRetirarDePauta);
             if ($tbRetirarDePauta->alterar($dados, $where)) {
                 //$this->view->msg  = 'Solicita&ccedil;&atilde;o enviada com sucesso!';
                 //$this->view->type = 'CONFIRM';
                 parent::message("Solicita&ccedil;&atilde;o enviada com sucesso!", "areadetrabalho/index", "CONFIRM");
             } else {
                 //$this->view->msg  = 'Erro ao efetuar solicita&ccedil;&atilde;o!';
                 //$this->view->type = 'ERROR';
                 throw new Exception("Erro ao efetuar cancelamento de solicita&ccedil;&atilde;o!");
             }
         } else {
             throw new Exception("Erro ao efetuar cancelamento de solicita&ccedil;&atilde;o!");
         }
     } catch (Exception $e) {
         //$this->view->msg  = $e->getMessage();
         //$this->view->type = 'ERROR';
         parent::message($e->getMessage(), "areadetrabalho/index", "ERROR");
     }
 }