/** * 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 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"); } }
public function componenteComissaoSalvarAvaliacaoAction() { if ($this->idPerfil != 118) { parent::message("Você não tem permissão para acessar essa área do sistema!", "principal", "ALERT"); } $idPronac = $_POST['idPronac']; $idReadequacao = $_POST['idReadequacao']; $parecerProjeto = $_POST['parecerProjeto']; $dsParecer = $_POST['dsParecer']; $campoTipoParecer = 8; $vlPlanilha = 0; $tbReadequacao = new tbReadequacao(); $dadosRead = $tbReadequacao->buscar(array('idReadequacao=?' => $idReadequacao))->current(); //SE FOR READEQUAÇÃO DE PLANILHA ORÇAMENTÁRIA, O CAMPO TipoParecer DA TABELA SAC.dbo.Parecer MUDARÁ. if ($dadosRead->idTipoReadequacao == 2) { $tbPlanilhaAprovacao = new tbPlanilhaAprovacao(); //BUSCAR VALOR TOTAL DA PLANILHA ATIVA $where = array(); $where['a.IdPRONAC = ?'] = $idPronac; $where['a.stAtivo = ?'] = 'S'; $PlanilhaAtiva = $tbPlanilhaAprovacao->valorTotalPlanilha($where)->current(); //BUSCAR VALOR TOTAL DA PLANILHA DE READEQUADA $where = array(); $where['a.IdPRONAC = ?'] = $idPronac; $where['a.tpPlanilha = ?'] = 'SR'; $where['a.stAtivo = ?'] = 'N'; $PlanilhaReadequada = $tbPlanilhaAprovacao->valorTotalPlanilha($where)->current(); if ($PlanilhaAtiva->Total > $PlanilhaReadequada->Total) { $vlPlanilha = $PlanilhaAtiva->Total - $PlanilhaReadequada->Total; $campoTipoParecer = 4; } else { $vlPlanilha = $PlanilhaReadequada->Total - $PlanilhaAtiva->Total; $campoTipoParecer = 2; } } try { $Projetos = new Projetos(); $enquadramentoDAO = new Enquadramento(); $buscaEnquadramento = $enquadramentoDAO->buscarDados($idPronac, null, false); $dadosProjeto = $Projetos->buscar(array('IdPRONAC = ?' => $idPronac)); if (count($dadosProjeto) > 0) { //CADASTRA OU ATUALIZA O PARECER DO TECNICO $parecerDAO = new Parecer(); $dadosParecer = array('idPRONAC' => $idPronac, 'AnoProjeto' => $dadosProjeto[0]->AnoProjeto, 'Sequencial' => $dadosProjeto[0]->Sequencial, 'TipoParecer' => $campoTipoParecer, 'ParecerFavoravel' => $parecerProjeto, 'DtParecer' => new Zend_Db_Expr("GETDATE()"), 'NumeroReuniao' => null, 'ResumoParecer' => $dsParecer, 'SugeridoReal' => $vlPlanilha, 'Atendimento' => 'S', 'idEnquadramento' => $buscaEnquadramento['IdEnquadramento'], 'stAtivo' => 1, 'idTipoAgente' => 6, 'Logon' => $this->idUsuario); foreach ($dadosParecer as $dp) { $parecerAntigo = array('Atendimento' => 'S', 'stAtivo' => 0); $whereUpdateParecer = 'IdPRONAC = ' . $idPronac; $alteraParecer = $parecerDAO->alterar($parecerAntigo, $whereUpdateParecer); } $tbReadequacaoXParecer = new tbReadequacaoXParecer(); $buscarParecer = $tbReadequacaoXParecer->buscarPareceresReadequacao(array('a.idReadequacao = ?' => $idReadequacao, 'b.idTipoAgente =?' => 6))->current(); if ($buscarParecer) { $whereUpdateParecer = 'IdParecer = ' . $buscarParecer->IdParecer; $parecerDAO->alterar($dadosParecer, $whereUpdateParecer); $idParecer = $buscarParecer->IdParecer; } else { $idParecer = $parecerDAO->inserir($dadosParecer); } $tbReadequacaoXParecer = new tbReadequacaoXParecer(); $parecerReadequacao = $tbReadequacaoXParecer->buscar(array('idReadequacao = ?' => $idReadequacao, 'idParecer =?' => $idParecer)); if (count($parecerReadequacao) == 0) { $dadosInclusao = array('idReadequacao' => $idReadequacao, 'idParecer' => $idParecer); $tbReadequacaoXParecer->inserir($dadosInclusao); } } if (isset($_POST['finalizarAvaliacao']) && $_POST['finalizarAvaliacao'] == 1) { $tbDistribuirReadequacao = new tbDistribuirReadequacao(); $dDP = $tbDistribuirReadequacao->buscar(array('idReadequacao = ?' => $idReadequacao, 'idUnidade =?' => 400, 'idAvaliador=?' => $this->idUsuario)); if (count($dDP) > 0) { //ATUALIZA A TABELA tbDistribuirReadequacao $dadosDP = array(); $dadosDP['DtRetornoAvaliador'] = new Zend_Db_Expr('GETDATE()'); $whereDP = "idDistribuirReadequacao = " . $dDP[0]->idDistribuirReadequacao; $x = $tbDistribuirReadequacao->update($dadosDP, $whereDP); $reuniao = new Reuniao(); $raberta = $reuniao->buscarReuniaoAberta(); $idNrReuniao = $raberta['stPlenaria'] == 'A' ? $raberta['idNrReuniao'] + 1 : $raberta['idNrReuniao']; $read = $tbReadequacao->buscarReadequacao(array('idReadequacao =?' => $idReadequacao))->current(); $stEstado = 0; if ($_POST['plenaria']) { $campoSiEncaminhamento = 8; // 8=Enviado à Plenária } else { $campoSiEncaminhamento = 9; // 9=Enviado para Checklist Publicação if (!in_array($read->idTipoReadequacao, array(2, 3, 10, 12, 15))) { $campoSiEncaminhamento = 15; // 15=Finaliza a readequação sem a necessidade de enviar para publicação no DOU. $stEstado = 1; } } //ATUALIZA A TABELA tbReadequacao $dados = array(); $dados['siEncaminhamento'] = $campoSiEncaminhamento; // Devolvido da análise técnica $dados['idNrReuniao'] = $idNrReuniao; $dados['stEstado'] = $stEstado; if ($parecerProjeto == 2) { $dados['stAnalise'] = 'AC'; } else { $dados['stAnalise'] = 'IC'; } $where = "idReadequacao = {$idReadequacao}"; $tbReadequacao = new tbReadequacao(); $tbReadequacao->update($dados, $where); if ($campoSiEncaminhamento != 8) { if ($parecerProjeto == 2) { //Se for parecer favorável, atualiza os dados solicitados na readequação // 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.// READEQUAÇÃO DE ALTERAÇÃO DE RAZÃO SOCIAL $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 tbDistribuirReadequacao $dados = array(); $dados['stValidacaoCoordenador'] = 1; $dados['DtValidacaoCoordenador'] = new Zend_Db_Expr('GETDATE()'); $dados['idCoordenador'] = $this->idUsuario; $where = "idReadequacao = {$idReadequacao}"; $tbDistribuirReadequacao = new tbDistribuirReadequacao(); $tbDistribuirReadequacao->update($dados, $where); } parent::message("A avaliação da readequação foi finalizada com sucesso!", "readequacoes/analisar-readequacoes-cnic", "CONFIRM"); } else { parent::message("Erro ao avaliar a readequação!", "form-avaliar-readequacao-cnic?id={$idReadequacao}", "ERROR"); } } $idReadequacao = Seguranca::encrypt($idReadequacao); parent::message("Dados salvos com sucesso!", "readequacoes/form-avaliar-readequacao-cnic?id={$idReadequacao}", "CONFIRM"); } catch (Exception $e) { parent::message($e->getMessage(), "readequacoes/form-avaliar-readequacao-cnic?id={$idReadequacao}", "ERROR"); } }