/**
  * 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 concluiuAction()
 {
     //** Usuario Logado ************************************************/
     $auth = Zend_Auth::getInstance();
     // pega a autenticação
     $idusuario = $auth->getIdentity()->usu_codigo;
     $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo');
     // cria a sessão com o grupo ativo
     $codOrgao = $GrupoAtivo->codOrgao;
     //  Órgão ativo na sessão
     /******************************************************************/
     $idDistribuirParecer = $this->_request->getParam("idDistribuirParecer");
     $idPronac = $this->_request->getParam("idpronac");
     $observacao = $this->_request->getParam("obs");
     if (strlen($observacao) < 11 or strlen($observacao) > 8000) {
         parent::message("Dados obrigatórios n&atilde;o informados.", "gerenciarparecer/concluir/idDistribuirParecer/" . $idDistribuirParecer . "/idpronac/" . $idPronac, "ALERT");
     }
     $db = Zend_Registry::get('db');
     $db->setFetchMode(Zend_DB::FETCH_OBJ);
     try {
         $db->beginTransaction();
         $tbDistribuirParecer = new tbDistribuirParecer();
         $dadosWhere["t.idDistribuirParecer = ?"] = $idDistribuirParecer;
         $buscaDadosProjeto = $tbDistribuirParecer->dadosParaDistribuir($dadosWhere);
         foreach ($buscaDadosProjeto as $dp) {
             // FECHAR ANALISE ( COORDENADOR DE PARECER )
             $orgaos = array('91', '92', '93', '94', '95', '160', '171', '335');
             // Caso não esteja dentro do array
             if (!in_array($dp->idOrgao, $orgaos)) {
                 $idOrgao = 91;
                 $fecharAnalise = 0;
             } else {
                 $idOrgao = $dp->idOrgao;
                 $fecharAnalise = 1;
             }
             $dados = array('DtEnvio' => $dp->DtEnvio, 'idAgenteParecerista' => $dp->idAgenteParecerista, 'DtDistribuicao' => $dp->DtDistribuicao, 'DtDevolucao' => $dp->DtDevolucao, 'DtRetorno' => new Zend_Db_Expr("GETDATE()"), 'Observacao' => $observacao, 'idUsuario' => $idusuario, 'FecharAnalise' => $fecharAnalise, 'idOrgao' => $idOrgao, 'idPRONAC' => $dp->IdPRONAC, 'idProduto' => $dp->idProduto, 'TipoAnalise' => $dp->TipoAnalise, 'stEstado' => 0, 'stPrincipal' => $dp->stPrincipal, 'stDiligenciado' => null);
             $whereD['idDistribuirParecer = ?'] = $idDistribuirParecer;
             $salvar = $tbDistribuirParecer->alterar(array('stEstado' => 1), $whereD);
             $insere = $tbDistribuirParecer->inserir($dados);
         }
         /** Grava o Parecer nas Tabelas tbPlanilhaProjeto e Parecer e altera a situação do Projeto para  ***************/
         $projeto = new Projetos();
         $wherePro['IdPRONAC = ?'] = $idPronac;
         $buscaDadosdoProjeto = $projeto->buscar($wherePro);
         if ($buscaDadosProjeto[0]->stPrincipal == 1) {
             $inabilitadoDAO = new Inabilitado();
             $buscaInabilitado = $inabilitadoDAO->BuscarInabilitado($buscaDadosdoProjeto[0]->CgcCpf, $buscaDadosdoProjeto[0]->AnoProjeto, $buscaDadosdoProjeto[0]->Sequencial);
             if (count($buscaInabilitado == 0)) {
                 if (in_array($dp->idOrgao, array(91, 92, 93, 94, 95, 160, 171, 335))) {
                     $dadosProjeto = array('ProvidenciaTomada' => 'Análise técnica concluída', 'DtSituacao' => new Zend_Db_Expr('GETDATE()'), 'Situacao' => 'C20');
                 } else {
                     $dadosProjeto = array('ProvidenciaTomada' => 'Análise técnica concluída', 'DtSituacao' => new Zend_Db_Expr('GETDATE()'));
                 }
             } else {
                 $dadosProjeto = array('ProvidenciaTomada' => 'Projeto fora da pauta de reunião da CNIC porque o proponente está inabilitado no Ministério da Cultura.', 'DtSituacao' => new Zend_Db_Expr('GETDATE()'), 'Situacao' => 'C09');
             }
             $where['IdPRONAC = ?'] = $idPronac;
             $alterar = $projeto->alterarProjetos($dadosProjeto, $where);
             /****************************************************************************************************************/
             $parecerDAO = new Parecer();
             $whereParecer['idPRONAC = ?'] = $idPronac;
             $buscarParecer = $parecerDAO->buscar($whereParecer);
             $analiseDeConteudoDAO = new Analisedeconteudo();
             $whereADC['idPRONAC = ?'] = $idPronac;
             $dadosADC = array('idParecer' => $buscarParecer[0]->IdParecer);
             $alteraADC = $analiseDeConteudoDAO->alterar($dadosADC, $whereADC);
             $planilhaProjetoDAO = new PlanilhaProjeto();
             $wherePP['idPRONAC = ?'] = $idPronac;
             $dadosPP = array('idParecer' => $buscarParecer[0]->IdParecer);
             $alteraPP = $planilhaProjetoDAO->alterar($dadosPP, $wherePP);
             /****************************************************************************************************************/
         }
         $db->commit();
         parent::message("Concluído com sucesso!", "gerenciarparecer/listaprojetos?tipoFiltro=2", "CONFIRM");
     } catch (Zend_Exception $ex) {
         $db->rollBack();
         parent::message("Erro ao concluir " . $ex->getMessage(), "gerenciarparecer/concluir/idDistribuirParecer/" . $idDistribuirParecer, "ERROR");
     }
 }
 public function desarquivarAction()
 {
     $auth = Zend_Auth::getInstance();
     // instancia da autenticação
     $idusuario = $this->getIdUsuario;
     $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo');
     // cria a sessão com o grupo ativo
     $codOrgao = $GrupoAtivo->codOrgao;
     //  Órgão ativo na sessão
     $this->view->codOrgao = $codOrgao;
     $buscaprojeto = new Projetos();
     if (isset($_POST['pronac'])) {
         $pronac = $_POST['pronac'];
         $buscaDados = TramitarprojetosDAO::buscarDadosPronac($pronac);
         foreach ($buscaDados as $dados) {
             $idPronac = $dados->IdPRONAC;
             $OrgaoOrigem = $dados->OrgaoOrigem;
         }
         $busca = TramitarprojetosDAO::buscaProjetoUnidade($idPronac);
         foreach ($busca as $b) {
             $stAcao = $b->stAcao;
             $idArquivamento = $b->idArquivamento;
         }
         if ($stAcao == 1) {
             parent::message("O projeto NÃO se encontra Arquivado nesta Unidade.!", "tramitarprojetos/desarquivar", "ALERT");
         } else {
             if ($busca && $stAcao == 0) {
                 TramitarprojetosDAO::alterarStatusArquivamento($idPronac);
                 $stAcaoA = 1;
                 TramitarprojetosDAO::arquivarProjeto($idPronac, $stAcaoA, null, null, $idusuario, $idArquivamento);
                 if ($OrgaoOrigem != 0) {
                     $dados = array('Orgao' => $OrgaoOrigem);
                 } else {
                     $dados = array('Orgao' => $codOrgao);
                 }
                 $where = "IdPRONAC = {$idPronac}";
                 $atualizarProjeto = $buscaprojeto->alterarProjetos($dados, $where);
                 parent::message("Projeto desarquivado com sucesso!", "tramitarprojetos/desarquivar", "CONFIRM");
             } else {
                 parent::message("O projeto não se encontra na DGI/CGRL/COAL/DCA, transação cancelada.", "tramitarprojetos/desarquivar", "ALERT");
             }
         }
     }
 }
