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 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 }
public function indexAction() { $auth = Zend_Auth::getInstance(); // pega a autenticacao $idagente = GerenciarPautaReuniaoDAO::consultaAgenteUsuario($auth->getIdentity()->usu_codigo); $idagente = $idagente['idAgente']; //------------------------------------------------------------------------------------------------------------- $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("Nao existe CNIC aberta no momento. Favor aguardar!", "principal/index", "ERROR"); } $idpronac = $this->_request->getParam("idpronac"); $projetos = new Projetos(); $aprovacao = new Aprovacao(); $PlanilhaProposta = new PlanilhaProposta(); $interessado = new Interessado(); $agente = new Agentes(); $dadosprojeto = $projetos->buscarTodosDadosProjeto($idpronac)->current()->toArray(); $buscarInteressado = $interessado->buscar(array('CgcCpf = ?' => $dadosprojeto['CgcCpf'])); if ($buscarInteressado->count() > 0) { $proponente = $buscarInteressado->current()->toArray(); $this->view->proponente = $proponente['Nome']; } else { $nome = new Nomes(); $buscarNome = $nome->buscarNomePorCPFCNPJ($dadosprojeto['CgcCpf']); $this->view->proponente = $buscarNome['Nome']; } $enquadramento = $dadosprojeto['Enquadramento'] == 1 ? 'Artigo 26' : 'Artigo 18'; $this->view->Enquadramento = $enquadramento; $buscarAprovacao = $aprovacao->buscar(array("IdPRONAC = ?" => $idpronac)); if (!empty($dadosprojeto['idProjeto'])) { $outrasfontes = $PlanilhaProposta->somarPlanilhaProposta($dadosprojeto['idProjeto'], false, 109); $incentivo = $PlanilhaProposta->somarPlanilhaProposta($dadosprojeto['idProjeto'], 109); $this->view->outrasfontes = $outrasfontes['soma'] ? $outrasfontes['soma'] : 0; $this->view->valorproposta = $incentivo['soma'] + $outrasfontes['soma']; } else { $this->view->outrasfontes = ''; $this->view->valorproposta = ''; } $this->view->dadosprojeto = $dadosprojeto; $this->view->ValorAprovado = '0'; $this->view->idpronac = $idpronac; }
public function faseDoProjeto($idPronac) { if (!empty($idPronac)) { if (strlen($idPronac) > 7) { $idPronac = Seguranca::dencrypt($idPronac); } $tblProjeto = new Projetos(); $rsProjeto = $tblProjeto->buscar(array("IdPronac=?" => $idPronac))->current(); $pronac = $rsProjeto->AnoProjeto . $rsProjeto->Sequencial; $rsProjeto->DtFimExecucao = Data::tratarDataZend($rsProjeto->DtFimExecucao, 'americano'); $dtFimPerExecucao = date('Ymd', strtotime($rsProjeto->DtFimExecucao)); $dtAtual = date("Ymd"); $diffDias = Data::CompararDatas($dtFimPerExecucao, $dtAtual); $tblAprovacao = new Aprovacao(); $arrBuscaF1 = array(); $arrBuscaF1['AnoProjeto+Sequencial = ?'] = $pronac; $arrBuscaF1['TipoAprovacao = ?'] = 1; $rsF1 = $tblAprovacao->buscar($arrBuscaF1); $arrBuscaF2 = array(); $arrBuscaF2['AnoProjeto+Sequencial = ?'] = $pronac; $arrBuscaF2['TipoAprovacao = ?'] = 1; $arrBuscaF2['PortariaAprovacao IS NOT NULL'] = '?'; $rsF2 = $tblAprovacao->buscar($arrBuscaF2); $tbRelatorio = new tbRelatorio(); $tbRelConsolidado = new tbRelatorioConsolidado(); $arrBuscaRel = array(); $rsF3 = array(); $arrBuscaRel['idPronac = ?'] = $idPronac; $arrBuscaRel['tpRelatorio = ?'] = 'C'; $arrBuscaRel['idDistribuicaoProduto is NOT NULL'] = '?'; $rsRelatorio = $tbRelatorio->buscar($arrBuscaRel)->current(); if (is_object($rsRelatorio) && count($rsRelatorio) > 0) { $arrBuscaF3 = array(); $arrBuscaF3['idRelatorio = ?'] = $rsRelatorio->idRelatorio; $rsF3 = $tbRelConsolidado->buscar($arrBuscaF3); } //situacoes fase Proj. Encerrado $arrSituacoes = array('E19', 'E22', 'L03'); $tbRelatorioTec = new tbRelatorioTecnico(); $arrBuscaF4 = array(); $arrBuscaF4['idPronac = ?'] = $idPronac; $arrBuscaF4['cdGrupo IN (?)'] = array('125', '126'); $rsF4 = $tbRelatorioTec->buscar($arrBuscaF4); //FASE INICIAL if ($rsF1->count() == 0 && $rsF2->count() == 0) { $this->intFaseProjeto = 1; //FASE EXECUCAO } else { if ($rsF1->count() >= 1 && $rsF2->count() >= 1 && (!is_object($rsF3) || $rsF3->count() == 0)) { $this->intFaseProjeto = 2; //FASE FINAL } else { if ($rsF1->count() >= 1 && $rsF2->count() >= 1 && (is_object($rsF3) && $rsF3->count() >= 1) && $rsF4->count() == 0) { //retirei a comparacao com os trinta dias para que entrem nessa fase projetoa que atendam a todas as condicoes mas ainda nao tiveram 30 dias passados da data fim de execucao $this->intFaseProjeto = 3; //FASE PROJETO ENCERRADO } else { if ($rsF1->count() >= 1 && $rsF2->count() >= 1 && (is_object($rsF3) && $rsF3->count() >= 1) && $diffDias > 30 && (in_array($rsProjeto->Situacao, $arrSituacoes) && $rsF4->count() >= 1)) { $this->intFaseProjeto = 4; } } } } //FASE INICIAL /* nunca esteve na situacao E10 e nao ha registros na tabela captacao, os projetos por edital nao podem ser inclusos nessa condicao * para diferenciar pre-projetos de edital e fiscal quando o projeto nao tiver idProjeto deve-se utilizar o Mecanismo = 1 * situacoes dessa fase = B11,B14,C10,C20,C30,D03,D11,D27 * ENTENDIMENTO ATUAL - Não ha registro na tabela aprovacao */ //FASE DE EXECUCAO /* ja esteve na situacao E10 os projetos por edital nao podem ser inclusos nessa condicao * para diferenciar pre-projetos de edital e fiscal quando o projeto nao tiver idProjeto deve-se utilizar o Mecanismo = 1 * ENTENDIMENTO ATUAL - Tem que haver um registro na tabela Aprovacao com TipoAprovacao = 1 e com PortariaAprovacao. * pode-se utilizar a funcao (fnNrPortariaAprovacao) para checar essa informacao */ //FASE FINAL /* 30 dias apos a data fim do periodo de execucao * */ //FASE PROJETO ENCERRADO /* se tiver dados na tabela prestacao de contas com a analise de prestacao de contas ja finalizada * PROJETO nas situacoes E19, E22 e L03 * Deve haver registro na tabela (tbRelatorioTecnico) com o codigo do grupo de COORD. DE PREST. DE CONTAS e COORD. GERAL DE PREST. DE CONTAS * e o Orgao onde o projeto esta e o 290(Arquivo) */ } }
function gravarAlteracaoProjetoAction() { $this->_helper->layout->disableLayout(); $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo'); // cria a sessão com o grupo ativo $auth = Zend_Auth::getInstance(); // pega a autenticação $post = Zend_Registry::get('post'); $idpronac = $post->idpronac; $areacultural = $post->areacultural; $segmento = $post->segmento; $enquadramento = $post->enquadramento; $dsjustificativaEnquadramento = Seguranca::tratarVarAjaxUFT8($post->dsjustificativa); $dtinicioexec = Data::dataAmericana($post->dtinicioexecucao); $dtfimexecucao = Data::dataAmericana($post->dtfimexecucao); $dtinicaptacao = Data::dataAmericana($post->dataCaptacaoIni); $dtfimcaptacao = Data::dataAmericana($post->dataCaptacaoFim); $idAprovacao = $post->idAprovacao; $nomeProjeto = Seguranca::tratarVarAjaxUFT8($post->nomeProjeto); $resumoProjeto = Seguranca::tratarVarAjaxUFT8($post->resumoProjeto); $usuario = $auth->getIdentity()->usu_codigo; //$urlRetorno = "index.php"; // Alterar projetos try { //DADOS DO PROJETO $dadosProjeto = array("Area" => $areacultural, "Segmento" => $segmento, "DtInicioExecucao" => $dtinicioexec, "DtFimExecucao" => $dtfimexecucao, "Logon" => $usuario, "NomeProjeto" => $nomeProjeto, "ResumoProjeto" => $resumoProjeto); $alterarTabelaProjetos = ProjetosDAO::alterarDadosProjeto($dadosProjeto, $idpronac); //DADOS ENQUADRAMENTO $dadosEnquadramento = array("Enquadramento" => $enquadramento, "Observacao" => $dsjustificativaEnquadramento, "DtEnquadramento" => new Zend_Db_Expr('GETDATE()'), "Logon" => $usuario); $alterarEnquadramento = EnquadramentoDAO::AlterarEnquadramento($dadosEnquadramento, $idpronac); //DADOS APROVACAO $tblAprovacao = new Aprovacao(); $rsAprovacao = $tblAprovacao->buscar(array('idAprovacao=?' => $idAprovacao))->current(); //ATUALIZANDO PERIODO DE CAPTACAO $rsAprovacao->DtInicioCaptacao = $dtinicaptacao; $rsAprovacao->DtFimCaptacao = $dtfimcaptacao; $rsAprovacao->Logon = $usuario; $rsAprovacao->save(); //STATUS AVALIACAO $tblVerificaProjeto = new tbVerificaProjeto(); $rsVP = $tblVerificaProjeto->buscar(array('idPronac=?' => $idpronac))->current(); $dadosVP = array(); if (empty($rsVP)) { $dadosVP['idPronac'] = $idpronac; $dadosVP['idOrgao'] = $this->codOrgao; $dadosVP['idAprovacao'] = $idAprovacao; $dadosVP['idUsuario'] = $usuario; $dadosVP['stAnaliseProjeto'] = 2; $dadosVP['dtRecebido'] = new Zend_Db_Expr('GETDATE()'); //$dadosVP['dtFinalizado']= $idpronac; //$dadosVP['dtPortaria'] = $idpronac; $dadosVP['stAtivo'] = 1; $tblVerificaProjeto->inserir($dadosVP); } else { $rsVP->stAnaliseProjeto = '2'; $rsVP->save(); } echo json_encode(array('error' => false, "msg" => "Projeto alterado com sucesso!")); die; //parent::message("Projeto alterado com sucesso!!", "checklistpublicacao/", "CONFIRM"); } catch (Exception $e) { echo json_encode(array('error' => true, "msg" => "Erro ao atualizar informações! As alterações não foram salvas. " . $e->getMessage())); die; //parent::message("Erro ao atualizar informações! Operação não realizada. ".$e->getMessage(), "checklistpublicacao/", "ERROR"); } }
public function alterarprojetoAction() { $post = Zend_Registry::get('post'); //$pronac = addslashes($post->pronac); $pronac = $this->_request->getParam("pronac"); if (strlen($pronac) > 12) { $pronac = Seguranca::dencrypt($pronac); } elseif (strlen($pronac) <= 12 && !isset($post->pesquisa) && $post->pesquisa != "true") { parent::message("PRONAC não localizado!", "Alterarprojeto/consultarprojeto", "ALERT"); } $ano = addslashes(substr($pronac, 0, 2)); $sequencial = addslashes(substr($pronac, 2, strlen($pronac))); $this->view->pagina = "alterarprojeto"; $arrBusca = array('tbr.anoprojeto =?' => $ano, 'tbr.sequencial =?' => $sequencial); $projeto = new Projetos(); $validapronac = $projeto->VerificaPronac($arrBusca); if (count($validapronac) > 0) { $tblAprovacao = new Aprovacao(); $rsAprovacao = $tblAprovacao->buscar(array("AnoProjeto = ?" => $ano, "Sequencial = ?" => $sequencial)); $listaparecer = $projeto->buscarTodosDadosProjeto($validapronac[0]->IdPRONAC); $this->view->parecer = $listaparecer[0]; $this->view->pronac = Seguranca::encrypt($listaparecer[0]->pronac); $documentoDao = new tbHistoricoAlteracaoProjeto(); $where = array("P.idPRONAC =?" => $listaparecer[0]->IdPRONAC, "nmProjeto is not null" => '?'); $documentos = $documentoDao->listadocumentosanexados($where); $this->view->documentos = $documentos; } else { parent::message("PRONAC não localizado!", "Alterarprojeto/consultarprojeto", "ALERT"); } //xd($listaparecer[0]->Orgao." != ".$this->codOrgao); if ($listaparecer[0]->Orgao != $this->codOrgao) { parent::message("Usuário sem autorização no orgão do projeto!", "Alterarprojeto/consultarprojeto", "ALERT"); } }