private function gerarInfoPaginas($tipo, $where = array(), $paginacao = 0) { $post = Zend_Registry::get('post'); $retorno = array(); $ProjetosDAO = new Projetos(); $distribuirParecerDAO = new tbDistribuirParecer(); switch ($tipo) { case 'resaguardandoparecer': if ($paginacao > 0) { $total = $distribuirParecerDAO->aguardandoparecerTotal($where)->current()->toArray(); $limit = $this->paginacao($total["total"], $paginacao); $resp = $distribuirParecerDAO->aguardandoparecer($where, $limit['tamanho'], $limit['inicio']); } else { $resp = $distribuirParecerDAO->aguardandoparecer($where); } $cDistribuicao = 0; foreach ($resp as $val) { $retorno[$val['idOrgao']]['nmOrgao'] = $val['nmOrgao']; $retorno[$val['idOrgao']]['pareceristas'][$val['idAgente']]['nmParecerista'] = $val['nmParecerista']; $retorno[$val['idOrgao']]['pareceristas'][$val['idAgente']]['projetos'][$val['IdPRONAC']]['idPronac'] = $val['IdPRONAC']; $retorno[$val['idOrgao']]['pareceristas'][$val['idAgente']]['projetos'][$val['IdPRONAC']]['pronac'] = $val['pronac']; $retorno[$val['idOrgao']]['pareceristas'][$val['idAgente']]['projetos'][$val['IdPRONAC']]['nmProjeto'] = $val['NomeProjeto']; $retorno[$val['idOrgao']]['pareceristas'][$val['idAgente']]['projetos'][$val['IdPRONAC']]['Produtos'][$val['idProduto']]['nmProduto'] = $val['nmProduto']; $retorno[$val['idOrgao']]['pareceristas'][$val['idAgente']]['projetos'][$val['IdPRONAC']]['Produtos'][$val['idProduto']]['distribuicao'][$cDistribuicao]['dtEnvio'] = date('d/m/Y', strtotime($val['DtEnvio'])); $retorno[$val['idOrgao']]['pareceristas'][$val['idAgente']]['projetos'][$val['IdPRONAC']]['Produtos'][$val['idProduto']]['distribuicao'][$cDistribuicao]['dtDistribuicao'] = date('d/m/Y', strtotime($val['DtDistribuicao'])); $retorno[$val['idOrgao']]['pareceristas'][$val['idAgente']]['projetos'][$val['IdPRONAC']]['Produtos'][$val['idProduto']]['distribuicao'][$cDistribuicao]['qtDias'] = $val['nrDias']; $cDistribuicao++; } break; case 'resumo': $resp = $distribuirParecerDAO->aguardandoparecerresumo($where); $orgAnt = ''; foreach ($resp as $val) { if ($orgAnt == '' || $orgAnt != $val['idOrgao']) { $retorno[$val['idOrgao']]['qt'] = 0; $orgAnt = $val['idOrgao']; } $retorno[$val['idOrgao']]['nmOrgao'] = $val['nmOrgao']; $retorno[$val['idOrgao']]['qt'] += $val['qt']; $retorno[$val['idOrgao']]['pareceristas'][$val['idAgente']]['nmParecerista'] = $val['nmParecerista']; $retorno[$val['idOrgao']]['pareceristas'][$val['idAgente']]['qt'] = $val['qt']; } break; case 'pareceremitido': if ($paginacao > 0) { $total = $ProjetosDAO->listaPareceremitidoTotal()->current()->toArray(); $limit = $this->paginacao($total["total"], $paginacao); $resp = $ProjetosDAO->listaPareceremitido($limit['tamanho'], $limit['inicio']); } else { $resp = $ProjetosDAO->listaPareceremitido(); } foreach ($resp as $val) { $retorno[$val['IdPRONAC']]['idPronac'] = $val['IdPRONAC']; $retorno[$val['IdPRONAC']]['pronac'] = $val['pronac']; $retorno[$val['IdPRONAC']]['nmProjeto'] = $val['NomeProjeto']; $retorno[$val['IdPRONAC']]['nmOrgao'] = $val['OrgaoOrigem']; $retorno[$val['IdPRONAC']]['dtEnvio'] = date('d/m/Y', strtotime($val['DtEnvio'])); $retorno[$val['IdPRONAC']]['dtRetorno'] = date('d/m/Y', strtotime($val['DtRetorno'])); $retorno[$val['IdPRONAC']]['qtDias'] = $val['Dias']; $retorno[$val['IdPRONAC']]['qtDiasConsolidado'] = $val['QtdeConsolidar']; $retorno[$val['IdPRONAC']]['dtConsolidacao'] = $val['DtConsolidacaoParecer']; $retorno[$val['IdPRONAC']]['stParecer'] = 'Emitido'; $resp2 = $distribuirParecerDAO->pareceremitido($val['pronac']); foreach ($resp2 as $val2) { $retorno[$val['IdPRONAC']]['Orgaos'][$val2['idOrgao']]['nmOrgao'] = $val2['Sigla']; $retorno[$val['IdPRONAC']]['Orgaos'][$val2['idOrgao']]['Produtos'][$val2['idProduto']]['nmProduto'] = $val2['Produto']; if ($val2['stPrincipal']) { $retorno[$val['IdPRONAC']]['Orgaos'][$val2['idOrgao']]['Produtos'][$val2['idProduto']]['prodPrincipal'] = 'sim'; } else { $retorno[$val['IdPRONAC']]['Orgaos'][$val2['idOrgao']]['Produtos'][$val2['idProduto']]['prodPrincipal'] = ''; } $retorno[$val['IdPRONAC']]['Orgaos'][$val2['idOrgao']]['Produtos'][$val2['idProduto']]['dtFechamento'] = date('d/m/Y', strtotime($val2['DtDevolucao'])); $retorno[$val['IdPRONAC']]['Orgaos'][$val2['idOrgao']]['Produtos'][$val2['idProduto']]['area'] = $val2['Area']; $retorno[$val['IdPRONAC']]['Orgaos'][$val2['idOrgao']]['Produtos'][$val2['idProduto']]['segmento'] = $val2['Segmento']; } } break; case 'parecerconsolidado': if ($paginacao > 0) { $total = $ProjetosDAO->listaParecerconsolidadoTotal()->current()->toArray(); $limit = $this->paginacao($total["total"], $paginacao); $resp = $ProjetosDAO->listaParecerconsolidado($limit['tamanho'], $limit['inicio']); } else { $resp = $ProjetosDAO->listaParecerconsolidado(); } foreach ($resp as $val) { $retorno[$val['IdPRONAC']]['idPronac'] = $val['IdPRONAC']; $retorno[$val['IdPRONAC']]['pronac'] = $val['pronac']; $retorno[$val['IdPRONAC']]['nmProjeto'] = $val['NomeProjeto']; $retorno[$val['IdPRONAC']]['nmOrgao'] = $val['OrgaoOrigem']; $retorno[$val['IdPRONAC']]['dtEnvio'] = date('d/m/Y', strtotime($val['DtEnvio'])); $retorno[$val['IdPRONAC']]['dtRetorno'] = date('d/m/Y', strtotime($val['DtRetorno'])); $retorno[$val['IdPRONAC']]['qtDiasRetorno'] = date('d/m/Y', strtotime($val['DtConsolidacaoParecer'])); $retorno[$val['IdPRONAC']]['dtConsolidacao'] = $val['Dias']; $retorno[$val['IdPRONAC']]['qtDiasConsolidado'] = $val['QtdeConsolidar']; $retorno[$val['IdPRONAC']]['stParecer'] = 'Consolidado'; $resp2 = $distribuirParecerDAO->parecerconsolidado($val['pronac']); foreach ($resp2 as $val2) { $retorno[$val['IdPRONAC']]['Orgaos'][$val2['idOrgao']]['nmOrgao'] = $val2['Sigla']; $retorno[$val['IdPRONAC']]['Orgaos'][$val2['idOrgao']]['Produtos'][$val2['idProduto']]['nmProduto'] = $val2['Produto']; if ($val2['stPrincipal']) { $retorno[$val['IdPRONAC']]['Orgaos'][$val2['idOrgao']]['Produtos'][$val2['idProduto']]['prodPrincipal'] = 'sim'; } else { $retorno[$val['IdPRONAC']]['Orgaos'][$val2['idOrgao']]['Produtos'][$val2['idProduto']]['prodPrincipal'] = ''; } $retorno[$val['IdPRONAC']]['Orgaos'][$val2['idOrgao']]['Produtos'][$val2['idProduto']]['dtFechamento'] = date('d/m/Y', strtotime($val2['DtDevolucao'])); $retorno[$val['IdPRONAC']]['Orgaos'][$val2['idOrgao']]['Produtos'][$val2['idProduto']]['area'] = $val2['Area']; $retorno[$val['IdPRONAC']]['Orgaos'][$val2['idOrgao']]['Produtos'][$val2['idProduto']]['segmento'] = $val2['Segmento']; } } break; case 'resgeraldeanalise': $this->view->titulo = array('PRONAC', 'Nome do Projeto', 'Produto', 'Dt. Primeiro Envio para Vinculada', 'Dt. Último Envio para Vinculada', 'Dt. Distribuição para Parecerista', 'Parecerista', 'Qtde Dias Para Distribuir', 'Qtde Dias na caixa do Parecerista', 'Total de dias gastos para Análise', 'Dt. Devolução do Parecerista para o Coordenador', 'Qtde Dias para Parecerista Analisar', 'Qtde Dias Aguardando Avaliação do Coordenador', 'Status da Diligência', 'Órgão', 'Periodo de Execução do Projeto', 'Dias Vencidos ou a Vencer para Execução do Projeto'); if ($paginacao > 0) { $total = $ProjetosDAO->geraldeanaliseTotal($where)->current()->toArray(); $limit = $this->paginacao($total["total"], $paginacao); $resp = $ProjetosDAO->geraldeanalise($where, $limit['tamanho'], $limit['inicio']); } else { $resp = $ProjetosDAO->geraldeanalise($where); } foreach ($resp as $key => $val) { $retorno[$key]['pronac'] = $val['PRONAC']; $retorno[$key]['idpronac'] = $val['IdPRONAC']; $retorno[$key]['nmProjeto'] = $val['NomeProjeto']; $retorno[$key]['Produtos'][$val['idProduto']]['nmProduto'] = $val['Produto']; $retorno[$key]['Produtos'][$val['idProduto']]['dtPriEnvVinc'] = $val['DtPrimeiroEnvio']; $retorno[$key]['Produtos'][$val['idProduto']]['dtUltEnvVinc'] = $val['DtUltimoEnvio']; $retorno[$key]['Produtos'][$val['idProduto']]['dtDistPar'] = $val['DtDistribuicao']; $retorno[$key]['Produtos'][$val['idProduto']]['nmParecerista'] = $val['Parecerista']; $retorno[$key]['Produtos'][$val['idProduto']]['qtDiasDist'] = $val['QtdeDiasParaDistribuir']; $retorno[$key]['Produtos'][$val['idProduto']]['qtDiasCaixaPar'] = $val['QtdeDiasComParecerista']; $retorno[$key]['Produtos'][$val['idProduto']]['tDiasAnal'] = $val['QtdeTotalDiasAnalisar']; $retorno[$key]['Produtos'][$val['idProduto']]['dtDevParCoo'] = $val['dtDevolucao']; $retorno[$key]['Produtos'][$val['idProduto']]['qtDiasParAnal'] = $val['QtdeDiasPareceristaAnalisar']; $retorno[$key]['Produtos'][$val['idProduto']]['qtDiasAguarAval'] = $val['QtdeDiasDevolvidosCoordenador']; $retorno[$key]['Produtos'][$val['idProduto']]['stDiligencia'] = $this->estadoDiligencia($val); $retorno[$key]['Produtos'][$val['idProduto']]['nmOrgao'] = $val['nmOrgao']; $retorno[$key]['Produtos'][$val['idProduto']]['perExecProj'] = $val['PeriodoExecucao']; $retorno[$key]['Produtos'][$val['idProduto']]['qtDiasVencExecProj'] = $val['QtdeDiasVencido']; } break; case 'resconsolidacaoparecerista': $zerado = false; $resp = $distribuirParecerDAO->analisePorParecerista($where); if ($resp->count() > 0) { foreach ($resp as $val) { if (!empty($post->stAnalise)) { if ($post->stAnalise == 1) { if ($val->DtSolicitacao && $val->DtResposta == NULL) { $retorno = $this->dadosResconsolidacaoparecerista($val, $retorno); } } if ($post->stAnalise == 2) { if ($val->DtSolicitacao && $val->DtResposta != NULL) { $retorno = $this->dadosResconsolidacaoparecerista($val, $retorno); } } if ($post->stAnalise == 3) { if ($val->DtSolicitacao && round(data::CompararDatas($val->DtDistribuicao)) > $val->tempoFimDiligencia) { $retorno = $this->dadosResconsolidacaoparecerista($val, $retorno); } } if ($post->stAnalise == 0) { if (!($val->DtSolicitacao && round(data::CompararDatas($val->DtDistribuicao)) > $val->tempoFimDiligencia) and !($val->DtSolicitacao && $val->DtResposta == NULL)) { $retorno = $this->dadosResconsolidacaoparecerista($val, $retorno); } } } else { $retorno = $this->dadosResconsolidacaoparecerista($val, $retorno); } } if (count($retorno) > 0) { $cProduto = 0; $contaProjetos = 0; $cDistribuicao = 0; foreach ($retorno['projetos'] as $projeto) { $contaProjetos++; $cProduto += count($projeto['produtos']); foreach ($projeto['produtos'] as $produto) { $cDistribuicao += count($produto['distribuicao']); } } $retorno['qtAnalise'] = $cDistribuicao; } else { $zerado = true; } } else { $zerado = true; } if ($zerado) { $agentesDAO = new Agentes(); $tela = 'resconsolidacaoparecerista2'; $where = $this->filtroGeral($tela); $val = $agentesDAO->dadosParecerista($where); $retorno = $this->dadosParecerista($val, $retorno); $retorno['qtAnalise'] = 0; } break; } return $retorno; }