Пример #4
0
 /**
  * Metodo que chama as funcoes de balancear projeto, copiar tabelas e alterar a situacao do projeto
  * Envio para o componente da comissao (UC53)
  * @access public
  * @param void
  * @return void
  */
 public function enviarcomponentedacomissaoAction()
 {
     $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
     try {
         // 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 = $planilhaProjeto->buscar(array('idPRONAC = ?' => $idPronac));
         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->Quantidade, 'nrOcorrencia' => $resu->Ocorrencia, 'vlUnitario' => $resu->ValorUnitario, 'qtDias' => $resu->QtdeDias, 'tpDespesa' => $resu->TipoDespesa, 'tpPessoa' => $resu->TipoPessoa, 'nrContraPartida' => $resu->Contrapartida, 'nrFonteRecurso' => $resu->FonteRecurso, 'idUFDespesa' => $resu->UfDespesa, 'idMunicipioDespesa' => $resu->MunicipioDespesa, 'dsJustificativa' => $resu->Justificativa, 'stAtivo' => 'S');
             $inserirPlanilhaAprovacao = $planilhaAprovacao->InserirPlanilhaAprovacao($data);
         }
         $RanaliseConteudo = $analiseConteudo->buscar(array('IdPRONAC = ?' => $idPronac));
         foreach ($RanaliseConteudo as $resu) {
             $data = array('tpAnalise' => 'CO', 'dtAnalise' => new Zend_Db_Expr('GETDATE()'), 'idAnaliseConteudo' => $resu->idAnaliseDeConteudo, 'IdPRONAC' => $resu->idPronac, 'idProduto' => $resu->idProduto, 'stLei8313' => $resu->Lei8313, 'stArtigo3' => $resu->Artigo3, 'nrIncisoArtigo3' => $resu->IncisoArtigo3, 'dsAlineaArt3' => $resu->AlineaArtigo3, 'stArtigo18' => $resu->Artigo18, 'dsAlineaArtigo18' => $resu->AlineaArtigo18, 'stArtigo26' => $resu->Artigo26, 'stLei5761' => $resu->Lei5761, 'stArtigo27' => $resu->Artigo27, 'stIncisoArtigo27_I' => $resu->IncisoArtigo27_I, 'stIncisoArtigo27_II' => $resu->IncisoArtigo27_II, 'stIncisoArtigo27_III' => $resu->IncisoArtigo27_III, 'stIncisoArtigo27_IV' => $resu->IncisoArtigo27_IV, 'stAvaliacao' => $resu->ParecerFavoravel, 'dsAvaliacao' => $resu->ParecerDeConteudo);
             $analiseaprovacao->inserirAnaliseAprovacao($data);
         }
         // chama a funcao para fazer o balanceamento
         //VERIFICA QUANTOS PRODUTOS O PROJETO POSSUI POR AREA
         $tbDistParecer = new tbDistribuirParecer();
         $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);
         $dados = array('idPRONAC' => $idPronac, 'idAgente' => $Rtitulacao['idagente'], 'dtDistribuicao' => new Zend_Db_Expr('GETDATE()'), 'idResponsavel' => 0);
         $Distribuicao->inserirDistribuicaoProjetoComissao($dados);
         // chama a funcao para alterar a situacao do projeto - Padrao C10
         $data = array('Situacao' => 'C10');
         $where = "IdPRONAC = {$idPronac}";
         $projetos->alterarProjetos($data, $where);
         parent::message("O projeto foi enviado para o Componente da Comiss&atilde;o!", "verificarreadequacaodeprojeto/verificarreadequacaodeprojetocoordacompanhamento", "CONFIRM");
     } catch (Exception $e) {
         $this->view->message = $e->getMessage();
     }
 }