package br.com.centralit.citcorpore.ajaxForms; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.LinkedHashSet; import java.util.Map; import java.util.Set; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import net.sf.jasperreports.engine.JRDataSource; import net.sf.jasperreports.engine.JasperCompileManager; import net.sf.jasperreports.engine.JasperExportManager; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.JasperReport; import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; import net.sf.jasperreports.engine.design.JasperDesign; import net.sf.jasperreports.engine.export.JRXlsExporter; import net.sf.jasperreports.engine.export.JRXlsExporterParameter; import net.sf.jasperreports.engine.xml.JRXmlLoader; import br.com.centralit.citajax.html.AjaxFormAction; import br.com.centralit.citajax.html.DocumentHTML; import br.com.centralit.citajax.html.HTMLSelect; import br.com.centralit.citcorpore.bean.ContratoDTO; import br.com.centralit.citcorpore.bean.EmpregadoDTO; import br.com.centralit.citcorpore.bean.GrupoDTO; import br.com.centralit.citcorpore.bean.RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO; import br.com.centralit.citcorpore.bean.SolicitacaoServicoDTO; import br.com.centralit.citcorpore.bean.UsuarioDTO; import br.com.centralit.citcorpore.negocio.ContratoService; import br.com.centralit.citcorpore.negocio.EmpregadoService; import br.com.centralit.citcorpore.negocio.GrupoService; import br.com.centralit.citcorpore.negocio.OcorrenciaSolicitacaoService; import br.com.centralit.citcorpore.negocio.SolicitacaoServicoService; import br.com.centralit.citcorpore.negocio.UnidadeService; import br.com.centralit.citcorpore.negocio.UsuarioService; import br.com.centralit.citcorpore.util.CITCorporeUtil; import br.com.centralit.citcorpore.util.LogoRel; import br.com.centralit.citcorpore.util.UtilRelatorio; import br.com.centralit.citcorpore.util.WebUtil; import br.com.citframework.excecao.ServiceException; import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.Constantes; import br.com.citframework.util.UtilDatas; import br.com.citframework.util.UtilI18N; @SuppressWarnings({ "rawtypes" }) public class RelatorioEficaciaNasEstimativasDasRequisicaoDeServico extends AjaxFormAction { private UsuarioDTO usuario; @Override public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { usuario = WebUtil.getUsuario(request); if (usuario == null) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.sessaoExpirada")); document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'"); return; } this.preencherComboContrato(document, request, response); } public void imprimirRelatorio(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws ServiceException, Exception { usuario = WebUtil.getUsuario(request); RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO = (RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO) document .getBean(); String situacao = relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getSituacao(); HttpSession session = ((HttpServletRequest) request).getSession(); RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO dadosDaTela = new RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO(); dadosDaTela = relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO; UsuarioService usuarioService = (UsuarioService) ServiceLocator.getInstance().getService(UsuarioService.class, null); ArrayList<UsuarioDTO> listaUsuarios = new ArrayList<UsuarioDTO>(); Collection<RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO> listaParaEnvio = new ArrayList<RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO>(); // Restaura o usu�rio selecionado if (relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getListaUsuarios() != null) { String[] listaUsuariosTela; listaUsuariosTela = relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getListaUsuarios().split(";"); if (listaUsuariosTela.length != 0) { for (String i : listaUsuariosTela) { if (!i.equals("")) { UsuarioDTO usuario = usuarioService.restoreByIdEmpregado(Integer.valueOf(i)); if (usuario != null) { listaUsuarios.add(usuario); } } } } } Collections.sort(listaUsuarios); // ---------------------------------------------------- SolicitacaoServicoService solicitacaoService = (SolicitacaoServicoService) ServiceLocator.getInstance().getService(SolicitacaoServicoService.class, null); OcorrenciaSolicitacaoService ocorrencias = (OcorrenciaSolicitacaoService) ServiceLocator.getInstance().getService(OcorrenciaSolicitacaoService.class, null); ArrayList<RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO> subLista = new ArrayList<RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO>(); double countResestimadasTotalGrupo = 0; double countExecutadasTotalGrupo = 0; if (listaUsuarios != null) { // Busca todas as solicita��es feitas pelo usu�rio for (UsuarioDTO usuarios : listaUsuarios) { RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO novoFuncionario = new RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO(); novoFuncionario.setFuncionario(Integer.toString(usuarios.getIdUsuario())); novoFuncionario.setCheckMostrarIncidentes(relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getCheckMostrarIncidentes()); novoFuncionario.setCheckMostrarRequisicoes(relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getCheckMostrarRequisicoes()); novoFuncionario.setDataInicio(relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getDataInicio()); novoFuncionario.setDataFim(relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getDataFim()); novoFuncionario.setContrato(String.valueOf(relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getIdContrato())); novoFuncionario.setGrupo(relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getGrupo()); novoFuncionario.setFormatoArquivoRelatorio(relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getFormatoArquivoRelatorio()); double countEstimadaTotal = 0; double countReEstimadaTotal = 0; boolean mostrarIncidentes = relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getCheckMostrarIncidentes() != null ? true : false; boolean mostrarRequisicoes = relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getCheckMostrarRequisicoes() != null ? true : false; Collection<SolicitacaoServicoDTO> listaSolicitacoesUsuario = solicitacaoService.listaServicosPorResponsavelNoPeriodo(novoFuncionario.getDataInicio(), novoFuncionario.getDataFim(), Integer.valueOf(novoFuncionario.getFuncionario()), mostrarIncidentes, mostrarRequisicoes, situacao); novoFuncionario.setFuncionario(usuarios.getNomeUsuario()); if (listaSolicitacoesUsuario != null && !listaSolicitacoesUsuario.isEmpty()) { novoFuncionario.setListaSolicitacoesUsuario(listaSolicitacoesUsuario); subLista = new ArrayList<RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO>(); Set<SolicitacaoServicoDTO> listaComItensNaoRepetidos = new LinkedHashSet<SolicitacaoServicoDTO>(); listaComItensNaoRepetidos.addAll(listaSolicitacoesUsuario); if (novoFuncionario.getListaSolicitacoesUsuario() != null) { double countExecutadasPorSolicitacao = 0; double countReestimadaPorSolicitacao = 0; double quantidadeReestimada = 0; // verifica a quantidade de solicita��es for (SolicitacaoServicoDTO solicitacaoServicoDTOAux : novoFuncionario.getListaSolicitacoesUsuario()) { countExecutadasPorSolicitacao++; quantidadeReestimada = (double) ocorrencias.quantidadeDeOcorrenciasDeAlteracaoSlaPorNumeroDaSolicitacao(solicitacaoServicoDTOAux.getIdSolicitacaoServico()); if (quantidadeReestimada > 1) { countReestimadaPorSolicitacao++; } } countEstimadaTotal += countExecutadasPorSolicitacao; countReEstimadaTotal += countReestimadaPorSolicitacao; RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO dtoAux = new RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO(); dtoAux.setQtdeExecutada((int) countExecutadasPorSolicitacao); dtoAux.setQtdReestimada((int) (countExecutadasPorSolicitacao - countReestimadaPorSolicitacao)); subLista.add(dtoAux); } } else { RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO dtoAux = new RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO(); dtoAux.setQtdeExecutada(0); dtoAux.setQtdReestimada(0); dtoAux.setTotalPorExecutantePorcentagem("00,00%"); dtoAux.setTotalPorExecutanteReestimadaPorcentagem("100,00%"); subLista.add(dtoAux); countEstimadaTotal = 0; countReEstimadaTotal = 0; } if (subLista != null && !subLista.isEmpty()) { novoFuncionario.setListaGeral(subLista); novoFuncionario.setTotalPorExecutante((int) countEstimadaTotal); novoFuncionario.setTotalPorExecutanteReestimada((int) (countEstimadaTotal - countReEstimadaTotal)); if(countEstimadaTotal==0 && countReEstimadaTotal==0){ novoFuncionario.setTotalPorExecutanteReestimadaPorcentagem("00,00%"); novoFuncionario.setTotalPorExecutantePorcentagem("100,00%"); }else{ novoFuncionario.setTotalPorExecutanteReestimadaPorcentagem(String.format("%.2f", 100 * (countReEstimadaTotal / countEstimadaTotal)) + "%"); novoFuncionario.setTotalPorExecutantePorcentagem(String.format("%.2f", 100 - (100 * (countReEstimadaTotal / countEstimadaTotal))) + "%"); } //novoFuncionario.setTotalPorExecutantePorcentagem(String.format("%.2f", 100 - (100 * (countReEstimadaTotal / countEstimadaTotal))) + "%"); listaParaEnvio.add(novoFuncionario); countExecutadasTotalGrupo += countEstimadaTotal; countResestimadasTotalGrupo += countReEstimadaTotal; } } } if (listaParaEnvio != null && !listaParaEnvio.isEmpty()) { String caminhoJasper = CITCorporeUtil.CAMINHO_REAL_APP + Constantes.getValue("CAMINHO_RELATORIOS") + "RelatorioEficaciaNasEstimativasDasRequisicaoDeServico.jasper"; String diretorioReceita = CITCorporeUtil.CAMINHO_REAL_APP + "/tempFiles"; String diretorioRelativoOS = Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/tempFiles"; Map<String, Object> parametros = new HashMap<String, Object>(); parametros = UtilRelatorio.trataInternacionalizacaoLocale(session, parametros); parametros.put("TITULO_RELATORIO", UtilI18N.internacionaliza(request, "relatorioEficaciaDasNasEstimativasdeServico.titulo")); parametros.put("CIDADE", UtilI18N.internacionaliza(request, "citcorpore.comum.relatorioCidade")); parametros.put("DATA_HORA", UtilDatas.getDataHoraAtual()); parametros.put("NOME_USUARIO", usuario.getNomeUsuario()); parametros.put("dataInicio", dadosDaTela.getDataInicio()); parametros.put("dataFim", dadosDaTela.getDataFim()); parametros.put("contrato", this.getContrato(dadosDaTela.getIdContrato())); /* parametros.put("grupo", this.getDescricaoGrupo(Integer.parseInt(relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getGrupo()))); */ parametros.put("SUBREPORT_DIR", CITCorporeUtil.CAMINHO_REAL_APP + Constantes.getValue("CAMINHO_RELATORIOS") + "RelatorioEficaciaNasEstimativasDasRequisicaoDeServico_subreport1.jasper"); parametros.put("Logo", LogoRel.getFile()); parametros.put("titulo", UtilI18N.internacionaliza(request, "citcorpore.comum.titulo")); parametros.put("incidentes", dadosDaTela.getCheckMostrarIncidentes() != null ? UtilI18N.internacionaliza(request, "citcorpore.comum.sim") : UtilI18N.internacionaliza(request, "citcorpore.comum.nao")); parametros.put("solicitacoes", dadosDaTela.getCheckMostrarRequisicoes() != null ? UtilI18N.internacionaliza(request, "citcorpore.comum.sim") : UtilI18N.internacionaliza(request, "citcorpore.comum.nao")); parametros.put("internacionaliza_NumeroSolicitacao", UtilI18N.internacionaliza(request, "lookup.regraEscalonamento.idservico")); parametros.put("internacionaliza_NomeServico", UtilI18N.internacionaliza(request, "servico.nome")); parametros.put("internacionaliza_QuatidadeExecutada", UtilI18N.internacionaliza(request, "relatorioKpi.QuantidadeExecutada")); parametros.put("internacionaliza_QuantiudadeEstourada", UtilI18N.internacionaliza(request, "relatorioEficaciaDasNasEstimativasdeServico.quantidadeReestimada")); parametros.put("internacionaliza_TotalExecutado", UtilI18N.internacionaliza(request, "relatorioKpi.TotalExecutado")); parametros.put("internacionaliza_TotalEstourado", UtilI18N.internacionaliza(request, "relatorioEficaciaDasNasEstimativasdeServico.TotalReestimado")); parametros.put("internacionaliza_TotalPorGrupo", UtilI18N.internacionaliza(request, "relatorioKpi.TotalPorGrupo")); parametros.put("internacionaliza_NaoEstrapolada", UtilI18N.internacionaliza(request, "relatorioEficaciaDasNasEstimativasdeServico.naoReestimada")); parametros.put("ExecutadasTotalPorGrupo", (int) countExecutadasTotalGrupo + ""); parametros.put("EstouradasTotalPorGrupo", (int) (countExecutadasTotalGrupo - countResestimadasTotalGrupo) + ""); if(countResestimadasTotalGrupo==0 &&countExecutadasTotalGrupo==0){ parametros.put("EstouradasTotalPorGrupoPorcentagem", "100,00%"); parametros.put("ExecutadasTotalPorGrupoPorcentagem", "100,00%"); }else{ parametros.put("EstouradasTotalPorGrupoPorcentagem", String.format("%.2f", 100 * (countResestimadasTotalGrupo / countExecutadasTotalGrupo)) + "%"); parametros.put("ExecutadasTotalPorGrupoPorcentagem", String.format("%.2f", 100 - (100 * (countResestimadasTotalGrupo / countExecutadasTotalGrupo))) + "%"); } if (relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getFormatoArquivoRelatorio().equalsIgnoreCase("pdf")) { this.gerarRelatorioFormatoPdf(listaParaEnvio, caminhoJasper, parametros, diretorioReceita, document, diretorioRelativoOS, usuario); } else { this.gerarRelatorioFormatoXls(listaParaEnvio, parametros, diretorioReceita, document, diretorioRelativoOS, usuario); } } else { document.executeScript("reportEmpty();"); } document.executeScript("JANELA_AGUARDE_MENU.hide();"); } @Override public Class getBeanClass() { return RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.class; } public void preencherComboContrato(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { HTMLSelect comboContrato = document.getSelectById("idContrato"); comboContrato.removeAllOptions(); ContratoService contratoService = (ContratoService) ServiceLocator.getInstance().getService(ContratoService.class, null); Collection colContrato = contratoService.listAtivos(); comboContrato.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); comboContrato.addOptions(colContrato, "idContrato", "numero", null); } public void preencherComboGrupo(DocumentHTML document, HttpServletRequest request, HttpServletResponse response, int idContrato) throws Exception { HTMLSelect comboGrupo1 = document.getSelectById("primeiraListaGrupo"); HTMLSelect comboGrupo2 = document.getSelectById("segundaListaGrupo"); comboGrupo1.removeAllOptions(); comboGrupo2.removeAllOptions(); GrupoService grupoService = (GrupoService) ServiceLocator.getInstance().getService(GrupoService.class, null); Collection colGrupo = grupoService.listGrupoByIdContrato(idContrato); comboGrupo1.addOptions(colGrupo, "idGrupo", "Nome", null); } public void preencherComboUnidade(DocumentHTML document, HttpServletRequest request, HttpServletResponse response, int idContrato) throws Exception { HTMLSelect comboUnidade1 = document.getSelectById("primeiraListaUnidade"); HTMLSelect comboUnidade2 = document.getSelectById("segundaListaUnidade"); comboUnidade1.removeAllOptions(); comboUnidade2.removeAllOptions(); UnidadeService unidadeService = (UnidadeService) ServiceLocator.getInstance().getService(UnidadeService.class, null); Collection colGrupo = unidadeService.listUnidadePorContrato(idContrato); comboUnidade1.addOptions(colGrupo, "idUnidade", "Nome", null); } @SuppressWarnings("unchecked") public void preencherGrupoUnidade(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { HTMLSelect comboGrupo1 = document.getSelectById("primeiraListaGrupo"); HTMLSelect comboGrupo2 = document.getSelectById("segundaListaGrupo"); HTMLSelect comboUnidade1 = document.getSelectById("primeiraListaUnidade"); HTMLSelect comboUnidade2 = document.getSelectById("segundaListaUnidade"); HTMLSelect comboUsuario = document.getSelectById("primeiraLista"); HTMLSelect combousuario2 = document.getSelectById("segundaLista"); comboGrupo1.removeAllOptions(); comboGrupo2.removeAllOptions(); comboUnidade1.removeAllOptions(); comboUnidade2.removeAllOptions(); comboUsuario.removeAllOptions(); combousuario2.removeAllOptions(); RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO = (RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO) document .getBean(); if (relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getIdContrato() != null) { String UnidadeGrupo = relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getSelecionarGrupoUnidade(); int idContrato = relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getIdContrato(); if (relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getSelecionarGrupoUnidade() != null && relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getSelecionarGrupoUnidade().equalsIgnoreCase("grupo")) { this.preencherComboGrupo(document, request, response, idContrato); } else { preencherComboUnidade(document, request, response, idContrato); } } else { comboGrupo1.removeAllOptions(); comboGrupo2.removeAllOptions(); comboUnidade1.removeAllOptions(); comboUnidade2.removeAllOptions(); } /* * if(relatorioKpiProdutividadeDTO.getIdContrato()!=null && !relatorioKpiProdutividadeDTO.getIdContrato().equals("")){ EmpregadoService funcionarioService = (EmpregadoService) * ServiceLocator.getInstance().getService(EmpregadoService.class, null); * * * comboUsuarios1.removeAllOptions(); comboUsuarios2.removeAllOptions(); comboGrupo.removeAllOptions(); * * this.preencherComboGrupo(document, request, response, idContrato); Collection<EmpregadoDTO> colUsuario = funcionarioService.listEmpregadoContrato(idContrato); ArrayList<EmpregadoDTO> * colUsuario2 = new ArrayList<EmpregadoDTO>(); * * if (colUsuario != null) { for (EmpregadoDTO object : colUsuario) { colUsuario2.add(funcionarioService.restoreByIdEmpregado(object.getIdEmpregado())); } } * comboUsuarios1.addOptions(colUsuario2, "idEmpregado", "nome", null); }else{ comboUsuarios1.removeAllOptions(); comboUsuarios2.removeAllOptions(); comboGrupo.removeAllOptions(); * comboGrupo.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); } */ } public void preencherComboUsuarios(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO = (RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO) document .getBean(); HTMLSelect comboUsuarios1 = document.getSelectById("primeiraLista"); HTMLSelect comboUsuarios = document.getSelectById("segundaLista"); comboUsuarios1.removeAllOptions(); comboUsuarios.removeAllOptions(); // UsuarioService usuarioService = (UsuarioService) ServiceLocator.getInstance().getService(UsuarioService.class, null); ArrayList<Integer> listaGruposUnidades = new ArrayList<Integer>(); String tipoAgrupamento = relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getSelecionarGrupoUnidade(); // Restaura o Grupo/Unidade selecionado if (relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getListaUsuarios() != null) { String[] listaGruposUnidadesTela; listaGruposUnidadesTela = relatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO.getListaGrupoUnidade().split(";"); if (listaGruposUnidadesTela.length != 0) { for (String i : listaGruposUnidadesTela) { if (!i.equals("")) { listaGruposUnidades.add(Integer.parseInt(i)); } } } } if (listaGruposUnidades != null && !listaGruposUnidades.isEmpty()) { EmpregadoService funcionarioService = (EmpregadoService) ServiceLocator.getInstance().getService(EmpregadoService.class, null); ArrayList<EmpregadoDTO> colUsuario2 = new ArrayList<EmpregadoDTO>(); Set<EmpregadoDTO> EmpregadosNaoRepetidos = new LinkedHashSet<EmpregadoDTO>(); for (Integer gruposUnidades : listaGruposUnidades) { if (tipoAgrupamento.equalsIgnoreCase("grupo")) { Collection<EmpregadoDTO> colUsuario = funcionarioService.listEmpregadosByIdGrupo(gruposUnidades); for (EmpregadoDTO empregadoDTO : colUsuario) { EmpregadosNaoRepetidos.add(empregadoDTO); } } else { Collection<EmpregadoDTO> colUsuario = funcionarioService.listEmpregadosByIdUnidade(gruposUnidades); for (EmpregadoDTO empregadoDTO : colUsuario) { EmpregadosNaoRepetidos.add(empregadoDTO); } } } if (EmpregadosNaoRepetidos != null && !EmpregadosNaoRepetidos.isEmpty()) { for (EmpregadoDTO object : EmpregadosNaoRepetidos) { colUsuario2.add(funcionarioService.restoreByIdEmpregado(object.getIdEmpregado())); } } comboUsuarios.addOptions(colUsuario2, "idEmpregado", "nome", null); } document.executeScript("JANELA_AGUARDE_MENU.hide();"); } public void gerarRelatorioFormatoPdf(Collection<RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO> listaRelatorioMudancaItemConfiguracao, String caminhoJasper, Map<String, Object> parametros, String diretorioReceita, DocumentHTML document, String diretorioRelativoOS, UsuarioDTO usuario) throws Exception { JRDataSource dataSource = new JRBeanCollectionDataSource(listaRelatorioMudancaItemConfiguracao); JasperPrint print = JasperFillManager.fillReport(caminhoJasper, parametros, dataSource); JasperExportManager.exportReportToPdfFile(print, diretorioReceita + "/RelatorioEficaciaNasEstimativasDasRequisicaoDeServico" + "_" + usuario.getIdUsuario() + ".pdf"); document.executeScript("window.open('" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/printPDF/printPDF.jsp?url=" + diretorioRelativoOS + "/RelatorioEficaciaNasEstimativasDasRequisicaoDeServico" + "_" + usuario.getIdUsuario() + ".pdf')"); } public void gerarRelatorioFormatoXls(Collection<RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoDTO> listaRelatorioMudancaItemConfiguracao, Map<String, Object> parametros, String diretorioReceita, DocumentHTML document, String diretorioRelativoOS, UsuarioDTO usuario) throws Exception { JRDataSource dataSource = new JRBeanCollectionDataSource(listaRelatorioMudancaItemConfiguracao); parametros.put("SUBREPORT_DIR", CITCorporeUtil.CAMINHO_REAL_APP + Constantes.getValue("CAMINHO_RELATORIOS") + "RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoXls_subreport1.jasper"); JasperDesign desenho = JRXmlLoader.load(CITCorporeUtil.CAMINHO_REAL_APP + Constantes.getValue("CAMINHO_RELATORIOS") + "RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoXls.jrxml"); JasperReport relatorio = JasperCompileManager.compileReport(desenho); JasperPrint impressao = JasperFillManager.fillReport(relatorio, parametros, dataSource); JRXlsExporter exporter = new JRXlsExporter(); exporter.setParameter(JRXlsExporterParameter.JASPER_PRINT, impressao); exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE); exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.TRUE); exporter.setParameter(JRXlsExporterParameter.OUTPUT_FILE_NAME, diretorioReceita + "/RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoXls" + "_" + usuario.getIdUsuario() + ".xls"); exporter.exportReport(); document.executeScript("window.open('" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/printPDF/printPDF.jsp?url=" + diretorioRelativoOS + "/RelatorioEficaciaNasEstimativasDasRequisicaoDeServicoXls" + "_" + usuario.getIdUsuario() + ".xls')"); } private String getContrato(Integer id) throws ServiceException, Exception { ContratoDTO contrato = new ContratoDTO(); contrato.setIdContrato(id); ContratoService contratoService = (ContratoService) ServiceLocator.getInstance().getService(ContratoService.class, null); contrato = (ContratoDTO) contratoService.restore(contrato); if (contrato != null) { return contrato.getNumero(); } return null; } private String getDescricaoGrupo(int idGrupo) throws ServiceException, Exception { GrupoDTO dto = new GrupoDTO(); GrupoService grupoService = (GrupoService) ServiceLocator.getInstance().getService(GrupoService.class, null); dto = grupoService.listGrupoById(idGrupo); return dto.getNome(); } }