public function devolverprojetoAction() { /** Usuario Logado ************************************************/ $auth = Zend_Auth::getInstance(); // instancia da autenticação $idusuario = $auth->getIdentity()->usu_codigo; /******************************************************************/ $idpronac = $this->_request->getParam("idpronac"); $idorgao = $this->_request->getParam("idorgao"); $observacao = $this->_request->getParam("observacao"); $db = Zend_Registry::get('db'); $db->setFetchMode(Zend_DB::FETCH_OBJ); try { $db->beginTransaction(); $tbDistribuirParecer = new tbDistribuirParecer(); $dadosWhere["t.idPRONAC = ?"] = $idpronac; $dadosWhere["t.stEstado = ?"] = 0; $dadosWhere["t.TipoAnalise in (?)"] = array(1, 3); $buscaDadosProjeto = $tbDistribuirParecer->dadosParaDistribuir($dadosWhere); foreach ($buscaDadosProjeto as $dp) { $dadosE = array('idOrgao' => $dp->idOrgao, 'DtEnvio' => new Zend_Db_Expr("GETDATE()"), 'idAgenteParecerista' => null, 'DtDistribuicao' => null, 'DtDevolucao' => null, 'DtRetorno' => new Zend_Db_Expr("GETDATE()"), 'FecharAnalise' => 2, 'Observacao' => $observacao, 'idUsuario' => $idusuario, 'idPRONAC' => $dp->IdPRONAC, 'idProduto' => $dp->idProduto, 'TipoAnalise' => 3, 'stEstado' => 0, 'stPrincipal' => $dp->stPrincipal, 'stDiligenciado' => $dp->stDiligenciado); $where['idDistribuirParecer = ?'] = $dp->idDistribuirParecer; $salvar = $tbDistribuirParecer->alterar(array('stEstado' => 1), $where); $insere = $tbDistribuirParecer->inserir($dadosE); } $atualizaProjeto = GerenciarPareceresDAO::atualizaProjeto($idpronac, 'B11'); $db->commit(); parent::message("Devolvido com sucesso!", "gerenciarpareceres/index", "CONFIRM"); } catch (Zend_Exception $ex) { $db->rollBack(); parent::message($ex->getMessage(), "gerenciarpareceres/devolverparaanalise/idpronac/" . $idpronac, "ERROR"); } }
/** * 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"); } }
public function concluiuAction() { //** Usuario Logado ************************************************/ $auth = Zend_Auth::getInstance(); // pega a autenticação $idusuario = $auth->getIdentity()->usu_codigo; $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo'); // cria a sessão com o grupo ativo $codOrgao = $GrupoAtivo->codOrgao; // Órgão ativo na sessão /******************************************************************/ $idDistribuirParecer = $this->_request->getParam("idDistribuirParecer"); $idPronac = $this->_request->getParam("idpronac"); $observacao = $this->_request->getParam("obs"); if (strlen($observacao) < 11 or strlen($observacao) > 8000) { parent::message("Dados obrigatórios não informados.", "gerenciarparecer/concluir/idDistribuirParecer/" . $idDistribuirParecer . "/idpronac/" . $idPronac, "ALERT"); } $db = Zend_Registry::get('db'); $db->setFetchMode(Zend_DB::FETCH_OBJ); try { $db->beginTransaction(); $tbDistribuirParecer = new tbDistribuirParecer(); $dadosWhere["t.idDistribuirParecer = ?"] = $idDistribuirParecer; $buscaDadosProjeto = $tbDistribuirParecer->dadosParaDistribuir($dadosWhere); foreach ($buscaDadosProjeto as $dp) { // FECHAR ANALISE ( COORDENADOR DE PARECER ) $orgaos = array('91', '92', '93', '94', '95', '160', '171', '335'); // Caso não esteja dentro do array if (!in_array($dp->idOrgao, $orgaos)) { $idOrgao = 91; $fecharAnalise = 0; } else { $idOrgao = $dp->idOrgao; $fecharAnalise = 1; } $dados = array('DtEnvio' => $dp->DtEnvio, 'idAgenteParecerista' => $dp->idAgenteParecerista, 'DtDistribuicao' => $dp->DtDistribuicao, 'DtDevolucao' => $dp->DtDevolucao, 'DtRetorno' => new Zend_Db_Expr("GETDATE()"), 'Observacao' => $observacao, 'idUsuario' => $idusuario, 'FecharAnalise' => $fecharAnalise, 'idOrgao' => $idOrgao, 'idPRONAC' => $dp->IdPRONAC, 'idProduto' => $dp->idProduto, 'TipoAnalise' => $dp->TipoAnalise, 'stEstado' => 0, 'stPrincipal' => $dp->stPrincipal, 'stDiligenciado' => null); $whereD['idDistribuirParecer = ?'] = $idDistribuirParecer; $salvar = $tbDistribuirParecer->alterar(array('stEstado' => 1), $whereD); $insere = $tbDistribuirParecer->inserir($dados); } /** Grava o Parecer nas Tabelas tbPlanilhaProjeto e Parecer e altera a situação do Projeto para ***************/ $projeto = new Projetos(); $wherePro['IdPRONAC = ?'] = $idPronac; $buscaDadosdoProjeto = $projeto->buscar($wherePro); if ($buscaDadosProjeto[0]->stPrincipal == 1) { $inabilitadoDAO = new Inabilitado(); $buscaInabilitado = $inabilitadoDAO->BuscarInabilitado($buscaDadosdoProjeto[0]->CgcCpf, $buscaDadosdoProjeto[0]->AnoProjeto, $buscaDadosdoProjeto[0]->Sequencial); if (count($buscaInabilitado == 0)) { if (in_array($dp->idOrgao, array(91, 92, 93, 94, 95, 160, 171, 335))) { $dadosProjeto = array('ProvidenciaTomada' => 'Análise técnica concluída', 'DtSituacao' => new Zend_Db_Expr('GETDATE()'), 'Situacao' => 'C20'); } else { $dadosProjeto = array('ProvidenciaTomada' => 'Análise técnica concluída', 'DtSituacao' => new Zend_Db_Expr('GETDATE()')); } } else { $dadosProjeto = array('ProvidenciaTomada' => 'Projeto fora da pauta de reunião da CNIC porque o proponente está inabilitado no Ministério da Cultura.', 'DtSituacao' => new Zend_Db_Expr('GETDATE()'), 'Situacao' => 'C09'); } $where['IdPRONAC = ?'] = $idPronac; $alterar = $projeto->alterarProjetos($dadosProjeto, $where); /****************************************************************************************************************/ $parecerDAO = new Parecer(); $whereParecer['idPRONAC = ?'] = $idPronac; $buscarParecer = $parecerDAO->buscar($whereParecer); $analiseDeConteudoDAO = new Analisedeconteudo(); $whereADC['idPRONAC = ?'] = $idPronac; $dadosADC = array('idParecer' => $buscarParecer[0]->IdParecer); $alteraADC = $analiseDeConteudoDAO->alterar($dadosADC, $whereADC); $planilhaProjetoDAO = new PlanilhaProjeto(); $wherePP['idPRONAC = ?'] = $idPronac; $dadosPP = array('idParecer' => $buscarParecer[0]->IdParecer); $alteraPP = $planilhaProjetoDAO->alterar($dadosPP, $wherePP); /****************************************************************************************************************/ } $db->commit(); parent::message("Concluído com sucesso!", "gerenciarparecer/listaprojetos?tipoFiltro=2", "CONFIRM"); } catch (Zend_Exception $ex) { $db->rollBack(); parent::message("Erro ao concluir " . $ex->getMessage(), "gerenciarparecer/concluir/idDistribuirParecer/" . $idDistribuirParecer, "ERROR"); } }