relatório
unknown
java
3 years ago
15 kB
13
Indexable
@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);
}
}Editor is loading...