package br.com.centralit.citcorpore.ajaxForms;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Calendar;
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.JRExporterParameter;
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.JRXlsAbstractExporterParameter;
import net.sf.jasperreports.engine.export.JRXlsExporter;
import net.sf.jasperreports.engine.fill.JRAbstractLRUVirtualizer;
import net.sf.jasperreports.engine.fill.JRGzipVirtualizer;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import org.jsoup.Jsoup;
import br.com.centralit.bpm.dto.FluxoDTO;
import br.com.centralit.bpm.dto.PermissoesFluxoDTO;
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.FaseServicoDTO;
import br.com.centralit.citcorpore.bean.GrupoDTO;
import br.com.centralit.citcorpore.bean.OcorrenciaSolicitacaoDTO;
import br.com.centralit.citcorpore.bean.OrigemAtendimentoDTO;
import br.com.centralit.citcorpore.bean.PesquisaSolicitacaoServicoDTO;
import br.com.centralit.citcorpore.bean.PrioridadeDTO;
import br.com.centralit.citcorpore.bean.SolicitacaoServicoDTO;
import br.com.centralit.citcorpore.bean.TipoDemandaServicoDTO;
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.FaseServicoService;
import br.com.centralit.citcorpore.negocio.GrupoService;
import br.com.centralit.citcorpore.negocio.OcorrenciaSolicitacaoService;
import br.com.centralit.citcorpore.negocio.OrigemAtendimentoService;
import br.com.centralit.citcorpore.negocio.PermissoesFluxoService;
import br.com.centralit.citcorpore.negocio.PrioridadeService;
import br.com.centralit.citcorpore.negocio.ServicoContratoService;
import br.com.centralit.citcorpore.negocio.SolicitacaoServicoService;
import br.com.centralit.citcorpore.negocio.TipoDemandaServicoService;
import br.com.centralit.citcorpore.negocio.UnidadeService;
import br.com.centralit.citcorpore.negocio.UsuarioService;
import br.com.centralit.citcorpore.util.Arvore;
import br.com.centralit.citcorpore.util.CITCorporeUtil;
import br.com.centralit.citcorpore.util.Enumerados.ParametroSistema;
import br.com.centralit.citcorpore.util.Enumerados.TipoDate;
import br.com.centralit.citcorpore.util.LogoRel;
import br.com.centralit.citcorpore.util.ParametroUtil;
import br.com.centralit.citcorpore.util.UtilRelatorio;
import br.com.centralit.citcorpore.util.WebUtil;
import br.com.centralit.citged.bean.ControleGEDDTO;
import br.com.centralit.citged.negocio.ControleGEDService;
import br.com.citframework.excecao.LogicException;
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;
import br.com.citframework.util.UtilStrings;
import com.google.gson.Gson;
@SuppressWarnings({"rawtypes", "unchecked"})
public class PesquisaSolicitacoesServicos extends AjaxFormAction {
private UsuarioDTO usuario;
@Override
public Class getBeanClass() {
return PesquisaSolicitacaoServicoDTO.class;
}
@Override
public void load(final DocumentHTML document, final HttpServletRequest request, final 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;
}
document.getSelectById("idContrato").removeAllOptions();
final ContratoService contratoService = (ContratoService) ServiceLocator.getInstance().getService(ContratoService.class, null);
final Collection colContrato = contratoService.list();
document.getSelectById("idContrato").addOption("", "-- " + UtilI18N.internacionaliza(request, "citcorpore.comum.todos") + " --");
document.getSelectById("idContrato").addOptions(colContrato, "idContrato", "numero", null);
document.getSelectById("idPrioridade").removeAllOptions();
final PrioridadeService prioridadeService = (PrioridadeService) ServiceLocator.getInstance().getService(PrioridadeService.class, null);
final Collection col = prioridadeService.list();
document.getSelectById("idPrioridade").addOption("", "-- " + UtilI18N.internacionaliza(request, "citcorpore.comum.todos") + " --");
document.getSelectById("idPrioridade").addOptions(col, "idPrioridade", "nomePrioridade", null);
document.getSelectById("idGrupoAtual").removeAllOptions();
final GrupoService grupoSegurancaService = (GrupoService) ServiceLocator.getInstance().getService(GrupoService.class, null);
final Collection colGrupos = grupoSegurancaService.findGruposAtivos();
document.getSelectById("idGrupoAtual").addOption("", "-- " + UtilI18N.internacionaliza(request, "citcorpore.comum.todos") + " --");
document.getSelectById("idGrupoAtual").addOptions(colGrupos, "idGrupo", "nome", null);
document.getSelectById("idFaseAtual").removeAllOptions();
final FaseServicoService faseServicoService = (FaseServicoService) ServiceLocator.getInstance().getService(FaseServicoService.class, null);
final Collection colFases = faseServicoService.list();
document.getSelectById("idFaseAtual").addOption("", "-- " + UtilI18N.internacionaliza(request, "citcorpore.comum.todos") + " --");
document.getSelectById("idFaseAtual").addOptions(colFases, "idFase", "nomeFase", null);
document.getSelectById("idOrigem").removeAllOptions();
final OrigemAtendimentoService origemAtendimentoService = (OrigemAtendimentoService) ServiceLocator.getInstance().getService(OrigemAtendimentoService.class, null);
final Collection colOrigem = origemAtendimentoService.list();
document.getSelectById("idOrigem").addOption("", "-- " + UtilI18N.internacionaliza(request, "citcorpore.comum.todos") + " --");
document.getSelectById("idOrigem").addOptions(colOrigem, "idOrigem", "descricao", null);
document.getSelectById("idTipoDemandaServico").removeAllOptions();
final TipoDemandaServicoService tipoDemandaServicoService = (TipoDemandaServicoService) ServiceLocator.getInstance().getService(TipoDemandaServicoService.class, null);
final Collection colTiposDemanda = tipoDemandaServicoService.list();
document.getSelectById("idTipoDemandaServico").addOption("", "-- " + UtilI18N.internacionaliza(request, "citcorpore.comum.todos") + " --");
document.getSelectById("idTipoDemandaServico").addOptions(colTiposDemanda, "idTipoDemandaServico", "nomeTipoDemandaServico", null);
document.getElementById("paginaAtual").setInnerHTML("1");
document.getElementById("paginaTotal").setInnerHTML("0");
final String UNIDADE_AUTOCOMPLETE = ParametroUtil.getValorParametroCitSmartHashMap(br.com.centralit.citcorpore.util.Enumerados.ParametroSistema.UNIDADE_AUTOCOMPLETE, "N");
StringBuilder objeto;
if (UNIDADE_AUTOCOMPLETE != null && UNIDADE_AUTOCOMPLETE.equalsIgnoreCase("S")) {
objeto = new StringBuilder();
objeto.append("<label>");
objeto.append(UtilI18N.internacionaliza(request, "unidade.unidade"));
objeto.append("</label>");
objeto.append("<input type='text' name='unidadeDes' id='unidadeDes' style='width: 100%;' onkeypress='onkeypressUnidadeDes();' onfocus='montaParametrosAutocompleteUnidade();'>");
objeto.append("<input type='hidden' name='idUnidade' id='idUnidade' value='0'/>");
document.getElementById("divUnidade").setInnerHTML(objeto.toString());
document.executeScript("montaParametrosAutocompleteUnidade()");
} else {
objeto = new StringBuilder();
objeto.append("<label>");
objeto.append(UtilI18N.internacionaliza(request, "unidade.unidade"));
objeto.append("</label>");
objeto.append("<select class='span12' name='idUnidade' id='idUnidade'></select>");
document.getElementById("divUnidade").setInnerHTML(objeto.toString());
this.preencherComboUnidade(document, request, response);
}
}
/**
* Alterado m�todo de pagina��o para um mais eficiente.
*
* @since 11/12/2014
* @author thyen.chang
*/
public void preencheSolicitacoesRelacionadas(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws ServiceException,
Exception {
String paginacao = "0";
Integer pagAtual = 0;
Integer pagAtualAux = 0;
final PesquisaSolicitacaoServicoDTO pesquisaSolicitacaoServicoDto = (PesquisaSolicitacaoServicoDTO) document.getBean();
request.getParameter("totalItens");
if (request.getParameter("paginacao") != null && !request.getParameter("paginacao").equals("")) {
paginacao = UtilStrings.decodeCaracteresEspeciais(request.getParameter("paginacao"));
}
if (request.getParameter("paginacao") == null || request.getParameter("paginacao") == "") {
paginacao = "0";
}
if (request.getParameter("paginacao") == null) {
paginacao = "0";
}
final Integer quantidadePaginator = Integer.parseInt(ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.QUANT_RETORNO_PESQUISA, "5"));
if (paginacao.equalsIgnoreCase(quantidadePaginator.toString())) {
pagAtual = quantidadePaginator;
} else if (new Integer(paginacao) == 1) {
pagAtual = pesquisaSolicitacaoServicoDto.getPagAtual() + quantidadePaginator;
pagAtualAux = pesquisaSolicitacaoServicoDto.getPagAtualAux() + 1;
if (pagAtual >= pesquisaSolicitacaoServicoDto.getTotalItens()) {
pagAtual = pesquisaSolicitacaoServicoDto.getPagAtual();
}
if (pagAtualAux >= pesquisaSolicitacaoServicoDto.getTotalPagina()) {
pagAtualAux = pesquisaSolicitacaoServicoDto.getTotalPagina();
}
} else if (new Integer(paginacao) < 0) {
pagAtual = pesquisaSolicitacaoServicoDto.getPagAtual() - quantidadePaginator;
pagAtualAux = pesquisaSolicitacaoServicoDto.getPagAtualAux() - 1;
if (pagAtual < 1) {
pagAtual = 0;
pagAtualAux = 1;
}
} else if (new Integer(paginacao) == 0) {
pagAtual = 0;
pagAtualAux = 1;
}
else {
pagAtualAux = pesquisaSolicitacaoServicoDto.getTotalPagina() + 1;
final Integer modulo = pesquisaSolicitacaoServicoDto.getTotalItens() % quantidadePaginator;
if (modulo.intValue() == quantidadePaginator.intValue() || modulo.intValue() == 0) {
pagAtual = new Integer(paginacao) - quantidadePaginator;
} else {
pagAtual = new Integer(paginacao) - modulo;
}
if (pagAtualAux > pesquisaSolicitacaoServicoDto.getTotalPagina()) {
pagAtualAux = pesquisaSolicitacaoServicoDto.getTotalPagina();
}
}
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() + "'");
document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide();
return;
}
if (pesquisaSolicitacaoServicoDto.getDataInicio() == null) {
pesquisaSolicitacaoServicoDto.setDataInicio(UtilDatas.strToSQLDate("01/01/1970"));
}
if (pesquisaSolicitacaoServicoDto.getDataFim() == null) {
pesquisaSolicitacaoServicoDto.setDataFim(new java.sql.Date(UtilDatas.alteraData(UtilDatas.getDataAtual(), 365, Calendar.DAY_OF_YEAR).getTime()));
}
if (pesquisaSolicitacaoServicoDto.getDataInicioFechamento() == null) {
pesquisaSolicitacaoServicoDto.setDataInicioFechamento(UtilDatas.strToSQLDate("01/01/1970"));
} else {
document.executeScript("$('#situacao').attr('disabled', 'true')");
pesquisaSolicitacaoServicoDto.setSituacao("Fechada");
}
if (pesquisaSolicitacaoServicoDto.getDataFimFechamento() == null) {
pesquisaSolicitacaoServicoDto.setDataFimFechamento(new java.sql.Date(UtilDatas.alteraData(UtilDatas.getDataAtual(), 365, Calendar.DAY_OF_YEAR).getTime()));
} else {
document.executeScript("$('#situacao').attr('disabled', 'true')");
pesquisaSolicitacaoServicoDto.setSituacao("Fechada");
}
final SolicitacaoServicoService solicitacaoService = (SolicitacaoServicoService) ServiceLocator.getInstance().getService(SolicitacaoServicoService.class, null);
if (pesquisaSolicitacaoServicoDto.getFlag().equalsIgnoreCase("semPag")) {
pagAtual = 0;
pagAtualAux = 1;
}
// Passamos o usu�rio para que o sistema possa obter os IDs das unidades que ele pode acessar!
pesquisaSolicitacaoServicoDto.setUsuarioLogado(usuario);
final ArrayList<SolicitacaoServicoDTO> listaSolicitacaoServicoPorCriterios = (ArrayList<SolicitacaoServicoDTO>) solicitacaoService.listRelatorioGetListaPaginada(
pesquisaSolicitacaoServicoDto, pagAtualAux, quantidadePaginator);
final StringBuilder script = new StringBuilder();
if (listaSolicitacaoServicoPorCriterios != null) {
document.getElementById("tblResumo").setInnerHTML(this.montaHTMLResumoSolicitacoes(listaSolicitacaoServicoPorCriterios, script, request, response));
} else {
document.getElementById("tblResumo").setInnerHTML(UtilI18N.internacionaliza(request, "citcorpore.comum.validacao.criterioinformado"));
}
document.getElementById("paginaAtual").setInnerHTML(pagAtualAux.toString());
document.getElementById("pagAtual").setValue(pagAtual.toString());
document.getElementById("pagAtualAux").setValue(pagAtualAux.toString());
document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide();
}
public void setNumeroPaginas(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws ServiceException, Exception {
final PesquisaSolicitacaoServicoDTO pesquisaSolicitacaoServicoDto = (PesquisaSolicitacaoServicoDTO) document.getBean();
if (pesquisaSolicitacaoServicoDto.getDataInicio() == null) {
pesquisaSolicitacaoServicoDto.setDataInicio(UtilDatas.strToSQLDate("01/01/1970"));
}
if (pesquisaSolicitacaoServicoDto.getDataFim() == null) {
pesquisaSolicitacaoServicoDto.setDataFim(new java.sql.Date(UtilDatas.alteraData(UtilDatas.getDataAtual(), 365, Calendar.DAY_OF_YEAR).getTime()));
}
if (pesquisaSolicitacaoServicoDto.getDataInicioFechamento() == null) {
pesquisaSolicitacaoServicoDto.setDataInicioFechamento(UtilDatas.strToSQLDate("01/01/1970"));
} else {
document.executeScript("$('#situacao').attr('disabled', 'true')");
pesquisaSolicitacaoServicoDto.setSituacao("Fechada");
}
if (pesquisaSolicitacaoServicoDto.getDataFimFechamento() == null) {
pesquisaSolicitacaoServicoDto.setDataFimFechamento(new java.sql.Date(UtilDatas.alteraData(UtilDatas.getDataAtual(), 365, Calendar.DAY_OF_YEAR).getTime()));
} else {
document.executeScript("$('#situacao').attr('disabled', 'true')");
pesquisaSolicitacaoServicoDto.setSituacao("Fechada");
}
final SolicitacaoServicoService solicitacaoService = (SolicitacaoServicoService) ServiceLocator.getInstance().getService(SolicitacaoServicoService.class, null);
Integer noTotalItens, noTotalPaginas, quantidadePorPagina;
// Passamos o usu�rio para que o sistema possa obter os IDs das unidades que ele pode acessar!
pesquisaSolicitacaoServicoDto.setUsuarioLogado(usuario);
noTotalItens = solicitacaoService.listaRelatorioGetQuantidadeRegistros(pesquisaSolicitacaoServicoDto).intValue();
quantidadePorPagina = Integer.parseInt(ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.QUANT_RETORNO_PESQUISA, "5"));
noTotalPaginas = (int) Math.ceil(noTotalItens.doubleValue() / quantidadePorPagina.doubleValue());
if (!ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.QUANTIDADE_REGISTROS_PESQUISA_AVANCADA, "-1").equals("-1")
&& noTotalItens > Integer.parseInt(ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.QUANTIDADE_REGISTROS_PESQUISA_AVANCADA, "0"))) {
document.alert(UtilI18N.internacionaliza(request, "citcorporeRelatorio.comum.registroMaiorPermitido"));
document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide();
} else {
document.getElementById("paginaAtual").setInnerHTML("0");
document.getElementById("paginaTotal").setInnerHTML(noTotalPaginas.toString());
document.getElementById("totalPagina").setValue(noTotalPaginas.toString());
document.getElementById("totalItens").setValue(noTotalItens.toString());
document.getElementById("pagAtual").setValue("0");
document.getElementById("pagAtualAux").setValue("1");
switch (request.getParameter("origemSolicitacao")) {
case "pesquisa":
document.executeScript("executaPesquisa('pesquisa');");
break;
case "pdf":
document.executeScript("executaPesquisa('pdf');");
break;
case "xls":
document.executeScript("executaPesquisa('xls');");
break;
case "pdfdetalhado":
document.executeScript("executaPesquisa('pdfdetalhado');");
break;
case "xlsdetalhado":
document.executeScript("executaPesquisa('xlsdetalhado');");
break;
}
}
}
private String montaHTMLResumoSolicitacoes(final ArrayList<SolicitacaoServicoDTO> resumo, final StringBuilder script, final HttpServletRequest request,
final HttpServletResponse response) throws ServiceException, Exception {
usuario = WebUtil.getUsuario(request);
final StringBuilder html = new StringBuilder();
final SolicitacaoServicoService solicitacaoService = (SolicitacaoServicoService) ServiceLocator.getInstance().getService(SolicitacaoServicoService.class,
WebUtil.getUsuarioSistema(request));
final PermissoesFluxoService permissoesFluxoService = (PermissoesFluxoService) ServiceLocator.getInstance().getService(PermissoesFluxoService.class, null);
/* Foi necess�rio diminuir a fonte e porcetagem da largura da table para adequear ao modal */
html.append("<table class='dynamicTable table table-bordered table-condensed dataTable' id='tbRetorno' width='98%' style = 'font-size: 9px' >");
html.append("<tr>");
html.append("<th> </th>");
html.append("<th> </th>");
html.append("<th> </th>");
html.append("<th> </th>");
html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.solicitacao") + "</th>");
html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.solicitante") + "</th>");
html.append("<th>" + UtilI18N.internacionaliza(request, "citcorpore.comum.criadopor") + "</th>");
html.append("<th>" + UtilI18N.internacionaliza(request, "citcorpore.comum.tipo") + "</th>");
html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.datahoraabertura") + "</th>");
html.append("<th>" + UtilI18N.internacionaliza(request, "gerenciaservico.sla") + "</th>");
html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.descricao") + "</th>");
html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.solucaoResposta") + "</th>");
html.append("<th>" + UtilI18N.internacionaliza(request, "servico.servico") + "</th>");
html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.situacao") + "</th>");
html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.datahoralimite") + "</th>");
html.append("<th>" + UtilI18N.internacionaliza(request, "unidade.grupo") + "</th>");
html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.datahoraencerramento") + "</th>");
html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.temporestante"));
html.append("<img width='20' height='20'");
html.append("alt='" + UtilI18N.internacionaliza(request, "citcorpore.comum.ativaotemporizador") + "' id='imgAtivaTimer' style='opacity:0.5' ");
html.append("title='" + UtilI18N.internacionaliza(request, "citcorpore.comum.ativadestemporizador") + "'");
html.append("src='" + br.com.citframework.util.Constantes.getValue("CONTEXTO_APLICACAO") + "/template_new/images/cronometro.png'/>");
html.append("</th>");
html.append("<th>" + UtilI18N.internacionaliza(request, "solicitacaoServico.responsavelatual.desc"));
html.append("</tr>");
final HashMap<String, PermissoesFluxoDTO> mapPermissoes = new HashMap();
for (final SolicitacaoServicoDTO r : resumo) {
final SolicitacaoServicoDTO solDto = new SolicitacaoServicoDTO();
solDto.setIdSolicitacaoServico(r.getIdSolicitacaoServico());
final FluxoDTO fluxoDto = solicitacaoService.recuperaFluxo(solDto);
if (fluxoDto == null) {
continue;
}
PermissoesFluxoDTO permFluxoDto = mapPermissoes.get("" + fluxoDto.getIdFluxo());
html.append("<tr>");
html.append("<hidden id='idSolicitante' value='" + r.getIdSolicitante() + "'/>");
html.append("<hidden id='idResponsavel' value='" + r.getIdResponsavel() + "'/>");
html.append("<hidden id='idUsuarioResponsavelAtual' value='" + r.getIdUsuarioResponsavelAtual() + "'/>");
if (permFluxoDto == null) {
permFluxoDto = permissoesFluxoService.findByUsuarioAndFluxo(usuario, fluxoDto);
if (permFluxoDto != null) {
mapPermissoes.put("" + fluxoDto.getIdFluxo(), permFluxoDto);
}
}
html.append("<td><img src='" + br.com.citframework.util.Constantes.getValue("SERVER_ADDRESS") + br.com.citframework.util.Constantes.getValue("CONTEXTO_APLICACAO")
+ "/imagens/search.png' border='0' title='" + UtilI18N.internacionaliza(request, "pesquisasolicitacao.consultasolicitacaoincidente")
+ "' onclick='consultarOcorrencias(\"" + r.getIdSolicitacaoServico() + "\")' style='cursor:pointer'/></td>");
html.append("<td>" + "<a onclick='visualizarSolicitacao(" + r.getIdSolicitacaoServico() + ")' >" + ""
+ UtilI18N.internacionaliza(request, "citcorpore.comum.visualizar") + "</a>" + "</td>");
if (permFluxoDto != null && permFluxoDto.getReabrir() != null && permFluxoDto.getReabrir().equalsIgnoreCase("S")) {
if (r.encerrada()) {
html.append("<td><img src='" + br.com.citframework.util.Constantes.getValue("SERVER_ADDRESS")
+ br.com.citframework.util.Constantes.getValue("CONTEXTO_APLICACAO") + "/imagens/reabrir.jpg' border='0' title='"
+ UtilI18N.internacionaliza(request, "pesquisasolicitacao.reabrirsol") + "' onclick='reabrir(\"" + r.getIdSolicitacaoServico()
+ "\")' style='cursor:pointer'/></td>");
} else {
html.append("<td> </td>");
}
} else {
html.append("<td> </td>");
}
final ControleGEDService controleGedService = (ControleGEDService) ServiceLocator.getInstance().getService(ControleGEDService.class, null);
final Collection colAnexos = controleGedService.listByIdTabelaAndID(ControleGEDDTO.TABELA_SOLICITACAOSERVICO, r.getIdSolicitacaoServico());
if (colAnexos != null && !colAnexos.isEmpty()) {
html.append("<td><img src='" + br.com.citframework.util.Constantes.getValue("SERVER_ADDRESS") + br.com.citframework.util.Constantes.getValue("CONTEXTO_APLICACAO")
+ "/imagens/Paperclip4-black-32.png' width='16' height='16' border='0' title='"
+ UtilI18N.internacionaliza(request, "pesquisasolicitacao.visualizaranexos") + "' id='btAnexos' onclick='anexos(\"" + r.getIdSolicitacaoServico()
+ "\")' style='cursor:pointer'/></td>");
} else {
html.append("<td><img src='" + br.com.citframework.util.Constantes.getValue("SERVER_ADDRESS") + br.com.citframework.util.Constantes.getValue("CONTEXTO_APLICACAO")
+ "/imagens/file.png' width='16' height='16' border='0' title='" + UtilI18N.internacionaliza(request, "pesquisasolicitacao.visualizaranexos")
+ "' id='btAnexos' onclick='anexos(\"" + r.getIdSolicitacaoServico() + "\")' style='cursor:pointer'/></td>");
}
html.append("<td>" + r.getIdSolicitacaoServico() + "</td>");
html.append("<td>" + r.getNomeSolicitante() + "</td>");
html.append("<td>" + r.getResponsavel() + "</td>");
html.append("<td>" + r.getNomeTipoDemandaServico() + "</td>");
if (r.getSeqReabertura() == null || r.getSeqReabertura().intValue() == 0) {
html.append("<td id='dataHoraSolicitacao'>"
+ UtilDatas.convertDateToString(TipoDate.TIMESTAMP_WITH_SECONDS, r.getDataHoraSolicitacao(), WebUtil.getLanguage(request)) + "</td>");
} else {
html.append("<td id='dataHoraSolicitacao'>"
+ UtilDatas.convertDateToString(TipoDate.TIMESTAMP_WITH_SECONDS, r.getDataHoraSolicitacao(), WebUtil.getLanguage(request)) + "<br><br>"
+ UtilI18N.internacionaliza(request, "solicitacaoServico.seqreabertura") + ": <span style='color:red'><b>" + r.getSeqReabertura() + "</b></span></td>");
}
final boolean slaACombinar = (r.getPrazoHH() == null || r.getPrazoHH() == 0) && (r.getPrazoMM() == null || r.getPrazoMM() == 0);
if (slaACombinar) {
html.append("<td>" + UtilI18N.internacionaliza(request, "citcorpore.comum.aCombinar") + "</td>");
} else {
html.append("<td>" + r.getPrazoHH() + ":" + r.getPrazoMM() + "</td>");
}
html.append("<td>" + UtilStrings.nullToVazio(UtilStrings.unescapeJavaString(r.getDescricaoSemFormatacao())) + "</td>");
html.append("<td>" + UtilStrings.nullToVazio(UtilStrings.unescapeJavaString(r.getResposta())) + "</td>");
html.append("<td>" + r.getNomeServico().replace(".", ". ") + "</td>");
/*
* -- Para internacionalizar corretamente -- A query possui um case when para colocar "Em Andamento" se a
* situa��o for "EmAndamento" Essa query � utilizada em outros programas Por esse motivo, o mais simples e
* menos arriscado � colocar esse teste em vez de mudar a query e arriscar bagun�ar em outro lugar Quando a
* query for melhorada retirando o case when, esse if n�o ser� mais utilizado Uelen Paulo - 26/09/2013
*/
if (r.getSituacao().equalsIgnoreCase("Em Andamento")) {
r.setSituacao("EmAndamento");
}
html.append("<td>" + r.obterSituacaoInternacionalizada(request) + "</td>");
if (r.getDataHoraLimite() != null && !slaACombinar) {
html.append("<td>" + UtilDatas.convertDateToString(TipoDate.TIMESTAMP_WITH_SECONDS, r.getDataHoraLimite(), WebUtil.getLanguage(request)) + "</td>");
} else {
html.append("<td> </td>");
}
html.append("<td>" + UtilStrings.nullToVazio(r.getSiglaGrupo()) + "</td>");
String d = "";
if (r.getDataHoraFim() != null) {
d = UtilDatas.convertDateToString(TipoDate.TIMESTAMP_WITH_SECONDS, r.getDataHoraFim(), WebUtil.getLanguage(request));
}
html.append("<td id='dataHoraFimSolicitacao'>" + d + "</td>");
if (r.getSituacao().equals("EmAndamento")) {
script.append("temporizador.addOuvinte(new Solicitacao('tempoRestante" + r.getIdSolicitacaoServico() + "', " + "'barraProgresso" + r.getIdSolicitacaoServico()
+ "', " + "'" + r.getDataHoraSolicitacao() + "', '" + r.getDataHoraLimite() + "'));");
}
html.append("<td><label id='tempoRestante" + r.getIdSolicitacaoServico() + "'></label>");
html.append("<div id='barraProgresso" + r.getIdSolicitacaoServico() + "'></div></td>");
/*
* campo Responsavel Atual, buscando o usuario pelo id para obter o nome do mesmo.
*/
if (r.getIdUsuarioResponsavelAtual() != null) {
final UsuarioService usuarioService = (UsuarioService) ServiceLocator.getInstance().getService(UsuarioService.class, null);
final UsuarioDTO usuarioResponsavelAtual = usuarioService.restoreByID(r.getIdUsuarioResponsavelAtual());
if (usuarioResponsavelAtual != null && usuarioResponsavelAtual.getNomeUsuario() != null) {
html.append("<td>" + usuarioResponsavelAtual.getNomeUsuario() + "</td>");
} else {
html.append("<td> </td>");
}
} else {
html.append("<td> </td>");
}
html.append("</tr>");
}
html.append("</table>");
return html.toString();
}
public void reabre(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws ServiceException, 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;
}
final PesquisaSolicitacaoServicoDTO pesquisaSolicitacaoServicoDto = (PesquisaSolicitacaoServicoDTO) document.getBean();
SolicitacaoServicoDTO solicitacaoServicoDto = new SolicitacaoServicoDTO();
final SolicitacaoServicoService solicitacaoService = (SolicitacaoServicoService) ServiceLocator.getInstance().getService(SolicitacaoServicoService.class, null);
if (pesquisaSolicitacaoServicoDto.getIdSolicitacaoServico() == null) {
document.alert(UtilI18N.internacionaliza(request, "pesquisasolicitacao.informeReabrir"));
return;
} else {
solicitacaoServicoDto.setIdSolicitacaoServico(pesquisaSolicitacaoServicoDto.getIdSolicitacaoServico());
solicitacaoServicoDto = (SolicitacaoServicoDTO) solicitacaoService.restore(solicitacaoServicoDto);
int numDias;
int numDiasParametro;
boolean permiteReabrir = false;
try {
numDias = UtilDatas.dataDiff(solicitacaoServicoDto.getDataHoraFim(), UtilDatas.getDataAtual());
numDiasParametro = Integer.parseInt(ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.DIAS_LIMITE_REABERTURA_INCIDENTE_REQUISICAO, null));
if (numDias <= numDiasParametro) {
permiteReabrir = true;
}
} catch (final NumberFormatException ne) {
document.alert(UtilI18N.internacionaliza(request, "pesquisasolicitacao.prazoReaberturaNaoConfigurado"));
return;
}
if (!permiteReabrir) {
document.alert(UtilI18N.internacionaliza(request, "pesquisasolicitacao.prazoReaberturaExcedido"));
return;
} else {
solicitacaoService.reabre(usuario, solicitacaoServicoDto);
}
}
document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.reaberta"));
document.executeScript("filtrar()");
}
public void verificaServicoAtivoSolicitacao(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws ServiceException,
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;
}
final PesquisaSolicitacaoServicoDTO pesquisaSolicitacaoServicoDto = (PesquisaSolicitacaoServicoDTO) document.getBean();
final ServicoContratoService servicoContratoService = (ServicoContratoService) ServiceLocator.getInstance().getService(ServicoContratoService.class, null);
if (pesquisaSolicitacaoServicoDto.getIdSolicitacaoServico() == null) {
document.alert(UtilI18N.internacionaliza(request, "pesquisasolicitacao.informeReabrir"));
return;
} else {
final boolean seServicoAtivo = servicoContratoService.verificaServicoEstaVinculadoContrato(pesquisaSolicitacaoServicoDto.getIdSolicitacaoServico());
if (!seServicoAtivo) {
document.executeScript("verificaServico('" + pesquisaSolicitacaoServicoDto.getIdSolicitacaoServico() + "')");
} else {
this.reabre(document, request, response);
}
}
}
public void imprimirRelatorio(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
final HttpSession session = request.getSession();
final PesquisaSolicitacaoServicoDTO pesquisaSolicitacaoServicoDto = (PesquisaSolicitacaoServicoDTO) document.getBean();
final SolicitacaoServicoService solicitacaoService = (SolicitacaoServicoService) ServiceLocator.getInstance().getService(SolicitacaoServicoService.class, null);
TipoDemandaServicoDTO tipoDemandaServicoDto = new TipoDemandaServicoDTO();
final TipoDemandaServicoService tipoDemandaServicoService = (TipoDemandaServicoService) ServiceLocator.getInstance().getService(TipoDemandaServicoService.class, null);
GrupoDTO grupoDto = new GrupoDTO();
final GrupoService grupoSegurancaService = (GrupoService) ServiceLocator.getInstance().getService(GrupoService.class, null);
OrigemAtendimentoDTO origemDto = new OrigemAtendimentoDTO();
final OrigemAtendimentoService origemAtendimentoService = (OrigemAtendimentoService) ServiceLocator.getInstance().getService(OrigemAtendimentoService.class, null);
FaseServicoDTO faseDto = new FaseServicoDTO();
final FaseServicoService faseServicoService = (FaseServicoService) ServiceLocator.getInstance().getService(FaseServicoService.class, null);
PrioridadeDTO prioridadeDto = new PrioridadeDTO();
final PrioridadeService prioridadeService = (PrioridadeService) ServiceLocator.getInstance().getService(PrioridadeService.class, null);
ContratoDTO contratoDto = new ContratoDTO();
final ContratoService contratoService = (ContratoService) ServiceLocator.getInstance().getService(ContratoService.class, null);
UsuarioDTO usuarioDto = new UsuarioDTO();
final UsuarioService usuarioService = (UsuarioService) ServiceLocator.getInstance().getService(UsuarioService.class, null);
UnidadeDTO unidadeDto = new UnidadeDTO();
final UnidadeService unidadeService = (UnidadeService) ServiceLocator.getInstance().getService(UnidadeService.class, null);
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() + "'");
document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide();
return;
}
if (pesquisaSolicitacaoServicoDto.getDataInicioFechamento() != null) {
document.executeScript("$('#situacao').attr('disabled', 'true')");
pesquisaSolicitacaoServicoDto.setSituacao("Fechada");
}
if (pesquisaSolicitacaoServicoDto.getDataFimFechamento() != null) {
document.executeScript("$('#situacao').attr('disabled', 'true')");
pesquisaSolicitacaoServicoDto.setSituacao("Fechada");
}
// Passamos o usu�rio para que o sistema possa obter os IDs das unidades que ele pode acessar!
pesquisaSolicitacaoServicoDto.setUsuarioLogado(usuario);
ArrayList<SolicitacaoServicoDTO> listaSolicitacaoServicoPorCriterios = (ArrayList<SolicitacaoServicoDTO>) solicitacaoService
.listaSolicitacaoServicoPorCriterios(pesquisaSolicitacaoServicoDto);
if (listaSolicitacaoServicoPorCriterios == null || listaSolicitacaoServicoPorCriterios.size() == 0) {
document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide();
document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.relatorioVazio"));
return;
}
for (final SolicitacaoServicoDTO solicitacaoServico : listaSolicitacaoServicoPorCriterios) {
solicitacaoServico.setResposta(UtilStrings.unescapeJavaString(solicitacaoServico.getResposta()));
if ((solicitacaoServico.getPrazoHH() == null || solicitacaoServico.getPrazoHH() == 0)
&& (solicitacaoServico.getPrazoMM() == null || solicitacaoServico.getPrazoMM() == 0)) {
solicitacaoServico.setSlaACombinar("S");
} else {
solicitacaoServico.setSlaACombinar("N");
}
solicitacaoServico.setDescricaoSemFormatacao(UtilStrings.unescapeJavaString(solicitacaoServico.getDescricaoSemFormatacao()));
solicitacaoServico.setDescricao(UtilStrings.unescapeJavaString(solicitacaoServico.getDescricao()));
/*
* Internacionaliza a situa��o
*/
solicitacaoServico.setSituacao(solicitacaoServico.obterSituacaoInternacionalizada(request));
if (pesquisaSolicitacaoServicoDto.getNomeUsuarioResponsavelAtual() != null) {
solicitacaoServico.setNomeUsuarioResponsavelAtual(pesquisaSolicitacaoServicoDto.getNomeUsuarioResponsavelAtual());
}
if (solicitacaoServico != null && solicitacaoServico.getResponsavelAtual() == null) {
solicitacaoServico.setResponsavelAtual(UtilI18N.internacionaliza(request, "citcorporeRelatorio.comum.semResponsavelAtual"));
}
if (solicitacaoServico != null && solicitacaoServico.getNomeTarefa() == null) {
solicitacaoServico.setNomeTarefa(UtilI18N.internacionaliza(request, "citcorpore.comum.naoInformado"));
}
}
final Date dt = new Date();
final String strCompl = "" + dt.getTime();
final String caminhoJasper = CITCorporeUtil.CAMINHO_REAL_APP + Constantes.getValue("CAMINHO_RELATORIOS") + "RelatorioPesquisaSolicitacaoServico.jasper";
final String diretorioReceita = CITCorporeUtil.CAMINHO_REAL_APP + "/tempFiles";
final 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, "citcorporeRelatorio.pesquisaSolicitacoesServicos"));
parametros.put("CIDADE", "Bras�lia,");
parametros.put("DATA_HORA", UtilDatas.getDataHoraAtual());
parametros.put("NOME_USUARIO", usuario.getNomeUsuario());
parametros.put("dataInicio", pesquisaSolicitacaoServicoDto.getDataInicio() == null ? pesquisaSolicitacaoServicoDto.getDataInicioFechamento()
: pesquisaSolicitacaoServicoDto.getDataInicio());
parametros.put("dataFim",
pesquisaSolicitacaoServicoDto.getDataFim() == null ? pesquisaSolicitacaoServicoDto.getDataFimFechamento() : pesquisaSolicitacaoServicoDto.getDataFim());
parametros.put("Logo", LogoRel.getFile());
parametros.put("exibirCampoDescricao", UtilStrings.unescapeJavaString(pesquisaSolicitacaoServicoDto.getExibirCampoDescricao()));
parametros.put("quantidade", listaSolicitacaoServicoPorCriterios.size());
parametros.put("criado_por", UtilI18N.internacionaliza(request, "citcorpore.comum.criadopor") + ":");
if (pesquisaSolicitacaoServicoDto.getNomeItemConfiguracao() != null && !pesquisaSolicitacaoServicoDto.getNomeItemConfiguracao().equalsIgnoreCase("")) {
parametros.put("nomeItemConfiguracao", pesquisaSolicitacaoServicoDto.getNomeItemConfiguracao());
} else {
parametros.put("nomeItemConfiguracao", null);
}
if (pesquisaSolicitacaoServicoDto.getNomeSolicitante() != null && !pesquisaSolicitacaoServicoDto.getNomeSolicitante().equalsIgnoreCase("")) {
parametros.put("nomeSolicitante", pesquisaSolicitacaoServicoDto.getNomeSolicitante());
} else {
parametros.put("nomeSolicitante", null);
}
if (pesquisaSolicitacaoServicoDto.getIdTipoDemandaServico() != null) {
tipoDemandaServicoDto.setIdTipoDemandaServico(pesquisaSolicitacaoServicoDto.getIdTipoDemandaServico());
tipoDemandaServicoDto = (TipoDemandaServicoDTO) tipoDemandaServicoService.restore(tipoDemandaServicoDto);
pesquisaSolicitacaoServicoDto.setNomeTipoDemandaServico(tipoDemandaServicoDto.getNomeTipoDemandaServico());
parametros.put("tipo", pesquisaSolicitacaoServicoDto.getNomeTipoDemandaServico());
} else {
parametros.put("tipo", pesquisaSolicitacaoServicoDto.getNomeTipoDemandaServico());
}
if (pesquisaSolicitacaoServicoDto.getIdSolicitacaoServicoPesquisa() != null) {
parametros.put("numero", pesquisaSolicitacaoServicoDto.getIdSolicitacaoServicoPesquisa());
} else {
parametros.put("numero", pesquisaSolicitacaoServicoDto.getIdSolicitacaoServicoPesquisa());
}
if (pesquisaSolicitacaoServicoDto.getSituacao() != null && !pesquisaSolicitacaoServicoDto.getSituacao().equals("")) {
parametros.put("situacao", pesquisaSolicitacaoServicoDto.getSituacaoInternacionalizada(request));
} else {
parametros.put("situacao", null);
}
if (pesquisaSolicitacaoServicoDto.getIdGrupoAtual() != null) {
grupoDto.setIdGrupo(pesquisaSolicitacaoServicoDto.getIdGrupoAtual());
grupoDto = (GrupoDTO) grupoSegurancaService.restore(grupoDto);
pesquisaSolicitacaoServicoDto.setGrupoAtual(grupoDto.getSigla());
parametros.put("grupoSolucionador", pesquisaSolicitacaoServicoDto.getGrupoAtual());
} else {
parametros.put("grupoSolucionador", pesquisaSolicitacaoServicoDto.getGrupoAtual());
}
if (pesquisaSolicitacaoServicoDto.getIdOrigem() != null) {
origemDto.setIdOrigem(pesquisaSolicitacaoServicoDto.getIdOrigem());
origemDto = (OrigemAtendimentoDTO) origemAtendimentoService.restore(origemDto);
pesquisaSolicitacaoServicoDto.setOrigem(UtilStrings.unescapeJavaString(origemDto.getDescricao()));
parametros.put("origem", pesquisaSolicitacaoServicoDto.getOrigem());
} else {
parametros.put("origem", pesquisaSolicitacaoServicoDto.getOrigem());
}
if (pesquisaSolicitacaoServicoDto.getIdFaseAtual() != null) {
faseDto.setIdFase(pesquisaSolicitacaoServicoDto.getIdFaseAtual());
faseDto = (FaseServicoDTO) faseServicoService.restore(faseDto);
pesquisaSolicitacaoServicoDto.setFaseAtual(faseDto.getNomeFase());
parametros.put("fase", pesquisaSolicitacaoServicoDto.getFaseAtual());
} else {
parametros.put("fase", pesquisaSolicitacaoServicoDto.getFaseAtual());
}
if (pesquisaSolicitacaoServicoDto.getIdPrioridade() != null) {
prioridadeDto.setIdPrioridade(pesquisaSolicitacaoServicoDto.getIdPrioridade());
prioridadeDto = (PrioridadeDTO) prioridadeService.restore(prioridadeDto);
pesquisaSolicitacaoServicoDto.setPrioridade(prioridadeDto.getNomePrioridade());
parametros.put("prioridade", pesquisaSolicitacaoServicoDto.getPrioridade());
} else {
parametros.put("prioridade", pesquisaSolicitacaoServicoDto.getPrioridade());
}
if (pesquisaSolicitacaoServicoDto.getIdContrato() != null) {
contratoDto.setIdContrato(pesquisaSolicitacaoServicoDto.getIdContrato());
contratoDto = (ContratoDTO) contratoService.restore(contratoDto);
parametros.put("contrato", contratoDto.getNumero());
} else {
parametros.put("contrato", contratoDto.getNumero());
}
if (pesquisaSolicitacaoServicoDto.getIdResponsavel() != null) {
usuarioDto.setIdUsuario(pesquisaSolicitacaoServicoDto.getIdResponsavel());
usuarioDto = (UsuarioDTO) usuarioService.restore(usuarioDto);
parametros.put("responsavel", usuarioDto.getNomeUsuario());
} else {
parametros.put("responsavel", null);
}
if (pesquisaSolicitacaoServicoDto.getIdUsuarioResponsavelAtual() != null) {
usuarioDto.setIdUsuario(pesquisaSolicitacaoServicoDto.getIdUsuarioResponsavelAtual());
usuarioDto = (UsuarioDTO) usuarioService.restore(usuarioDto);
parametros.put("nomeUsuarioResponsavelAtual", usuarioDto.getNomeUsuario());
} else {
parametros.put("nomeUsuarioResponsavelAtual", null);
}
if (pesquisaSolicitacaoServicoDto.getIdUnidade() != null) {
unidadeDto.setIdUnidade(pesquisaSolicitacaoServicoDto.getIdUnidade());
unidadeDto = (UnidadeDTO) unidadeService.restore(unidadeDto);
if (unidadeDto != null && unidadeDto.getNome() != null) {
parametros.put("unidade", unidadeDto.getNome());
} else {
parametros.put("unidade", null);
}
} else {
parametros.put("unidade", null);
}
parametros.put("nomeTarefaString", UtilI18N.internacionaliza(request, "citcorporeRelatorio.comum.nomeTarefa"));
try {
JRDataSource dataSource = new JRBeanCollectionDataSource(listaSolicitacaoServicoPorCriterios);
JRAbstractLRUVirtualizer virtualizer = new JRGzipVirtualizer(50);
// Seta o parametro REPORT_VIRTUALIZER com a inst�ncia da virtualiza��o
parametros.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);
// Preenche o relat�rio e exibe numa GUI
final Timestamp ts1 = UtilDatas.getDataHoraAtual();
final JasperPrint jp = JasperFillManager.fillReport(caminhoJasper, parametros, dataSource);
final Timestamp ts2 = UtilDatas.getDataHoraAtual();
final double tempo = UtilDatas.calculaDiferencaTempoEmMilisegundos(ts2, ts1);
System.out.println("########## Tempo fillReport: " + tempo);
JasperExportManager.exportReportToPdfFile(jp, diretorioReceita + "/RelatorioSolicitacaoServico" + strCompl + "_" + usuario.getIdUsuario() + ".pdf");
document.executeScript("window.open('" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/printPDF/printPDF.jsp?url="
+ diretorioRelativoOS + "/RelatorioSolicitacaoServico" + strCompl + "_" + usuario.getIdUsuario() + ".pdf')");
virtualizer = null;
dataSource = null;
listaSolicitacaoServicoPorCriterios = null;
} catch (final OutOfMemoryError e) { // TODO capturar error n�o n� amig�o??
/*
* Desenvolvedor: Thiago Matias - Data: 30/10/2013 - Hor�rio: 15h35min - ID Citsmart: 122665 -
* Motivo/Coment�rio: alterando o a chave de citcorpore.erro.memoria para citsmart.erro.memoria
*/
document.alert(UtilI18N.internacionaliza(request, "citsmart.erro.memoria"));
}
document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide();
}
public void imprimirRelatorioXlsDetalhado(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
final HttpSession session = request.getSession();
final PesquisaSolicitacaoServicoDTO pesquisaSolicitacaoServicoDto = (PesquisaSolicitacaoServicoDTO) document.getBean();
final SolicitacaoServicoService solicitacaoService = (SolicitacaoServicoService) ServiceLocator.getInstance().getService(SolicitacaoServicoService.class, null);
TipoDemandaServicoDTO tipoDemandaServicoDto = new TipoDemandaServicoDTO();
final TipoDemandaServicoService tipoDemandaServicoService = (TipoDemandaServicoService) ServiceLocator.getInstance().getService(TipoDemandaServicoService.class, null);
GrupoDTO grupoDto = new GrupoDTO();
final GrupoService grupoSegurancaService = (GrupoService) ServiceLocator.getInstance().getService(GrupoService.class, null);
OrigemAtendimentoDTO origemDto = new OrigemAtendimentoDTO();
final OrigemAtendimentoService origemAtendimentoService = (OrigemAtendimentoService) ServiceLocator.getInstance().getService(OrigemAtendimentoService.class, null);
FaseServicoDTO faseDto = new FaseServicoDTO();
final FaseServicoService faseServicoService = (FaseServicoService) ServiceLocator.getInstance().getService(FaseServicoService.class, null);
PrioridadeDTO prioridadeDto = new PrioridadeDTO();
final PrioridadeService prioridadeService = (PrioridadeService) ServiceLocator.getInstance().getService(PrioridadeService.class, null);
ContratoDTO contratoDto = new ContratoDTO();
final ContratoService contratoService = (ContratoService) ServiceLocator.getInstance().getService(ContratoService.class, null);
UsuarioDTO usuarioDto = new UsuarioDTO();
final UsuarioService usuarioService = (UsuarioService) ServiceLocator.getInstance().getService(UsuarioService.class, null);
UnidadeDTO unidadeDto = new UnidadeDTO();
final UnidadeService unidadeService = (UnidadeService) ServiceLocator.getInstance().getService(UnidadeService.class, null);
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() + "'");
document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide();
return;
}
if (pesquisaSolicitacaoServicoDto.getDataInicioFechamento() != null) {
document.executeScript("$('#situacao').attr('disabled', 'true')");
pesquisaSolicitacaoServicoDto.setSituacao("Fechada");
}
if (pesquisaSolicitacaoServicoDto.getDataFimFechamento() != null) {
document.executeScript("$('#situacao').attr('disabled', 'true')");
pesquisaSolicitacaoServicoDto.setSituacao("Fechada");
}
// Passamos o usu�rio para que o sistema possa obter os IDs das unidades que ele pode acessar!
pesquisaSolicitacaoServicoDto.setUsuarioLogado(usuario);
final ArrayList<SolicitacaoServicoDTO> listaSolicitacaoServicoPorCriterios = (ArrayList<SolicitacaoServicoDTO>) solicitacaoService
.listaSolicitacaoServicoPorCriterios(pesquisaSolicitacaoServicoDto);
if (listaSolicitacaoServicoPorCriterios == null || listaSolicitacaoServicoPorCriterios.size() == 0) {
document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide();
document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.relatorioVazio"));
return;
}
for (final SolicitacaoServicoDTO solicitacaoServico : listaSolicitacaoServicoPorCriterios) {
solicitacaoServico.setResposta(UtilStrings.unescapeJavaString(solicitacaoServico.getResposta()));
if ((solicitacaoServico.getPrazoHH() == null || solicitacaoServico.getPrazoHH() == 0)
&& (solicitacaoServico.getPrazoMM() == null || solicitacaoServico.getPrazoMM() == 0)) {
solicitacaoServico.setSlaACombinar("S");
} else {
solicitacaoServico.setSlaACombinar("N");
}
solicitacaoServico.setDescricaoSemFormatacao(UtilStrings.unescapeJavaString(solicitacaoServico.getDescricaoSemFormatacao()));
solicitacaoServico.setDescricao(UtilStrings.unescapeJavaString(solicitacaoServico.getDescricao()));
/*
* Internacionaliza a situa��o
*/
solicitacaoServico.setSituacao(solicitacaoServico.obterSituacaoInternacionalizada(request));
if (pesquisaSolicitacaoServicoDto.getNomeUsuarioResponsavelAtual() != null) {
solicitacaoServico.setNomeUsuarioResponsavelAtual(pesquisaSolicitacaoServicoDto.getNomeUsuarioResponsavelAtual());
}
/**
* Cria SLA para solicitacao
*
* @author thyen.chang
*/
if (solicitacaoServico != null && solicitacaoServico.getPrazoHH() != null && solicitacaoServico.getPrazoMM() != null) {
solicitacaoServico.setSla((solicitacaoServico.getPrazoHH() < 10 ? "0" + solicitacaoServico.getPrazoHH().toString() : solicitacaoServico.getPrazoHH().toString())
+ ":" + (solicitacaoServico.getPrazoMM() < 10 ? "0" + solicitacaoServico.getPrazoMM().toString() : solicitacaoServico.getPrazoMM().toString()));
} else {
solicitacaoServico.setSla("");
}
/**
* Determina localidade caso n�o exista
*
* @author thyen.chang
*/
if (solicitacaoServico != null && (solicitacaoServico.getLocalidade() == null || solicitacaoServico.getLocalidade().equals(""))) {
solicitacaoServico.setLocalidade(UtilI18N.internacionaliza(request, "citcorpore.comum.naoInformado"));
}
/**
* Determina respons�vel caso n�o exista
*
* @author thyen.chang
*/
if (solicitacaoServico != null && solicitacaoServico.getResponsavelAtual() == null) {
solicitacaoServico.setResponsavelAtual(UtilI18N.internacionaliza(request, "citcorporeRelatorio.comum.semResponsavelAtual"));
}
if (solicitacaoServico != null && solicitacaoServico.getNomeTarefa() == null) {
solicitacaoServico.setNomeTarefa(UtilI18N.internacionaliza(request, "citcorpore.comum.naoInformado"));
}
if (solicitacaoServico != null && solicitacaoServico.getResposta() != null) {
solicitacaoServico.setResposta(formataCaracteresInv�lidos(solicitacaoServico.getResposta()));
}
}
final Date dt = new Date();
final String strCompl = "" + dt.getTime();
final String diretorioReceita = CITCorporeUtil.CAMINHO_REAL_APP + "/tempFiles";
final 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, "citcorporeRelatorio.pesquisaSolicitacoesServicosDetalhado"));
parametros.put("CIDADE", "Bras�lia,");
parametros.put("DATA_HORA", UtilDatas.getDataHoraAtual());
parametros.put("NOME_USUARIO", usuario.getNomeUsuario());
parametros.put("dataInicio", pesquisaSolicitacaoServicoDto.getDataInicio() == null ? pesquisaSolicitacaoServicoDto.getDataInicioFechamento()
: pesquisaSolicitacaoServicoDto.getDataInicio());
parametros.put("dataFim",
pesquisaSolicitacaoServicoDto.getDataFim() == null ? pesquisaSolicitacaoServicoDto.getDataFimFechamento() : pesquisaSolicitacaoServicoDto.getDataFim());
parametros.put("Logo", LogoRel.getFile());
parametros.put("exibirCampoDescricao", pesquisaSolicitacaoServicoDto.getExibirCampoDescricao());
parametros.put("quantidade", listaSolicitacaoServicoPorCriterios.size());
parametros.put("criado_por", UtilI18N.internacionaliza(request, "citcorpore.comum.criadopor") + ":");
if (pesquisaSolicitacaoServicoDto.getNomeItemConfiguracao() != null && !pesquisaSolicitacaoServicoDto.getNomeItemConfiguracao().equalsIgnoreCase("")) {
parametros.put("nomeItemConfiguracao", pesquisaSolicitacaoServicoDto.getNomeItemConfiguracao());
} else {
parametros.put("nomeItemConfiguracao", null);
}
if (pesquisaSolicitacaoServicoDto.getNomeSolicitante() != null && !pesquisaSolicitacaoServicoDto.getNomeSolicitante().equalsIgnoreCase("")) {
parametros.put("nomeSolicitante", pesquisaSolicitacaoServicoDto.getNomeSolicitante());
} else {
parametros.put("nomeSolicitante", null);
}
if (pesquisaSolicitacaoServicoDto.getIdTipoDemandaServico() != null) {
tipoDemandaServicoDto.setIdTipoDemandaServico(pesquisaSolicitacaoServicoDto.getIdTipoDemandaServico());
tipoDemandaServicoDto = (TipoDemandaServicoDTO) tipoDemandaServicoService.restore(tipoDemandaServicoDto);
pesquisaSolicitacaoServicoDto.setNomeTipoDemandaServico(tipoDemandaServicoDto.getNomeTipoDemandaServico());
parametros.put("tipo", pesquisaSolicitacaoServicoDto.getNomeTipoDemandaServico());
} else {
parametros.put("tipo", pesquisaSolicitacaoServicoDto.getNomeTipoDemandaServico());
}
if (pesquisaSolicitacaoServicoDto.getIdSolicitacaoServicoPesquisa() != null) {
parametros.put("numero", pesquisaSolicitacaoServicoDto.getIdSolicitacaoServicoPesquisa());
} else {
parametros.put("numero", pesquisaSolicitacaoServicoDto.getIdSolicitacaoServicoPesquisa());
}
if (pesquisaSolicitacaoServicoDto.getSituacao() != null && !pesquisaSolicitacaoServicoDto.getSituacao().equals("")) {
parametros.put("situacao", pesquisaSolicitacaoServicoDto.getSituacaoInternacionalizada(request));
} else {
parametros.put("situacao", null);
}
if (pesquisaSolicitacaoServicoDto.getIdGrupoAtual() != null) {
grupoDto.setIdGrupo(pesquisaSolicitacaoServicoDto.getIdGrupoAtual());
grupoDto = (GrupoDTO) grupoSegurancaService.restore(grupoDto);
pesquisaSolicitacaoServicoDto.setGrupoAtual(grupoDto.getSigla());
parametros.put("grupoSolucionador", pesquisaSolicitacaoServicoDto.getGrupoAtual());
} else {
parametros.put("grupoSolucionador", pesquisaSolicitacaoServicoDto.getGrupoAtual());
}
if (pesquisaSolicitacaoServicoDto.getIdOrigem() != null) {
origemDto.setIdOrigem(pesquisaSolicitacaoServicoDto.getIdOrigem());
origemDto = (OrigemAtendimentoDTO) origemAtendimentoService.restore(origemDto);
pesquisaSolicitacaoServicoDto.setOrigem(UtilStrings.unescapeJavaString(origemDto.getDescricao()));
parametros.put("origem", pesquisaSolicitacaoServicoDto.getOrigem());
} else {
parametros.put("origem", pesquisaSolicitacaoServicoDto.getOrigem());
}
if (pesquisaSolicitacaoServicoDto.getIdFaseAtual() != null) {
faseDto.setIdFase(pesquisaSolicitacaoServicoDto.getIdFaseAtual());
faseDto = (FaseServicoDTO) faseServicoService.restore(faseDto);
pesquisaSolicitacaoServicoDto.setFaseAtual(faseDto.getNomeFase());
parametros.put("fase", pesquisaSolicitacaoServicoDto.getFaseAtual());
} else {
parametros.put("fase", pesquisaSolicitacaoServicoDto.getFaseAtual());
}
if (pesquisaSolicitacaoServicoDto.getIdPrioridade() != null) {
prioridadeDto.setIdPrioridade(pesquisaSolicitacaoServicoDto.getIdPrioridade());
prioridadeDto = (PrioridadeDTO) prioridadeService.restore(prioridadeDto);
pesquisaSolicitacaoServicoDto.setPrioridade(prioridadeDto.getNomePrioridade());
parametros.put("prioridade", pesquisaSolicitacaoServicoDto.getPrioridade());
} else {
parametros.put("prioridade", pesquisaSolicitacaoServicoDto.getPrioridade());
}
if (pesquisaSolicitacaoServicoDto.getIdContrato() != null) {
contratoDto.setIdContrato(pesquisaSolicitacaoServicoDto.getIdContrato());
contratoDto = (ContratoDTO) contratoService.restore(contratoDto);
parametros.put("contrato", contratoDto.getNumero());
} else {
parametros.put("contrato", contratoDto.getNumero());
}
if (pesquisaSolicitacaoServicoDto.getIdResponsavel() != null) {
usuarioDto.setIdUsuario(pesquisaSolicitacaoServicoDto.getIdResponsavel());
usuarioDto = (UsuarioDTO) usuarioService.restore(usuarioDto);
parametros.put("responsavel", usuarioDto.getNomeUsuario());
} else {
parametros.put("responsavel", null);
}
if (pesquisaSolicitacaoServicoDto.getIdUsuarioResponsavelAtual() != null) {
usuarioDto.setIdUsuario(pesquisaSolicitacaoServicoDto.getIdUsuarioResponsavelAtual());
usuarioDto = (UsuarioDTO) usuarioService.restore(usuarioDto);
parametros.put("nomeUsuarioResponsavelAtual", usuarioDto.getNomeUsuario());
} else {
parametros.put("nomeUsuarioResponsavelAtual", null);
}
if (pesquisaSolicitacaoServicoDto.getIdUnidade() != null) {
unidadeDto.setIdUnidade(pesquisaSolicitacaoServicoDto.getIdUnidade());
unidadeDto = (UnidadeDTO) unidadeService.restore(unidadeDto);
if (unidadeDto != null && unidadeDto.getNome() != null) {
parametros.put("unidade", unidadeDto.getNome());
} else {
parametros.put("unidade", null);
}
} else {
parametros.put("unidade", null);
}
parametros.put("nomeTarefaString", UtilI18N.internacionaliza(request, "citcorporeRelatorio.comum.nomeTarefa"));
try {
final JRDataSource dataSource = new JRBeanCollectionDataSource(listaSolicitacaoServicoPorCriterios);
final JasperDesign desenho = JRXmlLoader.load(CITCorporeUtil.CAMINHO_REAL_APP + Constantes.getValue("CAMINHO_RELATORIOS")
+ "RelatorioPesquisaSolicitacaoServicoXlsDetalhado.jrxml");
final JasperReport relatorio = JasperCompileManager.compileReport(desenho);
final JasperPrint impressao = JasperFillManager.fillReport(relatorio, parametros, dataSource);
final JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, impressao);
exporter.setParameter(JRXlsAbstractExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
exporter.setParameter(JRXlsAbstractExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.TRUE);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,
diretorioReceita + "/RelatorioPesquisaSolicitacaoServicoXlsDetalhado" + strCompl + "_" + usuario.getIdUsuario() + ".xls");
exporter.exportReport();
document.executeScript("window.open('" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/printPDF/printPDF.jsp?url="
+ diretorioRelativoOS + "/RelatorioPesquisaSolicitacaoServicoXlsDetalhado" + strCompl + "_" + usuario.getIdUsuario() + ".xls')");
} catch (final OutOfMemoryError e) {
document.alert(UtilI18N.internacionaliza(request, "citcorpore.erro.erroServidor"));
}
document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide();
}
public void restoreUpload(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws ServiceException, Exception {
request.getSession(true).setAttribute("colUploadsGED", null);
/* Realida o refresh do iframe */
document.executeScript("document.getElementById('fraUpload_uploadAnexos').contentWindow.location.reload(true)");
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;
}
final PesquisaSolicitacaoServicoDTO pesquisaSolicitacaoServicoDto = (PesquisaSolicitacaoServicoDTO) document.getBean();
if (pesquisaSolicitacaoServicoDto.getIdSolicitacaoServico() == null) {
return;
}
final ControleGEDService controleGedService = (ControleGEDService) ServiceLocator.getInstance().getService(ControleGEDService.class, null);
final Collection colAnexos = controleGedService.listByIdTabelaAndID(ControleGEDDTO.TABELA_SOLICITACAOSERVICO, pesquisaSolicitacaoServicoDto.getIdSolicitacaoServico());
final Collection colAnexosUploadDTO = controleGedService.convertListControleGEDToUploadDTO(colAnexos);
request.getSession(true).setAttribute("colUploadsGED", colAnexosUploadDTO);
document.executeScript("$('#POPUP_menuAnexos').dialog('open');");
}
public String mostrarOcorrencia() throws Exception {
final OcorrenciaSolicitacaoService ocorrenciaSolicitacaoService = (OcorrenciaSolicitacaoService) ServiceLocator.getInstance().getService(
OcorrenciaSolicitacaoService.class, null);
final Collection<OcorrenciaSolicitacaoDTO> col = ocorrenciaSolicitacaoService.findByIdSolicitacaoServico(13458);
for (final OcorrenciaSolicitacaoDTO ocorrenciaSolicitacaoDTO : col) {
String dadosSolicitacao = UtilStrings.nullToVazio(ocorrenciaSolicitacaoDTO.getDadosSolicitacao());
SolicitacaoServicoDTO solicitacaoDto = null;
if (dadosSolicitacao.length() > 0) {
try {
solicitacaoDto = new Gson().fromJson(dadosSolicitacao, SolicitacaoServicoDTO.class);
if (solicitacaoDto != null) {
dadosSolicitacao = solicitacaoDto.getDadosStr();
if (solicitacaoDto.getSituacao().equals("Resolvido") && !solicitacaoDto.getRegistradoPor().equals("Autom�tico")) {
return solicitacaoDto.getRegistradoPor();
}
}
} catch (final Exception e) {
dadosSolicitacao = "";
}
}
System.out.println(dadosSolicitacao);
}
return "";
}
public void imprimirRelatorioDetalhado(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
final HttpSession session = request.getSession();
final PesquisaSolicitacaoServicoDTO pesquisaSolicitacaoServicoDto = (PesquisaSolicitacaoServicoDTO) document.getBean();
final SolicitacaoServicoService solicitacaoService = (SolicitacaoServicoService) ServiceLocator.getInstance().getService(SolicitacaoServicoService.class, null);
TipoDemandaServicoDTO tipoDemandaServicoDto = new TipoDemandaServicoDTO();
final TipoDemandaServicoService tipoDemandaServicoService = (TipoDemandaServicoService) ServiceLocator.getInstance().getService(TipoDemandaServicoService.class, null);
GrupoDTO grupoDto = new GrupoDTO();
final GrupoService grupoSegurancaService = (GrupoService) ServiceLocator.getInstance().getService(GrupoService.class, null);
OrigemAtendimentoDTO origemDto = new OrigemAtendimentoDTO();
final OrigemAtendimentoService origemAtendimentoService = (OrigemAtendimentoService) ServiceLocator.getInstance().getService(OrigemAtendimentoService.class, null);
FaseServicoDTO faseDto = new FaseServicoDTO();
final FaseServicoService faseServicoService = (FaseServicoService) ServiceLocator.getInstance().getService(FaseServicoService.class, null);
PrioridadeDTO prioridadeDto = new PrioridadeDTO();
final PrioridadeService prioridadeService = (PrioridadeService) ServiceLocator.getInstance().getService(PrioridadeService.class, null);
ContratoDTO contratoDto = new ContratoDTO();
final ContratoService contratoService = (ContratoService) ServiceLocator.getInstance().getService(ContratoService.class, null);
UsuarioDTO usuarioDto = new UsuarioDTO();
final UsuarioService usuarioService = (UsuarioService) ServiceLocator.getInstance().getService(UsuarioService.class, null);
UnidadeDTO unidadeDto = new UnidadeDTO();
final UnidadeService unidadeService = (UnidadeService) ServiceLocator.getInstance().getService(UnidadeService.class, null);
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() + "'");
document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide();
return;
}
if (pesquisaSolicitacaoServicoDto.getDataInicioFechamento() != null) {
document.executeScript("$('#situacao').attr('disabled', 'true')");
pesquisaSolicitacaoServicoDto.setSituacao("Fechada");
}
if (pesquisaSolicitacaoServicoDto.getDataFimFechamento() != null) {
document.executeScript("$('#situacao').attr('disabled', 'true')");
pesquisaSolicitacaoServicoDto.setSituacao("Fechada");
}
// Passamos o usu�rio para que o sistema possa obter os IDs das unidades que ele pode acessar!
pesquisaSolicitacaoServicoDto.setUsuarioLogado(usuario);
ArrayList<SolicitacaoServicoDTO> listaSolicitacaoServicoPorCriterios = (ArrayList<SolicitacaoServicoDTO>) solicitacaoService
.listaSolicitacaoServicoPorCriterios(pesquisaSolicitacaoServicoDto);
if (listaSolicitacaoServicoPorCriterios == null || listaSolicitacaoServicoPorCriterios.size() == 0) {
document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide();
document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.relatorioVazio"));
return;
}
for (final SolicitacaoServicoDTO solicitacaoServico : listaSolicitacaoServicoPorCriterios) {
solicitacaoServico.setResposta(UtilStrings.unescapeJavaString(solicitacaoServico.getResposta()));
if ((solicitacaoServico.getPrazoHH() == null || solicitacaoServico.getPrazoHH() == 0)
&& (solicitacaoServico.getPrazoMM() == null || solicitacaoServico.getPrazoMM() == 0)) {
solicitacaoServico.setSlaACombinar("S");
} else {
solicitacaoServico.setSlaACombinar("N");
}
solicitacaoServico.setDescricaoSemFormatacao(UtilStrings.unescapeJavaString(solicitacaoServico.getDescricaoSemFormatacao()));
solicitacaoServico.setDescricao(UtilStrings.unescapeJavaString(solicitacaoServico.getDescricao()));
/*
* Internacionaliza a situa��o
*/
solicitacaoServico.setSituacao(solicitacaoServico.obterSituacaoInternacionalizada(request));
if (pesquisaSolicitacaoServicoDto.getNomeUsuarioResponsavelAtual() != null) {
solicitacaoServico.setNomeUsuarioResponsavelAtual(pesquisaSolicitacaoServicoDto.getNomeUsuarioResponsavelAtual());
}
/**
* Cria SLA para solicitacao
*
* @author thyen.chang
*/
if (solicitacaoServico != null && solicitacaoServico.getPrazoHH() != null && solicitacaoServico.getPrazoMM() != null) {
solicitacaoServico.setSla((solicitacaoServico.getPrazoHH() < 10 ? "0" + solicitacaoServico.getPrazoHH().toString() : solicitacaoServico.getPrazoHH().toString())
+ ":" + (solicitacaoServico.getPrazoMM() < 10 ? "0" + solicitacaoServico.getPrazoMM().toString() : solicitacaoServico.getPrazoMM().toString()));
} else {
solicitacaoServico.setSla("");
}
/**
* Determina localidade caso n�o exista
*
* @author thyen.chang
*/
if (solicitacaoServico != null && (solicitacaoServico.getLocalidade() == null || solicitacaoServico.getLocalidade().equals(""))) {
solicitacaoServico.setLocalidade(UtilI18N.internacionaliza(request, "citcorpore.comum.naoInformado"));
}
/**
* Determina respons�vel caso n�o exista
*
* @author thyen.chang
*/
if (solicitacaoServico != null && solicitacaoServico.getResponsavelAtual() == null) {
solicitacaoServico.setResponsavelAtual(UtilI18N.internacionaliza(request, "citcorporeRelatorio.comum.semResponsavelAtual"));
}
if (solicitacaoServico != null && solicitacaoServico.getNomeTarefa() == null) {
solicitacaoServico.setNomeTarefa(UtilI18N.internacionaliza(request, "citcorpore.comum.naoInformado"));
}
}
final Date dt = new Date();
final String strCompl = "" + dt.getTime();
final String caminhoJasper = CITCorporeUtil.CAMINHO_REAL_APP + Constantes.getValue("CAMINHO_RELATORIOS") + "RelatorioPesquisaSolicitacaoServicoDetalhado.jasper";
final String diretorioReceita = CITCorporeUtil.CAMINHO_REAL_APP + "/tempFiles";
final 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, "citcorporeRelatorio.pesquisaSolicitacoesServicosDetalhado"));
parametros.put("CIDADE", "Bras�lia,");
parametros.put("DATA_HORA", UtilDatas.getDataHoraAtual());
parametros.put("NOME_USUARIO", usuario.getNomeUsuario());
parametros.put("dataInicio", pesquisaSolicitacaoServicoDto.getDataInicio() == null ? pesquisaSolicitacaoServicoDto.getDataInicioFechamento()
: pesquisaSolicitacaoServicoDto.getDataInicio());
parametros.put("dataFim",
pesquisaSolicitacaoServicoDto.getDataFim() == null ? pesquisaSolicitacaoServicoDto.getDataFimFechamento() : pesquisaSolicitacaoServicoDto.getDataFim());
parametros.put("Logo", LogoRel.getFile());
parametros.put("exibirCampoDescricao", UtilStrings.unescapeJavaString(pesquisaSolicitacaoServicoDto.getExibirCampoDescricao()));
parametros.put("quantidade", listaSolicitacaoServicoPorCriterios.size());
parametros.put("criado_por", UtilI18N.internacionaliza(request, "citcorpore.comum.criadopor") + ":");
if (pesquisaSolicitacaoServicoDto.getNomeItemConfiguracao() != null && !pesquisaSolicitacaoServicoDto.getNomeItemConfiguracao().equalsIgnoreCase("")) {
parametros.put("nomeItemConfiguracao", pesquisaSolicitacaoServicoDto.getNomeItemConfiguracao());
} else {
parametros.put("nomeItemConfiguracao", null);
}
if (pesquisaSolicitacaoServicoDto.getNomeSolicitante() != null && !pesquisaSolicitacaoServicoDto.getNomeSolicitante().equalsIgnoreCase("")) {
parametros.put("nomeSolicitante", pesquisaSolicitacaoServicoDto.getNomeSolicitante());
} else {
parametros.put("nomeSolicitante", null);
}
if (pesquisaSolicitacaoServicoDto.getIdTipoDemandaServico() != null) {
tipoDemandaServicoDto.setIdTipoDemandaServico(pesquisaSolicitacaoServicoDto.getIdTipoDemandaServico());
tipoDemandaServicoDto = (TipoDemandaServicoDTO) tipoDemandaServicoService.restore(tipoDemandaServicoDto);
pesquisaSolicitacaoServicoDto.setNomeTipoDemandaServico(tipoDemandaServicoDto.getNomeTipoDemandaServico());
parametros.put("tipo", pesquisaSolicitacaoServicoDto.getNomeTipoDemandaServico());
} else {
parametros.put("tipo", pesquisaSolicitacaoServicoDto.getNomeTipoDemandaServico());
}
if (pesquisaSolicitacaoServicoDto.getIdSolicitacaoServicoPesquisa() != null) {
parametros.put("numero", pesquisaSolicitacaoServicoDto.getIdSolicitacaoServicoPesquisa());
} else {
parametros.put("numero", pesquisaSolicitacaoServicoDto.getIdSolicitacaoServicoPesquisa());
}
if (pesquisaSolicitacaoServicoDto.getSituacao() != null && !pesquisaSolicitacaoServicoDto.getSituacao().equals("")) {
parametros.put("situacao", pesquisaSolicitacaoServicoDto.getSituacaoInternacionalizada(request));
} else {
parametros.put("situacao", null);
}
if (pesquisaSolicitacaoServicoDto.getIdGrupoAtual() != null) {
grupoDto.setIdGrupo(pesquisaSolicitacaoServicoDto.getIdGrupoAtual());
grupoDto = (GrupoDTO) grupoSegurancaService.restore(grupoDto);
pesquisaSolicitacaoServicoDto.setGrupoAtual(grupoDto.getSigla());
parametros.put("grupoSolucionador", pesquisaSolicitacaoServicoDto.getGrupoAtual());
} else {
parametros.put("grupoSolucionador", pesquisaSolicitacaoServicoDto.getGrupoAtual());
}
if (pesquisaSolicitacaoServicoDto.getIdOrigem() != null) {
origemDto.setIdOrigem(pesquisaSolicitacaoServicoDto.getIdOrigem());
origemDto = (OrigemAtendimentoDTO) origemAtendimentoService.restore(origemDto);
pesquisaSolicitacaoServicoDto.setOrigem(UtilStrings.unescapeJavaString(origemDto.getDescricao()));
parametros.put("origem", pesquisaSolicitacaoServicoDto.getOrigem());
} else {
parametros.put("origem", pesquisaSolicitacaoServicoDto.getOrigem());
}
if (pesquisaSolicitacaoServicoDto.getIdFaseAtual() != null) {
faseDto.setIdFase(pesquisaSolicitacaoServicoDto.getIdFaseAtual());
faseDto = (FaseServicoDTO) faseServicoService.restore(faseDto);
pesquisaSolicitacaoServicoDto.setFaseAtual(faseDto.getNomeFase());
parametros.put("fase", pesquisaSolicitacaoServicoDto.getFaseAtual());
} else {
parametros.put("fase", pesquisaSolicitacaoServicoDto.getFaseAtual());
}
if (pesquisaSolicitacaoServicoDto.getIdPrioridade() != null) {
prioridadeDto.setIdPrioridade(pesquisaSolicitacaoServicoDto.getIdPrioridade());
prioridadeDto = (PrioridadeDTO) prioridadeService.restore(prioridadeDto);
pesquisaSolicitacaoServicoDto.setPrioridade(prioridadeDto.getNomePrioridade());
parametros.put("prioridade", pesquisaSolicitacaoServicoDto.getPrioridade());
} else {
parametros.put("prioridade", pesquisaSolicitacaoServicoDto.getPrioridade());
}
if (pesquisaSolicitacaoServicoDto.getIdContrato() != null) {
contratoDto.setIdContrato(pesquisaSolicitacaoServicoDto.getIdContrato());
contratoDto = (ContratoDTO) contratoService.restore(contratoDto);
parametros.put("contrato", contratoDto.getNumero());
} else {
parametros.put("contrato", contratoDto.getNumero());
}
if (pesquisaSolicitacaoServicoDto.getIdResponsavel() != null) {
usuarioDto.setIdUsuario(pesquisaSolicitacaoServicoDto.getIdResponsavel());
usuarioDto = (UsuarioDTO) usuarioService.restore(usuarioDto);
parametros.put("responsavel", usuarioDto.getNomeUsuario());
} else {
parametros.put("responsavel", null);
}
if (pesquisaSolicitacaoServicoDto.getIdUsuarioResponsavelAtual() != null) {
usuarioDto.setIdUsuario(pesquisaSolicitacaoServicoDto.getIdUsuarioResponsavelAtual());
usuarioDto = (UsuarioDTO) usuarioService.restore(usuarioDto);
parametros.put("nomeUsuarioResponsavelAtual", usuarioDto.getNomeUsuario());
} else {
parametros.put("nomeUsuarioResponsavelAtual", null);
}
if (pesquisaSolicitacaoServicoDto.getIdUnidade() != null) {
unidadeDto.setIdUnidade(pesquisaSolicitacaoServicoDto.getIdUnidade());
unidadeDto = (UnidadeDTO) unidadeService.restore(unidadeDto);
if (unidadeDto != null && unidadeDto.getNome() != null) {
parametros.put("unidade", unidadeDto.getNome());
} else {
parametros.put("unidade", null);
}
} else {
parametros.put("unidade", null);
}
parametros.put("nomeTarefaString", UtilI18N.internacionaliza(request, "citcorporeRelatorio.comum.nomeTarefa"));
try {
JRDataSource dataSource = new JRBeanCollectionDataSource(listaSolicitacaoServicoPorCriterios);
JRAbstractLRUVirtualizer virtualizer = new JRGzipVirtualizer(50);
// Seta o parametro REPORT_VIRTUALIZER com a inst�ncia da virtualiza��o
parametros.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);
// Preenche o relat�rio e exibe numa GUI
final Timestamp ts1 = UtilDatas.getDataHoraAtual();
final JasperPrint jp = JasperFillManager.fillReport(caminhoJasper, parametros, dataSource);
final Timestamp ts2 = UtilDatas.getDataHoraAtual();
final double tempo = UtilDatas.calculaDiferencaTempoEmMilisegundos(ts2, ts1);
System.out.println("########## Tempo fillReport: " + tempo);
JasperExportManager.exportReportToPdfFile(jp, diretorioReceita + "/RelatorioSolicitacaoServicoDetalhado" + strCompl + "_" + usuario.getIdUsuario() + ".pdf");
document.executeScript("window.open('" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/printPDF/printPDF.jsp?url="
+ diretorioRelativoOS + "/RelatorioSolicitacaoServicoDetalhado" + strCompl + "_" + usuario.getIdUsuario() + ".pdf')");
virtualizer = null;
dataSource = null;
listaSolicitacaoServicoPorCriterios = null;
} catch (final OutOfMemoryError e) { // TODO capturar error n�o n� amig�o??
/*
* Desenvolvedor: Thiago Matias - Data: 30/10/2013 - Hor�rio: 15h35min - ID Citsmart: 122665 -
* Motivo/Coment�rio: alterando o a chave de citcorpore.erro.memoria para citsmart.erro.memoria
*/
document.alert(UtilI18N.internacionaliza(request, "citsmart.erro.memoria"));
}
document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide();
}
public void imprimirRelatorioXls(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
final HttpSession session = request.getSession();
final PesquisaSolicitacaoServicoDTO pesquisaSolicitacaoServicoDto = (PesquisaSolicitacaoServicoDTO) document.getBean();
final SolicitacaoServicoService solicitacaoService = (SolicitacaoServicoService) ServiceLocator.getInstance().getService(SolicitacaoServicoService.class, null);
TipoDemandaServicoDTO tipoDemandaServicoDto = new TipoDemandaServicoDTO();
final TipoDemandaServicoService tipoDemandaServicoService = (TipoDemandaServicoService) ServiceLocator.getInstance().getService(TipoDemandaServicoService.class, null);
GrupoDTO grupoDto = new GrupoDTO();
final GrupoService grupoSegurancaService = (GrupoService) ServiceLocator.getInstance().getService(GrupoService.class, null);
OrigemAtendimentoDTO origemDto = new OrigemAtendimentoDTO();
final OrigemAtendimentoService origemAtendimentoService = (OrigemAtendimentoService) ServiceLocator.getInstance().getService(OrigemAtendimentoService.class, null);
FaseServicoDTO faseDto = new FaseServicoDTO();
final FaseServicoService faseServicoService = (FaseServicoService) ServiceLocator.getInstance().getService(FaseServicoService.class, null);
PrioridadeDTO prioridadeDto = new PrioridadeDTO();
final PrioridadeService prioridadeService = (PrioridadeService) ServiceLocator.getInstance().getService(PrioridadeService.class, null);
ContratoDTO contratoDto = new ContratoDTO();
final ContratoService contratoService = (ContratoService) ServiceLocator.getInstance().getService(ContratoService.class, null);
UsuarioDTO usuarioDto = new UsuarioDTO();
final UsuarioService usuarioService = (UsuarioService) ServiceLocator.getInstance().getService(UsuarioService.class, null);
UnidadeDTO unidadeDto = new UnidadeDTO();
final UnidadeService unidadeService = (UnidadeService) ServiceLocator.getInstance().getService(UnidadeService.class, null);
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() + "'");
document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide();
return;
}
if (pesquisaSolicitacaoServicoDto.getDataInicioFechamento() != null) {
document.executeScript("$('#situacao').attr('disabled', 'true')");
pesquisaSolicitacaoServicoDto.setSituacao("Fechada");
}
if (pesquisaSolicitacaoServicoDto.getDataFimFechamento() != null) {
document.executeScript("$('#situacao').attr('disabled', 'true')");
pesquisaSolicitacaoServicoDto.setSituacao("Fechada");
}
// Passamos o usu�rio para que o sistema possa obter os IDs das unidades que ele pode acessar!
pesquisaSolicitacaoServicoDto.setUsuarioLogado(usuario);
final List<SolicitacaoServicoDTO> listaSolicitacaoServicoPorCriterios = (ArrayList<SolicitacaoServicoDTO>) solicitacaoService
.listaSolicitacaoServicoPorCriterios(pesquisaSolicitacaoServicoDto);
if (listaSolicitacaoServicoPorCriterios == null || listaSolicitacaoServicoPorCriterios.size() == 0) {
document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide();
document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.relatorioVazio"));
return;
}
for (final SolicitacaoServicoDTO solicitacaoServico : listaSolicitacaoServicoPorCriterios) {
solicitacaoServico.setResposta(UtilStrings.unescapeJavaString(solicitacaoServico.getResposta()));
if ((solicitacaoServico.getPrazoHH() == null || solicitacaoServico.getPrazoHH() == 0)
&& (solicitacaoServico.getPrazoMM() == null || solicitacaoServico.getPrazoMM() == 0)) {
solicitacaoServico.setSlaACombinar("S");
} else {
solicitacaoServico.setSlaACombinar("N");
}
solicitacaoServico.setDescricaoSemFormatacao(UtilStrings.unescapeJavaString(solicitacaoServico.getDescricaoSemFormatacao()));
solicitacaoServico.setDescricao(UtilStrings.unescapeJavaString(solicitacaoServico.getDescricao()));
/*
* Internacionaliza a situa��o
*/
solicitacaoServico.setSituacao(solicitacaoServico.obterSituacaoInternacionalizada(request));
if (pesquisaSolicitacaoServicoDto.getNomeUsuarioResponsavelAtual() != null) {
solicitacaoServico.setNomeUsuarioResponsavelAtual(pesquisaSolicitacaoServicoDto.getNomeUsuarioResponsavelAtual());
}
if (solicitacaoServico != null && solicitacaoServico.getResponsavelAtual() == null) {
solicitacaoServico.setResponsavelAtual(UtilI18N.internacionaliza(request, "citcorporeRelatorio.comum.semResponsavelAtual"));
}
if (solicitacaoServico != null && solicitacaoServico.getNomeTarefa() == null) {
solicitacaoServico.setNomeTarefa(UtilI18N.internacionaliza(request, "citcorpore.comum.naoInformado"));
}
if (solicitacaoServico != null && solicitacaoServico.getResposta() != null) {
solicitacaoServico.setResposta(formataCaracteresInv�lidos(solicitacaoServico.getResposta()));
}
}
final Date dt = new Date();
final String strCompl = "" + dt.getTime();
final String diretorioReceita = CITCorporeUtil.CAMINHO_REAL_APP + "/tempFiles";
final 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, "citcorporeRelatorio.pesquisaSolicitacoesServicos"));
parametros.put("CIDADE", "Bras�lia,");
parametros.put("DATA_HORA", UtilDatas.getDataHoraAtual());
parametros.put("NOME_USUARIO", usuario.getNomeUsuario());
parametros.put("dataInicio", pesquisaSolicitacaoServicoDto.getDataInicio() == null ? pesquisaSolicitacaoServicoDto.getDataInicioFechamento()
: pesquisaSolicitacaoServicoDto.getDataInicio());
parametros.put("dataFim",
pesquisaSolicitacaoServicoDto.getDataFim() == null ? pesquisaSolicitacaoServicoDto.getDataFimFechamento() : pesquisaSolicitacaoServicoDto.getDataFim());
parametros.put("Logo", LogoRel.getFile());
parametros.put("exibirCampoDescricao", pesquisaSolicitacaoServicoDto.getExibirCampoDescricao());
parametros.put("quantidade", listaSolicitacaoServicoPorCriterios.size());
parametros.put("criado_por", UtilI18N.internacionaliza(request, "citcorpore.comum.criadopor") + ":");
if (pesquisaSolicitacaoServicoDto.getNomeItemConfiguracao() != null && !pesquisaSolicitacaoServicoDto.getNomeItemConfiguracao().equalsIgnoreCase("")) {
parametros.put("nomeItemConfiguracao", pesquisaSolicitacaoServicoDto.getNomeItemConfiguracao());
} else {
parametros.put("nomeItemConfiguracao", null);
}
if (pesquisaSolicitacaoServicoDto.getNomeSolicitante() != null && !pesquisaSolicitacaoServicoDto.getNomeSolicitante().equalsIgnoreCase("")) {
parametros.put("nomeSolicitante", pesquisaSolicitacaoServicoDto.getNomeSolicitante());
} else {
parametros.put("nomeSolicitante", null);
}
if (pesquisaSolicitacaoServicoDto.getIdTipoDemandaServico() != null) {
tipoDemandaServicoDto.setIdTipoDemandaServico(pesquisaSolicitacaoServicoDto.getIdTipoDemandaServico());
tipoDemandaServicoDto = (TipoDemandaServicoDTO) tipoDemandaServicoService.restore(tipoDemandaServicoDto);
pesquisaSolicitacaoServicoDto.setNomeTipoDemandaServico(tipoDemandaServicoDto.getNomeTipoDemandaServico());
parametros.put("tipo", pesquisaSolicitacaoServicoDto.getNomeTipoDemandaServico());
} else {
parametros.put("tipo", pesquisaSolicitacaoServicoDto.getNomeTipoDemandaServico());
}
if (pesquisaSolicitacaoServicoDto.getIdSolicitacaoServicoPesquisa() != null) {
parametros.put("numero", pesquisaSolicitacaoServicoDto.getIdSolicitacaoServicoPesquisa());
} else {
parametros.put("numero", pesquisaSolicitacaoServicoDto.getIdSolicitacaoServicoPesquisa());
}
if (pesquisaSolicitacaoServicoDto.getSituacao() != null && !pesquisaSolicitacaoServicoDto.getSituacao().equals("")) {
parametros.put("situacao", pesquisaSolicitacaoServicoDto.getSituacaoInternacionalizada(request));
} else {
parametros.put("situacao", null);
}
if (pesquisaSolicitacaoServicoDto.getIdGrupoAtual() != null) {
grupoDto.setIdGrupo(pesquisaSolicitacaoServicoDto.getIdGrupoAtual());
grupoDto = (GrupoDTO) grupoSegurancaService.restore(grupoDto);
pesquisaSolicitacaoServicoDto.setGrupoAtual(grupoDto.getSigla());
parametros.put("grupoSolucionador", pesquisaSolicitacaoServicoDto.getGrupoAtual());
} else {
parametros.put("grupoSolucionador", pesquisaSolicitacaoServicoDto.getGrupoAtual());
}
if (pesquisaSolicitacaoServicoDto.getIdOrigem() != null) {
origemDto.setIdOrigem(pesquisaSolicitacaoServicoDto.getIdOrigem());
origemDto = (OrigemAtendimentoDTO) origemAtendimentoService.restore(origemDto);
pesquisaSolicitacaoServicoDto.setOrigem(UtilStrings.unescapeJavaString(origemDto.getDescricao()));
parametros.put("origem", pesquisaSolicitacaoServicoDto.getOrigem());
} else {
parametros.put("origem", pesquisaSolicitacaoServicoDto.getOrigem());
}
if (pesquisaSolicitacaoServicoDto.getIdFaseAtual() != null) {
faseDto.setIdFase(pesquisaSolicitacaoServicoDto.getIdFaseAtual());
faseDto = (FaseServicoDTO) faseServicoService.restore(faseDto);
pesquisaSolicitacaoServicoDto.setFaseAtual(faseDto.getNomeFase());
parametros.put("fase", pesquisaSolicitacaoServicoDto.getFaseAtual());
} else {
parametros.put("fase", pesquisaSolicitacaoServicoDto.getFaseAtual());
}
if (pesquisaSolicitacaoServicoDto.getIdPrioridade() != null) {
prioridadeDto.setIdPrioridade(pesquisaSolicitacaoServicoDto.getIdPrioridade());
prioridadeDto = (PrioridadeDTO) prioridadeService.restore(prioridadeDto);
pesquisaSolicitacaoServicoDto.setPrioridade(prioridadeDto.getNomePrioridade());
parametros.put("prioridade", pesquisaSolicitacaoServicoDto.getPrioridade());
} else {
parametros.put("prioridade", pesquisaSolicitacaoServicoDto.getPrioridade());
}
if (pesquisaSolicitacaoServicoDto.getIdContrato() != null) {
contratoDto.setIdContrato(pesquisaSolicitacaoServicoDto.getIdContrato());
contratoDto = (ContratoDTO) contratoService.restore(contratoDto);
parametros.put("contrato", contratoDto.getNumero());
} else {
parametros.put("contrato", contratoDto.getNumero());
}
if (pesquisaSolicitacaoServicoDto.getIdResponsavel() != null) {
usuarioDto.setIdUsuario(pesquisaSolicitacaoServicoDto.getIdResponsavel());
usuarioDto = (UsuarioDTO) usuarioService.restore(usuarioDto);
parametros.put("responsavel", usuarioDto.getNomeUsuario());
} else {
parametros.put("responsavel", null);
}
if (pesquisaSolicitacaoServicoDto.getIdUsuarioResponsavelAtual() != null) {
usuarioDto.setIdUsuario(pesquisaSolicitacaoServicoDto.getIdUsuarioResponsavelAtual());
usuarioDto = (UsuarioDTO) usuarioService.restore(usuarioDto);
parametros.put("nomeUsuarioResponsavelAtual", usuarioDto.getNomeUsuario());
} else {
parametros.put("nomeUsuarioResponsavelAtual", null);
}
if (pesquisaSolicitacaoServicoDto.getIdUnidade() != null) {
unidadeDto.setIdUnidade(pesquisaSolicitacaoServicoDto.getIdUnidade());
unidadeDto = (UnidadeDTO) unidadeService.restore(unidadeDto);
if (unidadeDto != null && unidadeDto.getNome() != null) {
parametros.put("unidade", unidadeDto.getNome());
} else {
parametros.put("unidade", null);
}
} else {
parametros.put("unidade", null);
}
parametros.put("nomeTarefaString", UtilI18N.internacionaliza(request, "citcorporeRelatorio.comum.nomeTarefa"));
try {
final JRDataSource dataSource = new JRBeanCollectionDataSource(listaSolicitacaoServicoPorCriterios);
final JasperDesign desenho = JRXmlLoader.load(CITCorporeUtil.CAMINHO_REAL_APP + Constantes.getValue("CAMINHO_RELATORIOS")
+ "RelatorioPesquisaSolicitacaoServicoXls.jrxml");
final JasperReport relatorio = JasperCompileManager.compileReport(desenho);
final JasperPrint impressao = JasperFillManager.fillReport(relatorio, parametros, dataSource);
final JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, impressao);
exporter.setParameter(JRXlsAbstractExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
exporter.setParameter(JRXlsAbstractExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.TRUE);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, diretorioReceita + "/RelatorioPesquisaSolicitacaoServicoXls" + strCompl + "_" + usuario.getIdUsuario()
+ ".xls");
exporter.exportReport();
document.executeScript("window.open('" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/printPDF/printPDF.jsp?url="
+ diretorioRelativoOS + "/RelatorioPesquisaSolicitacaoServicoXls" + strCompl + "_" + usuario.getIdUsuario() + ".xls')");
} catch (final OutOfMemoryError e) {
document.alert(UtilI18N.internacionaliza(request, "citcorpore.erro.erroServidor"));
}
document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide();
}
public void preencherComboUnidade(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) {
final String UNIDADE_AUTOCOMPLETE = ParametroUtil.getValorParametroCitSmartHashMap(br.com.centralit.citcorpore.util.Enumerados.ParametroSistema.UNIDADE_AUTOCOMPLETE, "N");
if (UNIDADE_AUTOCOMPLETE == null || !UNIDADE_AUTOCOMPLETE.equalsIgnoreCase("S")) {
usuario = WebUtil.getUsuario(request);
final PesquisaSolicitacaoServicoDTO pesquisaSolicitacaoServicoDto = (PesquisaSolicitacaoServicoDTO) document.getBean();
final String UNIDADE_VINC_CONTRATOS = ParametroUtil.getValorParametroCitSmartHashMap(
br.com.centralit.citcorpore.util.Enumerados.ParametroSistema.UNIDADE_VINC_CONTRATOS, "N");
Integer idContrato = 0;
if (UNIDADE_VINC_CONTRATOS != null && UNIDADE_VINC_CONTRATOS.equalsIgnoreCase("S")) {
idContrato = pesquisaSolicitacaoServicoDto.getIdContrato() != null && pesquisaSolicitacaoServicoDto.getIdContrato().intValue() > 0 ? pesquisaSolicitacaoServicoDto
.getIdContrato().intValue() : -1;
}
EmpregadoDTO empregadoDTO = new EmpregadoDTO();
try {
final EmpregadoService empregadoService = (EmpregadoService) ServiceLocator.getInstance().getService(EmpregadoService.class, null);
empregadoDTO.setIdEmpregado(usuario.getIdEmpregado());
empregadoDTO = (EmpregadoDTO) empregadoService.restore(empregadoDTO);
} catch (final LogicException e1) {
e1.printStackTrace();
} catch (final ServiceException e1) {
e1.printStackTrace();
} catch (final Exception e) {
e.printStackTrace();
}
final Integer idUnidadeColaborador = empregadoDTO.getIdUnidade() != null && empregadoDTO.getIdUnidade().intValue() > 0 ? empregadoDTO.getIdUnidade() : 0;
final String tipoHierarquia = ParametroUtil.getValorParametroCitSmartHashMap(br.com.centralit.citcorpore.util.Enumerados.ParametroSistema.TIPO_HIERARQUIA_UNIDADE, "1");
new ArrayList<UnidadeDTO>();
Arvore arvore = new Arvore();
try {
final UnidadeService unidadeService = (UnidadeService) ServiceLocator.getInstance().getService(UnidadeService.class, null);
arvore = unidadeService.obtemArvoreUnidades("", idContrato, idUnidadeColaborador, tipoHierarquia, 0);
} catch (final Exception e1) {
e1.printStackTrace();
}
HTMLSelect comboUnidade;
try {
comboUnidade = document.getSelectById("idUnidade");
if (comboUnidade != null) {
comboUnidade.removeAllOptions();
comboUnidade.addOption("0", UtilI18N.internacionaliza(request, "citcorpore.comum.todas"));
for (int i = 0; i < arvore.getListaID().size(); i++) {
comboUnidade.addOption(arvore.getListaID().get(i).toString(), arvore.getListaTexto().get(i));
}
}
} catch (final Exception e) {
e.printStackTrace();
}
}
}
/**
* Fun��o para retirar caracteres HTML inv�lidos no relat�rio XLS
*
* @param texto
* @return
*/
public static String formataCaracteresInv�lidos(final String texto) {
return Jsoup.parse(texto).text();
}
}