relatório
unknown
java
2 years ago
15 kB
5
Indexable
Never
@SuppressWarnings("deprecation") public void planilhaResumo(HttpServletRequest request, HttpServletResponse response) throws ParseException { Transacao transacao = new Transacao(AplicacaoUtil.getNomeConexao()); // Define o caminho do arquivo template File filePlanilhaSemanal = new File(AplicacaoUtil.getServletContext().getRealPath("modelo" + File.separator + "Planilha Ciclos modelo.xls")); Integer ano = Integer.parseInt(request.getParameter("ano")); List<Long> idsMunicipio = new ArrayList<Long>(); NQuadraVisitada nQuadraVisitada = new NQuadraVisitada(); nQuadraVisitada.setTransacao(transacao); NMunicipio nMunicipio = new NMunicipio(); nMunicipio.setTransacao(transacao); NUsuarioMunicipio nUsuariosMunicipio = new NUsuarioMunicipio(); nUsuariosMunicipio.setTransacao(transacao); try { transacao.abrirTransacao(); // Busca somente os municipios que o usuario logado pode ver if (!AutenticacaoUtil.getPermissaoConsulta("acessoTodosMunicipios")) { //listaMunicipios = nMunicipio.consultarMunicipiosEstado("GO"); List<UsuarioMunicipio> registros = nUsuariosMunicipio.listar(AplicacaoUtil.getSigla(), null, Long.parseLong(AutenticacaoUtil.getAutenticacao().getIdUsuario())); if (registros != null) { for (int i = 0; i < registros.size(); i++) { Municipio municipio = new Municipio(); municipio = registros.get(i).getMunicipio(); idsMunicipio.add(municipio.getId()); } } } InputStream entrada = new FileInputStream(filePlanilhaSemanal); HSSFWorkbook arquivo = new HSSFWorkbook(entrada); HSSFSheet planilha = arquivo.getSheet("PLANILHA CONSOLIDADA CICLOS"); HSSFCellStyle cellStyle = arquivo.createCellStyle(); cellStyle.setDataFormat(arquivo.createDataFormat().getFormat("0.00%")); int linha = 0; int coluna = 0; // planilha.createRow(linha); // planilha.getRow(linha).createCell(coluna).setCellValue("COD. IBGE"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("MUNICÍPIO"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Marque com um \"X\" somente quando o município NÃO for infestado pelo Aedes aegypti"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Nº de imóveis RG (última atualização): (número de imóveis elegíveis para as ações de controle vetorial da dengue)"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Data da última atualização do RG"); // coluna++; // // planilha.getRow(linha).createCell(coluna).setCellValue("Ciclo 1"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Data Início"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Data Final"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Número de Imóveis visitados: (Todos os imóveis visitados incluindo pendências)"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Número de imóveis trabalhados: (imóveis vistoriados, excluir pendências)"); // coluna++; // // planilha.getRow(linha).createCell(coluna).setCellValue("Ciclo 2"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Data Início"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Data Final"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Número de Imóveis visitados: (Todos os imóveis visitados incluindo pendências)"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Número de imóveis trabalhados: (imóveis vistoriados, excluir pendências)"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Ciclo 3"); // coluna++; // // planilha.getRow(linha).createCell(coluna).setCellValue("Data Início"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Data Final"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Número de Imóveis visitados: (Todos os imóveis visitados incluindo pendências)"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Número de imóveis trabalhados: (imóveis vistoriados, excluir pendências)"); // coluna++; // // planilha.getRow(linha).createCell(coluna).setCellValue("Ciclo 4"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Data Início"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Data Final"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Número de Imóveis visitados: (Todos os imóveis visitados incluindo pendências)"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Número de imóveis trabalhados: (imóveis vistoriados, excluir pendências)"); // coluna++; // // planilha.getRow(linha).createCell(coluna).setCellValue("Ciclo 5"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Data Início"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Data Final"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Número de Imóveis visitados: (Todos os imóveis visitados incluindo pendências)"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Número de imóveis trabalhados: (imóveis vistoriados, excluir pendências)"); // coluna++; // // planilha.getRow(linha).createCell(coluna).setCellValue("Ciclo 6"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Data Início"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Data Final"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Número de Imóveis visitados: (Todos os imóveis visitados incluindo pendências)"); // coluna++; // planilha.getRow(linha).createCell(coluna).setCellValue("Número de imóveis trabalhados: (imóveis vistoriados, excluir pendências)"); // MONTANDO REGISTRO List<Map<String, Object>> listaTotais = nQuadraVisitada.getQuantidadesImoveisDataAlteracao(ano); for (Map<String, Object> totalImoveisMunicipio : listaTotais) { linha++; coluna = 0; planilha.createRow(linha); planilha.getRow(linha).createCell(coluna).setCellValue((totalImoveisMunicipio.get("codibge") != null) ? (String)totalImoveisMunicipio.get("codibge") : ""); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue((totalImoveisMunicipio.get("nome") != null) ? (String)totalImoveisMunicipio.get("nome") : ""); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue(""); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue((totalImoveisMunicipio.get("totalImoveis") != null) ? (Double)totalImoveisMunicipio.get("totalImoveis") : 0); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue((totalImoveisMunicipio.get("dataAlteracao") != null) ? DataUtil.formatar((Date) totalImoveisMunicipio.get("dataAlteracao"), "dd/MM/yyyy") : ""); } //MONTANDO PRIMEIRO CICLO List<Map<String, Object>> listaPrimeiroCiclo = nQuadraVisitada.getPrimeiroCiclo(ano); linha = 0; for (Map<String, Object> totalPrimeiroCiclo : listaPrimeiroCiclo) { linha++; coluna = 5; planilha.getRow(linha).createCell(coluna).setCellValue("1º CICLO"); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue(totalPrimeiroCiclo.get("dataInicioPrimeiroCiclo") != null ? DataUtil.formatar((Date) totalPrimeiroCiclo.get("dataInicioPrimeiroCiclo"), "dd/MM/yyyy") : ""); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue(totalPrimeiroCiclo.get("dataFinalPrimeiroCiclo") != null ? DataUtil.formatar((Date) totalPrimeiroCiclo.get("dataFinalPrimeiroCiclo"), "dd/MM/yyyy") : ""); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue((totalPrimeiroCiclo.get("qtdeVisitadosPrimeiroCiclo") != null) ? (Double)totalPrimeiroCiclo.get("qtdeVisitadosPrimeiroCiclo") : 0); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue((totalPrimeiroCiclo.get("qtdeTrabalhadosPrimeiroCiclo") != null) ? (Double)totalPrimeiroCiclo.get("qtdeTrabalhadosPrimeiroCiclo") : 0); } //MONTANDO SEGUNDO CICLO List<Map<String, Object>> listaSegundoCiclo = nQuadraVisitada.getSegundoCiclo(ano); linha = 0; for (Map<String, Object> totalSegundoCiclo : listaSegundoCiclo) { linha++; coluna = 10; planilha.getRow(linha).createCell(coluna).setCellValue("2º CICLO"); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue(totalSegundoCiclo.get("dataInicioSegundoCiclo") != null ? DataUtil.formatar((Date) totalSegundoCiclo.get("dataInicioSegundoCiclo"), "dd/MM/yyyy") : ""); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue(totalSegundoCiclo.get("dataFinalSegundoCiclo") != null ? DataUtil.formatar((Date) totalSegundoCiclo.get("dataFinalSegundoCiclo"), "dd/MM/yyyy") : ""); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue((totalSegundoCiclo.get("qtdeVisitadosSegundoCiclo") != null) ? (Double)totalSegundoCiclo.get("qtdeVisitadosSegundoCiclo") : 0); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue((totalSegundoCiclo.get("qtdeTrabalhadosSegundoCiclo") != null) ? (Double)totalSegundoCiclo.get("qtdeTrabalhadosSegundoCiclo") : 0); } //MONTANDO TERCEIRO CICLO List<Map<String, Object>> listaTerceiroCiclo = nQuadraVisitada.getTerceiroCiclo(ano); linha = 0; for (Map<String, Object> totalTerceiroCiclo : listaTerceiroCiclo) { linha++; coluna = 15; planilha.getRow(linha).createCell(coluna).setCellValue("3º CICLO"); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue(totalTerceiroCiclo.get("dataInicioTerceiroCiclo") != null ? DataUtil.formatar((Date) totalTerceiroCiclo.get("dataInicioTerceiroCiclo"), "dd/MM/yyyy") : ""); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue(totalTerceiroCiclo.get("dataFinalTerceiroCiclo") != null ? DataUtil.formatar((Date) totalTerceiroCiclo.get("dataFinalTerceiroCiclo"), "dd/MM/yyyy") : ""); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue((totalTerceiroCiclo.get("qtdeVisitadosTerceiroCiclo") != null) ? (Double)totalTerceiroCiclo.get("qtdeVisitadosTerceiroCiclo") : 0); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue((totalTerceiroCiclo.get("qtdeTrabalhadosTerceiroCiclo") != null) ? (Double)totalTerceiroCiclo.get("qtdeTrabalhadosTerceiroCiclo") : 0); } //MONTANDO QUARTO CICLO List<Map<String, Object>> listaQuartoCiclo = nQuadraVisitada.getQuartoCiclo(ano); linha = 0; for (Map<String, Object> totalQuartoCiclo : listaQuartoCiclo) { linha++; coluna = 20; planilha.getRow(linha).createCell(coluna).setCellValue("4º CICLO"); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue(totalQuartoCiclo.get("dataInicioQuartoCiclo") != null ? DataUtil.formatar((Date) totalQuartoCiclo.get("dataInicioQuartoCiclo"), "dd/MM/yyyy") : ""); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue(totalQuartoCiclo.get("dataFinalQuartoCiclo") != null ? DataUtil.formatar((Date) totalQuartoCiclo.get("dataFinalQuartoCiclo"), "dd/MM/yyyy") : ""); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue((totalQuartoCiclo.get("qtdeVisitadosQuartoCiclo") != null) ? (Double)totalQuartoCiclo.get("qtdeVisitadosQuartoCiclo") : 0); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue((totalQuartoCiclo.get("qtdeTrabalhadosQuartoCiclo") != null) ? (Double)totalQuartoCiclo.get("qtdeTrabalhadosQuartoCiclo") : 0); } //MONTANDO QUINTO CICLO List<Map<String, Object>> listaQuintoCiclo = nQuadraVisitada.getQuintoCiclo(ano); linha = 0; for (Map<String, Object> totalQuintoCiclo : listaQuintoCiclo) { linha++; coluna = 25; planilha.getRow(linha).createCell(coluna).setCellValue("5º CICLO"); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue(totalQuintoCiclo.get("dataInicioQuintoCiclo") != null ? DataUtil.formatar((Date) totalQuintoCiclo.get("dataInicioQuintoCiclo"), "dd/MM/yyyy") : ""); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue(totalQuintoCiclo.get("dataFinalQuintoCiclo") != null ? DataUtil.formatar((Date) totalQuintoCiclo.get("dataFinalQuintoCiclo"), "dd/MM/yyyy") : ""); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue((totalQuintoCiclo.get("qtdeVisitadosQuintoCiclo") != null) ? (Double)totalQuintoCiclo.get("qtdeVisitadosQuintoCiclo") : 0); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue((totalQuintoCiclo.get("qtdeTrabalhadosQuintoCiclo") != null) ? (Double)totalQuintoCiclo.get("qtdeTrabalhadosQuintoCiclo") : 0); } //MONTANDO SEXTO CICLO List<Map<String, Object>> listaSextoCiclo = nQuadraVisitada.getSextoCiclo(ano); linha = 0; for (Map<String, Object> totalSextoCiclo : listaSextoCiclo) { linha++; coluna = 30; planilha.getRow(linha).createCell(coluna).setCellValue("6º CICLO"); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue(totalSextoCiclo.get("dataInicioSextoCiclo") != null ? DataUtil.formatar((Date) totalSextoCiclo.get("dataInicioSextoCiclo"), "dd/MM/yyyy") : ""); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue(totalSextoCiclo.get("dataFinalSextoCiclo") != null ? DataUtil.formatar((Date) totalSextoCiclo.get("dataFinalSextoCiclo"), "dd/MM/yyyy") : ""); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue((totalSextoCiclo.get("qtdeVisitadosSextoCiclo") != null) ? (Double)totalSextoCiclo.get("qtdeVisitadosSextoCiclo") : 0); coluna++; planilha.getRow(linha).createCell(coluna).setCellValue((totalSextoCiclo.get("qtdeTrabalhadosSextoCiclo") != null) ? (Double)totalSextoCiclo.get("qtdeTrabalhadosSextoCiclo") : 0); } String fileName = "PlanilhaCiclos - " + ano + ".xls"; response.setContentType("application/excel"); response.setHeader("Content-Disposition", "attachment;filename=\"" + fileName + "\""); // grava no stream de saída atachado try ( ServletOutputStream out = response.getOutputStream() ){ arquivo.write(out); } catch (IOException e) { e.printStackTrace(); } transacao.fecharTransacao(); } catch (TransacaoException | ConsultarException e) { e.printStackTrace(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } finally { TransacaoUtil.cancelarTransacaoSeAberta(transacao); } }