public function indexAction() { $auth = Zend_Auth::getInstance(); // pega a autenticação $Usuario = new Usuario(); // objeto usuário $idagente = $Usuario->getIdUsuario($auth->getIdentity()->usu_codigo); $idagente = $idagente['idAgente']; // caso o formulário seja enviado via post // atualiza a planilha if ($this->getRequest()->isPost()) { // recebe os dados via post $post = Zend_Registry::get('post'); $idPronac = $post->idPronac; $justificativa = $post->justificativa; $TipoAprovacao = $post->aprovacao; try { // valida os campos if (empty($justificativa) || $justificativa == "Digite a justificativa...") { throw new Exception("Por favor, informe a justificativa!"); } else { if (strlen($justificativa) < 20) { throw new Exception("A justificativa deve conter no m�nimo 20 caracteres!"); } else { // verifica se já está na pauta $projetos = new Projetos(); $reuniao = new Reuniao(); $diligencia = new Diligencia(); $idReuniao = $reuniao->buscarReuniaoAberta(); $idReuniao = $idReuniao['idNrReuniao']; $dadosDiligencia = array('idPronac' => $idPronac, 'idTipoDiligencia' => 126, 'DtSolicitacao' => date('Y-m-d H:i:s'), 'Solicitacao' => TratarString::escapeString($justificativa), 'idSolicitante' => $idagente); $gravarDiligiencia = $diligencia->inserirDiligencia($dadosDiligencia); $dadosAltProjetos = array('Situacao' => 'C30'); $whereAltProjetos = "IdPRONAC = {$idPronac}"; $alterarSituacao = $projetos->alterar($dadosAltProjetos, $whereAltProjetos); $this->_redirect('areadetrabalho/index'); } } // fecha else } catch (Exception $e) { parent::message($e->getMessage(), "diligenciarproponente/index", "ERROR"); } } else { // recebe os dados via get $idpronac = $this->_request->getParam("idpronac"); // dados via get try { // busca o pronac $pronac = ProjetoDAO::buscarPronac($idpronac); $buscarPronac = ProjetoDAO::buscar($pronac['pronac']); // valida��o if (empty($pronac)) { throw new Exception("Por favor, clique no Pronac Aguardando An�lise!"); } else { $diligencia = new Diligencia(); $respostaDiligencia = $diligencia->buscar(array('idPronac = ?' => $idpronac)); // xd($respostaDiligencia); // manda os dados para a visão //$this->view->buscar = $buscar; $this->view->pronac = $buscarPronac; $this->view->idpronac = $idpronac; $this->view->Respostas = $respostaDiligencia->count() > 0 ? $respostaDiligencia : false; //------------------------------------------------------------------------------------------------------------- $reuniao = new Reuniao(); $ConsultaReuniaoAberta = $reuniao->buscar(array("stEstado = ?" => 0)); if ($ConsultaReuniaoAberta->count() > 0) { $ConsultaReuniaoAberta = $ConsultaReuniaoAberta->current()->toArray(); $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) { parent::message($e->getMessage(), "diligenciarproponente/index", "ERROR"); } } // fecha else }
/** * 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 finalizageralAction() { //idAcaoAvaliacaoItemPedidoAlteracao da Tabela BDCORPORATIVO.scSAC.tbAcaoAvaliacaoItemPedidoAlteracao $idAcao = $_GET['id']; // $new = new tbProposta(); // $ss = $new->finalizarReadequacaoDeProposta('119720'); // xd($ss); //retorna o id do agente logado $idAgenteRemetente = $this->getIdUsuario; $idPerfilRemetente = $this->codGrupo; $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; //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; //ATUALIZA O CAMPO stVerificacao NA TABELA tbPedidoAlteracaoXTipoAlteracao $sqlfin4 = ReadequacaoProjetos::retornaSQLfinalizaGeral4($idPedidoAlt, $tpAlt); $dados = $db->fetchAll($sqlfin4); //CRIAR NOVO REGISTRO DE ENCAMINHAMENTO NA TABELA tbAcaoAvaliacaoItemPedidoAlteracao if (!isset($_GET['checklist'])) { $sqlfin5 = ReadequacaoProjetos::retornaSQLfinalizaGeral5($id, $idOrgao, $idAgenteRemetente, $idPerfilRemetente); $dados = $db->fetchAll($sqlfin5); } //BUSCA O IDPRONAC DA TABELA tbPedidoAlteracaoProjeto $sqlfin6 = ReadequacaoProjetos::retornaSQLfinalizaGeral6($idPedidoAlt); $dados = $db->fetchAll($sqlfin6); $idPronac = $dados[0]->IdPRONAC; //Verifica se possui item de custo NA TABELA tbPedidoAlteracaoXTipoAlteracao if ($tpAlt == 7) { $sqlfin7 = ReadequacaoProjetos::retornaSQLfinalizaGeral7($idPedidoAlt); $itens = $db->fetchAll($sqlfin7); if (count($itens) == 2) { $tpAlt = 10; } } $auth = Zend_Auth::getInstance(); // pega a autenticação $agente = GerenciarPautaReuniaoDAO::consultaAgenteUsuario($auth->getIdentity()->usu_codigo); $idagente = $agente['idAgente']; if ($stAvaliacaoItem == 'AP') { if ($tpAlt == 1 && isset($_GET['checklist'])) { //NOME DO PROPONENTE $NomeProponenteSolicitado = PedidoAlteracaoDAO::buscarAlteracaoNomeProponente($idPronac); $proponente = new Interessado(); $dados = array('Nome' => mb_convert_case(strtolower($NomeProponenteSolicitado['proponente']), MB_CASE_TITLE, "ISO-8859-1")); $proponente->alterar($dados, array('CgcCpf = ?' => $NomeProponenteSolicitado['CgcCpf'])); } else { if ($tpAlt == 2 && isset($_GET['checklist'])) { //TROCA DE PROPONENTE $trocaProponenteAtual = VerificarAlteracaoProjetoDAO::BuscarDadosGenericos($idPronac); $NomeAtual = $trocaProponenteAtual['proponente']; $CpfCnpjAtual = $trocaProponenteAtual['CgcCpf']; $idNome = $trocaProponenteAtual['idNome']; $trocaProponenteSolicitada = PedidoAlteracaoDAO::buscarAlteracaoRazaoSocial($idPronac); $NomeSolicitado = $trocaProponenteSolicitada['nmRazaoSocial']; $CpfCnpjSolicitado = $trocaProponenteSolicitada['CgcCpf']; // altera o cpf do proponente $_Projetos = new Projetos(); $_alterarProponente = $_Projetos->alterar(array('CgcCpf' => $CpfCnpjSolicitado), array('IdPRONAC = ?' => $idPronac)); // altera o nome do proponente $_Nomes = new Nomes(); $_alterarNome = $_Nomes->alterar(array('Descricao' => $NomeSolicitado), array('idNome = ?' => $idNome)); $proponente = new Interessado(); $dados = array('Nome' => mb_convert_case(strtolower($NomeSolicitado), MB_CASE_TITLE, "ISO-8859-1")); $proponente->alterar($dados, array('CgcCpf = ?' => $CpfCnpjSolicitado)); /** * ============================================================== * INICIO DA ATUALIZACAO DO VINCULO DO PROPONENTE * ============================================================== */ $Projetos = new Projetos(); $Agentes = new Agentes(); $Visao = new Visao(); $tbVinculo = new TbVinculo(); $tbVinculoProposta = new tbVinculoProposta(); /* ========== BUSCA OS DADOS DO PROPONENTE ANTIGO ========== */ $buscarCpfProponenteAntigo = $Projetos->buscar(array('IdPRONAC = ?' => $idPronac)); $cpfProponenteAntigo = count($buscarCpfProponenteAntigo) > 0 ? $buscarCpfProponenteAntigo[0]->CgcCpf : 0; $buscarIdProponenteAntigo = $Agentes->buscar(array('CNPJCPF = ?' => $cpfProponenteAntigo)); $idProponenteAntigo = count($buscarIdProponenteAntigo) > 0 ? $buscarIdProponenteAntigo[0]->idAgente : 0; $idPreProjetoVinculo = count($buscarCpfProponenteAntigo) > 0 ? $buscarCpfProponenteAntigo[0]->idProjeto : 0; /* ========== BUSCA OS DADOS DO NOVO PROPONENTE ========== */ $buscarNovoProponente = $Agentes->buscar(array('CNPJCPF = ?' => $CpfCnpjSolicitado)); $idNovoProponente = count($buscarNovoProponente) > 0 ? $buscarNovoProponente[0]->idAgente : 0; $buscarVisao = $Visao->buscar(array('Visao = ?' => 144, 'idAgente = ?' => $idNovoProponente)); /* ========== BUSCA OS DADOS DA PROPOSTA VINCULADA ========== */ $idVinculo = $tbVinculoProposta->buscar(array('idPreProjeto = ?' => $idPreProjetoVinculo)); /* ========== ATUALIZA O VINCULO DO PROPONENTE ========== */ if (count($buscarVisao) > 0 && count($idVinculo) > 0) { $whereVinculo = array('idVinculo = ?' => $idVinculo[0]->idVinculo); $dadosVinculo = array('idAgenteProponente' => $idNovoProponente, 'dtVinculo' => new Zend_Db_Expr('GETDATE()')); $tbVinculo->alterar($dadosVinculo, $whereVinculo); } else { parent::message("O usuário informado não é Proponente ou o Projeto não está vinculado a uma Proposta!", "verificarreadequacaodeprojeto/verificarreadequacaodeprojetocoordacompanhamento", "ERROR"); } /** * ============================================================== * FIM DA ATUALIZACAO DO VINCULO DO PROPONENTE * ============================================================== */ } else { if ($tpAlt == 3) { //FICHA TÉCNICA $fichatecAtual = FichaTecnicaDAO::buscarFichaTecnicaFinal($idPronac, $idPedidoAlt); $Atual = $fichatecAtual[0]->FichaTecnica; $idPreProjeto = $fichatecAtual[0]->idPreProjeto; $fichatecSolicitada = PedidoAlteracaoDAO::buscarAlteracaoFichaTecnicaFinal($idPronac, $idPedidoAlt); $Solicitada = $fichatecSolicitada[0]['dsFichaTecnica']; $avaliacao = ReadequacaoProjetos::finalizacaoCoordAcomp("SAC.dbo.PreProjeto", "FichaTecnica", $Solicitada, "idPreProjeto", $idPreProjeto); $result = $db->fetchAll($avaliacao); } else { if ($tpAlt == 4) { //LOCAL DE REALIZAÇÃO $local = ProjetoDAO::buscarPronac($idPronac); $idProjeto = $local['idProjeto']; $dadosTbAbran = tbAbrangenciaDAO::buscarDadosTbAbrangencia(null, $id); foreach ($dadosTbAbran as $x) { if (trim($x->tpAcao) == 'I') { $dados = array('idProjeto' => $idProjeto, 'idPais' => $x->idPais, 'idUF' => $x->idUF, 'idMunicipioIBGE' => $x->idMunicipioIBGE, 'Usuario' => $idagente, 'stAbrangencia' => '1'); //if (count(AbrangenciaDAO::verificarLocalRealizacao($idProjeto, $x->idMunicipioIBGE)) <= 0) : $local = AbrangenciaDAO::cadastrar($dados); //endif; //print_r($local); } else { if (trim($x->tpAcao) == 'E') { // altera o status dos locais excluídos $Abrangencia = new Abrangencia(); $Abrangencia->update(array('stAbrangencia' => 0), array('idAbrangencia = ?' => $x->idAbrangenciaAntiga)); //$_local = AbrangenciaDAO::buscarAbrangenciasAtuais($idProjeto, $x->idPais, $x->idUF, $x->idMunicipioIBGE); //$__local = AbrangenciaDAO::excluir($_local[0]->idAbrangencia); } } } } else { if ($tpAlt == 5 && isset($_GET['checklist'])) { //NOME DO PROJETO $Projetos = new Projetos(); $DadosAlteracaoNomeProjeto = PedidoAlteracaoDAO::buscarAlteracaoNomeProjeto($idPronac); $dados = array('NomeProjeto' => $DadosAlteracaoNomeProjeto['nmProjeto']); $Projetos->alterar($dados, array('IdPRONAC = ?' => $idPronac)); } else { if ($tpAlt == 6) { //PROPOSTA PEDAGÓGICA $sqlproposta = ReadequacaoProjetos::retornaSQLproposta("sqlpropostafinalizar", $idPronac); $dadosSolicitado = $db->fetchAll($sqlproposta); $Projeto = new Projetos(); $DadosProj = $Projeto->buscar(array('IdPRONAC = ?' => $idPronac)); if (count($DadosProj) > 0 && !empty($DadosProj[0]->idProjeto)) { $PreProjeto = new PreProjeto(); $dados = array('EstrategiadeExecucao' => $dadosSolicitado[0]['dsEstrategiaExecucao'], 'EspecificacaoTecnica' => $dadosSolicitado[0]['dsEspecificacaoSolicitacao']); PreProjeto::alterarDados($dados, array('idPreProjeto = ?' => $DadosProj[0]->idProjeto)); } } else { if ($tpAlt == 7) { $tbPlanoDistribuicao = new tbPlanoDistribuicao(); $produtosAnalisadosDeferidos = $tbPlanoDistribuicao->produtosAvaliadosReadequacao($idPedidoAlt, $id); foreach ($produtosAnalisadosDeferidos as $valores) { $Projeto = new Projetos(); $DadosProj = $Projeto->buscar(array('IdPRONAC = ?' => $idPronac)); $dadosProduto = array('idPlanoDistribuicao' => $valores->idPlanoDistribuicao, 'idProjeto' => $DadosProj[0]->idProjeto, 'idProduto' => $valores->idProduto, 'Area' => $valores->cdArea, 'Segmento' => $valores->cdSegmento, 'idPosicaoDaLogo' => $valores->idPosicaoLogo, 'QtdeProduzida' => $valores->qtProduzida, 'QtdePatrocinador' => $valores->qtPatrocinador, 'QtdeProponente' => NULL, 'QtdeOutros' => $valores->qtOutros, 'QtdeVendaNormal' => $valores->qtVendaNormal, 'QtdeVendaPromocional' => $valores->qtVendaPromocional, 'PrecoUnitarioNormal' => $valores->vlUnitarioNormal, 'PrecoUnitarioPromocional' => $valores->vlUnitarioPromocional, 'stPrincipal' => $valores->stPrincipal, 'stPlanoDistribuicaoProduto' => 1); //ALTERA OU INSERE O PLANO DE DISTRIBUICAO $PlanoDistribuicao = new PlanoDistribuicao(); $x = $PlanoDistribuicao->salvar($dadosProduto); } } else { if ($tpAlt == 8 && isset($_GET['checklist'])) { //PRORROGACAO DE PRAZOS - CAPTACAO $datas = PedidoAlteracaoDAO::buscarAlteracaoPrazoCaptacao($idPronac); $Projeto = new Projetos(); $DadosProj = $Projeto->buscar(array('IdPRONAC = ?' => $idPronac)); $Aprovacao = new Aprovacao(); $registro = $Aprovacao->buscar(array('AnoProjeto = ?' => $DadosProj[0]->AnoProjeto, 'Sequencial = ?' => $DadosProj[0]->Sequencial)); $dados = array('IdPRONAC' => $idPronac, 'AnoProjeto' => $DadosProj[0]->AnoProjeto, 'Sequencial' => $DadosProj[0]->Sequencial, 'TipoAprovacao' => 3, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'DtInicioCaptacao' => $datas['dtInicioNovoPrazo'], 'DtFimCaptacao' => $datas['dtFimNovoPrazo'], 'Logon' => $idagente); $Aprovacao->inserir($dados); } else { if ($tpAlt == 9 && isset($_GET['checklist'])) { //PRORROGACAO DE PRAZOS - EXECUCAO $datas = PedidoAlteracaoDAO::buscarAlteracaoPrazoExecucao($idPronac); $projetos = new Projetos(); $dados = array('DtInicioExecucao' => $datas['dtInicioNovoPrazo'], 'DtFimExecucao' => $datas['dtFimNovoPrazo']); $projetos->alterar($dados, array('IdPRONAC = ?' => $idPronac)); } else { if ($tpAlt == 10) { $tbPlanoDistribuicao = new tbPlanoDistribuicao(); $produtosAnalisadosDeferidos = $tbPlanoDistribuicao->produtosAvaliadosReadequacao($idPedidoAlt, $id); foreach ($produtosAnalisadosDeferidos as $valores) { $Projeto = new Projetos(); $DadosProj = $Projeto->buscar(array('IdPRONAC = ?' => $idPronac)); $dadosProduto = array('idPlanoDistribuicao' => $valores->idPlanoDistribuicao, 'idProjeto' => $DadosProj[0]->idProjeto, 'idProduto' => $valores->idProduto, 'Area' => $valores->cdArea, 'Segmento' => $valores->cdSegmento, 'idPosicaoDaLogo' => $valores->idPosicaoLogo, 'QtdeProduzida' => $valores->qtProduzida, 'QtdePatrocinador' => $valores->qtPatrocinador, 'QtdeProponente' => NULL, 'QtdeOutros' => $valores->qtOutros, 'QtdeVendaNormal' => $valores->qtVendaNormal, 'QtdeVendaPromocional' => $valores->qtVendaPromocional, 'PrecoUnitarioNormal' => $valores->vlUnitarioNormal, 'PrecoUnitarioPromocional' => $valores->vlUnitarioPromocional, 'stPrincipal' => $valores->stPrincipal, 'stPlanoDistribuicaoProduto' => 1); //ALTERA OU INSERE O PLANO DE DISTRIBUICAO $PlanoDistribuicao = new PlanoDistribuicao(); $x = $PlanoDistribuicao->salvar($dadosProduto); } // PRODUTO + ITEN DE CUSTO $planilhaProposta = new PlanilhaProposta(); $planilhaProjeto = new PlanilhaProjeto(); $DeParaPlanilhaAprovacao = new DeParaPlanilhaAprovacao(); $Projetos = new Projetos(); $planilha = new PlanilhaAprovacao(); $PlanilhasSolicitadas = $planilha->buscar(array('IdPRONAC = ?' => $idPronac, 'tpPlanilha = ?' => 'PA')); $buscarProjeto = $Projetos->buscar(array('IdPRONAC = ?' => $idPronac)); foreach ($PlanilhasSolicitadas as $dadosP) { if (!empty($dadosP->idPedidoAlteracao)) { // busca a ação a ser executada conforme solicitação de readequação //$_idPlanilhaProjeto = empty($dadosP->idPlanilhaProjeto) ? ('idPlanilhaProjeto ? ' => new Zend_Db_Expr('IS NULL')) : ('idPlanilhaProjeto = ? ' => $dadosP->idPlanilhaProjeto); //$_idPlanilhaProposta = empty($dadosP->idPlanilhaProposta) ? ('idPlanilhaProposta ? ' => new Zend_Db_Expr('IS NULL')) : ('idPlanilhaProposta = ? ' => $dadosP->idPlanilhaProposta); //$_idPlanilhaAprovacaoPai = empty($dadosP->idPlanilhaAprovacaoPai) ? ('idPlanilhaAprovacaoPai ? ' => new Zend_Db_Expr('IS NULL')) : ('idPlanilhaAprovacaoPai = ? ' => $dadosP->idPlanilhaAprovacaoPai); $_dados = array('IdPRONAC = ?' => $idPronac, 'tpPlanilha = ?' => 'SR', 'IdPRONAC = ?' => $idPronac, 'idPedidoAlteracao = ? ' => $dadosP->idPedidoAlteracao); $buscarTpAcaoSR = $planilha->buscar($_dados); if (count($buscarTpAcaoSR) > 0 && !empty($buscarProjeto[0]->idProjeto)) { // EXCLUSÃO if ($buscarTpAcaoSR[0]->tpAcao == 'E') { // planilha antiga $idProjeto = $buscarProjeto[0]->idProjeto; $dadosAprovados = $planilhaProposta->buscar(array('idProjeto = ?' => $idProjeto, 'idProduto = ?' => $dadosP->idProduto, 'idEtapa = ?' => $dadosP->idEtapa, 'idPlanilhaItem = ?' => $dadosP->idPlanilhaItem)); foreach ($dadosAprovados as $dadosExculsao) { $buscarDeParaPlanilhaAprovacao = $DeParaPlanilhaAprovacao->buscarPlanilhaProposta($dadosExculsao->idPlanilhaProposta); foreach ($buscarDeParaPlanilhaAprovacao as $b) { $DeParaPlanilhaAprovacao->delete(array('idPlanilhaAprovacao = ?' => $b->idPlanilhaAprovacao)); } $planilha->delete(array('idPlanilhaProposta = ?' => $dadosExculsao->idPlanilhaProposta)); $planilhaProjeto->delete(array('idPlanilhaProposta = ?' => $dadosExculsao->idPlanilhaProposta)); $planilhaProposta->delete(array('idPlanilhaProposta = ?' => $dadosExculsao->idPlanilhaProposta)); } // ALTERAÇÃO } elseif ($buscarTpAcaoSR[0]->tpAcao == 'A') { // planilha antiga $idProjeto = $buscarProjeto[0]->idProjeto; $dadosAprovados = $planilhaProposta->buscar(array('idProjeto = ?' => $idProjeto, 'idProduto = ?' => $dadosP->idProduto, 'idEtapa = ?' => $dadosP->idEtapa, 'idPlanilhaItem = ?' => $dadosP->idPlanilhaItem)); foreach ($dadosAprovados as $dadosAlteracao) { $where = array('idPlanilhaProposta = ?' => $dadosAlteracao->idPlanilhaProposta); $dados = array('idProduto' => $dadosP->idProduto, 'idEtapa' => $dadosP->idEtapa, 'idPlanilhaItem' => $dadosP->idPlanilhaItem, 'Descricao' => $dadosP->dsItem, 'Unidade' => $dadosP->idUnidade, 'Quantidade' => $dadosP->qtItem, 'Ocorrencia' => $dadosP->nrOcorrencia, 'ValorUnitario' => $dadosP->vlUnitario, 'QtdeDias' => $dadosP->qtDias, 'TipoDespesa' => $dadosP->tpDespesa, 'TipoPessoa' => $dadosP->tpPessoa, 'Contrapartida' => $dadosP->nrContraPartida, 'FonteRecurso' => $dadosP->nrFonteRecurso, 'UfDespesa' => $dadosP->idUFDespesa, 'MunicipioDespesa' => $dadosP->idMunicipioDespesa, 'idUsuario' => $dadosP->idAgente, 'dsJustificativa' => $dadosP->dsJustificativa); $planilhaProposta->alterar($dados, $where); } $planilha->update(array('tpPlanilha' => 'CO', 'stAtivo' => 'N'), array('idPlanilhaAprovacao = ? ' => $dadosP->idPlanilhaAprovacao)); $planilha->update(array('tpPlanilha' => 'CO', 'stAtivo' => 'N'), array('idPlanilhaAprovacao = ? ' => $buscarTpAcaoSR[0]->idPlanilhaAprovacao)); // INCLUSÃO } elseif ($buscarTpAcaoSR[0]->tpAcao == 'I') { // planilha antiga $ReplicaDados = array('idProjeto' => $buscarProjeto[0]->idProjeto, 'idProduto' => $dadosP->idProduto, 'idEtapa' => $dadosP->idEtapa, 'idPlanilhaItem' => $dadosP->idPlanilhaItem, 'Descricao' => $dadosP->dsItem, 'Unidade' => $dadosP->idUnidade, 'Quantidade' => $dadosP->qtItem, 'Ocorrencia' => $dadosP->nrOcorrencia, 'ValorUnitario' => $dadosP->vlUnitario, 'QtdeDias' => $dadosP->qtDias, 'TipoDespesa' => $dadosP->tpDespesa, 'TipoPessoa' => $dadosP->tpPessoa, 'Contrapartida' => $dadosP->nrContraPartida, 'FonteRecurso' => $dadosP->nrFonteRecurso, 'UfDespesa' => $dadosP->idUFDespesa, 'MunicipioDespesa' => $dadosP->idMunicipioDespesa, 'idUsuario' => $dadosP->idAgente, 'dsJustificativa' => $dadosP->dsJustificativa); $planilhaProposta->inserir($ReplicaDados); $planilha->update(array('tpPlanilha' => 'CO', 'stAtivo' => 'N'), array('idPlanilhaAprovacao = ? ' => $dadosP->idPlanilhaAprovacao)); $planilha->update(array('tpPlanilha' => 'CO', 'stAtivo' => 'N'), array('idPlanilhaAprovacao = ? ' => $buscarTpAcaoSR[0]->idPlanilhaAprovacao)); } } } // fecha if } } } } } } } } } } } } $db->commit(); //CASO SEJA O ÚLTIMO ITEM DO PEDIDO DE ALTERAÇÃO, FINALIZA O STATUS DA MESMA $tbPedidoAlteracaoXTipoAlteracao = new tbPedidoAlteracaoXTipoAlteracao(); $verificarPedidosAtivos = $tbPedidoAlteracaoXTipoAlteracao->buscar(array('idPedidoAlteracao = ?' => $idPedidoAlt, 'stVerificacao <> ?' => 4)); $arrBusca = array(); $arrBusca['p.siVerificacao IN (?)'] = array('1'); $arrBusca['p.IdPRONAC = ?'] = $idPronac; $arrBusca['x.tpAlteracaoProjeto IN (?)'] = array('1', '2', '5', '7', '8', '9', '10'); $arrBusca['a.stAvaliacaoItemPedidoAlteracao IN (?)'] = array('AP'); $arrBusca['c.stVerificacao NOT IN (?)'] = array('4'); $buscaChecklist = $tbPedidoAlteracaoXTipoAlteracao->buscarPedidoChecklist($arrBusca); if (count($verificarPedidosAtivos) == 0 && count($buscaChecklist) == 0) { $tbPedidoAlteracaoProjeto = new tbPedidoAlteracaoProjeto(); $tbPedidoAlteracaoProjeto->alterar(array('siVerificacao' => 2), array('idPedidoAlteracao = ?' => $idPedidoAlt)); } if (isset($_GET['checklist'])) { parent::message("Portaria publicada com sucesso!", "publicacaodou/index", "CONFIRM"); } else { parent::message("Projeto finalizado com sucesso!", "verificarreadequacaodeprojeto/verificarreadequacaodeprojetocoordacompanhamento", "CONFIRM"); } } catch (Zend_Exception $e) { $db->rollBack(); parent::message("Erro na devolução da solicitação", "verificarreadequacaodeprojeto/verificarreadequacaodeprojetocoordacompanhamento", "ERROR"); } }
public function diligenciaAction() { $this->view->idpronac = $this->_request->getParam('idpronac'); $Usuario = new Usuario(); // objeto usuário $auth = Zend_Auth::getInstance(); // pega a autenticação $d = new tbDiligencia(); $p = new Projetos(); if (isset($_POST['idpronac'])) { $db = Zend_Db_Table::getDefaultAdapter(); $db->beginTransaction(); try { $dados = array('idPronac' => $_POST['idpronac'], 'idTipoDiligencia' => 174, 'DtSolicitacao' => date('Y-m-d H:i:s'), 'Solicitacao' => $_POST['justificativa'], 'idSolicitante' => $auth->getIdentity()->usu_codigo, 'stEnviado' => 'S'); $d->inserir($dados); $where = "IdPRONAC = " . $_POST['idpronac']; $dadosalterar = array('Situacao' => 'E61'); $p->alterar($dadosalterar, $where); $db->commit(); echo "<script>history.go(-1);</script>"; } catch (Zend_Exception $e) { $db->rollBack(); echo $e->getMessage(); } } }
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 gerarportariaAction() { ini_set('memory_limit', '-1'); // $this->_helper->layout->disableLayout(); // desabilita o Zend_Layout $ap = new Aprovacao(); $pr = new Projetos(); if ($this->getRequest()->isPost()) { // recebe os dados via post $post = Zend_Registry::get('post'); $id = $post->idAprovacao; $dia = (int) date("d"); $mes = (int) date("m"); $ano = date("Y"); $ano2Digitos = date("y"); $semana = date("w"); $dias = 86400; $datas = array(); $datas['pascoa'] = easter_date($ano); $datas['sexta_santa'] = $datas['pascoa'] - 2 * $dias; $datas['carnaval'] = $datas['pascoa'] - 47 * $dias; $datas['corpus_cristi'] = $datas['pascoa'] + 60 * $dias; $feriados = array('Ano Novo' => date('Y') . '-01-01', 'Carnaval' => date('Y-m-d', $datas['carnaval']), 'Sexta-Feira Santa' => date('Y-m-d', $datas['sexta_santa']), 'Pascoa' => date('Y-m-d', $datas['pascoa']), 'Tiradentes' => date('Y') . '-04-21', 'Dia do Trabalhador' => date('Y') . '-05-01', 'Corpus Cristi' => date('Y-m-d', $datas['corpus_cristi']), 'Dia da Independencia' => date('Y') . '-09-07', 'Nossa Senhora de Aparecida' => date('Y') . '-10-12', 'Dia de Finados' => date('Y') . '-11-02', 'Proclamacao da Republica' => date('Y') . '-11-15', 'Natal' => date('Y') . '-12-25'); $DtPortariaAprovacao = date("Y-m-d H:i:s"); if ($semana == 5) { // sexta // feriado na segunda if (in_array(strftime("%Y-%m-%d", strtotime("+3 days")), $feriados)) { $DtPublicacaoAprovacao = strftime("%Y-%m-%d %H:%M:%S", strtotime("+4 days")); } else { $DtPublicacaoAprovacao = strftime("%Y-%m-%d %H:%M:%S", strtotime("+3 days")); } } else { // feriado na sexta (supondo que hoje � quinta) if (in_array(strftime("%Y-%m-%d", strtotime("+1 days")), $feriados) && !in_array(strftime("%Y-%m-%d", strtotime("+4 days")), $feriados)) { $DtPublicacaoAprovacao = strftime("%Y-%m-%d %H:%M:%S", strtotime("+4 days")); } else { if (in_array(strftime("%Y-%m-%d", strtotime("+1 days")), $feriados) && in_array(strftime("%Y-%m-%d", strtotime("+4 days")), $feriados)) { $DtPublicacaoAprovacao = strftime("%Y-%m-%d %H:%M:%S", strtotime("+5 days")); } else { $DtPublicacaoAprovacao = strftime("%Y-%m-%d %H:%M:%S", strtotime("+1 days")); } } } try { // manda todos os pronac para publicacao (alteracao) foreach ($id as $idaprovacao) { //busca o idPronac do projeto $buscaridpronac = $ap->buscar(array('idAprovacao = ?' => $idaprovacao))->current(); //busca a data final de execução do projeto em questão $resultado = $pr->buscar(array('IdPRONAC = ?' => $buscaridpronac->IdPRONAC))->current(); $dtFimCaptacao = $resultado->DtFimExecucao; //É isso mesmo que vc vê. A data fim captação vai receber o mesmo valor da fim de execução. $dtFimExecucao = $resultado->DtFimExecucao; $dtInicioExecucao = $resultado->DtInicioExecucao; //se a data final de execução estiver em branco (projetos antigos) o sistema considera o 31/12/ano em questão if ($resultado->DtFimExecucao == '' || empty($resultado->DtFimExecucao)) { $dtFimCaptacao = date("Y", strtotime($DtPublicacaoAprovacao)) . '-12-31 ' . date("H:i:s"); } else { //se o ano da data final de execução for maior do que o ano em questão, o fim de captação vai até 31/12/ano em questão if (date("Y", strtotime($dtFimCaptacao)) > date("Y", strtotime($DtPublicacaoAprovacao))) { $dtFimCaptacao = date("Y", strtotime($DtPublicacaoAprovacao)) . '-12-31 ' . date("H:i:s"); } } // dados para realizar a publicacao $dadosPortaria = array('PortariaAprovacao' => $post->nrPortaria . '/' . date('y'), 'DtPortariaAprovacao' => $DtPortariaAprovacao, 'DtPublicacaoAprovacao' => $DtPublicacaoAprovacao, 'DtInicioCaptacao' => $DtPublicacaoAprovacao, 'DtFimCaptacao' => $dtFimCaptacao); if ($post->tipoPublicacao == 'prorrogacao') { $pronac = $resultado->AnoProjeto . $resultado->Sequencial; $datas = $ap->buscarDatasCaptacao($pronac, $buscaridpronac->idProrrogacao); $dadosPortaria['DtInicioCaptacao'] = $datas[0]->DtInicio; $dadosPortaria['DtFimCaptacao'] = $datas[0]->DtFinal; if (strtotime($dtFimExecucao) < strtotime($datas[0]->DtFinal)) { $dtFimExecucao = $datas[0]->DtFinal; } } $where = 'idAprovacao = ' . $idaprovacao; $portariagerar = $ap->alterar($dadosPortaria, $where); if ($portariagerar) { $dadosSituacao = array('dtSituacao' => date('Y-m-d'), 'DtFimExecucao' => $dtFimExecucao); if ($post->tipoPublicacao == 'prorrogacao' && (empty($dtInicioExecucao) || $dtInicioExecucao == '')) { $dadosSituacao['DtInicioExecucao'] = $datas[0]->DtInicio; } if (isset($post->tipoPublicacao)) { switch ($post->tipoPublicacao) { case '': $dadosSituacao['Situacao'] = 'D09'; $dadosSituacao['ProvidenciaTomada'] = 'Portaria de aprovação inicial encaminhada à Imprensa Nacional para publicação no Diário Oficial da União.'; break; case 'complementacao': $dadosSituacao['Situacao'] = 'D16'; $dadosSituacao['ProvidenciaTomada'] = 'Portaria de complementação encaminhada à Imprensa Nacional para publicação no Diário Oficial da União.'; break; case 'prorrogacao': $dadosSituacao['Situacao'] = 'D17'; $dadosSituacao['ProvidenciaTomada'] = 'Portaria de prorrogação encaminhada à Imprensa Nacional para publicação no Diário Oficial da União.'; break; case 'reducao': $dadosSituacao['Situacao'] = 'D23'; $dadosSituacao['ProvidenciaTomada'] = 'Portaria de redução encaminhada à Imprensa Nacional para publicação no Diário Oficial da União.'; break; case 'aprovacaoPrestacao': $dadosSituacao['Situacao'] = 'D42'; $dadosSituacao['ProvidenciaTomada'] = 'Portaria de Prestação de Contas encaminhada à Imprensa Nacional para publicação no Diário Oficial da União.'; break; case 'reprovacaoPrestacao': $dadosSituacao['Situacao'] = 'D43'; $dadosSituacao['ProvidenciaTomada'] = 'Portaria de Prestação de Contas encaminhada à Imprensa Nacional para publicação no Diário Oficial da União.'; break; } } else { $dadosSituacao['Situacao'] = 'D09'; $dadosSituacao['ProvidenciaTomada'] = 'Portaria de aprovação inicial encaminhada à Imprensa Nacional para publicação no Diário Oficial da União.'; } $where = 'IdPRONAC = ' . $buscaridpronac->IdPRONAC; $pr->alterar($dadosSituacao, $where); } // fecha if } // fecha foreach if ($post->nome == 1) { //Ana Cristina da Cunha Wanzeler $textoPortaria = '426 de 28 de maio de 2014 e o art. 4º da Portaria nº 120, de 30 de março de 2010'; $nm = 'Ivan Domingues das Neves'; } else { if ($post->nome == 2) { //João Batista da Silva $textoPortaria = '805 de 09 de outubro de 2013, e em cumprimento ao disposto na Lei 8.313, de 23 de dezembro de 1991, Decreto nº 5.761, de 27 de abril de 2006, Medida Provisória nº 2.228-1, de 06 de setembro de 2001, alterada pela Lei nº 10.454 de 13 de maio de 2002'; $nm = 'João Batista da Silva'; } else { if ($post->nome == 3) { //Kleber da Silva Rocha $textoPortaria = '909 de 19 de novembro de 2013 e o art. 4º da Portaria nº 120, de 30 de Março de 2010'; $nm = 'Kleber da Silva Rocha'; } else { if ($post->nome == 4) { //Mário Henrique Costa Borgneth $textoPortaria = '846 de 07 de novembro de 2013, e em cumprimento ao disposto na Lei 8.313, de 23 de dezembro de 1991, Decreto nº 5.761, de 27 de abril de 2006, Medida Provisória nº 2.228-1, de 06 de setembro de 2001, alterada pela Lei nº 10.454 de 13 de maio de 2002'; $nm = 'Mário Henrique Costa Borgneth'; } else { $textoPortaria = '17 de 12 de janeiro de 2010 e o art. 4º da Portaria nº 120, de 30 de Março de 2010'; $nm = 'Ivan Domingues das Neves'; } } } } $this->view->cargo = strtoupper(strtr($post->cargo, "áéíóúâêôãõàèìòùç", "ÁÉÍÓÚÂÊÔÃÕÀÈÌÒÙÇ")); $this->view->nome = strtoupper(strtr($nm, "áéíóúâêôãõàèìòùç", "ÁÉÍÓÚÂÊÔÃÕÀÈÌÒÙÇ")); $this->view->tipoPublicacao = $post->tipoPublicacao; $this->view->textoPortaria = $textoPortaria; parent::message("Portaria nº " . $_POST['nrPortaria'] . "/" . $ano2Digitos . " foi gerada com sucesso!", "publicacaodou/consultar-portaria?portaria=" . $_POST['nrPortaria'] . "/" . $ano2Digitos . "&situacao=" . $post->tipoPublicacao, "CONFIRM"); // pega a portaria gerada // $portaria = PublicacaoDouDAO::ProjetoPortaria($_POST['nrPortaria'].'/'.date('y'), $dadosSituacao['Situacao']); // $this->view->portaria = $portaria; } catch (Exception $e) { parent::message($e->getMessage(), "publicacaodou?situacao=" . $post->tipoPublicacao, "ERROR"); } } // fecha if }
/** * Metodo que chama as funcoes de balancear projeto, copiar tabelas e alterar a situacao do projeto * @access public * @param void * @return void */ public function balancearAction() { $auth = Zend_Auth::getInstance(); // pega a autenticacao $idPronac = $this->_request->getParam("idpronac"); // pega o id do pronac via get $servico = $this->_request->getParam("servico"); // pega o id do pronac via get $tipousuario = $this->_request->getParam("idusuario"); // pega o id do pronac via get $tbDistParecer = new tbDistribuirParecer(); $w1['a.IdPRONAC = ?'] = $idPronac; $qntdProd = $tbDistParecer->QntdProdutosXValidados($w1); $w2['a.IdPRONAC = ?'] = $idPronac; $w2['a.stEstado = ?'] = 0; $w2['a.FecharAnalise in (?)'] = array(1, 2); $qntdProdValidados = $tbDistParecer->QntdProdutosXValidados($w2); if ($qntdProdValidados != $qntdProd) { //Se não houver validação para cada produto, o sistema não deixa continuar. parent::message("Produto sem validação do Coordenador da Vinculada!", "gerenciarpareceres/index", "ERROR"); } $planilhaAprovacao = new PlanilhaAprovacao(); $buscarplanilhaaprovacao = $planilhaAprovacao->buscar(array("IdPRONAC = ?" => $idPronac, "tpPlanilha = ?" => "CO"))->current(); if (count($buscarplanilhaaprovacao) == 0) { try { // copia as tabelas $planilhaProjeto = new PlanilhaProjeto(); $analiseConteudo = new Analisedeconteudo(); $analiseaprovacao = new AnaliseAprovacao(); $projetos = new Projetos(); $Distribuicao = new DistribuicaoProjetoComissao(); $titulacaoConselheiro = new TitulacaoConselheiro(); $arrParecerProduto = array(); //ANALISE DE CONTEUDO $RanaliseConteudo = $analiseConteudo->dadosAnaliseconteudo($idPronac); foreach ($RanaliseConteudo as $resu) { $data = array('tpAnalise' => 'CO', 'dtAnalise' => new Zend_Db_Expr('GETDATE()'), 'idAnaliseConteudo' => $resu->idAnaliseDeConteudo, 'IdPRONAC' => $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); if ($resu->idProduto >= 1) { $arrParecerProduto[$resu->idProduto] = $resu->ParecerFavoravel; } else { $arrParecerProduto[0] = 1; //Admistracao do Projeto, que nao possui codigo de produto } $analiseaprovacao->inserir($data); } //ANALISE DE CUSTO $Rplanilhaprojeto = $planilhaProjeto->dadosPlanilhaProjeto($idPronac); foreach ($Rplanilhaprojeto as $resu) { $data = array('tpPlanilha' => 'CO', 'dtPlanilha' => new Zend_Db_Expr('GETDATE()'), 'idPlanilhaProjeto' => $resu->idPlanilhaProjeto, 'idPlanilhaProposta' => $resu->idPlanilhaProposta, 'IdPRONAC' => $idPronac, 'idProduto' => $resu->idProduto, 'idEtapa' => $resu->idEtapa, 'idPlanilhaItem' => $resu->idPlanilhaItem, 'dsItem' => '', 'idUnidade' => $resu->idUnidade, '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'); //zera valores de produto desfavorecido if (isset($arrParecerProduto[$resu->idProduto])) { if ($arrParecerProduto[$resu->idProduto] == '1') { //produto favorecido $data['qtItem'] = $resu->Quantidade; $data['nrOcorrencia'] = $resu->Ocorrencia; $data['vlUnitario'] = $resu->ValorUnitario; } else { //produto desfavorecido $data['qtItem'] = 0; $data['nrOcorrencia'] = 0; $data['vlUnitario'] = 0; } } else { //condicao para a Admistracao do Projeto, que nao possui codigo de produto $data['qtItem'] = $resu->Quantidade; $data['nrOcorrencia'] = $resu->Ocorrencia; $data['vlUnitario'] = $resu->ValorUnitario; } $inserirPlanilhaAprovacao = $planilhaAprovacao->inserir($data); } //VERIFICA QUANTOS PRODUTOS O PROJETO POSSUI POR AREA $rsProdutos = $tbDistParecer->BuscarQtdAreasProjetos($idPronac); $totalArea = $rsProdutos->QDTArea; if ($totalArea >= '2') { $area = 7; //Area = Artes integradas } else { //BUSCA AREA DO PROJETO $areaProjeto = $projetos->BuscarAreaSegmentoProjetos($idPronac); $area = $areaProjeto['area']; //Area do projeto } $Rtitulacao = $titulacaoConselheiro->buscarcomponentebalanceamento($area)->current(); $dados = array('idPRONAC' => $idPronac, 'idAgente' => $Rtitulacao->idAgente, 'dtDistribuicao' => new Zend_Db_Expr('GETDATE()'), 'idResponsavel' => 0); $Distribuicao->inserir($dados); // chama a funcao para alterar a situacao do projeto - Padrao C10 $data = array('Situacao' => 'C10', 'dtSituacao' => new Zend_Db_Expr('GETDATE()')); //$where = "IdPRONAC = $idPronac"; $where['IdPRONAC = ?'] = $idPronac; $projetos->alterar($data, $where); //echo 'Conselheiro = ' . $Rtitulacao->idAgente . '<br/>'; parent::message("Projeto encaminhado para o Componente da Comissão. Conselheiro: " . $Rtitulacao->Nome, "gerenciarpareceres/index", "CONFIRM"); } catch (Exception $e) { parent::message("Error: " . $e->getMessage(), "gerenciarpareceres/index", "ERROR"); die($e->getMessage()); } } else { parent::message("Planilhas já copiadas.", "gerenciarpareceres/index", "ALERT"); } // colocar um else aqui!!! }