package br.com.centralit.citcorpore.ajaxForms; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; 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.JRException; import net.sf.jasperreports.engine.JRParameter; 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.fill.JRAbstractLRUVirtualizer; import net.sf.jasperreports.engine.fill.JRSwapFileVirtualizer; import net.sf.jasperreports.engine.util.JRSwapFile; import net.sf.jasperreports.engine.xml.JRXmlLoader; import org.apache.commons.lang.StringUtils; import br.com.centralit.citajax.html.AjaxFormAction; import br.com.centralit.citajax.html.DocumentHTML; import br.com.centralit.citajax.html.HTMLElement; 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.OrigemAtendimentoDTO; import br.com.centralit.citcorpore.bean.PrioridadeDTO; import br.com.centralit.citcorpore.bean.RelatorioTop10IncidentesRequisicoesDTO; import br.com.centralit.citcorpore.bean.ServicoDTO; import br.com.centralit.citcorpore.bean.SolicitacaoServicoDTO; import br.com.centralit.citcorpore.bean.TipoDemandaServicoDTO; import br.com.centralit.citcorpore.bean.Top10IncidentesRequisicoesDTO; import br.com.centralit.citcorpore.bean.UnidadeDTO; 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.OrigemAtendimentoService; import br.com.centralit.citcorpore.negocio.PrioridadeService; import br.com.centralit.citcorpore.negocio.ServicoService; import br.com.centralit.citcorpore.negocio.TipoDemandaServicoService; import br.com.centralit.citcorpore.negocio.Top10IncidentesRequisicoesService; import br.com.centralit.citcorpore.negocio.UnidadeService; import br.com.centralit.citcorpore.util.CITCorporeUtil; import br.com.centralit.citcorpore.util.Enumerados; 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; /** * @author euler.ramos * */ public class RelatorioTop10IncidentesRequisicoes extends AjaxFormAction { @Override public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { UsuarioDTO 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.preencherComboRelatorio(document, request, response); this.preencherComboTopList(document, request, response); this.preencherComboContrato(document, request, response); this.preencherComboPrioridade(document, request, response); this.preencherComboUnidade(document, request, response); this.preencherComboTipoDemandaServico(document, request, response); this.preencherComboSituacao(document, request, response); this.preencherComboOrigem(document, request, response); } public void abreRelatorioPDF(JRDataSource dataSource, Map<String, Object> parametros, String diretorioTemp, String caminhoJasper,String jasperArqRel, String diretorioRelativo, String arquivoRelatorio, DocumentHTML document, HttpServletRequest request, HttpServletResponse response){ try { JRSwapFile arquivoSwap = new JRSwapFile(diretorioTemp, 4096, 25); JRAbstractLRUVirtualizer virtualizer = new JRSwapFileVirtualizer(25, arquivoSwap, true); parametros.put(JRParameter.REPORT_VIRTUALIZER, virtualizer); JasperPrint print = JasperFillManager.fillReport(caminhoJasper+jasperArqRel+".jasper", parametros, dataSource); //JasperViewer.viewReport(print,false); JasperExportManager.exportReportToPdfFile(print, diretorioTemp + arquivoRelatorio + ".pdf"); document.executeScript("window.open('" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/printPDF/printPDF.jsp?url=" + diretorioRelativo + arquivoRelatorio + ".pdf')"); } catch(OutOfMemoryError e) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.erro.erroServidor")); } catch (JRException e) { e.printStackTrace(); } } public void abreRelatorioXLS(JRDataSource dataSource, Map<String, Object> parametros, String diretorioTemp, String caminhoJasper, String jasperArqRel, String diretorioRelativo, String arquivoRelatorio, DocumentHTML document, HttpServletRequest request, HttpServletResponse response){ try { JasperDesign desenho = JRXmlLoader.load(caminhoJasper + jasperArqRel +".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, diretorioTemp + arquivoRelatorio + ".xls"); exporter.exportReport(); document.executeScript("window.open('" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/printPDF/printPDF.jsp?url=" + diretorioRelativo + arquivoRelatorio + ".xls')"); } catch(OutOfMemoryError e) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.erro.erroServidor")); } catch (JRException e) { e.printStackTrace(); } } public void geraTop10SolicitantesMaisAbriramReqInc(RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO, UsuarioDTO usuario, DocumentHTML document, HttpServletRequest request, HttpServletResponse response){ try { JRDataSource dataSource; //Obtendo informa��es Top10IncidentesRequisicoesService top10IncidentesRequisicoesService = (Top10IncidentesRequisicoesService) ServiceLocator.getInstance().getService(Top10IncidentesRequisicoesService.class, WebUtil.getUsuarioSistema(request)); ArrayList<Top10IncidentesRequisicoesDTO> listaSolicitantes = top10IncidentesRequisicoesService.listSolicitantesMaisAbriramIncSol(relatorioTop10IncidentesRequisicoesDTO); if (listaSolicitantes.size() == 0) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.relatorioVazio") ); return; } else { if (!relatorioTop10IncidentesRequisicoesDTO.getVisualizacao().equalsIgnoreCase("R")){ Collection<SolicitacaoServicoDTO> listaDetalhe; for (Top10IncidentesRequisicoesDTO top10IncidentesRequisicoesDTO : listaSolicitantes) { listaDetalhe = top10IncidentesRequisicoesService.listDetalheSolicitanteMaisAbriuIncSol(top10IncidentesRequisicoesDTO.getId(),relatorioTop10IncidentesRequisicoesDTO); dataSource = new JRBeanCollectionDataSource(listaDetalhe); top10IncidentesRequisicoesDTO.setListaDetalhe(dataSource); } } } dataSource = new JRBeanCollectionDataSource(listaSolicitantes); //Alimentando os par�metros de filtragem para serem mostrados no relat�rio Map<String, Object> parametros = this.alimentaParametros(relatorioTop10IncidentesRequisicoesDTO, usuario, UtilI18N.internacionaliza(request, "relatorioTop10IncidentesRequisicoes.relSolicitantesMaisAbriramReqInc.titulo"), document, request, response); //Configurando dados para gera��o do Relat�rio StringBuilder jasperArqRel = new StringBuilder(); jasperArqRel.append("relTop10SolicitantesMaisAbriramReqInc"); if (relatorioTop10IncidentesRequisicoesDTO.getVisualizacao().equalsIgnoreCase("R")){ jasperArqRel.append("Resumido"); } else { jasperArqRel.append("Detalhado"); } Date dt = new Date(); String strMiliSegundos = Long.toString(dt.getTime()); String caminhoJasper = CITCorporeUtil.CAMINHO_REAL_APP + Constantes.getValue("CAMINHO_RELATORIOS"); String diretorioTemp = CITCorporeUtil.CAMINHO_REAL_APP + "/tempFiles"; String diretorioRelativo = Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/tempFiles"; String arquivoRelatorio = "/"+ jasperArqRel + strMiliSegundos + "_" + usuario.getIdUsuario(); //Chamando o relat�rio if (relatorioTop10IncidentesRequisicoesDTO.getFormato().equalsIgnoreCase("PDF")){ abreRelatorioPDF(dataSource, parametros, diretorioTemp, caminhoJasper, jasperArqRel.toString(), diretorioRelativo, arquivoRelatorio, document, request, response); } else { abreRelatorioXLS(dataSource, parametros, diretorioTemp, caminhoJasper, jasperArqRel.toString(), diretorioRelativo, arquivoRelatorio, document, request, response); } } catch (Exception e) { e.printStackTrace(); } } public void geraTop10GruposMaisResolveramReqInc(RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO, UsuarioDTO usuario, DocumentHTML document, HttpServletRequest request, HttpServletResponse response){ try { JRDataSource dataSource; //Obtendo informa��es Top10IncidentesRequisicoesService top10IncidentesRequisicoesService = (Top10IncidentesRequisicoesService) ServiceLocator.getInstance().getService(Top10IncidentesRequisicoesService.class, WebUtil.getUsuarioSistema(request)); ArrayList<Top10IncidentesRequisicoesDTO> listaSolicitantes = top10IncidentesRequisicoesService.listGruposMaisResolveramIncSol(relatorioTop10IncidentesRequisicoesDTO); if (listaSolicitantes.size() == 0) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.relatorioVazio") ); return; } else { if (!relatorioTop10IncidentesRequisicoesDTO.getVisualizacao().equalsIgnoreCase("R")){ Collection<SolicitacaoServicoDTO> listaDetalhe; for (Top10IncidentesRequisicoesDTO top10IncidentesRequisicoesDTO : listaSolicitantes) { listaDetalhe = top10IncidentesRequisicoesService.listDetalheGruposMaisResolveramIncSol(top10IncidentesRequisicoesDTO.getId(),relatorioTop10IncidentesRequisicoesDTO); dataSource = new JRBeanCollectionDataSource(listaDetalhe); top10IncidentesRequisicoesDTO.setListaDetalhe(dataSource); } } } dataSource = new JRBeanCollectionDataSource(listaSolicitantes); //Alimentando os par�metros de filtragem para serem mostrados no relat�rio Map<String, Object> parametros = this.alimentaParametros(relatorioTop10IncidentesRequisicoesDTO, usuario, UtilI18N.internacionaliza(request, "relatorioTop10IncidentesRequisicoes.relGruposMaisResolveramReqInc.titulo"), document, request, response); //Configurando dados para gera��o do Relat�rio StringBuilder jasperArqRel = new StringBuilder(); jasperArqRel.append("relTop10GruposMaisResolveramReqInc"); if (relatorioTop10IncidentesRequisicoesDTO.getVisualizacao().equalsIgnoreCase("R")){ jasperArqRel.append("Resumido"); } else { jasperArqRel.append("Detalhado"); } Date dt = new Date(); String strMiliSegundos = Long.toString(dt.getTime()); String caminhoJasper = CITCorporeUtil.CAMINHO_REAL_APP + Constantes.getValue("CAMINHO_RELATORIOS"); String diretorioTemp = CITCorporeUtil.CAMINHO_REAL_APP + "/tempFiles"; String diretorioRelativo = Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/tempFiles"; String arquivoRelatorio = "/"+ jasperArqRel + strMiliSegundos + "_" + usuario.getIdUsuario(); //Chamando o relat�rio if (relatorioTop10IncidentesRequisicoesDTO.getFormato().equalsIgnoreCase("PDF")){ abreRelatorioPDF(dataSource, parametros, diretorioTemp, caminhoJasper, jasperArqRel.toString(), diretorioRelativo, arquivoRelatorio, document, request, response); } else { abreRelatorioXLS(dataSource, parametros, diretorioTemp, caminhoJasper, jasperArqRel.toString(), diretorioRelativo, arquivoRelatorio, document, request, response); } } catch (Exception e) { e.printStackTrace(); } } public void geraTop10ReqIncMaisSolicitados(RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO, UsuarioDTO usuario, DocumentHTML document, HttpServletRequest request, HttpServletResponse response){ try { JRDataSource dataSource; //Obtendo informa��es Top10IncidentesRequisicoesService top10IncidentesRequisicoesService = (Top10IncidentesRequisicoesService) ServiceLocator.getInstance().getService(Top10IncidentesRequisicoesService.class, WebUtil.getUsuarioSistema(request)); ArrayList<Top10IncidentesRequisicoesDTO> listaSolicitantes = top10IncidentesRequisicoesService.listReqIncMaisSolicitados(relatorioTop10IncidentesRequisicoesDTO); if (listaSolicitantes.size() == 0) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.relatorioVazio") ); return; } else { if (!relatorioTop10IncidentesRequisicoesDTO.getVisualizacao().equalsIgnoreCase("R")){ Collection<SolicitacaoServicoDTO> listaDetalhe; for (Top10IncidentesRequisicoesDTO top10IncidentesRequisicoesDTO : listaSolicitantes) { listaDetalhe = top10IncidentesRequisicoesService.listDetalheReqIncMaisSolicitados(top10IncidentesRequisicoesDTO.getId(),top10IncidentesRequisicoesDTO.getIdServico(),relatorioTop10IncidentesRequisicoesDTO); dataSource = new JRBeanCollectionDataSource(listaDetalhe); top10IncidentesRequisicoesDTO.setListaDetalhe(dataSource); } } } dataSource = new JRBeanCollectionDataSource(listaSolicitantes); //Alimentando os par�metros de filtragem para serem mostrados no relat�rio Map<String, Object> parametros = this.alimentaParametros(relatorioTop10IncidentesRequisicoesDTO, usuario, UtilI18N.internacionaliza(request, "relatorioTop10IncidentesRequisicoes.relReqIncMaisSolicitados.titulo"), document, request, response); //Configurando dados para gera��o do Relat�rio StringBuilder jasperArqRel = new StringBuilder(); jasperArqRel.append("relTop10ReqIncMaisSolicitados"); if (relatorioTop10IncidentesRequisicoesDTO.getVisualizacao().equalsIgnoreCase("R")){ jasperArqRel.append("Resumido"); } else { jasperArqRel.append("Detalhado"); } Date dt = new Date(); String strMiliSegundos = Long.toString(dt.getTime()); String caminhoJasper = CITCorporeUtil.CAMINHO_REAL_APP + Constantes.getValue("CAMINHO_RELATORIOS"); String diretorioTemp = CITCorporeUtil.CAMINHO_REAL_APP + "/tempFiles"; String diretorioRelativo = Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/tempFiles"; String arquivoRelatorio = "/"+ jasperArqRel + strMiliSegundos + "_" + usuario.getIdUsuario(); //Chamando o relat�rio if (relatorioTop10IncidentesRequisicoesDTO.getFormato().equalsIgnoreCase("PDF")){ abreRelatorioPDF(dataSource, parametros, diretorioTemp, caminhoJasper, jasperArqRel.toString(), diretorioRelativo, arquivoRelatorio, document, request, response); } else { abreRelatorioXLS(dataSource, parametros, diretorioTemp, caminhoJasper, jasperArqRel.toString(), diretorioRelativo, arquivoRelatorio, document, request, response); } } catch (Exception e) { e.printStackTrace(); } } public void geraTop10UnidadesMaisAbriramReqInc(RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO, UsuarioDTO usuario, DocumentHTML document, HttpServletRequest request, HttpServletResponse response){ try { JRDataSource dataSource; //Obtendo informa��es Top10IncidentesRequisicoesService top10IncidentesRequisicoesService = (Top10IncidentesRequisicoesService) ServiceLocator.getInstance().getService(Top10IncidentesRequisicoesService.class, WebUtil.getUsuarioSistema(request)); ArrayList<Top10IncidentesRequisicoesDTO> listaSolicitantes = top10IncidentesRequisicoesService.listUnidadesMaisAbriramReqInc(relatorioTop10IncidentesRequisicoesDTO); if (listaSolicitantes.size() == 0) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.relatorioVazio") ); return; } else { if (!relatorioTop10IncidentesRequisicoesDTO.getVisualizacao().equalsIgnoreCase("R")){ Collection<SolicitacaoServicoDTO> listaDetalhe; for (Top10IncidentesRequisicoesDTO top10IncidentesRequisicoesDTO : listaSolicitantes) { listaDetalhe = top10IncidentesRequisicoesService.listDetalheUnidadesMaisAbriramReqInc(top10IncidentesRequisicoesDTO.getId(),relatorioTop10IncidentesRequisicoesDTO); dataSource = new JRBeanCollectionDataSource(listaDetalhe); top10IncidentesRequisicoesDTO.setListaDetalhe(dataSource); } } } dataSource = new JRBeanCollectionDataSource(listaSolicitantes); //Alimentando os par�metros de filtragem para serem mostrados no relat�rio Map<String, Object> parametros = this.alimentaParametros(relatorioTop10IncidentesRequisicoesDTO, usuario, UtilI18N.internacionaliza(request, "relatorioTop10IncidentesRequisicoes.relUnidadesMaisAbriramReqInc.titulo"), document, request, response); //Configurando dados para gera��o do Relat�rio StringBuilder jasperArqRel = new StringBuilder(); jasperArqRel.append("relTop10UnidadesMaisAbriramReqInc"); if (relatorioTop10IncidentesRequisicoesDTO.getVisualizacao().equalsIgnoreCase("R")){ jasperArqRel.append("Resumido"); } else { jasperArqRel.append("Detalhado"); } Date dt = new Date(); String strMiliSegundos = Long.toString(dt.getTime()); String caminhoJasper = CITCorporeUtil.CAMINHO_REAL_APP + Constantes.getValue("CAMINHO_RELATORIOS"); String diretorioTemp = CITCorporeUtil.CAMINHO_REAL_APP + "/tempFiles"; String diretorioRelativo = Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/tempFiles"; String arquivoRelatorio = "/"+ jasperArqRel + strMiliSegundos + "_" + usuario.getIdUsuario(); //Chamando o relat�rio if (relatorioTop10IncidentesRequisicoesDTO.getFormato().equalsIgnoreCase("PDF")){ abreRelatorioPDF(dataSource, parametros, diretorioTemp, caminhoJasper, jasperArqRel.toString(), diretorioRelativo, arquivoRelatorio, document, request, response); } else { abreRelatorioXLS(dataSource, parametros, diretorioTemp, caminhoJasper, jasperArqRel.toString(), diretorioRelativo, arquivoRelatorio, document, request, response); } } catch (Exception e) { e.printStackTrace(); } } public void geraTop10LocMaisAbriramReqInc(RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO, UsuarioDTO usuario, DocumentHTML document, HttpServletRequest request, HttpServletResponse response){ try { JRDataSource dataSource; //Obtendo informa��es Top10IncidentesRequisicoesService top10IncidentesRequisicoesService = (Top10IncidentesRequisicoesService) ServiceLocator.getInstance().getService(Top10IncidentesRequisicoesService.class, WebUtil.getUsuarioSistema(request)); ArrayList<Top10IncidentesRequisicoesDTO> listaSolicitantes = top10IncidentesRequisicoesService.listLocMaisAbriramReqInc(relatorioTop10IncidentesRequisicoesDTO); if (listaSolicitantes.size() == 0) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.relatorioVazio") ); return; } else { if (!relatorioTop10IncidentesRequisicoesDTO.getVisualizacao().equalsIgnoreCase("R")){ Collection<SolicitacaoServicoDTO> listaDetalhe; for (Top10IncidentesRequisicoesDTO top10IncidentesRequisicoesDTO : listaSolicitantes) { listaDetalhe = top10IncidentesRequisicoesService.listDetalheLocMaisAbriramReqInc(top10IncidentesRequisicoesDTO.getId(),relatorioTop10IncidentesRequisicoesDTO); dataSource = new JRBeanCollectionDataSource(listaDetalhe); top10IncidentesRequisicoesDTO.setListaDetalhe(dataSource); } } } dataSource = new JRBeanCollectionDataSource(listaSolicitantes); //Alimentando os par�metros de filtragem para serem mostrados no relat�rio Map<String, Object> parametros = this.alimentaParametros(relatorioTop10IncidentesRequisicoesDTO, usuario, UtilI18N.internacionaliza(request, "relatorioTop10IncidentesRequisicoes.relLocMaisAbriramReqInc.titulo"), document, request, response); //Configurando dados para gera��o do Relat�rio StringBuilder jasperArqRel = new StringBuilder(); jasperArqRel.append("relTop10LocMaisAbriramReqInc"); if (relatorioTop10IncidentesRequisicoesDTO.getVisualizacao().equalsIgnoreCase("R")){ jasperArqRel.append("Resumido"); } else { jasperArqRel.append("Detalhado"); } Date dt = new Date(); String strMiliSegundos = Long.toString(dt.getTime()); String caminhoJasper = CITCorporeUtil.CAMINHO_REAL_APP + Constantes.getValue("CAMINHO_RELATORIOS"); String diretorioTemp = CITCorporeUtil.CAMINHO_REAL_APP + "/tempFiles"; String diretorioRelativo = Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/tempFiles"; String arquivoRelatorio = "/"+ jasperArqRel + strMiliSegundos + "_" + usuario.getIdUsuario(); //Chamando o relat�rio if (relatorioTop10IncidentesRequisicoesDTO.getFormato().equalsIgnoreCase("PDF")){ abreRelatorioPDF(dataSource, parametros, diretorioTemp, caminhoJasper, jasperArqRel.toString(), diretorioRelativo, arquivoRelatorio, document, request, response); } else { abreRelatorioXLS(dataSource, parametros, diretorioTemp, caminhoJasper, jasperArqRel.toString(), diretorioRelativo, arquivoRelatorio, document, request, response); } } catch (Exception e) { e.printStackTrace(); } } public void gerarRelatorio(DocumentHTML document, HttpServletRequest request, HttpServletResponse response){ UsuarioDTO 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; } try { RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO = (RelatorioTop10IncidentesRequisicoesDTO) document.getBean(); switch (relatorioTop10IncidentesRequisicoesDTO.getIdRelatorio()) { case 1: geraTop10SolicitantesMaisAbriramReqInc(relatorioTop10IncidentesRequisicoesDTO, usuario, document, request, response); break; case 2: geraTop10GruposMaisResolveramReqInc(relatorioTop10IncidentesRequisicoesDTO, usuario, document, request, response); break; case 3: geraTop10ReqIncMaisSolicitados(relatorioTop10IncidentesRequisicoesDTO, usuario, document, request, response); break; case 4: geraTop10UnidadesMaisAbriramReqInc(relatorioTop10IncidentesRequisicoesDTO, usuario, document, request, response); break; case 5: geraTop10LocMaisAbriramReqInc(relatorioTop10IncidentesRequisicoesDTO, usuario, document, request, response); break; } document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide(); } catch (Exception e) { e.printStackTrace(); } } private Map<String, Object> alimentaParametros(RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO, UsuarioDTO usuario, String titulo, DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws ServiceException, Exception{ HttpSession session = ((HttpServletRequest) request).getSession(); Map<String, Object> parametros = new HashMap<String, Object>(); parametros = UtilRelatorio.trataInternacionalizacaoLocale(session, parametros); parametros.put("TITULO_RELATORIO", titulo); parametros.put("CIDADE", UtilI18N.internacionaliza(request, "citcorpore.comum.relatorioCidade")); parametros.put("DATA_HORA", UtilDatas.getDataHoraAtual() ); if (usuario!=null){ parametros.put("NOME_USUARIO", usuario.getNomeUsuario()); } else { parametros.put("NOME_USUARIO", "-"); } //Tratamento para internacionaliza��o do intervalo de datas StringBuilder intervaloDasDatas = new StringBuilder(); String pattern; if (usuario != null && StringUtils.isNotBlank(usuario.getLocale()) && usuario.getLocale().toString().equals("en_US")){ pattern = "MM/dd/yyyy"; } else { pattern = "dd/MM/yyyy"; } intervaloDasDatas.append(UtilDatas.dateToSTRWithFormat(relatorioTop10IncidentesRequisicoesDTO.getDataInicial(), pattern)+" "+UtilI18N.internacionaliza(request,"citcorpore.comum.a")+" "+UtilDatas.dateToSTRWithFormat(relatorioTop10IncidentesRequisicoesDTO.getDataFinal(), pattern)); parametros.put("Periodo", intervaloDasDatas.toString()); parametros.put("Logo", LogoRel.getFile()); if ((relatorioTop10IncidentesRequisicoesDTO.getIdContrato()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdContrato().intValue()>0)){ ContratoService contratoService = (ContratoService) ServiceLocator.getInstance().getService(ContratoService.class, null); ContratoDTO contratoDTO = new ContratoDTO(); contratoDTO.setIdContrato(relatorioTop10IncidentesRequisicoesDTO.getIdContrato()); contratoDTO = (ContratoDTO) contratoService.restore(contratoDTO); parametros.put("contrato", contratoDTO.getNumero()); } else { parametros.put("contrato", UtilI18N.internacionaliza(request, "citcorpore.comum.todos")); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade().intValue()>0)){ PrioridadeService prioridadeService = (PrioridadeService) ServiceLocator.getInstance().getService(PrioridadeService.class, null); PrioridadeDTO prioridadeDTO = new PrioridadeDTO(); prioridadeDTO.setIdPrioridade(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()); prioridadeDTO = (PrioridadeDTO) prioridadeService.restore(prioridadeDTO); parametros.put("prioridade", prioridadeDTO.getNomePrioridade()); } else { parametros.put("prioridade", UtilI18N.internacionaliza(request, "citcorpore.comum.todos")); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade().intValue()>0)){ UnidadeService unidadeService = (UnidadeService) ServiceLocator.getInstance().getService(UnidadeService.class, null); UnidadeDTO unidadeDTO = new UnidadeDTO(); unidadeDTO.setIdUnidade(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()); unidadeDTO = (UnidadeDTO) unidadeService.restore(unidadeDTO); parametros.put("unidade", unidadeDTO.getNome()); } else { parametros.put("unidade", UtilI18N.internacionaliza(request, "citcorpore.comum.todos")); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdServico().intValue()>0)){ ServicoService servicoService = (ServicoService) ServiceLocator.getInstance().getService(ServicoService.class, null); ServicoDTO servicoDTO = new ServicoDTO(); servicoDTO.setIdServico(relatorioTop10IncidentesRequisicoesDTO.getIdServico()); servicoDTO = (ServicoDTO) servicoService.restore(servicoDTO); parametros.put("servico", servicoDTO.getNomeServico()); } else { parametros.put("servico", UtilI18N.internacionaliza(request, "citcorpore.comum.todos")); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico().intValue()>0)){ TipoDemandaServicoService tipoDemandaServicoService = (TipoDemandaServicoService) ServiceLocator.getInstance().getService(TipoDemandaServicoService.class, null); TipoDemandaServicoDTO tipoDemandaServicoDTO = new TipoDemandaServicoDTO(); tipoDemandaServicoDTO.setIdTipoDemandaServico(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()); tipoDemandaServicoDTO = (TipoDemandaServicoDTO) tipoDemandaServicoService.restore(tipoDemandaServicoDTO); parametros.put("tipoDemandaServico", tipoDemandaServicoDTO.getNomeTipoDemandaServico()); } else { parametros.put("tipoDemandaServico", UtilI18N.internacionaliza(request, "citcorpore.comum.todos")); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem().intValue()>0)){ OrigemAtendimentoService origemAtendimentoService = (OrigemAtendimentoService) ServiceLocator.getInstance().getService(OrigemAtendimentoService.class, null); OrigemAtendimentoDTO origemAtendimentoDTO = new OrigemAtendimentoDTO(); origemAtendimentoDTO.setIdOrigem(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()); origemAtendimentoDTO = (OrigemAtendimentoDTO) origemAtendimentoService.restore(origemAtendimentoDTO); parametros.put("origem", origemAtendimentoDTO.getDescricao()); } else { parametros.put("origem", UtilI18N.internacionaliza(request, "citcorpore.comum.todos")); } if (relatorioTop10IncidentesRequisicoesDTO.getSituacao().equalsIgnoreCase(Enumerados.SituacaoSolicitacaoServico.EmAndamento.toString())) { parametros.put("situacao", UtilI18N.internacionaliza(request, "citcorpore.comum.emandamento")); } else { if (relatorioTop10IncidentesRequisicoesDTO.getSituacao().equalsIgnoreCase(Enumerados.SituacaoSolicitacaoServico.Suspensa.toString())) { parametros.put("situacao", UtilI18N.internacionaliza(request, "citcorpore.comum.suspensa")); } else { if (relatorioTop10IncidentesRequisicoesDTO.getSituacao().equalsIgnoreCase(Enumerados.SituacaoSolicitacaoServico.Cancelada.toString())) { parametros.put("situacao", UtilI18N.internacionaliza(request, "citcorpore.comum.cancelada")); } else { if (relatorioTop10IncidentesRequisicoesDTO.getSituacao().equalsIgnoreCase(Enumerados.SituacaoSolicitacaoServico.Resolvida.toString())) { parametros.put("situacao", UtilI18N.internacionaliza(request, "citcorpore.comum.resolvida")); } else { if (relatorioTop10IncidentesRequisicoesDTO.getSituacao().equalsIgnoreCase(Enumerados.SituacaoSolicitacaoServico.Reaberta.toString())) { parametros.put("situacao", UtilI18N.internacionaliza(request, "citcorpore.comum.reaberta")); } else { if (relatorioTop10IncidentesRequisicoesDTO.getSituacao().equalsIgnoreCase(Enumerados.SituacaoSolicitacaoServico.Fechada.toString())) { parametros.put("situacao", UtilI18N.internacionaliza(request, "citcorpore.comum.fechada")); } else { if (relatorioTop10IncidentesRequisicoesDTO.getSituacao().equalsIgnoreCase(Enumerados.SituacaoSolicitacaoServico.ReClassificada.toString())) { parametros.put("situacao", UtilI18N.internacionaliza(request, "citcorpore.comum.reclassificada")); } else { parametros.put("situacao", UtilI18N.internacionaliza(request, "citcorpore.comum.todos")); } } } } } } } if ((relatorioTop10IncidentesRequisicoesDTO.getTopList()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getTopList().intValue()>0)){ parametros.put("topList", relatorioTop10IncidentesRequisicoesDTO.getTopList().toString()); } else { parametros.put("topList", UtilI18N.internacionaliza(request, "citcorpore.comum.todos")); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdSolicitante()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdSolicitante().intValue()>0)){ EmpregadoService empregadoService = (EmpregadoService) ServiceLocator.getInstance().getService(EmpregadoService.class, null); EmpregadoDTO empregadoDTO = new EmpregadoDTO(); empregadoDTO.setIdEmpregado(relatorioTop10IncidentesRequisicoesDTO.getIdSolicitante()); empregadoDTO = (EmpregadoDTO) empregadoService.restore(empregadoDTO); parametros.put("solicitante", empregadoDTO.getNome().toString()); } else { parametros.put("solicitante", UtilI18N.internacionaliza(request, "citcorpore.comum.todos")); } parametros.put("SUBREPORT_DIR", CITCorporeUtil.CAMINHO_REAL_APP + Constantes.getValue("CAMINHO_RELATORIOS")); return parametros; } private void preencherComboRelatorio(DocumentHTML document, HttpServletRequest request, HttpServletResponse response){ HTMLSelect comboRelatorio; try { comboRelatorio = document.getSelectById("idRelatorio"); if (comboRelatorio!=null){ comboRelatorio.removeAllOptions(); comboRelatorio.addOption("0", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); comboRelatorio.addOption("1", UtilI18N.internacionaliza(request, "relatorioTop10IncidentesRequisicoes.relSolicitantesMaisAbriramReqInc.titulo")); comboRelatorio.addOption("2", UtilI18N.internacionaliza(request, "relatorioTop10IncidentesRequisicoes.relGruposMaisResolveramReqInc.titulo")); comboRelatorio.addOption("3", UtilI18N.internacionaliza(request, "relatorioTop10IncidentesRequisicoes.relReqIncMaisSolicitados.titulo")); comboRelatorio.addOption("4", UtilI18N.internacionaliza(request, "relatorioTop10IncidentesRequisicoes.relUnidadesMaisAbriramReqInc.titulo")); comboRelatorio.addOption("5", UtilI18N.internacionaliza(request, "relatorioTop10IncidentesRequisicoes.relLocMaisAbriramReqInc.titulo")); } } catch (Exception e) { e.printStackTrace(); } } private void preencherComboTopList(DocumentHTML document, HttpServletRequest request, HttpServletResponse response){ HTMLSelect comboTopList; try { comboTopList = document.getSelectById("topList"); if (comboTopList!=null){ comboTopList.removeAllOptions(); comboTopList.addOption("10", UtilI18N.internacionaliza(request, "citcorpore.comum.dezprimeiros")); comboTopList.addOption("20", UtilI18N.internacionaliza(request, "citcorpore.comum.vinteprimeiros")); comboTopList.addOption("40", UtilI18N.internacionaliza(request, "citcorpore.comum.quarentaprimeiros")); comboTopList.addOption("80", UtilI18N.internacionaliza(request, "citcorpore.comum.oitentaprimeiros")); comboTopList.addOption("100", UtilI18N.internacionaliza(request, "citcorpore.comum.cemprimeiros")); comboTopList.addOption("0", UtilI18N.internacionaliza(request, "citcorpore.comum.todos")); } } catch (Exception e) { e.printStackTrace(); } } private void preencherComboContrato(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) { RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO = (RelatorioTop10IncidentesRequisicoesDTO) document.getBean(); HTMLSelect comboContrato; try { comboContrato = document.getSelectById("idContrato"); if (comboContrato!=null){ comboContrato.removeAllOptions(); ContratoService contratoService = (ContratoService) ServiceLocator.getInstance().getService(ContratoService.class, null); Collection colContrato = contratoService.listAtivos(); if (colContrato!=null){ if (colContrato.size()>0){ if (colContrato.size()>1){ comboContrato.addOption("0", UtilI18N.internacionaliza(request, "citcorpore.comum.todos")); } comboContrato.addOptions(colContrato, "idContrato", "numero", null); if (colContrato.size()<2){ List<ContratoDTO> lista = (List<ContratoDTO>) colContrato; relatorioTop10IncidentesRequisicoesDTO.setIdContrato(lista.get(0).getIdContrato()); document.setBean(relatorioTop10IncidentesRequisicoesDTO); } } else { comboContrato.addOption("0", UtilI18N.internacionaliza(request, "citcorpore.comum.todos")); } } else { comboContrato.addOption("0", UtilI18N.internacionaliza(request, "citcorpore.comum.todos")); } } } catch (Exception e) { e.printStackTrace(); } } private void preencherComboPrioridade(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) { HTMLSelect comboPrioridade; try { comboPrioridade = document.getSelectById("idPrioridade"); if (comboPrioridade!=null){ comboPrioridade.removeAllOptions(); PrioridadeService prioridadeService = (PrioridadeService) ServiceLocator.getInstance().getService(PrioridadeService.class, null); Collection colPrioridade = prioridadeService.prioridadesAtivas(); comboPrioridade.addOption("0", UtilI18N.internacionaliza(request, "citcorpore.comum.todos")); if ((colPrioridade!=null)&&(colPrioridade.size()>0)){ comboPrioridade.addOptions(colPrioridade, "idPrioridade", "nomeprioridade", null); } } } catch (Exception e) { e.printStackTrace(); } } public void preencherComboUnidade(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) { RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO = (RelatorioTop10IncidentesRequisicoesDTO) document.getBean(); Integer idContrato = ((relatorioTop10IncidentesRequisicoesDTO.getIdContrato()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdContrato().intValue()>0))?relatorioTop10IncidentesRequisicoesDTO.getIdContrato().intValue():0; HTMLSelect comboUnidade; try { comboUnidade = document.getSelectById("idUnidade"); if (comboUnidade!=null){ comboUnidade.removeAllOptions(); UnidadeService unidadeService = (UnidadeService) ServiceLocator.getInstance().getService(UnidadeService.class, null); Collection colUnidade = unidadeService.listarAtivasPorContrato(idContrato); comboUnidade.addOption("0", UtilI18N.internacionaliza(request, "citcorpore.comum.todos")); if ((colUnidade!=null)&&(colUnidade.size()>0)){ comboUnidade.addOptions(colUnidade, "idUnidade", "nome", null); } } } catch (Exception e) { e.printStackTrace(); } } private void preencherComboTipoDemandaServico(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) { HTMLSelect comboTipoDemandaServico; try { comboTipoDemandaServico = document.getSelectById("idTipoDemandaServico"); if (comboTipoDemandaServico!=null){ comboTipoDemandaServico.removeAllOptions(); TipoDemandaServicoService tipoDemandaServicoService = (TipoDemandaServicoService) ServiceLocator.getInstance().getService(TipoDemandaServicoService.class, null); Collection colTipoDemandaServico = tipoDemandaServicoService.listSolicitacoes(); comboTipoDemandaServico.addOption("0", UtilI18N.internacionaliza(request, "citcorpore.comum.todos")); if ((colTipoDemandaServico!=null)&&(colTipoDemandaServico.size()>0)){ comboTipoDemandaServico.addOptions(colTipoDemandaServico, "idTipoDemandaServico", "nomeTipoDemandaServico", null); } } } catch (Exception e) { e.printStackTrace(); } } private void preencherComboSituacao(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) { HTMLSelect comboSituacao; try { comboSituacao = document.getSelectById("situacao"); if (comboSituacao!=null){ comboSituacao.removeAllOptions(); comboSituacao.addOption("0", UtilI18N.internacionaliza(request, "citcorpore.comum.todos")); comboSituacao.addOption(Enumerados.SituacaoSolicitacaoServico.EmAndamento.toString(), UtilI18N.internacionaliza(request, "citcorpore.comum.emandamento")); comboSituacao.addOption(Enumerados.SituacaoSolicitacaoServico.Suspensa.toString(), UtilI18N.internacionaliza(request, "citcorpore.comum.suspensa")); comboSituacao.addOption(Enumerados.SituacaoSolicitacaoServico.Cancelada.toString(), UtilI18N.internacionaliza(request, "citcorpore.comum.cancelada")); comboSituacao.addOption(Enumerados.SituacaoSolicitacaoServico.Resolvida.toString(), UtilI18N.internacionaliza(request, "citcorpore.comum.resolvida")); comboSituacao.addOption(Enumerados.SituacaoSolicitacaoServico.Reaberta.toString(), UtilI18N.internacionaliza(request, "citcorpore.comum.reaberta")); comboSituacao.addOption(Enumerados.SituacaoSolicitacaoServico.Fechada.toString(), UtilI18N.internacionaliza(request, "citcorpore.comum.fechada")); comboSituacao.addOption(Enumerados.SituacaoSolicitacaoServico.ReClassificada.toString(), UtilI18N.internacionaliza(request, "citcorpore.comum.reclassificada")); } } catch (Exception e) { e.printStackTrace(); } } private void preencherComboOrigem(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) { HTMLSelect comboOrigem; try { comboOrigem = document.getSelectById("idOrigem"); if (comboOrigem!=null){ comboOrigem.removeAllOptions(); OrigemAtendimentoService origemAtendimentoService = (OrigemAtendimentoService) ServiceLocator.getInstance().getService(OrigemAtendimentoService.class, null); Collection colOrigemAtendimento = origemAtendimentoService.recuperaAtivos(); comboOrigem.addOption("0", UtilI18N.internacionaliza(request, "citcorpore.comum.todos")); if ((colOrigemAtendimento!=null)&&(colOrigemAtendimento.size()>0)){ comboOrigem.addOptions(colOrigemAtendimento, "idOrigem", "descricao", null); } } } catch (Exception e) { e.printStackTrace(); } } public void configuraObjetos(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) { try { HTMLElement imputSolicitante; HTMLElement imputServico; HTMLSelect selectUnidade; imputSolicitante = document.getElementById("solicitante"); imputServico = document.getElementById("nomeServico"); selectUnidade = document.getSelectById("idUnidade"); RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO = (RelatorioTop10IncidentesRequisicoesDTO) document.getBean(); switch (relatorioTop10IncidentesRequisicoesDTO.getIdRelatorio()) { case 1: //Solicitante imputSolicitante.setReadonly(true); imputSolicitante.setValue(""); imputServico.setReadonly(false); selectUnidade.setDisabled(false); break; case 2: //Grupo imputSolicitante.setReadonly(true); imputSolicitante.setValue(""); imputServico.setReadonly(false); selectUnidade.setDisabled(false); break; case 3: //Incidente - Requisi��o imputSolicitante.setReadonly(false); imputServico.setReadonly(true); imputServico.setValue(""); selectUnidade.setDisabled(false); break; case 4: //Unidade imputSolicitante.setReadonly(true); imputSolicitante.setValue(""); imputServico.setReadonly(false); selectUnidade.setSelectedIndex(0); selectUnidade.setDisabled(true); break; case 5: //Localidade imputSolicitante.setReadonly(true); imputSolicitante.setValue(""); imputServico.setReadonly(false); selectUnidade.setDisabled(false); break; } } catch (Exception e) { e.printStackTrace(); } } @Override public Class getBeanClass() { return RelatorioTop10IncidentesRequisicoesDTO.class; } }