/** * Metodo responsavel por enviar um Projeto para um Componente da Comissao * @param void * @return void */ public function encaminhacomponentecomissaoAction() { // recebe os dados via get $idPronac_Get = $this->_request->getParam("idpronac"); // pega o id do pronac via get $idAcao = $this->_request->getParam("idacao"); // pega o idAcaoAvaliacaoPedidoAlteracao via get $db = Zend_Registry::get('db'); $db->setFetchMode(Zend_DB::FETCH_OBJ); try { $db->beginTransaction(); // ATUALIZA OS CAMPOS stAtivo e stVerificacao NA TABELA tbAcaoAvaliacaoItemPedidoAlteracao $sqlfin = ReadequacaoProjetos::retornaSQLfinalizaGeral($idAcao); $dados = $db->fetchAll($sqlfin); // BUSCA OS REGISTROS DA TABELA tbAcaoAvaliacaoItemPedidoAlteracao $sqlfin2 = ReadequacaoProjetos::retornaSQLfinalizaGeral2($idAcao); $dados = $db->fetchAll($sqlfin2); $id = $dados[0]->idAvaliacaoItemPedidoAlteracao; $idOrgao = $dados[0]->idOrgao; // pega a justificativa final e o id do Parecerista $sqlJustProp = ReadequacaoProjetos::buscarJustificativaFinalParecerista($id); $dados = $db->fetchAll($sqlJustProp); $dsObservacao = $dados[0]->dsObservacao; $idAgenteRemetente = $dados[0]->idAgenteRemetente; // BUSCA OS REGISTROS DOS CAMPOS idPedidoAlteracao E tpAlteracaoProjeto DA TABELA tbAvaliacaoItemPedidoAlteracao $sqlfin3 = ReadequacaoProjetos::retornaSQLfinalizaGeral3($id); $dados = $db->fetchAll($sqlfin3); $idPedidoAlt = $dados[0]->idPedidoAlteracao; $tpAlt = $dados[0]->tpAlteracaoProjeto; $stAvaliacaoItem = $dados[0]->stAvaliacaoItemPedidoAlteracao; $idAgenteAvaliador = $dados[0]->idAgenteAvaliador; $stParecerFavoravel = trim($stAvaliacaoItem) == 'AP' ? 1 : 2; // 1 => favorável; 2 => desfavorável // ATUALIZA O CAMPO stVerificacao NA TABELA tbPedidoAlteracaoXTipoAlteracao $sqlfin4 = ReadequacaoProjetos::retornaSQLfinalizaGeral4($idPedidoAlt, $tpAlt); $dados = $db->fetchAll($sqlfin4); // CRIAR NOVO REGISTRO DE ENCAMINHAMENTO NA TABELA tbAcaoAvaliacaoItemPedidoAlteracao $sqlfin5 = ReadequacaoProjetos::retornaSQLfinalizaGeral5($id, $idOrgao, $this->getIdUsuario, 118); $dados = $db->fetchAll($sqlfin5); // BUSCA O IDPRONAC DA TABELA tbPedidoAlteracaoProjeto $sqlfin6 = ReadequacaoProjetos::retornaSQLfinalizaGeral6($idPedidoAlt); $dados = $db->fetchAll($sqlfin6); $idPronac = $dados[0]->IdPRONAC; // copia as tabelas $planilhaProjeto = new PlanilhaProjeto(); $planilhaAprovacao = new PlanilhaAprovacao(); $analiseConteudo = new Analisedeconteudo(); $analiseaprovacao = new AnaliseAprovacao(); $projetos = new Projetos(); $Distribuicao = new DistribuicaoProjetoComissao(); $titulacaoConselheiro = new TitulacaoConselheiro(); $Rplanilhaprojeto = $planilhaAprovacao->buscar(array('idPRONAC = ?' => $idPronac_Get, 'tpPlanilha = ?' => 'PA', 'stAtivo = ?' => 'N')); foreach ($Rplanilhaprojeto as $resu) { $data = array('tpPlanilha' => 'CO', 'dtPlanilha' => new Zend_Db_Expr('GETDATE()'), 'idPlanilhaProjeto' => $resu->idPlanilhaProjeto, 'idPlanilhaProposta' => $resu->idPlanilhaProposta, 'IdPRONAC' => $resu->IdPRONAC, 'idProduto' => $resu->idProduto, 'idEtapa' => $resu->idEtapa, 'idPlanilhaItem' => $resu->idPlanilhaItem, 'dsItem' => '', 'idUnidade' => $resu->idUnidade, 'qtItem' => $resu->qtItem, '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, 'idPlanilhaAprovacaoPai' => $resu->idPlanilhaAprovacao, 'idPedidoAlteracao' => $idPedidoAlt, 'dsJustificativa' => null, 'stAtivo' => 'N'); $inserirPlanilhaAprovacao = $planilhaAprovacao->InserirPlanilhaAprovacao($data); } // chama a função para fazer o balanceamento $areaProjeto = $projetos->BuscarAreaSegmentoProjetos($idPronac_Get); $Rtitulacao = $titulacaoConselheiro->buscarComponenteBalanceamento($areaProjeto['area']); $Distribuicao->alterar(array('stDistribuicao' => 'I'), array('idPRONAC = ?' => $idPronac_Get)); $dados = array('idPRONAC' => $idPronac_Get, 'idAgente' => $Rtitulacao[0]['idAgente'], 'dtDistribuicao' => new Zend_Db_Expr('GETDATE()'), 'stDistribuicao' => 'A', 'idResponsavel' => 0); $Distribuicao->inserir($dados); // chama a função para alterar a situação do projeto - Padrão C10 $data = array('Situacao' => 'C10'); $where = "IdPRONAC = {$idPronac_Get}"; $projetos->alterarProjetos($data, $where); // busca a planilha PA $arrWhereSomaPlanilhaPA = array(); $arrWhereSomaPlanilhaPA['idPronac = ?'] = $idPronac_Get; //$arrWhereSomaPlanilhaPA['idPlanilhaItem <> ?'] = '206'; //elaboracao e agenciamento //$arrWhereSomaPlanilhaPA['NrFonteRecurso = ?'] = '109'; $arrWhereSomaPlanilhaPA['stAtivo = ?'] = 'N'; $arrWhereSomaPlanilhaPA['tpPlanilha = ?'] = 'PA'; $somaPA = $planilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereSomaPlanilhaPA); // busca a planilha CO $arrWhereSomaPlanilhaCO = array(); $arrWhereSomaPlanilhaCO['idPronac = ?'] = $idPronac_Get; //$arrWhereSomaPlanilhaCO['idPlanilhaItem <> ?'] = '206'; //elaboracao e agenciamento //$arrWhereSomaPlanilhaCO['NrFonteRecurso = ?'] = '109'; $arrWhereSomaPlanilhaCO['stAtivo = ?'] = 'S'; $arrWhereSomaPlanilhaCO['tpPlanilha = ?'] = 'CO'; $somaCO = $planilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereSomaPlanilhaCO); // define o tipo de parecer (tipo 2 => complementação; tipo 4 => redução) $tipoParecer = 2; if ($somaPA < $somaCO) { $tipoParecer = 4; } // cadastra na tabela parecer $tbParecer = new Parecer(); $buscarPareceres = $tbParecer->buscar(array('IdPRONAC = ?' => $idPronac_Get), array('DtParecer DESC')); // busca os pareceres do Projeto foreach ($buscarPareceres as $p) { // desabilita os pareceres antigos $idparecer = isset($p->IdParecer) ? $p->IdParecer : $p->idParecer; $tbParecer->alterar(array('stAtivo' => 0), array('idParecer = ?' => $idparecer)); } $dadosParecer = array('IdPRONAC' => $buscarPareceres[0]->IdPRONAC, 'idEnquadramento' => $buscarPareceres[0]->idEnquadramento, 'AnoProjeto' => $buscarPareceres[0]->AnoProjeto, 'Sequencial' => $buscarPareceres[0]->Sequencial, 'TipoParecer' => $tipoParecer, 'ParecerFavoravel' => $stParecerFavoravel, 'DtParecer' => new Zend_Db_Expr('GETDATE()'), 'Parecerista' => $idAgenteRemetente, 'Conselheiro' => null, 'NumeroReuniao' => null, 'ResumoParecer' => $dsObservacao, 'SugeridoUfir' => 0, 'SugeridoReal' => $somaPA['soma'], 'SugeridoCusteioReal' => 0, 'SugeridoCapitalReal' => 0, 'Atendimento' => $buscarPareceres[0]->Atendimento, 'Logon' => $this->getIdUsuario, 'stAtivo' => 1, 'idTipoAgente' => 1); $tbParecer->inserir($dadosParecer); $db->commit(); parent::message("Projeto finalizado com sucesso!", "manterreadequacao?tipoFiltro=7:d", "CONFIRM"); } catch (Zend_Exception $e) { $db->rollBack(); parent::message("Erro na devolução da solicitação", "manterreadequacao?tipoFiltro=7:d", "ERROR"); } }
/** * Metodo para emitir parecer * @access public * @param void * @return void */ public function emitirparecerAction() { $idPronac = $this->_request->getParam("idpronac"); $pa = new paChecarLimitesOrcamentario(); $resultadoCheckList = $pa->exec($idPronac, 3); $i = 0; foreach ($resultadoCheckList as $resultado) { if ($resultado->Observacao == 'PENDENTE') { $i++; } } $this->view->qtdErrosCheckList = $i; $this->view->resultadoCheckList = $resultadoCheckList; $tblParecer = new Parecer(); $tblPlanilhaAprovacao = new PlanilhaAprovacao(); $auth = Zend_Auth::getInstance(); // pega a autenticacao $tblProjetos = new Projetos(); $tblPreProjeto = new PreProjeto(); $ConsultaReuniaoAberta = ReuniaoDAO::buscarReuniaoAberta(); $NumeroReuniao = $ConsultaReuniaoAberta['NrReuniao']; //CASO O COMPONENTE QUEIRA APENAS SALVAR O SEU PARECER - INICIO if (isset($_POST['usu_codigo'])) { $this->_helper->layout->disableLayout(); // desabilita o Zend_Layout $tipoAgente = $_POST['tipoplanilha']; $parecer = $_POST['parecer']; $buscarParecer = $tblParecer->buscar(array('IdPRONAC = ?' => $_POST['idpronac'], 'stAtivo = ?' => 1))->current(); if (count($buscarParecer) > 0) { $buscarParecer = $buscarParecer->toArray(); $dados = array('idPRONAC' => $_POST['idpronac'], 'AnoProjeto' => $buscarParecer['AnoProjeto'], 'idEnquadramento' => $buscarParecer['idEnquadramento'], 'Sequencial' => $buscarParecer['Sequencial'], 'TipoParecer' => $buscarParecer['TipoParecer'], 'ParecerFavoravel' => Seguranca::tratarVarAjaxUFT8($parecer), 'dtParecer' => date('Y-m-d H:i:s'), 'NumeroReuniao' => $NumeroReuniao, 'ResumoParecer' => utf8_decode($_POST['justificativa']), 'SugeridoUfir' => 0, 'SugeridoReal' => $_POST['valorreal'], 'SugeridoCusteioReal' => 0, 'SugeridoCapitalReal' => 0, 'Atendimento' => 'S', 'Logon' => $_POST['usu_codigo'], 'stAtivo' => 1, 'idTipoAgente' => $tipoAgente); $idparecer = isset($buscarParecer['IdParecer']) ? $buscarParecer['IdParecer'] : $buscarParecer['idParecer']; //se parecer ativo nao é o Componente, inativa os outros e grava o do Componente if (!$buscarParecer or $buscarParecer['idTipoAgente'] != $tipoAgente) { try { $dadosAtualizar = array('stAtivo' => 0); $where = "idparecer = " . $idparecer; $update = $tblParecer->alterar($dadosAtualizar, $where); $inserir = $tblParecer->inserir($dados); echo json_encode(array('error' => false)); } catch (Exception $e) { echo json_encode(array('error' => true, 'descricao' => $e->getMessage())); } die; } else { try { $where = "idparecer = " . $idparecer; $update = $tblParecer->alterar($dados, $where); echo json_encode(array('error' => false)); } catch (Zend_Exception $e) { echo json_encode(array('error' => true, 'descricao' => $e->getMessage())); } die; } } else { echo json_encode(array('error' => true, 'descricao' => 'Não foi encontrado parecer válido da análise técnica.')); die; } } //CASO O COMPONENTE QUEIRA SALVAR O SEU PARECER - FIM //CASO O PROJETO VOLTE DA CNIC APROVADO PARA O COMPONENTE READEQUAR - INICIO if (isset($_POST['idpronac'])) { $idpronac = $_POST['idpronac']; $tblSituacao = new Situacao(); $tblPauta = new Pauta(); $buscarnrreuniaoprojeto = $tblPauta->dadosiniciaistermoaprovacao(array($idpronac))->current(); $dados = array(); //TRATANDO SITUACAO DO PROJETO QUANDO ESTE FOR DE READEQUACAO if ($this->bln_readequacao == "false") { $dados['Situacao'] = 'D03'; $buscarsituacao = $tblSituacao->listasituacao(array('D03'))->current(); } else { $dados['Situacao'] = 'D02'; $buscarsituacao = $tblSituacao->listasituacao(array('D02'))->current(); } $dados['DtSituacao'] = date('Y-m-d H:i:s'); $dados['ProvidenciaTomada'] = 'PROJETO APROVADO NA CNIC Nº ' . $buscarnrreuniaoprojeto->NrReuniao . ' - ' . $buscarsituacao['Descricao']; $dados['Logon'] = $auth->getIdentity()->usu_codigo; $where = "IdPRONAC = " . $idpronac; $tblProjetos->alterar($dados, $where); //$tblProjetos->alterarSituacao($idpronac, NULL, $dados['Situacao'], $dados['ProvidenciaTomada']); parent::message("Projeto readequado com sucesso!", "areadetrabalho/index", "CONFIRM"); exit; } //CASO O PROJETO VOLTE DA CNIC APROVADO PARA O COMPONENTE READEQUAR - FIM //FINALIZAR ANALISE - JUSTIFICATIVA DE PLENARIA - INICIO if (isset($_POST['justificativaenvioplenaria'])) { // recebe os dados via post $post = Zend_Registry::get('post'); $parecerAtualizado = trim($post->pareceratualizado); //CONFIRMA SE O PARECER REALMENTE FOI EMITIDO E ESTA GRAVADO $tblParecer = new Parecer(); $rsParecer = $tblParecer->buscar(array("IdPRONAC = ?" => $post->idPronac, "idTipoAgente = ?" => 6, "stAtivo = ?" => 1)); if ($rsParecer->count() <= 0) { parent::message("Para finalizar a Análise é necessário emitir um parecer. O parecer não foi gravado corretamente.", "realizaranaliseprojeto/emitirparecer/idpronac/" . $post->idPronac, "ERROR"); die; } else { $idParecer = isset($rsParecer[0]->IdParecer) ? $rsParecer[0]->IdParecer : $rsParecer[0]->idParecer; $rsParecerAtualizar = $tblParecer->find($idParecer)->current(); $rsParecerAtualizar->ResumoParecer = $parecerAtualizado; $rsParecerAtualizar->save(); } $tblSituacao = new Situacao(); $tblProjetos = new Projetos(); $tblPauta = new Pauta(); $tblReuniao = new tbreuniao(); $idPronac = $post->idPronac; //recupera tipo da planilha de acordo com o resultado da reuniao plenaria /*$buscarnrreuniaoprojeto = $tblPauta->dadosiniciaistermoaprovacao(array($idPronac) )->current(); $rsReuniao = $tblReuniao->buscar(array('NrReuniao=?'=>$buscarnrreuniaoprojeto->NrReuniao))->current(); $buscaReadAprovacadoCnic = $tblPauta->buscar(array('IdPRONAC = ?'=>$idPronac, 'stAnalise = ?'=>'AS', 'idNrReuniao = ?'=>$rsReuniao->idNrReuniao)); if($buscaReadAprovacadoCnic->count() > 0){ $tpPlanilha = "SE"; } else{ $tpPlanilha = "CO"; }*/ $tblPlanilhaAprovacao = new PlanilhaAprovacao(); $rsPlanilhaAtual = $tblPlanilhaAprovacao->buscar(array('IdPRONAC = ?' => $idPronac), array('dtPlanilha DESC'))->current(); $tpPlanilha = !empty($rsPlanilhaAtual) && $rsPlanilhaAtual->tpPlanilha == 'SE' ? 'SE' : 'CO'; //TRATANDO SITUACAO DO PROJETO QUANDO ESTE FOR DE READEQUACAO $codSituacao = $this->bln_readequacao == "false" ? 'D03' : 'D02'; $stEnvioPlenaria = isset($post->stEnvioPlenaria) ? 'S' : 'N'; $justificativa = $post->justificativaenvioplenaria; $TipoAprovacao = $post->decisao; $situacao = $post->situacao == null ? $codSituacao : $post->situacao; $dtsituacao = date('Y-m-d H:i:s'); $buscarsituacao = $tblSituacao->listasituacao(array($situacao))->current()->toArray(); $providencia = $post->situacao == null ? 'PROJETO APROVADO NA CNIC N ' . $NumeroReuniao . ' - ' . $buscarsituacao['Descricao'] : 'PROJETO INDEFERIDO NA CNIC N ' . $NumeroReuniao . ' - ' . $buscarsituacao['Descricao']; $stEnvioPlenaria = $post->stEnvioPlenaria == null ? 'N' : 'S'; /**** CODIGO DE READEQUACAO ****/ //SE O PROJETO FOR DE READEQUACAO e a DECISAO FOR DE APROVACAO - INATIVA A ANTIGA PLANILHA 'CO' e ATIVA A 'CO' READEQUADA if ($this->bln_readequacao == "true") { //finaliza readequacao do projeto if (!empty($this->idPedidoAlteracao) && $this->idPedidoAlteracao > 0) { //ReadequacaoProjetos::alterarPedido($this->idPedidoAlteracao, '2'); $tbPedidoAlteracao = new tbPedidoAlteracaoProjeto(); $rsPedidoAlteracao = $tbPedidoAlteracao->buscar(array('idPedidoAlteracao = ?' => $this->idPedidoAlteracao))->current(); $rsPedidoAlteracao->siVerificacao = 2; $rsPedidoAlteracao->save(); //$dados = array('siVerificacao' => 2); //$where = array('idPedidoAlteracao = ' => $this->idPedidoAlteracao); //$rsPedidoAlteracao = $tbPedidoAlteracao->alterar($dados, $where); } //troca planilhas apenas se a decisao do componente for de aprovar a readequacao //Se a planilha atual é SE significa que voltou da plenaria e nao entra na opcao de desativar a antiga e ativar a nova if ($post->decisao = 'AC' && $tpPlanilha != 'SE') { try { //ATIVA PLANILHA CO READEQUADA $tblPlanilhaAprovacao = new PlanilhaAprovacao(); $rsPlanilha_Ativa = $tblPlanilhaAprovacao->buscar(array('idPronac = ?' => $idPronac, 'stAtivo = ?' => 'S', 'tpPlanilha=?' => 'CO')); //PLANILHA DA APROVACAO INICIAL $arrBuscaPlanilha = array(); $arrBuscaPlanilha["idPronac = ? "] = $idPronac; $arrBuscaPlanilha["tpPlanilha = ? "] = 'CO'; $arrBuscaPlanilha["stAtivo = ? "] = 'N'; $arrBuscaPlanilha["idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idPronac}')"] = '(?)'; $rsPlanilha_Inativa = $tblPlanilhaAprovacao->buscar($arrBuscaPlanilha); //PLANILHA DA READEQUACAO //inativa Planilha Aprovacao Inicial foreach ($rsPlanilha_Ativa as $planilhaI) { $planilhaI->stAtivo = 'N'; $planilhaI->save(); } //ativa Planilha Readequada $planilha = null; foreach ($rsPlanilha_Inativa as $planilhaR) { $planilhaR->stAtivo = 'S'; $planilhaR->save(); } } catch (Exception $e) { //xd($e->getMessage()); parent::message("Erro ao ativar Planilha readequada. " . $e->getMessage(), "realizaranaliseprojeto/emitirparecer" . $query_string, "ERROR"); } } } /**** FIM CODIGO DE READEQUACAO ****/ try { // busca a reuniao aberta $idReuniao = $ConsultaReuniaoAberta['idNrReuniao']; // verifica se ja esta na pauta $verificaPauta = RealizarAnaliseProjetoDAO::retornaRegistro($idPronac, $idReuniao); if (count($verificaPauta) == 0) { // cadastra o projeto na pauta $dados = array('idNrReuniao' => $idReuniao, 'IdPRONAC' => $idPronac, 'dtEnvioPauta' => new Zend_Db_Expr('GETDATE()'), 'stEnvioPlenario' => $stEnvioPlenaria, 'tpPauta' => 1, 'stAnalise' => $TipoAprovacao, 'dsAnalise' => TratarString::escapeString($justificativa), 'stPlanoAnual' => $post->stPlanoAnual); $tblPauta->inserir($dados); $dadosprojeto = array('Situacao' => $situacao, 'DtSituacao' => $dtsituacao, 'ProvidenciaTomada' => $providencia); $tblProjetos->alterar($dadosprojeto, 'IdPRONAC = ' . $idPronac); parent::message("Projeto cadastrado na Pauta com sucesso!", "areadetrabalho/index", "CONFIRM"); die; } else { // altera o projeto na pauta $dados = array('idNrReuniao' => $idReuniao, 'dtEnvioPauta' => new Zend_Db_Expr('GETDATE()'), 'stEnvioPlenario' => $stEnvioPlenaria, 'tpPauta' => 1, 'dsAnalise' => TratarString::escapeString($justificativa), 'stAnalise' => $TipoAprovacao, 'stPlanoAnual' => $post->stPlanoAnual); // $alterar = $tblPauta->alterar($dados, 'IdPRONAC = '.$idPronac.' and idNrReuniao = '.$idReuniao); $dadosprojeto = array('Situacao' => $situacao, 'DtSituacao' => $dtsituacao, 'ProvidenciaTomada' => $providencia); // $tblProjetos->alterar($dadosprojeto, 'IdPRONAC = '.$idPronac); $tbRecurso = new tbRecurso(); $dadosRecursoAtual = $tbRecurso->buscar(array('IdPRONAC = ?' => $idPronac, 'stAtendimento = ?' => 'N', 'tpSolicitacao =?' => 'EN')); if (count($dadosRecursoAtual) > 0) { $auth = Zend_Auth::getInstance(); // pega a autenticação $this->idUsuario = $auth->getIdentity()->usu_codigo; //ATUALIZAÇÃO DA TABELA RECURSO// $dadosNovos = array('dtAvaliacao' => new Zend_Db_Expr('GETDATE()'), 'dsAvaliacao' => 'Recurso deferido conforme solicitação do Proponente.', 'idAgenteAvaliador' => $this->idUsuario); $tbRecurso->update($dadosNovos, "idRecurso=" . $dadosRecursoAtual[0]->idRecurso); //ATUALIZAÇÃO DA TABELA Enquadramento// $Enquadramento = new Enquadramento(); $dadosEnquadramentoAtual = $Enquadramento->buscarDados($idPronac, null); if (count($dadosRecursoAtual) > 0) { $tpEnquadramento = $dadosEnquadramentoAtual[0]->Enquadramento == 1 ? 2 : 1; $dadosNovosEnquadramento = array('Enquadramento' => $tpEnquadramento, 'dtEnquadramento' => new Zend_Db_Expr('GETDATE()'), 'Observacao' => 'Alteração de Enquadramento conforme deferimento de recurso.', 'Logon' => $this->idUsuario); $Enquadramento->update($dadosNovosEnquadramento, "IdEnquadramento=" . $dadosEnquadramentoAtual[0]->IdEnquadramento); } } parent::message("Projeto já está em Pauta, sendo alterado com sucesso!", "areadetrabalho/index", "CONFIRM"); die; } } catch (Exception $e) { //xd($e->getMessage()); parent::message("Erro ao incluir projeto na Pauta. " . $e->getMessage(), "realizaranaliseprojeto/emitirparecer" . $query_string, "ERROR"); } } else { // recebe os dados via get $idpronac = $this->_request->getParam("idpronac"); $this->view->idpronac = $idpronac; try { if (empty($idpronac)) { //throw new Exception("Por favor, clique no Pronac Aguardando Análise!"); parent::message("Erro ao realizar operação.", "realizaranaliseprojeto/emitirparecer", "ERROR"); } else { $idpronac = $this->_request->getParam("idpronac"); $projeto = new Projetos(); $planilhaproposta = new PlanilhaProposta(); $planilhaprojeto = new PlanilhaProjeto(); $planoDistribuicao = new PlanoDistribuicao(); $analiseaprovacao = new AnaliseAprovacao(); $planilhaAprovacao = new PlanilhaAprovacao(); $tbPreProjeto = new PreProjeto(); //antigo modo //$tblPauta = new Pauta(); //$buscaReadAprovacadoCnic = $tblPauta->buscar(array('IdPRONAC = ?'=>$idpronac, 'stAnalise = ?'=>"AS")); //novo modo $rsPlanilhaAtual = $planilhaAprovacao->buscar(array('IdPRONAC = ?' => $idpronac), array('dtPlanilha DESC'))->current(); $tipoplanilha = !empty($rsPlanilhaAtual) && $rsPlanilhaAtual->tpPlanilha == 'SE' ? 'SE' : 'CO'; if (!empty($rsPlanilhaAtual) && $rsPlanilhaAtual->tpPlanilha == 'SE') { $tpPlanilha = "SE"; $tpAnalise = "SE"; $tpAgente = '10'; } else { $tpPlanilha = "CO"; $tpAnalise = "CO"; $tpAgente = '6'; } $projetoAtual = $projeto->buscar(array('IdPRONAC = ?' => $idpronac))->current()->toArray(); $idprojeto = $projetoAtual['idProjeto']; $rsPreprojeto = $tbPreProjeto->buscar(array('idPreProjeto=?' => $idprojeto))->current(); if (!empty($rsPreprojeto)) { $stPlanoAnual = $rsPreprojeto->stPlanoAnual; } else { $stPlanoAnual = '0'; } $this->view->tipoplanilha = $tpPlanilha; $this->view->tipoagente = $tpAgente; $this->view->stPlanoAnual = $stPlanoAnual; /**** CODIGO DE READEQUACAO ****/ $arrWhereSomaPlanilha = array(); $arrWhereSomaPlanilha['idPronac = ?'] = $idpronac; //TRATANDO SOMA DE PROJETO QUANDO ESTE FOR DE READEQUACAO if ($this->bln_readequacao == "false") { $fonteincentivo = $planilhaproposta->somarPlanilhaProposta($idprojeto, 109); $outrasfontes = $planilhaproposta->somarPlanilhaProposta($idprojeto, false, 109); } else { $arrWhereFontesIncentivo = $arrWhereSomaPlanilha; $arrWhereFontesIncentivo['idPlanilhaItem <> ? '] = '206'; //elaboracao e agenciamento $arrWhereFontesIncentivo['tpPlanilha = ? '] = 'SR'; $arrWhereFontesIncentivo['stAtivo = ? '] = 'N'; $arrWhereFontesIncentivo['NrFonteRecurso = ? '] = '109'; $arrWhereFontesIncentivo["idPedidoAlteracao = (?)"] = new Zend_Db_Expr("(SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')"); $arrWhereFontesIncentivo["tpAcao <> ('E') OR tpAcao IS NULL "] = '(?)'; $fonteincentivo = $planilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereFontesIncentivo); $arrWhereOutrasFontes = $arrWhereSomaPlanilha; $arrWhereOutrasFontes['idPlanilhaItem <> ? '] = '206'; //elaboracao e agenciamento $arrWhereOutrasFontes['tpPlanilha = ? '] = 'SR'; $arrWhereOutrasFontes['stAtivo = ? '] = 'N'; $arrWhereOutrasFontes['NrFonteRecurso <> ? '] = '109'; $arrWhereOutrasFontes["idPedidoAlteracao = (?)"] = new Zend_Db_Expr("(SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')"); $arrWhereOutrasFontes["tpAcao <> ('E') OR tpAcao IS NULL "] = '(?)'; $outrasfontes = $planilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereOutrasFontes); } $this->view->fontesincentivo = $fonteincentivo['soma']; $this->view->outrasfontes = $outrasfontes['soma']; $this->view->valorproposta = $fonteincentivo['soma'] + $outrasfontes['soma']; $arrWhereSomaPlanilha = array(); $arrWhereSomaPlanilha['idPronac = ?'] = $idpronac; $arrWhereSomaPlanilha['idPlanilhaItem <> ? '] = '206'; //elaboracao e agenciamento $arrWhereSomaPlanilha['tpPlanilha = ? '] = $tpPlanilha; $arrWhereSomaPlanilha['NrFonteRecurso = ? '] = '109'; if ($this->bln_readequacao == "true") { $arrWhereSomaPlanilha["idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')"] = '(?)'; $arrWhereSomaPlanilha["tpAcao <> ('E') OR tpAcao IS NULL "] = '(?)'; $arrWhereSomaPlanilha['stAtivo = ? '] = 'N'; } else { $arrWhereSomaPlanilha['stAtivo = ? '] = 'S'; } //VALOR TOTAL DO PROJETO - V1 //antiga soma //$valorProjeto = $planilhaAprovacao->somarPlanilhaAprovacao($idpronac,206, $tpPlanilha, $arrWhereReadequacao); //nova soma $valorProjeto = $planilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereSomaPlanilha); /**** FIM CODIGO DE READEQUACAO ****/ $this->view->totalsugerido = $valorProjeto['soma'] ? $valorProjeto['soma'] : 0; //valor total do projeto (Planilha Aprovacao) //CALCULO DOS 20% - ETAPA DIVULGACAO //soma para calculo dos 20% etapada de Divulgacao $arrWhereEtapa = array(); $arrWhereEtapa['pa.idPronac = ?'] = $idpronac; $arrWhereEtapa['pa.idPlanilhaItem <> ? '] = '206'; //elaboracao e agenciamento $arrWhereEtapa['pa.tpPlanilha = ? '] = $tpPlanilha; $arrWhereEtapa['pa.NrFonteRecurso = ? '] = '109'; $arrWhereEtapa['pa.idEtapa = ?'] = '3'; if ($this->bln_readequacao == "true") { $arrWhereEtapa["pa.idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')"] = '(?)'; $arrWhereEtapa["pa.tpAcao <> ('E') OR pa.tpAcao IS NULL "] = '(?)'; $arrWhereEtapa['pa.stAtivo = ? '] = 'N'; } else { $arrWhereEtapa['pa.stAtivo = ? '] = 'S'; } $arrWhereEtapa['aa.tpAnalise = ?'] = $tpPlanilha; $arrWhereEtapa['aa.stAvaliacao = ?'] = 1; // 1 = parecer favoravel, 0 = parecer nao favoravel //$this->view->V2 = $valorProjetoDivulgacao['soma']; $valorProjetoDivulgacao = $planilhaAprovacao->somarItensPlanilhaAprovacaoProdutosFavoraveis($arrWhereEtapa); //CALCULO DOS 15% - CUSTOS ADMINISTRATIVOS $arrWhereCustoAdm = array(); $arrWhereCustoAdm['idPronac = ?'] = $idpronac; $arrWhereCustoAdm['idProduto = ?'] = 0; $arrWhereCustoAdm['idEtapa = ?'] = 4; //custos administrativos $arrWhereCustoAdm['idPlanilhaItem NOT IN (?)'] = array(5249, 206, 1238); //Remuneracao de captacao de recursos $arrWhereCustoAdm['tpPlanilha = ? '] = $tpPlanilha; $arrWhereCustoAdm['NrFonteRecurso = ? '] = '109'; if ($this->bln_readequacao == "true") { $arrWhereCustoAdm["idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')"] = '(?)'; $arrWhereCustoAdm["tpAcao <> ('E') OR tpAcao IS NULL "] = '(?)'; $arrWhereCustoAdm['stAtivo = ? '] = 'N'; } else { $arrWhereCustoAdm['stAtivo = ? '] = 'S'; } //$this->view->V2.1 = $valoracustosadministrativos['soma']; $valoracustosadministrativos = $planilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereCustoAdm); //CALCULO DOS 10% - REMUNERACAO PARA CAPTACAO DE RECURSO $arrWhereItemCaptRecurso = array(); $arrWhereItemCaptRecurso['idPronac = ?'] = $idpronac; $arrWhereItemCaptRecurso['idPlanilhaItem = ?'] = '5249'; //Item de Remuneracao de captacao de recursos $arrWhereItemCaptRecurso['tpPlanilha = ? '] = $tpPlanilha; $arrWhereItemCaptRecurso['NrFonteRecurso = ? '] = '109'; if ($this->bln_readequacao == "true") { $arrWhereItemCaptRecurso["idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')"] = '(?)'; $arrWhereItemCaptRecurso["tpAcao <> ('E') OR tpAcao IS NULL "] = '(?)'; $arrWhereItemCaptRecurso['stAtivo = ? '] = 'N'; } else { $arrWhereItemCaptRecurso['stAtivo = ? '] = 'S'; } //$this->view->V2.2 = $valorItemCaptacaoRecurso['soma']; $valorItemCaptacaoRecurso = $planilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereItemCaptRecurso); //Calcula os 20% do valor total do projeto V3 $porcentValorProjeto = $valorProjeto['soma'] * 0.2; //Calcula os 15% do valor total do projeto V3.1 $quinzecentoprojeto = $valorProjeto['soma'] * 0.15; //Calcula os 10% do valor total do projeto V3.2 $dezPercentValorProjeto = $valorProjeto['soma'] * 0.1; //Calculo do 20% -> V4 //Subtrai os custos da etapa divulgacao pelos 20% do projeto (V2 - V3) $verificacaonegativo20porcento = $valorProjetoDivulgacao->soma - $porcentValorProjeto; //Calculo do 15% -> V4.1 //Subtrai os custos administrativos pelos 15% do projeto (V2.1 - V3.1) $verificacaonegativo = $valoracustosadministrativos['soma'] - $quinzecentoprojeto; //Calculo do 10% -> V4.2 //Subtrai o item de captacao de recurso pelos 10% do projeto (V2.2 - V3.2) $verificacaonegativo10porcento = $valorItemCaptacaoRecurso['soma'] - $dezPercentValorProjeto; //if V4 e V4.1 maior que zero soma os dois V4 if ($verificacaonegativo20porcento > 0 && $verificacaonegativo > 0 && $verificacaonegativo10porcento > 0) { //V1 - (V4 + V4.1 + V4.2) = V5 /*V5*/ $novoValorProjeto = $valorProjeto['soma'] - ($verificacaonegativo20porcento + $verificacaonegativo + $verificacaonegativo10porcento); /*V6*/ $vinteporcentovalorretirar = $novoValorProjeto * 0.2; //V2 - V6 $valorretirarplanilhaEtapaDivulgacao = $valorProjetoDivulgacao->soma - $vinteporcentovalorretirar; //(correcao V2 - V6) //$this->view->verifica15porcento = $valorretirarplanilha; $this->view->valorReadequar20porcento = $valorretirarplanilhaEtapaDivulgacao; $this->view->totaldivulgacao = "true"; /*V6.1*/ $quinzecentovalorretirar = $novoValorProjeto * 0.15; //V2 - V6 $valorretirarplanilha = $valoracustosadministrativos['soma'] - $quinzecentovalorretirar; //(correcao V2 - V6) $this->view->verifica15porcento = $valorretirarplanilha; /*V6.2*/ $dezcentovalorretirar = $novoValorProjeto * 0.1; //V2 - V6 $valorretirarplanilhaItemCaptacaoRecurso = $valorItemCaptacaoRecurso['soma'] - $dezcentovalorretirar; //(correcao V2 - V6) $this->view->valorReadequar10porcento = $valorretirarplanilhaItemCaptacaoRecurso; $this->view->totalcaptacaorecurso = "true"; } elseif ($verificacaonegativo20porcento > 0 || $verificacaonegativo > 0 || $verificacaonegativo10porcento > 0) { //Calculo dos 20% if ($verificacaonegativo20porcento <= 0) { $this->view->totaldivulgacao = "false"; $this->view->valorReadequar20porcento = 0; } else { //V1 - V4 = V5 /*V5*/ $valorretirar20porcento = $valorProjeto['soma'] - $verificacaonegativo20porcento; /*V6*/ $vinteporcentovalorretirar = $valorretirar20porcento * 0.2; //V2 - V6 $valorretirarplanilhaEtapaDivulgacao = $valorProjetoDivulgacao->soma - $vinteporcentovalorretirar; //(correcao V2 - V6) $this->view->valorReadequar20porcento = $valorretirarplanilhaEtapaDivulgacao; $this->view->totaldivulgacao = "true"; } //Calculo dos 10% if ($verificacaonegativo10porcento <= 0) { $this->view->totalcaptacaorecurso = "false"; $this->view->valorReadequar10porcento = 0; } else { //V1 - V4 = V5 /*V5*/ $valorretirar10porcento = $valorProjeto['soma'] - $verificacaonegativo10porcento; /*V6*/ $dezcentovalorretirar = $valorretirar10porcento * 0.1; //V2 - V6 $valorretirarplanilhaItemCaptacaoRecurso = $valorItemCaptacaoRecurso['soma'] - $dezcentovalorretirar; //(correcao V2 - V6) $this->view->valorReadequar10porcento = $valorretirarplanilhaItemCaptacaoRecurso; $this->view->totalcaptacaorecurso = "true"; } //Calculo dos 10% (complemento) $tetoCemMil = (int) '100000.00'; if ($valorItemCaptacaoRecurso['soma'] > $tetoCemMil) { //verfica se o valor do item de captacao de recurso é maior que R$100.000,00 $this->view->totalcaptacaorecurso = "true"; $this->view->valorReadequar10porcento = $valorItemCaptacaoRecurso['soma'] - $tetoCemMil; } //Calculo dos 15% if ($valorProjeto['soma'] > 0 and $valoracustosadministrativos['soma'] < $valorProjeto['soma']) { if ($verificacaonegativo <= 0) { $this->view->verifica15porcento = 0; } else { //V1 - V4 = V5 /*V5*/ $valorretirar = $valorProjeto['soma'] - $verificacaonegativo; /*V6*/ $quinzecentovalorretirar = $valorretirar * 0.15; //V2 - V6 $valorretirarplanilha = $valoracustosadministrativos['soma'] - $quinzecentovalorretirar; //(correcao V2 - V6) $this->view->verifica15porcento = $valorretirarplanilha; } } else { $this->view->verifica15porcento = $valoracustosadministrativos['soma']; } } else { //Calculo dos 20% $this->view->totaldivulgacao = "false"; $this->view->valorReadequar20porcento = 0; //Calculo dos 10% (complemento) $tetoCemMil = (int) '100000.00'; if ($valorItemCaptacaoRecurso['soma'] > $tetoCemMil) { //verfica se o valor do item de captacao de recurso é maior que R$100.000,00 $this->view->totalcaptacaorecurso = "true"; $this->view->valorReadequar10porcento = $valorItemCaptacaoRecurso['soma'] - $tetoCemMil; } else { $this->view->totalcaptacaorecurso = "false"; $this->view->valorReadequar10porcento = 0; } //Calculo dos 15% $this->view->verifica15porcento = 0; } //FIM - DOS CALCULO DOS 20% e 15% $buscarPlano = $planoDistribuicao->buscar(array('idProjeto = ?' => $projetoAtual['idProjeto'], 'stPrincipal= ?' => 1))->current()->toArray(); $buscarAnaliseAp = $analiseaprovacao->buscar(array('IdPRONAC = ?' => $idpronac, 'idProduto = ?' => $buscarPlano['idProduto'], 'tpAnalise = ?' => $tpAnalise)); //CALCULO DOS 50% if ($buscarAnaliseAp->count() > 0) { $buscarAnaliseAp = $buscarAnaliseAp->current()->toArray(); //$aprovacao['planilhaprovacao'] = 0; //$aprovacao['planilhaprojeto'] = 0; if ($buscarAnaliseAp['stAvaliacao'] == 1) { //CODIGO ANTIGO /*$buscaraprovacao = $planilhaAprovacao->CompararPlanilha($idpronac, $tpPlanilha); foreach($buscaraprovacao as $resu){ $aprovacao['planilhaprovacao'] += $resu->planilhaaprovacao; $aprovacao['planilhaprojeto'] += $resu->planilhaprojeto; } $aprovacao['planilhaprovacao'] = $aprovacao['planilhaprovacao'] != 0 ? $aprovacao['planilhaprovacao'] : 1; $valoraprovacao = $aprovacao['planilhaprojeto'] * 0.5; */ $valoraprovacao = $this->view->fontesincentivo * 0.5; if ($valoraprovacao >= $this->view->totalsugerido) { $this->view->parecerfavoravel = 'NAO'; $this->view->nrparecerfavoravel = 1; } else { $this->view->parecerfavoravel = 'SIM'; $this->view->nrparecerfavoravel = 2; } } else { $this->view->parecerfavoravel = 'NAO'; $this->view->nrparecerfavoravel = 1; } } else { $this->view->parecerfavoravel = 'NAO'; $this->view->nrparecerfavoravel = 1; } //$this->view->V1=$valorProjeto['soma']; $produtos = RealizarAnaliseProjetoDAO::analiseDeConteudo($idpronac, $tpPlanilha); $this->view->ResultRealizarAnaliseProjeto = RealizarAnaliseProjetoDAO::analiseparecerConsolidado($idpronac); $verificaEnquadramento = RealizarAnaliseProjetoDAO::verificaEnquadramento($idpronac, $tpPlanilha); if (isset($verificaEnquadramento[0]->stArtigo18) && $verificaEnquadramento[0]->stArtigo18 == true) { $this->view->enquadramento = 'Artigo 18'; } else { if (isset($verificaEnquadramento[0]->stArtigo26) && $verificaEnquadramento[0]->stArtigo26 == true) { $this->view->enquadramento = 'Artigo 26'; } else { $this->view->enquadramento = 'NAO ENQUADRADO'; } } $this->view->ResultProduto = $produtos; $this->view->ResultValoresAnaliseProjeto = $produtos; $indeferidos = RealizarAnaliseProjetoDAO::retornaIndeferimento(); $this->view->indeferidos = $indeferidos; $this->view->idpronac = $idpronac; /**** CODIGO DE READEQUACAO ****/ //antiga busca //$buscarjustificativa = $tblParecer->buscarParecer($tpAgente,$idpronac); //nova busca $arrBuscaParecer = array(); $arrBuscaParecer['idPronac = ?'] = $idpronac; $arrBuscaParecer['idTipoAgente = ?'] = $tpAgente; $arrBuscaParecer['TipoParecer = ?'] = $this->bln_readequacao == "true" ? '2' : '1'; $buscarjustificativa = $tblParecer->buscar($arrBuscaParecer); /**** FIM - CODIGO DE READEQUACAO ****/ if ($buscarjustificativa->count() > 0) { $buscarjustificativa = $buscarjustificativa->current()->toArray(); $this->view->valorJustificativa = $buscarjustificativa['ResumoParecer']; } else { $this->view->valorJustificativa = null; } $auth = Zend_Auth::getInstance(); // pega a autenticao $Usuario = new Usuario(); // objeto usuario $idagente = $Usuario->getIdUsuario($auth->getIdentity()->usu_codigo); $idagente = $idagente['idAgente']; //------------------------------------------------------------------------------------------------------------- $reuniao = new Reuniao(); //--------------------------------------------------------------------------------------------------------------- $ConsultaReuniaoAberta = $reuniao->buscar(array("stEstado = ?" => 0)); if ($ConsultaReuniaoAberta->count() > 0) { $this->view->dadosReuniaoPlenariaAtual = $ConsultaReuniaoAberta; $this->view->usu_codigo = $auth->getIdentity()->usu_codigo; $ConsultaReuniaoAberta = $ConsultaReuniaoAberta->current()->toArray(); $this->view->plenariaatual = $ConsultaReuniaoAberta['idNrReuniao']; $this->view->dadosReuniaoPlenariaAtual = $ConsultaReuniaoAberta; //--------------------------------------------------------------------------------------------------------------- $votantes = new Votante(); $exibirVotantes = $votantes->selecionarvotantes($ConsultaReuniaoAberta['idNrReuniao']); if (count($exibirVotantes) > 0) { foreach ($exibirVotantes as $votantes) { $dadosVotante[] = $votantes->idAgente; } if (count($dadosVotante) > 0) { if (in_array($idagente, $dadosVotante)) { $this->view->votante = true; } else { $this->view->votante = false; } } } } else { parent::message("Não existe CNIC aberta no momento. Favor aguardar!", "principal/index", "ERROR"); } } // fecha else } catch (Exception $e) { die($e->getMessage()); } } // fecha else }
public function cnicSalvarEnquadramentoAction() { if ($this->idPerfil != 118) { parent::message("Você não tem permissão para acessar essa área do sistema!", "principal", "ALERT"); } $auth = Zend_Auth::getInstance(); $idusuario = $auth->getIdentity()->usu_codigo; $idPronac = $_POST['idPronac']; $idRecurso = $_POST['idRecurso']; $areaCultural = $_POST['areaCultural']; $segmentoCultural = $_POST['segmentoCultural']; $enquadramentoProjeto = $_POST['enquadramentoProjeto']; $parecerProjeto = $_POST['parecerProjeto']; $dsParecer = $_POST['dsParecer']; try { //ATUALIAZA A SITUAÇÃO, ÁREA E SEGMENTO DO PROJETO $d = array(); $d['situacao'] = 'D20'; $d['ProvidenciaTomada'] = 'Recurso em análise pela Comissão Nacional de Incentivo à Cultura - CNIC.'; $d['dtSituacao'] = new Zend_Db_Expr('GETDATE()'); $d['Area'] = $areaCultural; $d['Segmento'] = $segmentoCultural; $where = "IdPRONAC = {$idPronac}"; $Projetos = new Projetos(); $Projetos->update($d, $where); $dadosProjeto = $Projetos->buscar(array('IdPRONAC = ?' => $idPronac)); if (count($dadosProjeto) > 0) { //CADASTRA OU ATUALIZA O ENQUADRAMENTO DO PROJETO $enquadramentoDAO = new Enquadramento(); $dadosEnquadramento = array('IdPRONAC' => $idPronac, 'AnoProjeto' => $dadosProjeto[0]->AnoProjeto, 'Sequencial' => $dadosProjeto[0]->Sequencial, 'Enquadramento' => $enquadramentoProjeto, 'DtEnquadramento' => new Zend_Db_Expr("GETDATE()"), 'Observacao' => '', 'Logon' => $idusuario); $whereBuscarDados = array('IdPRONAC = ?' => $idPronac, 'AnoProjeto = ?' => $dadosProjeto[0]->AnoProjeto, 'Sequencial = ?' => $dadosProjeto[0]->Sequencial); $buscarEnquadramento = $enquadramentoDAO->buscar($whereBuscarDados); if (count($buscarEnquadramento) > 0) { $buscarEnquadramento = $buscarEnquadramento->current(); $whereUpdate = 'IdEnquadramento = ' . $buscarEnquadramento->IdEnquadramento; $alteraEnquadramento = $enquadramentoDAO->alterar($dadosEnquadramento, $whereUpdate); } else { $insereEnquadramento = $enquadramentoDAO->inserir($dadosEnquadramento); } $buscaEnquadramento = $enquadramentoDAO->buscarDados($idPronac, null, false); //CADASTRA OU ATUALIZA O PARECER DO COMPONENTE DA COMISSÃO $parecerDAO = new Parecer(); $dadosParecer = array('idPRONAC' => $idPronac, 'AnoProjeto' => $dadosProjeto[0]->AnoProjeto, 'Sequencial' => $dadosProjeto[0]->Sequencial, 'TipoParecer' => 7, 'ParecerFavoravel' => $parecerProjeto, 'DtParecer' => new Zend_Db_Expr("GETDATE()"), 'NumeroReuniao' => null, 'ResumoParecer' => $dsParecer, 'SugeridoReal' => 0, 'Atendimento' => 'S', 'idEnquadramento' => $buscaEnquadramento['IdEnquadramento'], 'stAtivo' => 1, 'idTipoAgente' => 6, 'Logon' => $idusuario); $buscarParecer = $parecerDAO->buscar(array('IdPRONAC = ?' => $idPronac)); foreach ($dadosParecer as $dp) { $parecerAntigo = array('Atendimento' => 'S', 'stAtivo' => 0); $whereUpdateParecer = 'IdPRONAC = ' . $idPronac; $alteraParecer = $parecerDAO->alterar($parecerAntigo, $whereUpdateParecer); } $buscarParecer = $parecerDAO->buscar(array('IdPRONAC = ?' => $idPronac, 'AnoProjeto = ?' => $dadosProjeto[0]->AnoProjeto, 'Sequencial = ?' => $dadosProjeto[0]->Sequencial, 'TipoParecer = ?' => 7, 'idTipoAgente = ?' => 6)); if (count($buscarParecer) > 0) { $buscarParecer = $buscarParecer->current(); $whereUpdateParecer = 'IdParecer = ' . $buscarParecer->IdParecer; $alteraParecer = $parecerDAO->update($dadosParecer, $whereUpdateParecer); } else { $insereParecer = $parecerDAO->inserir($dadosParecer); } } if (isset($_POST['finalizarAvaliacao']) && $_POST['finalizarAvaliacao'] == 1) { $idNrReuniao = null; if ($_POST['plenaria']) { $campoSiRecurso = 8; // 8=Enviado à Plenária $reuniao = new Reuniao(); $raberta = $reuniao->buscarReuniaoAberta(); $idNrReuniao = $raberta['idNrReuniao']; } else { $campoSiRecurso = 9; // 9=Enviado para Checklist Publicação } //ATUALIZA A TABELA tbRecurso $dados = array(); $dados['siRecurso'] = $campoSiRecurso; $dados['idNrReuniao'] = $idNrReuniao; $dados['stAnalise'] = $parecerProjeto == 1 ? 'IC' : 'AC'; $where = "idRecurso = {$idRecurso}"; $tbRecurso = new tbRecurso(); $tbRecurso->update($dados, $where); parent::message("A avaliação do recurso foi finalizada com sucesso! ", "recurso/analisar-recursos-cnic", "CONFIRM"); } parent::message("Dados salvos com sucesso!", "recurso/form-avaliar-recurso-cnic?recurso={$idRecurso}", "CONFIRM"); } catch (Exception $e) { parent::message($e->getMessage(), "recurso/form-avaliar-recurso-cnic?recurso={$idRecurso}", "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 gerarpdfAction() { $this->_helper->layout->disableLayout(); $pauta = new Pauta(); $tblPauta = new tbPauta(); $parecer = new Parecer(); $idpronac = $_POST['idpronac']; $nrReuniao = $_POST['nrReuniao']; //$buscarpauta = $pauta->dadosiniciaistermoaprovacao($idpronac); if ($this->tipoProjeto == "analiseInicial") { //========== PROJETOS APROVADOS SEFIC e SAV - APROVACAO INICIAL =========================/ $arrBusca = array(); $arrBusca['tp.idPronac IN (?)'] = $idpronac; //$arrBusca['pr.Situacao = ?'] = "D03"; //$arrBusca['pr.Situacao IN (?)'] = array('D03', 'D01'); $arrBusca['tp.stAnalise IN (?)'] = array("AS", "AC", "AR"); $arrBusca['par.TipoParecer = ?'] = 1; $arrBusca['r.NrReuniao = ?'] = $nrReuniao; //$arrBusca[" TABELAS.dbo.fnCodigoOrgaoEstrutura(pr.Orgao, 1) = ? "] = $this->codOrgaoSuperior; $arrBusca['pr.Orgao = ?'] = $this->codOrgao; $rsProjetosAprovados = $tblPauta->buscarProjetosTermoAprovacao($arrBusca); //========== PROJETOS INDEFERIDOS SEFIC e SAV - APROVACAO INICIAL =======================/ $arrBusca = array(); $arrBusca['tp.idPronac IN (?)'] = $idpronac; //$arrBusca['pr.Situacao IN (?)'] = array('A13', 'A14', 'A16', 'A17', 'A20', 'A23', 'A24', 'D14', 'A41'); $arrBusca['tp.stAnalise NOT IN (?)'] = array("AS", "AC", "AR"); $arrBusca['par.TipoParecer = ?'] = 1; $arrBusca['r.NrReuniao = ?'] = $nrReuniao; //$arrBusca[" TABELAS.dbo.fnCodigoOrgaoEstrutura(pr.Orgao, 1) = ? "] = $this->codOrgaoSuperior; $arrBusca['pr.Orgao = ?'] = $this->codOrgao; $rsProjetosIndeferidos = $tblPauta->buscarProjetosTermoAprovacao($arrBusca); } if ($this->tipoProjeto == "readequacao") { //========== PROJETOS APROVADOS SEFIC e SAV - READEQUACAO ==========================/ $arrBusca = array(); $arrBusca['tp.idPronac IN (?)'] = $idpronac; $arrBusca['tp.stAnalise IN (?)'] = array("AS", "AC", "AR"); $arrBusca['par.TipoParecer <> ?'] = 1; $arrBusca['r.NrReuniao = ?'] = $nrReuniao; //$arrBusca[" TABELAS.dbo.fnCodigoOrgaoEstrutura(pr.Orgao, 1) = ? "] = $this->codOrgaoSuperior; $arrBusca['pr.Orgao = ?'] = $this->codOrgao; $rsProjetosAprovadosReadequacao = $tblPauta->buscarProjetosTermoAprovacao($arrBusca); //========== PROJETOS INDEFERIDOS SEFIC e SAV - READEQUACAO =======================/ $arrBusca = array(); $arrBusca['tp.idPronac IN (?)'] = $idpronac; $arrBusca['tp.stAnalise NOT IN (?)'] = array("AS", "AC", "AR"); $arrBusca['par.TipoParecer <> ?'] = 1; $arrBusca['r.NrReuniao = ?'] = $nrReuniao; //$arrBusca[" TABELAS.dbo.fnCodigoOrgaoEstrutura(pr.Orgao, 1) = ? "] = $this->codOrgaoSuperior; $arrBusca['pr.Orgao = ?'] = $this->codOrgao; $rsProjetosIndeferidosReadequacao = $tblPauta->buscarProjetosTermoAprovacao($arrBusca); } /**=================================================================*/ /*=============== TRATAMENTO DE PROJETOS APROVADOS =================*/ /**=================================================================*/ $pautaAprovados = array(); if ($this->tipoProjeto == "analiseInicial") { /* === APROVACAO INICIAL - APROVADOS ==*/ $ct1 = 0; foreach ($rsProjetosAprovados as $dadosresultado) { $pautaAprovados[$ct1]['PRONAC'] = $dadosresultado['pronac']; $pautaAprovados[$ct1]['NomeProjeto'] = $dadosresultado['NomeProjeto']; $pautaAprovados[$ct1]['TipoParecer'] = 'Aprovação Inicial'; $pautaAprovados[$ct1]['NrReuniao'] = $dadosresultado['NrReuniao']; $pautaAprovados[$ct1]['mesReuniao'] = date('m', strtotime($dadosresultado['DtInicio'])); $pautaAprovados[$ct1]['DtInicio'] = date('d', strtotime($dadosresultado['DtInicio'])); $pautaAprovados[$ct1]['DtFinal'] = Data::DataporExtenso($dadosresultado['DtFinal']); $pautaAprovados[$ct1]['DtAssinatura'] = $dadosresultado['DtAssinatura']; $buscarparecer = $parecer->buscar(array('idPRONAC = ?' => $dadosresultado['IdPRONAC'])); $pautaAprovados[$ct1]['parecerista'] = $buscarparecer[0]->ResumoParecer; $pautaAprovados[$ct1]['componente'] = isset($buscarparecer[1]->ResumoParecer) ? $buscarparecer[1]->ResumoParecer : ''; $pautaAprovados[$ct1]['Consolidacao'] = $dadosresultado['dsConsolidacao']; $pautaAprovados[$ct1]['analise'] = $dadosresultado['stAnalise']; $ct1++; } } /* === READEQUACAO - APROVADOS ==*/ $pautaAprovadosReadequacao = array(); if ($this->tipoProjeto == "readequacao") { $ct1 = 0; foreach ($rsProjetosAprovadosReadequacao as $dadosresultado) { $pautaAprovadosReadequacao[$ct1]['PRONAC'] = $dadosresultado['pronac']; $pautaAprovadosReadequacao[$ct1]['NomeProjeto'] = $dadosresultado['NomeProjeto']; $pautaAprovadosReadequacao[$ct1]['TipoParecer'] = 'Readequação'; $pautaAprovadosReadequacao[$ct1]['NrReuniao'] = $dadosresultado['NrReuniao']; $pautaAprovadosReadequacao[$ct1]['mesReuniao'] = date('m', strtotime($dadosresultado['DtInicio'])); $pautaAprovadosReadequacao[$ct1]['DtInicio'] = date('d', strtotime($dadosresultado['DtInicio'])); $pautaAprovadosReadequacao[$ct1]['DtFinal'] = Data::DataporExtenso($dadosresultado['DtFinal']); $pautaAprovadosReadequacao[$ct1]['DtAssinatura'] = $dadosresultado['DtAssinatura']; $buscarparecer = $parecer->buscar(array('idPRONAC = ?' => $dadosresultado['IdPRONAC'])); $pautaAprovadosReadequacao[$ct1]['parecerista'] = $buscarparecer[0]->ResumoParecer; $pautaAprovadosReadequacao[$ct1]['componente'] = isset($buscarparecer[1]->ResumoParecer) ? $buscarparecer[1]->ResumoParecer : ''; $pautaAprovadosReadequacao[$ct1]['Consolidacao'] = $dadosresultado['dsConsolidacao']; $pautaAprovadosReadequacao[$ct1]['analise'] = $dadosresultado['stAnalise']; $ct1++; } } /**=================================================================*/ /*=============== TRATAMENTO DE PROJETOS INDEFERIDOS ===============*/ /**=================================================================*/ $pautaIndeferidos = array(); if ($this->tipoProjeto == "analiseInicial") { /* === APROVACAO INICIAL - INDEFERIDOS ==*/ $ct1 = 0; foreach ($rsProjetosIndeferidos as $dadosresultado) { $pautaIndeferidos[$ct1]['PRONAC'] = $dadosresultado['pronac']; $pautaIndeferidos[$ct1]['NomeProjeto'] = $dadosresultado['NomeProjeto']; $pautaIndeferidos[$ct1]['TipoParecer'] = 'Aprovação Inicial'; $pautaIndeferidos[$ct1]['NrReuniao'] = $dadosresultado['NrReuniao']; $pautaIndeferidos[$ct1]['mesReuniao'] = date('m', strtotime($dadosresultado['DtInicio'])); $pautaIndeferidos[$ct1]['DtInicio'] = date('d', strtotime($dadosresultado['DtInicio'])); $pautaIndeferidos[$ct1]['DtFinal'] = Data::DataporExtenso($dadosresultado['DtFinal']); $pautaIndeferidos[$ct1]['DtAssinatura'] = $dadosresultado['DtAssinatura']; $buscarparecer = $parecer->buscar(array('idPRONAC = ?' => $dadosresultado['IdPRONAC'])); $pautaIndeferidos[$ct1]['parecerista'] = $buscarparecer[0]->ResumoParecer; $pautaIndeferidos[$ct1]['componente'] = isset($buscarparecer[1]->ResumoParecer) ? $buscarparecer[1]->ResumoParecer : ''; $pautaIndeferidos[$ct1]['Consolidacao'] = $dadosresultado['dsConsolidacao']; $pautaIndeferidos[$ct1]['analise'] = $dadosresultado['stAnalise']; $ct1++; } } /* === READEQUACAO - INDEFERIDOS ==*/ $pautaIndeferidosReadequacao = array(); if ($this->tipoProjeto == "readequacao") { $ct1 = 0; foreach ($rsProjetosIndeferidosReadequacao as $dadosresultado) { $pautaIndeferidosReadequacao[$ct1]['PRONAC'] = $dadosresultado['pronac']; $pautaIndeferidosReadequacao[$ct1]['NomeProjeto'] = $dadosresultado['NomeProjeto']; $pautaIndeferidosReadequacao[$ct1]['TipoParecer'] = 'Readequação'; $pautaIndeferidosReadequacao[$ct1]['NrReuniao'] = $dadosresultado['NrReuniao']; $pautaIndeferidosReadequacao[$ct1]['mesReuniao'] = date('m', strtotime($dadosresultado['DtInicio'])); $pautaIndeferidosReadequacao[$ct1]['DtInicio'] = date('d', strtotime($dadosresultado['DtInicio'])); $pautaIndeferidosReadequacao[$ct1]['DtFinal'] = Data::DataporExtenso($dadosresultado['DtFinal']); $pautaIndeferidosReadequacao[$ct1]['DtAssinatura'] = $dadosresultado['DtAssinatura']; $buscarparecer = $parecer->buscar(array('idPRONAC = ?' => $dadosresultado['IdPRONAC'])); $pautaIndeferidosReadequacao[$ct1]['parecerista'] = $buscarparecer[0]->ResumoParecer; $pautaIndeferidosReadequacao[$ct1]['componente'] = isset($buscarparecer[1]->ResumoParecer) ? $buscarparecer[1]->ResumoParecer : ''; $pautaIndeferidosReadequacao[$ct1]['Consolidacao'] = $dadosresultado['dsConsolidacao']; $pautaIndeferidosReadequacao[$ct1]['analise'] = $dadosresultado['stAnalise']; $ct1++; } } //APROVACAO INICIAL $this->view->pautaAprovados = $pautaAprovados; $this->view->pautaIndeferidos = $pautaIndeferidos; //READEQUACAO $this->view->pautaAprovadosReadequacao = $pautaAprovadosReadequacao; $this->view->pautaIndeferidosReadequacao = $pautaIndeferidosReadequacao; // mês por extenso $mes_extenso[1] = "janeiro"; $mes_extenso[2] = "fevereiro"; $mes_extenso[3] = "março"; $mes_extenso[4] = "abril"; $mes_extenso[5] = "maio"; $mes_extenso[6] = "junho"; $mes_extenso[7] = "julho"; $mes_extenso[8] = "agosto"; $mes_extenso[9] = "setembro"; $mes_extenso[10] = "outubro"; $mes_extenso[11] = "novembro"; $mes_extenso[12] = "dezembro"; $this->view->mesPorExtenso = $mes_extenso; //TRATAMENTO CASO NENHUMA DAS CONDIÇÕES SEJAM ATENDIDAS if (count($pautaAprovados) <= 0 && count($pautaIndeferidos) <= 0 && count($pautaAprovadosReadequacao) <= 0 && count($pautaIndeferidosReadequacao) <= 0) { parent::message("O(s) projeto(s) informado(s) não atende(m) às condições necessárias para ser(em) impresso(s) no Termo de Decisão.", "gerartermodeaprovacao/", "ALERT"); } if ($this->codOrgaoSuperior == 251) { $this->montaTela("gerartermodeaprovacao/gerar-pdf-sefic.phtml", array()); } else { $this->montaTela("gerartermodeaprovacao/gerar-pdf-sav.phtml", array()); } }
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>"; } }
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"); } }
/** * Metodo com o parecer consolidado - Recursos * @access public * @param void * @return void */ public function parecerconsolidadorecursosAction() { $this->_helper->layout->disableLayout(); // desabilita o Zend_Layout $idPronac = $_POST['idpronac']; $tbRecurso = new tbRecurso(); $dadosRecurso = $tbRecurso->buscar(array('IdPRONAC=?' => $idPronac, 'siRecurso in (?)' => array(8, 9), 'stEstado=?' => 0))->current(); if ($dadosRecurso) { $dados = $tbRecurso->buscarDadosRecursos(array('idRecurso = ?' => $dadosRecurso->idRecurso))->current(); $this->view->dados = $dados; $this->view->nmPagina = ''; if ($dados->siFaseProjeto == 2) { if ($dados->tpSolicitacao == 'PI' || $dados->tpSolicitacao == 'EO' || $dados->tpSolicitacao == 'OR') { $d = array(); $d['situacao'] = 'B11'; $d['ProvidenciaTomada'] = 'Recurso enviado para avaliação técnica.'; $d['dtSituacao'] = new Zend_Db_Expr('GETDATE()'); $where = "IdPRONAC = {$dados->IdPRONAC}"; $Projetos = new Projetos(); $Projetos->update($d, $where); //ATUALIZA OS DADOS DA TABELA tbAnaliseAprovacao $e = array(); $e['stDistribuicao'] = 'I'; // I=Inativo $w = "idPRONAC = {$dados->IdPRONAC}"; $tbDistribuicaoProjetoComissao = new tbDistribuicaoProjetoComissao(); $tbDistribuicaoProjetoComissao->update($e, $w); $PlanoDistribuicaoProduto = new PlanoDistribuicaoProduto(); $dadosProdutos = $PlanoDistribuicaoProduto->buscarProdutosProjeto($dados->IdPRONAC); $this->view->produtos = $dadosProdutos; $spPlanilhaOrcamentaria = new spPlanilhaOrcamentaria(); $planilhaOrcamentaria = $spPlanilhaOrcamentaria->exec($dados->IdPRONAC, 4); // 4=Cortes Orçamentários Aprovados $this->view->planilha = $this->montarPlanilhaOrcamentaria($planilhaOrcamentaria, 4); // 4=Cortes Orçamentários Aprovados } } if ($dados->tpSolicitacao == 'EN' || $dados->tpSolicitacao == 'EO' || $dados->tpSolicitacao == 'OR' || $dados->tpSolicitacao == 'PI') { $Projetos = new Projetos(); $this->view->projetosEN = $Projetos->buscaAreaSegmentoProjeto($dados->IdPRONAC); $this->view->comboareasculturais = ManterAgentesDAO::buscarAreasCulturais(); $this->view->combosegmentosculturais = Segmentocultural::buscarSegmento($this->view->projetosEN->cdArea); $parecer = new Parecer(); $this->view->Parecer = $parecer->buscar(array('IdPRONAC = ?' => $dados->IdPRONAC, 'TipoParecer in (?)' => array(1, 7), 'stAtivo = ?' => 1))->current(); } //DADOS DO PROJETO $Projetos = new Projetos(); $p = $Projetos->buscarProjetoXProponente(array('idPronac = ?' => $dados->IdPRONAC))->current(); $this->view->projeto = $p; } else { $this->view->dados = array(); } }
/** * M?todo que chama as fun??es de balancear projeto, copiar tabelas e alterar a situa??o do projeto * @access public * @param void * @return void */ public function aprovacaodiretaAction() { $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo'); // cria a sess?o com o grupo ativo $codOrgao = $GrupoAtivo->codOrgao; // Órg?o ativo na sess?o $this->view->codOrgao = $codOrgao; $idPronac = $_POST['idpronac']; $idusuario = $_POST['idusuario']; $tipo_doc = $_POST['tipo_doc']; //$cod_ect = $_POST['cod_ect']; $cod_ect = null; //pega as informaç?es do arquivo $arquivoNome = $_FILES['documento']['name']; // nome $arquivoTemp = $_FILES['documento']['tmp_name']; // nome temporário $arquivoTipo = $_FILES['documento']['type']; // tipo $arquivoTamanho = $_FILES['documento']['size']; // tamanho if (!empty($arquivoNome)) { $arquivoExtensao = Upload::getExtensao($arquivoNome); // extens?o } if (!empty($arquivoTemp)) { $arquivoBinario = Upload::setBinario($arquivoTemp); // binário $arquivoHash = Upload::setHash($arquivoTemp); // hash } $tbDoc = array('idPronac' => $idPronac, 'stEstado' => 0, 'imDocumento' => null, 'idTipoDocumento' => $tipo_doc, 'idUsuario' => $idusuario, 'dtDocumento' => '2008/12/21', 'NoArquivo' => $arquivoNome, 'TaArquivo' => $arquivoTamanho, 'idUsuarioJuntada' => null, 'dtJuntada' => null, 'idUnidadeCadastro' => $codOrgao, 'CodigoCorreio' => $cod_ect, 'biDocumento' => $arquivoBinario); $dados = "Insert into SAC.dbo.tbDocumento\n (idPronac, stEstado, imDocumento, idTipoDocumento, idUsuario, dtDocumento, NoArquivo, TaArquivo, idUsuarioJuntada, dtJuntada, idUnidadeCadastro, CodigoCorreio, biDocumento)\n values\n (" . $idPronac . ", 0, null, " . $tipo_doc . ", " . $idusuario . ", GETDATE(), '" . $arquivoNome . "', " . $arquivoTamanho . ", null, null, " . $codOrgao . ", '" . $cod_ect . "', " . $arquivoBinario . ")\n "; $db = Zend_Registry::get('db'); $db->setFetchMode(Zend_DB::FETCH_OBJ); try { $db->beginTransaction(); if (empty($arquivoTemp)) { // nome do arquivo parent::message("Por favor, informe o arquivo!!", "gerenciarpareceres/index", "ALERT"); } else { if (empty($arquivoTemp)) { // nome do arquivo parent::message("Por favor, informe o arquivo!", "gerenciarpareceres/index", "ALERT"); } else { if ($arquivoExtensao != 'pdf') { // extens?o do arquivo parent::message("O arquivo deve ser PDF!", "gerenciarpareceres/index", "ALERT"); } else { if ($arquivoTamanho > 10485760) { // tamanho do arquivo: 10MB parent::message("O arquivo n?o pode ser maior do que 10MB!", "gerenciarpareceres/index", "ALERT"); } else { $resultado = TramitarDocumentosDAO::cadDocumento($dados); $tbHistoricoDoc = array('idPronac' => $idPronac, 'idDocumento' => $resultado, 'idUnidade' => $codOrgao, 'dtTramitacaoEnvio' => date('Y/m/d H:i:s'), 'idUsuarioEmissor' => $idusuario, 'meDespacho' => null, 'idLote' => null, 'dtTramitacaoRecebida' => null, 'idUsuarioReceptor' => null, 'Acao' => 1, 'stEstado' => 1); $resultado2 = TramitarDocumentosDAO::cadHistorico('SAC.dbo.tbHistoricoDocumento', $tbHistoricoDoc); } } } } $this->_helper->viewRenderer->setNoRender(); //$servico = $this->_request->getParam("servico"); // pega o id do pronac via get $aprovacao = new Aprovacao(); $parecer = new Parecer(); $planilhaaprovacao = new PlanilhaAprovacao(); $projeto = new Projetos(); $planilhaProjeto = new PlanilhaProjeto(); $analiseConteudo = new Analisedeconteudo(); $analiseaprovacao = new AnaliseAprovacao(); $Distribuicao = new DistribuicaoProjetoComissao(); $reuniao = new Reuniao(); $pauta = new Pauta(); $sp = new paVerificarAtualizarSituacaoAprovacao(); // copia as tabelas $buscarParecer = $parecer->buscar(array('idPronac = ?' => $idPronac, 'stAtivo = ?' => 1))->current()->toArray(); $Rplanilhaprojeto = $planilhaProjeto->buscar(array('idPRONAC = ?' => $idPronac)); foreach ($Rplanilhaprojeto as $resu) { $data = array('tpPlanilha' => 'CO', '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, 'dsItem' => '', 'idUnidade' => $resu->idUnidade, 'qtItem' => $resu->Quantidade, 'nrOcorrencia' => $resu->Ocorrencia, 'vlUnitario' => $resu->ValorUnitario, 'qtDias' => $resu->QtdeDias, 'tpDespesa' => $resu->TipoDespesa, 'tpPessoa' => $resu->TipoPessoa, 'nrContraPartida' => $resu->Contrapartida, 'nrFonteRecurso' => $resu->FonteRecurso, 'idUFDespesa' => $resu->UfDespesa, 'idMunicipioDespesa' => $resu->MunicipioDespesa, 'dsJustificativa' => $resu->Justificativa, 'stAtivo' => 'S'); $inserirPlanilhaAprovacao = $planilhaaprovacao->inserir($data); } $RanaliseConteudo = $analiseConteudo->buscar(array('IdPRONAC = ?' => $idPronac)); foreach ($RanaliseConteudo as $resu) { $data = array('tpAnalise' => 'CO', 'dtAnalise' => date('Y-m-d H:i:s'), 'idAnaliseConteudo' => $resu->idAnaliseDeConteudo, 'IdPRONAC' => $resu->idPronac, 'idProduto' => $resu->idProduto, 'stLei8313' => $resu->Lei8313, 'stArtigo3' => $resu->Artigo3, 'nrIncisoArtigo3' => $resu->IncisoArtigo3, 'dsAlineaArt3' => $resu->AlineaArtigo3, 'stArtigo18' => $resu->Artigo18, 'dsAlineaArtigo18' => $resu->AlineaArtigo18, 'stArtigo26' => $resu->Artigo26, 'stLei5761' => $resu->Lei5761, 'stArtigo27' => $resu->Artigo27, 'stIncisoArtigo27_I' => $resu->IncisoArtigo27_I, 'stIncisoArtigo27_II' => $resu->IncisoArtigo27_II, 'stIncisoArtigo27_III' => $resu->IncisoArtigo27_III, 'stIncisoArtigo27_IV' => $resu->IncisoArtigo27_IV, 'stAvaliacao' => $resu->ParecerFavoravel, 'dsAvaliacao' => $resu->ParecerDeConteudo); //xd($data); $analiseaprovacao->inserir($data); } $consolidarAprovacao = TratarString::escapeString($buscarParecer['ResumoParecer']); $somaPlanilhaAprovacao = $planilhaaprovacao->somarPlanilhaAprovacao($idPronac); $valoraprovacao = $somaPlanilhaAprovacao['soma']; $tipoAprovacao = $buscarParecer['TipoParecer']; $buscarprojetos = $projeto->buscar(array('IdPRONAC = ?' => $idPronac))->current()->toArray(); $dados = array('IdPRONAC' => $idPronac, 'AnoProjeto' => $buscarprojetos['AnoProjeto'], 'Sequencial' => $buscarprojetos['Sequencial'], 'TipoAprovacao' => $tipoAprovacao, 'dtAprovacao' => date('Y-m-d H:i:s'), 'ResumoAprovacao' => $consolidarAprovacao, 'dtInicioCaptacao' => date('Y-m-d H:i:s'), 'dtFimCaptacao' => date('Y-12-31 11:59:59'), 'AprovadoReal' => $valoraprovacao, 'AprovadoUfir' => 0, 'AutorizadoUfir' => 0, 'AutorizadoReal' => 0, 'ConcedidoCusteioReal' => 0, 'ConcedidoCapitalReal' => 0, 'ContraPartidaReal' => 0, 'Logon' => $idusuario); $inserir = $aprovacao->inserir($dados); $buscarReuniaoAberta = $reuniao->buscarReuniaoAberta(); $dadosPauta = array("idNrReuniao" => $buscarReuniaoAberta['idNrReuniao'], "IdPRONAC" => $idPronac, "dtEnvioPauta" => date("Y-m-d H:i:s"), "stEnvioPlenario" => "N", "tpPauta" => '1', "stAnalise" => 'AR', "dsAnalise" => 'AD Referendum'); $inserirProjetoPauta = $pauta->inserir($dadosPauta); $verificarSituacao = $sp->expaVerificarAtualizarSituacaoAprovacao($idPronac); $db->commit(); parent::message("Projeto aprovado com sucesso!", "gerenciarpareceres/index", "CONFIRM"); } catch (Zend_Exception $ex) { $db->rollBack(); parent::message("Erro ao realizar cadastro", "gerenciarpareceres/index", "ERROR"); } }
public function recursoAction() { $this->_helper->layout->disableLayout(); // Desabilita o Zend Layout $idPronac = $this->_request->getParam("idPronac"); if (strlen($idPronac) > 7) { $idPronac = Seguranca::dencrypt($idPronac); } if (!empty($idPronac)) { $Projetos = new Projetos(); $rsProjeto = $Projetos->buscar(array("IdPronac=?" => $idPronac))->current(); $this->view->projeto = $rsProjeto; // verifica se há pedidos de reconsideração e de recurso $tbRecurso = new tbRecurso(); $recursos = $tbRecurso->buscar(array('IdPRONAC = ?' => $idPronac)); $pedidoReconsideracao = 0; $pedidoRecurso = 0; if (count($recursos) > 0) { foreach ($recursos as $r) { if ($r->tpRecurso == 1) { $pedidoReconsideracao = $r->idRecurso; $dados = $tbRecurso->buscarDadosRecursos(array('idRecurso = ?' => $r->idRecurso))->current(); $this->view->dadosReconsideracao = $dados; if ($r->siRecurso == 0) { $this->view->desistenciaReconsideracao = true; } else { $this->view->desistenciaReconsideracao = false; $this->view->produtosReconsideracao = array(); if ($dados->siFaseProjeto == 2) { if ($dados->tpSolicitacao == 'PI' || $dados->tpSolicitacao == 'EO' || $dados->tpSolicitacao == 'OR') { $PlanoDistribuicaoProduto = new PlanoDistribuicaoProduto(); $dadosProdutos = $PlanoDistribuicaoProduto->buscarProdutosProjeto($dados->IdPRONAC); $this->view->produtosReconsideracao = $dadosProdutos; $tipoDaPlanilha = 3; // 3=Planilha Orçamentária Aprovada Ativa // if($dados->tpSolicitacao == 'EO' || $dados->tpSolicitacao == 'OR'){ // $tipoDaPlanilha = 4; // 4=Cortes Orçamentários Aprovados // } $spPlanilhaOrcamentaria = new spPlanilhaOrcamentaria(); $planilhaOrcamentaria = $spPlanilhaOrcamentaria->exec($dados->IdPRONAC, $tipoDaPlanilha); $this->view->planilhaReconsideracao = $this->montarPlanilhaOrcamentaria($planilhaOrcamentaria, $tipoDaPlanilha); } } if ($dados->tpSolicitacao == 'EN' || $dados->tpSolicitacao == 'EO' || $dados->tpSolicitacao == 'OR' || $dados->tpSolicitacao == 'PI') { $this->view->projetosENReconsideracao = $Projetos->buscaAreaSegmentoProjeto($dados->IdPRONAC); $this->view->comboareasculturaisReconsideracao = ManterAgentesDAO::buscarAreasCulturais(); $this->view->combosegmentosculturaisReconsideracao = Segmentocultural::buscarSegmento($this->view->projetosENReconsideracao->cdArea); $parecer = new Parecer(); $this->view->ParecerReconsideracao = $parecer->buscar(array('IdPRONAC = ?' => $dados->IdPRONAC, 'TipoParecer in (?)' => array(1, 7), 'stAtivo = ?' => 1))->current(); } } } if ($r->tpRecurso == 2) { $pedidoRecurso = $r->idRecurso; $dados = $tbRecurso->buscarDadosRecursos(array('idRecurso = ?' => $r->idRecurso))->current(); $this->view->dadosRecurso = $dados; if ($r->siRecurso == 0) { $this->view->desistenciaRecurso = true; } else { $this->view->desistenciaRecurso = false; if ($dados->siFaseProjeto == 2) { if ($dados->tpSolicitacao == 'PI' || $dados->tpSolicitacao == 'EO' || $dados->tpSolicitacao == 'OR') { $PlanoDistribuicaoProduto = new PlanoDistribuicaoProduto(); $dadosProdutos = $PlanoDistribuicaoProduto->buscarProdutosProjeto($dados->IdPRONAC); $this->view->produtosRecurso = $dadosProdutos; $tipoDaPlanilha = 2; // 2=Planilha Aprovada Parecerista if ($dados->tpSolicitacao == 'EO' || $dados->tpSolicitacao == 'OR') { $tipoDaPlanilha = 4; // 4=Cortes Orçamentários Aprovados } $spPlanilhaOrcamentaria = new spPlanilhaOrcamentaria(); $planilhaOrcamentaria = $spPlanilhaOrcamentaria->exec($dados->IdPRONAC, $tipoDaPlanilha); $this->view->planilhaRecurso = $this->montarPlanilhaOrcamentaria($planilhaOrcamentaria, $tipoDaPlanilha); } } if ($dados->tpSolicitacao == 'EN' || $dados->tpSolicitacao == 'EO' || $dados->tpSolicitacao == 'OR' || $dados->tpSolicitacao == 'PI') { $this->view->projetosENRecurso = $Projetos->buscaAreaSegmentoProjeto($dados->IdPRONAC); $this->view->comboareasculturaisRecurso = ManterAgentesDAO::buscarAreasCulturais(); $this->view->combosegmentosculturaisRecurso = Segmentocultural::buscarSegmento($this->view->projetosENRecurso->cdArea); $parecer = new Parecer(); $this->view->ParecerRecurso = $parecer->buscar(array('IdPRONAC = ?' => $dados->IdPRONAC, 'TipoParecer = ?' => 7, 'stAtivo = ?' => 1))->current(); } } } } } $this->view->pedidoReconsideracao = $pedidoReconsideracao; $this->view->pedidoRecurso = $pedidoRecurso; } }
public function encaminharReadequacaoChecklistAction() { if ($this->idPerfil != 93 && $this->idPerfil != 94 && $this->idPerfil != 121 && $this->idPerfil != 122 && $this->idPerfil != 123) { parent::message("Você não tem permissão para acessar essa área do sistema!", "principal", "ALERT"); } $auth = Zend_Auth::getInstance(); $idCoordenador = $auth->getIdentity()->usu_codigo; $get = Zend_Registry::get('get'); $idReadequacao = (int) $get->id; $reuniao = new Reuniao(); $raberta = $reuniao->buscarReuniaoAberta(); $idNrReuniao = $raberta['stPlenaria'] == 'A' ? $raberta['idNrReuniao'] + 1 : $raberta['idNrReuniao']; $tbReadequacaoXParecer = new tbReadequacaoXParecer(); $dadosParecer = $tbReadequacaoXParecer->buscar(array('idReadequacao=?' => $idReadequacao)); foreach ($dadosParecer as $key => $dp) { $pareceres = array(); $pareceres[$key] = $dp->idParecer; } $Parecer = new Parecer(); $parecerTecnico = $Parecer->buscar(array('IdParecer=(?)' => $pareceres), array('IdParecer'))->current(); $tbReadequacao = new tbReadequacao(); if ($parecerTecnico->ParecerFavoravel == 2) { //Se for parecer favorável, atualiza os dados solicitados na readequação $read = $tbReadequacao->buscarReadequacao(array('idReadequacao =?' => $idReadequacao))->current(); // READEQUAÇÃO DE PLANILHA ORÇAMENTÁRIA if ($read->idTipoReadequacao == 2) { $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current(); $tbPlanilhaAprovacao = new tbPlanilhaAprovacao(); //BUSCAR VALOR TOTAL DA PLANILHA ATIVA $where = array(); $where['a.IdPRONAC = ?'] = $read->idPronac; $where['a.stAtivo = ?'] = 'S'; $PlanilhaAtiva = $tbPlanilhaAprovacao->valorTotalPlanilha($where)->current(); //BUSCAR VALOR TOTAL DA PLANILHA DE READEQUADA $where = array(); $where['a.IdPRONAC = ?'] = $read->idPronac; $where['a.tpPlanilha = ?'] = 'SR'; $where['a.stAtivo = ?'] = 'N'; $PlanilhaReadequada = $tbPlanilhaAprovacao->valorTotalPlanilha($where)->current(); if ($PlanilhaAtiva->Total < $PlanilhaReadequada->Total) { $TipoAprovacao = 2; $dadosPrj->Situacao = 'D28'; } else { $TipoAprovacao = 4; $dadosPrj->Situacao = 'D29'; } $dadosPrj->save(); $AprovadoReal = number_format($PlanilhaReadequada->Total - $PlanilhaAtiva->Total, 2, '.', ''); $tbAprovacao = new Aprovacao(); $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => $TipoAprovacao, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'AprovadoReal' => $AprovadoReal, 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao); $idAprovacao = $tbAprovacao->inserir($dadosAprovacao); // READEQUAÇÃO DE ALTERAÇÃO DE RAZÃO SOCIAL } else { if ($read->idTipoReadequacao == 3) { //Se for readequação de alteração de razão social, atualiza os dados na AGENTES.dbo.Nomes. $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current(); $tbAprovacao = new Aprovacao(); $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao); $idAprovacao = $tbAprovacao->inserir($dadosAprovacao); // READEQUAÇÃO DE AGÊNCIA BANCÁRIA } else { if ($read->idTipoReadequacao == 4) { //Se for readequação de agência bancária, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $agenciaBancaria = str_replace('-', '', $read->dsSolicitacao); $tblContaBancaria = new ContaBancaria(); $arrayDadosBancarios = array('Agencia' => $agenciaBancaria, 'ContaBloqueada' => '000000000000', 'DtLoteRemessaCB' => NULL, 'LoteRemessaCB' => '00000', 'OcorrenciaCB' => '000', 'ContaLivre' => '000000000000', 'DtLoteRemessaCL' => NULL, 'LoteRemessaCL' => '00000', 'OcorrenciaCL' => '000', 'Logon' => $this->idUsuario, 'idPronac' => $read->idPronac); $whereDadosBancarios['AnoProjeto = ?'] = $dadosPrj->AnoProjeto; $whereDadosBancarios['Sequencial = ?'] = $dadosPrj->Sequencial; $tblContaBancaria->alterar($arrayDadosBancarios, $whereDadosBancarios); // READEQUAÇÃO DE SINOPSE DA OBRA } else { if ($read->idTipoReadequacao == 5) { //Se for readequação de sinopse da obra, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->Sinopse = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE IMPACTO AMBIENTAL } else { if ($read->idTipoReadequacao == 6) { //Se for readequação de impacto ambiental, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->ImpactoAmbiental = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE ESPECIFICAÇÃO TÉCNICA } else { if ($read->idTipoReadequacao == 7) { //Se for readequação de especificação técnica, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->EspecificacaoTecnica = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE ESTRATÉGIA DE EXECUÇÃO } else { if ($read->idTipoReadequacao == 8) { //Se for readequação de estratégia de execução, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->EstrategiadeExecucao = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE LOCAL DE REALIZAÇÃO } else { if ($read->idTipoReadequacao == 9) { //Se for readequação de local de realização, atualiza os dados na SAC.dbo.Abrangencia. $Abrangencia = new Abrangencia(); $tbAbrangencia = new tbAbrangencia(); $abrangencias = $tbAbrangencia->buscar(array('idReadequacao=?' => $idReadequacao)); foreach ($abrangencias as $abg) { $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); //Se não houve avalição do conselheiro, pega a avaliação técnica como referencia. $avaliacao = $abg->tpAnaliseComissao; if ($abg->tpAnaliseComissao == 'N') { $avaliacao = $abg->tpAnaliseTecnica; } //Se a avaliação foi deferida, realiza as mudanças necessárias na tabela original. if ($avaliacao == 'D') { if ($abg->tpSolicitacao == 'E') { //Se a abrangencia foi excluída, atualiza os status da abrangencia na SAC.dbo.Abrangencia $Abrangencia->delete(array('idProjeto = ?' => $dadosPrj->idProjeto, 'idPais = ?' => $abg->idPais, 'idUF = ?' => $abg->idUF, 'idMunicipioIBGE = ?' => $abg->idMunicipioIBGE)); } else { if ($abg->tpSolicitacao == 'I') { //Se a abangência foi incluída, cria um novo registro na tabela SAC.dbo.Abrangencia $novoLocalRead = array(); $novoLocalRead['idProjeto'] = $dadosPrj->idProjeto; $novoLocalRead['idPais'] = $abg->idPais; $novoLocalRead['idUF'] = $abg->idUF; $novoLocalRead['idMunicipioIBGE'] = $abg->idMunicipioIBGE; $novoLocalRead['Usuario'] = $this->idUsuario; $novoLocalRead['stAbrangencia'] = 1; $Abrangencia->salvar($novoLocalRead); } } } } $dadosAbr = array(); $dadosAbr['stAtivo'] = 'N'; $whereAbr = "idPronac = {$read->idPronac} AND idReadequacao = {$idReadequacao}"; $tbAbrangencia->update($dadosAbr, $whereAbr); // READEQUAÇÃO DE ALTERAÇÃO DE PROPONENTE } else { if ($read->idTipoReadequacao == 10) { //Se for readequação de alteração de proponente, atualiza os dados na SAC.dbo.Projetos. $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current(); $tbAprovacao = new Aprovacao(); $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao); $idAprovacao = $tbAprovacao->inserir($dadosAprovacao); // READEQUAÇÃO DE PLANO DE DISTRIBUIÇÃO } else { if ($read->idTipoReadequacao == 11) { //Se for readequação de plano de distribuição, atualiza os dados na SAC.dbo.PlanoDistribuicaoProduto. $PlanoDistribuicaoProduto = new PlanoDistribuicaoProduto(); $tbPlanoDistribuicao = new tbPlanoDistribuicao(); $planosDistribuicao = $tbPlanoDistribuicao->buscar(array('idReadequacao=?' => $idReadequacao)); foreach ($planosDistribuicao as $plano) { $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); //Se não houve avalição do conselheiro, pega a avaliação técnica como referencia. $avaliacao = $plano->tpAnaliseComissao; if ($plano->tpAnaliseComissao == 'N') { $avaliacao = $plano->tpAnaliseTecnica; } //Se a avaliação foi deferida, realiza as mudanças necessárias na tabela original. if ($avaliacao == 'D') { if ($plano->tpSolicitacao == 'E') { //Se o plano de distribuição foi excluído, atualiza os status do plano na SAC.dbo.PlanoDistribuicaoProduto $PlanoDistribuicaoProduto->delete(array('idProjeto = ?' => $dadosPrj->idProjeto, 'idProduto = ?' => $plano->idProduto, 'Area = ?' => $plano->cdArea, 'Segmento = ?' => $plano->cdSegmento)); } else { if ($plano->tpSolicitacao == 'I') { //Se o plano de distribuição foi incluído, cria um novo registro na tabela SAC.dbo.PlanoDistribuicaoProduto $novoPlanoDistRead = array(); $novoPlanoDistRead['idProjeto'] = $dadosPrj->idProjeto; $novoPlanoDistRead['idProduto'] = $plano->idProduto; $novoPlanoDistRead['Area'] = $plano->cdArea; $novoPlanoDistRead['Segmento'] = $plano->cdSegmento; $novoPlanoDistRead['idPosicaoDaLogo'] = $plano->idPosicaoLogo; $novoPlanoDistRead['QtdeProduzida'] = $plano->qtProduzida; $novoPlanoDistRead['QtdePatrocinador'] = $plano->qtPatrocinador; $novoPlanoDistRead['QtdeProponente'] = $plano->qtProponente; $novoPlanoDistRead['QtdeOutros'] = $plano->qtOutros; $novoPlanoDistRead['QtdeVendaNormal'] = $plano->qtVendaNormal; $novoPlanoDistRead['QtdeVendaPromocional'] = $plano->qtVendaPromocional; $novoPlanoDistRead['PrecoUnitarioNormal'] = $plano->vlUnitarioNormal; $novoPlanoDistRead['PrecoUnitarioPromocional'] = $plano->vlUnitarioPromocional; $novoPlanoDistRead['stPrincipal'] = 0; $novoPlanoDistRead['Usuario'] = $this->idUsuario; $novoPlanoDistRead['dsJustificativaPosicaoLogo'] = null; $novoPlanoDistRead['stPlanoDistribuicaoProduto'] = 1; $PlanoDistribuicaoProduto->inserir($novoPlanoDistRead); } } } } $dadosPDD = array(); $dadosPDD['stAtivo'] = 'N'; $wherePDD = "idPronac = {$read->idPronac} AND idReadequacao = {$idReadequacao}"; $tbPlanoDistribuicao->update($dadosPDD, $wherePDD); // READEQUAÇÃO DE NOME DO PROJETO } else { if ($read->idTipoReadequacao == 12) { //Se for readequação de nome do projeto, insere o registo na tela de Checklist de Publicação. $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current(); $tbAprovacao = new Aprovacao(); $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao); $idAprovacao = $tbAprovacao->inserir($dadosAprovacao); // READEQUAÇÃO DE PERÍODO DE EXECUÇÃO } else { if ($read->idTipoReadequacao == 13) { //Se for readequação de período de execução, atualiza os dados na SAC.dbo.Projetos. $dtFimExecucao = Data::dataAmericana($read->dsSolicitacao); $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current(); $dadosPrj->DtFimExecucao = $dtFimExecucao; $dadosPrj->save(); // READEQUAÇÃO DE PLANO DE DIVULGAÇÃO } else { if ($read->idTipoReadequacao == 14) { //Se for readequação de plano de divulgacao, atualiza os dados na SAC.dbo.PlanoDeDivulgacao. $PlanoDeDivulgacao = new PlanoDeDivulgacao(); $tbPlanoDivulgacao = new tbPlanoDivulgacao(); $planosDivulgacao = $tbPlanoDivulgacao->buscar(array('idReadequacao=?' => $idReadequacao)); foreach ($planosDivulgacao as $plano) { $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); //Se não houve avalição do conselheiro, pega a avaliação técnica como referencia. $avaliacao = $plano->tpAnaliseComissao; if ($plano->tpAnaliseComissao == 'N') { $avaliacao = $plano->tpAnaliseTecnica; } //Se a avaliação foi deferida, realiza as mudanças necessárias na tabela original. if ($avaliacao == 'D') { if ($plano->tpSolicitacao == 'E') { //Se o plano de divulgação foi excluído, atualiza os status do plano na SAC.dbo.PlanoDeDivulgacao $PlanoDivulgacaoEmQuestao = $PlanoDeDivulgacao->buscar(array('idProjeto = ?' => $dadosPrj->idProjeto, 'idPeca = ?' => $plano->idPeca, 'idVeiculo = ?' => $plano->idVeiculo))->current(); $tbLogomarca = new tbLogomarca(); $dadosLogomarcaDaDivulgacao = $tbLogomarca->buscar(array('idPlanoDivulgacao = ?' => $PlanoDivulgacaoEmQuestao->idPlanoDivulgacao))->current(); $dadosLogomarcaDaDivulgacao->delete(); $PlanoDivulgacaoEmQuestao->delete(); } else { if ($plano->tpSolicitacao == 'I') { //Se o plano de divulgação foi incluído, cria um novo registro na tabela SAC.dbo.PlanoDeDivulgacao $novoPlanoDivRead = array(); $novoPlanoDivRead['idProjeto'] = $dadosPrj->idProjeto; $novoPlanoDivRead['idPeca'] = $plano->idPeca; $novoPlanoDivRead['idVeiculo'] = $plano->idVeiculo; $novoPlanoDivRead['Usuario'] = $this->idUsuario; $novoPlanoDivRead['siPlanoDeDivulgacao'] = 0; $novoPlanoDivRead['idDocumento'] = null; $novoPlanoDivRead['stPlanoDivulgacao'] = 1; $PlanoDeDivulgacao->inserir($novoPlanoDivRead); } } } } $dadosPDD = array(); $dadosPDD['stAtivo'] = 'N'; $wherePDD = "idPronac = {$read->idPronac} AND idReadequacao = {$idReadequacao}"; $tbPlanoDivulgacao->update($dadosPDD, $wherePDD); // READEQUAÇÃO DE RESUMO DO PROJETO } else { if ($read->idTipoReadequacao == 15) { //Se for readequação de resumo do projeto, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current(); $tbAprovacao = new Aprovacao(); $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao); $idAprovacao = $tbAprovacao->inserir($dadosAprovacao); // READEQUAÇÃO DE OBJETIVOS } else { if ($read->idTipoReadequacao == 16) { //Se for readequação de objetivos, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->Objetivos = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE JUSTIFICATIVA } else { if ($read->idTipoReadequacao == 17) { //Se for readequação de justificativa, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->Justificativa = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE ACESSIBILIDADE } else { if ($read->idTipoReadequacao == 18) { //Se for readequação de acesibilidade, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->Acessibilidade = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE DEMOCRATIZAÇÃO DE ACESSO } else { if ($read->idTipoReadequacao == 19) { //Se for readequação de democratização de acesso, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->DemocratizacaoDeAcesso = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE ETAPAS DE TRABALHO } else { if ($read->idTipoReadequacao == 20) { //Se for readequação de etapas de trabalho, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->EtapaDeTrabalho = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE FICHA TÉCNICA } else { if ($read->idTipoReadequacao == 21) { //Se for readequação de ficha técnica, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->FichaTecnica = $read->dsSolicitacao; $dadosPreProjeto->save(); } } } } } } } } } } } } } } } } } } } } } //Atualiza a tabela tbReadequacao $dados = array(); $dados['siEncaminhamento'] = 15; //Finalizam sem a necessidade de passar pela publicação no DOU. $dados['stEstado'] = 1; $tiposParaChecklist = array(2, 3, 10, 12, 15); if (in_array($read->idTipoReadequacao, $tiposParaChecklist)) { $dados['siEncaminhamento'] = 9; //Encaminhado pelo sistema para o Checklist de Publicação $dados['stEstado'] = 0; } $dados['idNrReuniao'] = $idNrReuniao; $where = "idReadequacao = {$idReadequacao}"; $return = $tbReadequacao->update($dados, $where); //Atualiza a tabela tbDistribuirReadequacao $dados = array(); $dados['stValidacaoCoordenador'] = 1; $dados['DtValidacaoCoordenador'] = new Zend_Db_Expr('GETDATE()'); $dados['idCoordenador'] = $idCoordenador; $where = "idReadequacao = {$idReadequacao}"; $tbDistribuirReadequacao = new tbDistribuirReadequacao(); $return2 = $tbDistribuirReadequacao->update($dados, $where); if (!$return && !$return2) { parent::message("Não foi possível encaminhar a readequação para o Checklist de Publicação", "readequacoes/painel?tipoFiltro=analisados", "ERROR"); } parent::message("Readequação encaminhada com sucesso!", "readequacoes/painel?tipoFiltro=analisados", "CONFIRM"); }