package br.com.centralit.citcorpore.integracao; import java.util.ArrayList; import java.util.Collection; import java.util.List; import br.com.centralit.citcorpore.bean.RelatorioTop10IncidentesRequisicoesDTO; import br.com.centralit.citcorpore.bean.SolicitacaoServicoDTO; import br.com.centralit.citcorpore.bean.Top10IncidentesRequisicoesDTO; import br.com.centralit.citcorpore.util.CITCorporeUtil; import br.com.centralit.citcorpore.util.Enumerados; import br.com.citframework.dto.IDto; import br.com.citframework.excecao.PersistenceException; import br.com.citframework.integracao.CrudDaoDefaultImpl; import br.com.citframework.integracao.Field; import br.com.citframework.util.Constantes; import br.com.citframework.util.SQLConfig; import br.com.citframework.util.UtilDatas; @SuppressWarnings({ "rawtypes", "unchecked" }) public class Top10IncidentesRequisicoesDAO extends CrudDaoDefaultImpl { public Top10IncidentesRequisicoesDAO() { super(Constantes.getValue("DATABASE_ALIAS"), null); } @Override public Collection find(IDto obj) throws PersistenceException { return null; } @Override public Collection<Field> getFields() { Collection<Field> listFields = new ArrayList<>(); listFields.add(new Field("id", "id", true, true, false, false)); listFields.add(new Field("descricao", "descricao", false, false, false, false)); listFields.add(new Field("qtde", "qtde", false, false, false, false)); return listFields; } @Override public String getTableName() { return null; } @Override public Collection list() throws PersistenceException { return null; } @Override public Class getBean() { return Top10IncidentesRequisicoesDTO.class; } public ArrayList<Top10IncidentesRequisicoesDTO> listSolicitantesMaisAbriramIncSol(RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO) { List result; try { List resp = new ArrayList(); List parametro = new ArrayList(); List listRetorno = new ArrayList(); listRetorno.add("id"); listRetorno.add("descricao"); listRetorno.add("qtde"); boolean seLimita = ((relatorioTop10IncidentesRequisicoesDTO.getTopList()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getTopList().intValue()>0)); StringBuilder sql = new StringBuilder(); sql.append("select "); if ((seLimita)&&(CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.SQLSERVER))){ sql.append("TOP "+relatorioTop10IncidentesRequisicoesDTO.getTopList().toString()+" "); } sql.append("ss.idsolicitante as id, e.nome as descricao, count(ss.idsolicitacaoservico) as qtde "); sql.append("from servicocontrato as sc join solicitacaoservico as ss on "); if ((relatorioTop10IncidentesRequisicoesDTO.getIdContrato()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdContrato().intValue()>0)){ sql.append("sc.idcontrato=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdContrato()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdServico().intValue()>0)){ sql.append("sc.idservico=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdServico()); } sql.append("sc.idservicocontrato = ss.idservicocontrato "); sql.append("and (ss.datahorasolicitacao between ? and ?) "); parametro.add(UtilDatas.getSqlDate(relatorioTop10IncidentesRequisicoesDTO.getDataInicial())); parametro.add(UtilDatas.getTimeStampComUltimaHoraDoDia(relatorioTop10IncidentesRequisicoesDTO.getDataFinal())); if ((relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico().intValue()>0)){ sql.append("and ss.idtipodemandaservico=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade().intValue()>0)){ sql.append("and ss.idprioridade=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade().intValue()>0)){ sql.append("and ss.idunidade=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()); } if ((relatorioTop10IncidentesRequisicoesDTO.getSituacao()!=null)&&(!relatorioTop10IncidentesRequisicoesDTO.getSituacao().equalsIgnoreCase("0"))&&(relatorioTop10IncidentesRequisicoesDTO.getSituacao().length()>0)){ sql.append("and UPPER(ss.situacao)=UPPER(?) "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getSituacao()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem().intValue()>0)){ sql.append("and ss.idorigem=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()); } sql.append("join servico as s on sc.idservico = s.idservico "); sql.append("join empregados as e on ss.idsolicitante=idempregado "); if ((seLimita)&&(CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.ORACLE))){ sql.append("WHERE ROWNUM <= ? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getTopList()); } sql.append("group by ss.idsolicitante, e.nome "); sql.append("order by qtde desc, descricao, idsolicitante"); if ((seLimita)&&((CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.POSTGRESQL))||(CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.MYSQL)))){ sql.append(" LIMIT ?"); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getTopList()); } resp = this.execSQL(sql.toString(), parametro.toArray()); result = this.engine.listConvertion(getBean(), resp, listRetorno); } catch (PersistenceException e) { e.printStackTrace(); result = null; } catch (Exception e) { e.printStackTrace(); result = null; } return (ArrayList<Top10IncidentesRequisicoesDTO>) (((result == null)||(result.size()<=0)) ? new ArrayList<Top10IncidentesRequisicoesDTO>() : result); } public Collection<SolicitacaoServicoDTO> listDetalheSolicitanteMaisAbriuIncSol(Integer idSolicitante, RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO) { List result; try { List resp = new ArrayList(); List parametro = new ArrayList(); List listRetorno = new ArrayList(); listRetorno.add("idSolicitacaoServico"); listRetorno.add("nomeServico"); listRetorno.add("situacao"); StringBuilder sql = new StringBuilder(); sql.append("select ss.idsolicitacaoservico, s.nomeservico, ss.situacao "); sql.append("from servicocontrato as sc join solicitacaoservico as ss on "); if ((relatorioTop10IncidentesRequisicoesDTO.getIdContrato()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdContrato().intValue()>0)){ sql.append("sc.idcontrato=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdContrato()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdServico().intValue()>0)){ sql.append("sc.idservico=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdServico()); } sql.append("sc.idservicocontrato = ss.idservicocontrato "); sql.append("and ss.idsolicitante = ? "); parametro.add(idSolicitante); sql.append("and (ss.datahorasolicitacao between ? and ?) "); parametro.add(UtilDatas.getSqlDate(relatorioTop10IncidentesRequisicoesDTO.getDataInicial())); parametro.add(UtilDatas.getTimeStampComUltimaHoraDoDia(relatorioTop10IncidentesRequisicoesDTO.getDataFinal())); if ((relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico().intValue()>0)){ sql.append("and ss.idtipodemandaservico=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade().intValue()>0)){ sql.append("and ss.idprioridade=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade().intValue()>0)){ sql.append("and ss.idunidade=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()); } if ((relatorioTop10IncidentesRequisicoesDTO.getSituacao()!=null)&&(!relatorioTop10IncidentesRequisicoesDTO.getSituacao().equalsIgnoreCase("0"))&&(relatorioTop10IncidentesRequisicoesDTO.getSituacao().length()>0)){ sql.append("and UPPER(ss.situacao)=UPPER(?) "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getSituacao()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem().intValue()>0)){ sql.append("and ss.idorigem=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()); } sql.append("join servico as s on sc.idservico = s.idservico "); sql.append("order by ss.idsolicitacaoservico, s.nomeservico, ss.situacao"); resp = this.execSQL(sql.toString(), parametro.toArray()); result = this.engine.listConvertion(SolicitacaoServicoDTO.class, resp, listRetorno); } catch (PersistenceException e) { e.printStackTrace(); result = null; } catch (Exception e) { e.printStackTrace(); result = null; } return (ArrayList<SolicitacaoServicoDTO>) (((result == null)||(result.size()<=0)) ? new ArrayList<SolicitacaoServicoDTO>() : result); } public ArrayList<Top10IncidentesRequisicoesDTO> listGruposMaisResolveramIncSol(RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO) { List result; try { List resp = new ArrayList(); List parametro = new ArrayList(); List listRetorno = new ArrayList(); listRetorno.add("id"); listRetorno.add("descricao"); listRetorno.add("qtde"); boolean seLimita = ((relatorioTop10IncidentesRequisicoesDTO.getTopList()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getTopList().intValue()>0)); StringBuilder sql = new StringBuilder(); sql.append("select "); if ((seLimita)&&(CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.SQLSERVER))){ sql.append("TOP "+relatorioTop10IncidentesRequisicoesDTO.getTopList().toString()+" "); } sql.append("idgrupo as id, nome as descricao, count(idsolicitacaoservico) as qtde "); sql.append("from "); sql.append("(select distinct bpm_atribuicaofluxo.idgrupo, grupo.nome, solicitacaoservico.idsolicitacaoservico, servico.nomeservico, bpm_instanciafluxo.situacao, empregados.nome as responsavel "); sql.append("from solicitacaoservico join execucaosolicitacao on "); if ((relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico().intValue()>0)){ sql.append("solicitacaoservico.idtipodemandaservico=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade().intValue()>0)){ sql.append("solicitacaoservico.idprioridade=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade().intValue()>0)){ sql.append("solicitacaoservico.idunidade=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()); } if ((relatorioTop10IncidentesRequisicoesDTO.getSituacao()!=null)&&(!relatorioTop10IncidentesRequisicoesDTO.getSituacao().equalsIgnoreCase("0"))&&(relatorioTop10IncidentesRequisicoesDTO.getSituacao().length()>0)){ sql.append("UPPER(solicitacaoservico.situacao)=UPPER(?) and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getSituacao()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem().intValue()>0)){ sql.append("solicitacaoservico.idorigem=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()); } sql.append("UPPER(solicitacaoservico.situacao)=UPPER('"+Enumerados.SituacaoSolicitacaoServico.Fechada.toString()+"') and solicitacaoservico.idsolicitacaoservico=execucaosolicitacao.idsolicitacaoservico "); sql.append("join bpm_instanciafluxo on execucaosolicitacao.idinstanciafluxo = bpm_instanciafluxo.idinstancia and UPPER(bpm_instanciafluxo.situacao) = UPPER('"+br.com.centralit.bpm.util.Enumerados.INSTANCIA_ENCERRADA+"') "); sql.append("join bpm_itemtrabalhofluxo on "); sql.append("(bpm_itemtrabalhofluxo.datahorafinalizacao between ? and ?) and "); parametro.add(UtilDatas.getSqlDate(relatorioTop10IncidentesRequisicoesDTO.getDataInicial())); parametro.add(UtilDatas.getTimeStampComUltimaHoraDoDia(relatorioTop10IncidentesRequisicoesDTO.getDataFinal())); sql.append("execucaosolicitacao.idinstanciafluxo = bpm_itemtrabalhofluxo.idinstancia and (bpm_itemtrabalhofluxo.idresponsavelatual is not null) "); sql.append("join bpm_atribuicaofluxo on (bpm_atribuicaofluxo.idgrupo is not null) and bpm_itemtrabalhofluxo.iditemtrabalho = bpm_atribuicaofluxo.iditemtrabalho and UPPER(bpm_atribuicaofluxo.tipo) = UPPER('"+br.com.centralit.bpm.util.Enumerados.TipoAtribuicao.Automatica.toString()+"') "); sql.append("join servicocontrato on "); if ((relatorioTop10IncidentesRequisicoesDTO.getIdContrato()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdContrato().intValue()>0)){ sql.append("servicocontrato.idcontrato=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdContrato()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdServico().intValue()>0)){ sql.append("servicocontrato.idservico=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdServico()); } sql.append("solicitacaoservico.idservicocontrato = servicocontrato.idservicocontrato "); sql.append("join servico on servicocontrato.idservico = servico.idservico "); sql.append("join empregados on bpm_itemtrabalhofluxo.idresponsavelatual=idempregado "); sql.append("left join grupo on grupo.idgrupo = bpm_atribuicaofluxo.idgrupo "); if ((seLimita)&&(CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.ORACLE))){ sql.append("WHERE ROWNUM <= ? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getTopList()); } if(!CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.SQLSERVER)) sql.append("order by bpm_atribuicaofluxo.idgrupo,solicitacaoservico.idsolicitacaoservico "); sql.append(") as t "); sql.append("group by idgrupo, nome "); sql.append("order by qtde desc, descricao, id"); if ((seLimita)&&((CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.POSTGRESQL))||(CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.MYSQL)))){ sql.append(" LIMIT ?"); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getTopList()); } resp = this.execSQL(sql.toString(), parametro.toArray()); result = this.engine.listConvertion(getBean(), resp, listRetorno); } catch (PersistenceException e) { e.printStackTrace(); result = null; } catch (Exception e) { e.printStackTrace(); result = null; } return (ArrayList<Top10IncidentesRequisicoesDTO>) (((result == null)||(result.size()<=0)) ? new ArrayList<Top10IncidentesRequisicoesDTO>() : result); } public ArrayList<SolicitacaoServicoDTO> listDetalheGruposMaisResolveramIncSol(Integer idGrupo, RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO) { List result; try { List resp = new ArrayList(); List parametro = new ArrayList(); List listRetorno = new ArrayList(); listRetorno.add("idSolicitacaoServico"); listRetorno.add("nomeServico"); listRetorno.add("situacao"); listRetorno.add("responsavel"); StringBuilder sql = new StringBuilder(); sql.append("select distinct solicitacaoservico.idsolicitacaoservico, servico.nomeservico, bpm_instanciafluxo.situacao, empregados.nome as responsavel "); sql.append("from solicitacaoservico join execucaosolicitacao on "); if ((relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico().intValue()>0)){ sql.append("solicitacaoservico.idtipodemandaservico=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade().intValue()>0)){ sql.append("solicitacaoservico.idprioridade=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade().intValue()>0)){ sql.append("solicitacaoservico.idunidade=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()); } if ((relatorioTop10IncidentesRequisicoesDTO.getSituacao()!=null)&&(!relatorioTop10IncidentesRequisicoesDTO.getSituacao().equalsIgnoreCase("0"))&&(relatorioTop10IncidentesRequisicoesDTO.getSituacao().length()>0)){ sql.append("UPPER(solicitacaoservico.situacao)=UPPER(?) and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getSituacao()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem().intValue()>0)){ sql.append("solicitacaoservico.idorigem=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()); } sql.append("UPPER(solicitacaoservico.situacao)=UPPER('"+Enumerados.SituacaoSolicitacaoServico.Fechada.toString()+"') and solicitacaoservico.idsolicitacaoservico=execucaosolicitacao.idsolicitacaoservico "); sql.append("join bpm_instanciafluxo on execucaosolicitacao.idinstanciafluxo = bpm_instanciafluxo.idinstancia and UPPER(bpm_instanciafluxo.situacao = '"+br.com.centralit.bpm.util.Enumerados.INSTANCIA_ENCERRADA+"') "); sql.append("join bpm_itemtrabalhofluxo on "); sql.append("(bpm_itemtrabalhofluxo.datahorafinalizacao between ? and ?) and "); parametro.add(UtilDatas.getSqlDate(relatorioTop10IncidentesRequisicoesDTO.getDataInicial())); parametro.add(UtilDatas.getTimeStampComUltimaHoraDoDia(relatorioTop10IncidentesRequisicoesDTO.getDataFinal())); sql.append("execucaosolicitacao.idinstanciafluxo = bpm_itemtrabalhofluxo.idinstancia and (bpm_itemtrabalhofluxo.idresponsavelatual is not null) "); sql.append("join bpm_atribuicaofluxo on (bpm_atribuicaofluxo.idgrupo = ?) and bpm_itemtrabalhofluxo.iditemtrabalho = bpm_atribuicaofluxo.iditemtrabalho and bpm_atribuicaofluxo.tipo = '"+br.com.centralit.bpm.util.Enumerados.TipoAtribuicao.Automatica.toString()+"' "); parametro.add(idGrupo); sql.append("join servicocontrato on "); if ((relatorioTop10IncidentesRequisicoesDTO.getIdContrato()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdContrato().intValue()>0)){ sql.append("servicocontrato.idcontrato=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdContrato()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdServico().intValue()>0)){ sql.append("servicocontrato.idservico=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdServico()); } sql.append("solicitacaoservico.idservicocontrato = servicocontrato.idservicocontrato "); sql.append("join servico on servicocontrato.idservico = servico.idservico "); sql.append("join empregados on bpm_itemtrabalhofluxo.idresponsavelatual=idempregado "); sql.append("order by idsolicitacaoservico, nomeservico, situacao, responsavel"); resp = this.execSQL(sql.toString(), parametro.toArray()); result = this.engine.listConvertion(SolicitacaoServicoDTO.class, resp, listRetorno); } catch (PersistenceException e) { e.printStackTrace(); result = null; } catch (Exception e) { e.printStackTrace(); result = null; } return (ArrayList<SolicitacaoServicoDTO>) (((result == null)||(result.size()<=0)) ? new ArrayList<SolicitacaoServicoDTO>() : result); } public ArrayList<Top10IncidentesRequisicoesDTO> listReqIncMaisSolicitados(RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO) { List result; try { List resp = new ArrayList(); List parametro = new ArrayList(); List listRetorno = new ArrayList(); listRetorno.add("id"); listRetorno.add("descricao"); listRetorno.add("idServico"); listRetorno.add("nomeServico"); listRetorno.add("qtde"); boolean seLimita = ((relatorioTop10IncidentesRequisicoesDTO.getTopList()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getTopList().intValue()>0)); StringBuilder sql = new StringBuilder(); sql.append("select "); if ((seLimita)&&(CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.SQLSERVER))){ sql.append("TOP "+relatorioTop10IncidentesRequisicoesDTO.getTopList().toString()+" "); } sql.append("ss.idtipodemandaservico as id, t.nometipodemandaservico as descricao, s.idservico, s.nomeservico, count(ss.idsolicitacaoservico) as qtde "); sql.append("from servicocontrato as sc join solicitacaoservico as ss on "); if ((relatorioTop10IncidentesRequisicoesDTO.getIdSolicitante() !=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdSolicitante().intValue()>0)){ sql.append("ss.idsolicitante=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdSolicitante()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdContrato()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdContrato().intValue()>0)){ sql.append("sc.idcontrato=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdContrato()); } /*if ((relatorioTop10IncidentesRequisicoesDTO.getIdServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdServico().intValue()>0)){ sql.append("sc.idservico=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdServico()); }*/ sql.append("sc.idservicocontrato = ss.idservicocontrato "); sql.append("and (ss.datahorasolicitacao between ? and ?) "); parametro.add(UtilDatas.getSqlDate(relatorioTop10IncidentesRequisicoesDTO.getDataInicial())); parametro.add(UtilDatas.getTimeStampComUltimaHoraDoDia(relatorioTop10IncidentesRequisicoesDTO.getDataFinal())); if ((relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico().intValue()>0)){ sql.append("and ss.idtipodemandaservico=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade().intValue()>0)){ sql.append("and ss.idprioridade=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade().intValue()>0)){ sql.append("and ss.idunidade=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()); } if ((relatorioTop10IncidentesRequisicoesDTO.getSituacao()!=null)&&(!relatorioTop10IncidentesRequisicoesDTO.getSituacao().equalsIgnoreCase("0"))&&(relatorioTop10IncidentesRequisicoesDTO.getSituacao().length()>0)){ sql.append("and UPPER(ss.situacao)=UPPER(?) "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getSituacao()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem().intValue()>0)){ sql.append("and ss.idorigem=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()); } sql.append("join servico as s on sc.idservico = s.idservico "); sql.append("join empregados as e on ss.idsolicitante=idempregado "); sql.append("join tipodemandaservico as t on ss.idtipodemandaservico = t.idtipodemandaservico "); if ((seLimita)&&(CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.ORACLE))){ sql.append("WHERE ROWNUM <= ? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getTopList()); } sql.append("group by ss.idtipodemandaservico, t.nometipodemandaservico, s.idservico, s.nomeservico "); sql.append("order by qtde desc,nometipodemandaservico,nomeservico"); if ((seLimita)&&((CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.POSTGRESQL))||(CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.MYSQL)))){ sql.append(" LIMIT ?"); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getTopList()); } resp = this.execSQL(sql.toString(), parametro.toArray()); result = this.engine.listConvertion(getBean(), resp, listRetorno); } catch (PersistenceException e) { e.printStackTrace(); result = null; } catch (Exception e) { e.printStackTrace(); result = null; } return (ArrayList<Top10IncidentesRequisicoesDTO>) (((result == null)||(result.size()<=0)) ? new ArrayList<Top10IncidentesRequisicoesDTO>() : result); } public ArrayList<SolicitacaoServicoDTO> listDetalheReqIncMaisSolicitados(Integer idTipoDemanda, Integer idServico, RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO) { List result; try { List resp = new ArrayList(); List parametro = new ArrayList(); List listRetorno = new ArrayList(); listRetorno.add("idSolicitacaoServico"); listRetorno.add("nomeServico"); listRetorno.add("situacao"); listRetorno.add("nomeSolicitante"); listRetorno.add("nomeGrupo"); StringBuilder sql = new StringBuilder(); sql.append("select ss.idsolicitacaoservico, s.nomeservico, ss.situacao, e.nome as nomesolicitante, grupo.nome as nomegrupo "); sql.append("from servicocontrato as sc join solicitacaoservico as ss on "); sql.append("sc.idservico=? and "); parametro.add(idServico); sql.append("ss.idtipodemandaservico=? and "); parametro.add(idTipoDemanda); if ((relatorioTop10IncidentesRequisicoesDTO.getIdSolicitante() !=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdSolicitante().intValue()>0)){ sql.append("ss.idsolicitante=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdSolicitante()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdContrato()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdContrato().intValue()>0)){ sql.append("sc.idcontrato=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdContrato()); } sql.append("sc.idservicocontrato = ss.idservicocontrato "); sql.append("and (ss.datahorasolicitacao between ? and ?) "); parametro.add(UtilDatas.getSqlDate(relatorioTop10IncidentesRequisicoesDTO.getDataInicial())); parametro.add(UtilDatas.getTimeStampComUltimaHoraDoDia(relatorioTop10IncidentesRequisicoesDTO.getDataFinal())); if ((relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade().intValue()>0)){ sql.append("and ss.idprioridade=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade().intValue()>0)){ sql.append("and ss.idunidade=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()); } if ((relatorioTop10IncidentesRequisicoesDTO.getSituacao()!=null)&&(!relatorioTop10IncidentesRequisicoesDTO.getSituacao().equalsIgnoreCase("0"))&&(relatorioTop10IncidentesRequisicoesDTO.getSituacao().length()>0)){ sql.append("and UPPER(ss.situacao)=UPPER(?) "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getSituacao()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem().intValue()>0)){ sql.append("and ss.idorigem=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()); } sql.append("join servico as s on sc.idservico = s.idservico "); sql.append("join empregados as e on ss.idsolicitante=idempregado "); sql.append("join tipodemandaservico as t on ss.idtipodemandaservico = t.idtipodemandaservico "); sql.append("left join grupo on grupo.idgrupo = ss.idgrupoatual "); sql.append("order by ss.idsolicitacaoservico, s.nomeservico, ss.situacao, e.nome, grupo.nome"); resp = this.execSQL(sql.toString(), parametro.toArray()); result = this.engine.listConvertion(SolicitacaoServicoDTO.class, resp, listRetorno); } catch (PersistenceException e) { e.printStackTrace(); result = null; } catch (Exception e) { e.printStackTrace(); result = null; } return (ArrayList<SolicitacaoServicoDTO>) (((result == null)||(result.size()<=0)) ? new ArrayList<SolicitacaoServicoDTO>() : result); } public ArrayList<Top10IncidentesRequisicoesDTO> listUnidadesMaisAbriramReqInc(RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO) { List result; try { List resp = new ArrayList(); List parametro = new ArrayList(); List listRetorno = new ArrayList(); listRetorno.add("id"); listRetorno.add("descricao"); listRetorno.add("qtde"); boolean seLimita = ((relatorioTop10IncidentesRequisicoesDTO.getTopList()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getTopList().intValue()>0)); StringBuilder sql = new StringBuilder(); sql.append("select "); if ((seLimita)&&(CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.SQLSERVER))){ sql.append("TOP "+relatorioTop10IncidentesRequisicoesDTO.getTopList().toString()+" "); } sql.append("ss.idunidade as id, unidade.nome as descricao, count(ss.idsolicitacaoservico) as qtde "); sql.append("from servicocontrato as sc join solicitacaoservico as ss on "); if ((relatorioTop10IncidentesRequisicoesDTO.getIdContrato()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdContrato().intValue()>0)){ sql.append("sc.idcontrato=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdContrato()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdServico().intValue()>0)){ sql.append("sc.idservico=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdServico()); } sql.append("sc.idservicocontrato = ss.idservicocontrato "); sql.append("and (ss.datahorasolicitacao between ? and ?) "); parametro.add(UtilDatas.getSqlDate(relatorioTop10IncidentesRequisicoesDTO.getDataInicial())); parametro.add(UtilDatas.getTimeStampComUltimaHoraDoDia(relatorioTop10IncidentesRequisicoesDTO.getDataFinal())); if ((relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico().intValue()>0)){ sql.append("and ss.idtipodemandaservico=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade().intValue()>0)){ sql.append("and ss.idprioridade=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()); } /*if ((relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade().intValue()>0)){ sql.append("and ss.idunidade=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()); }*/ if ((relatorioTop10IncidentesRequisicoesDTO.getSituacao()!=null)&&(!relatorioTop10IncidentesRequisicoesDTO.getSituacao().equalsIgnoreCase("0"))&&(relatorioTop10IncidentesRequisicoesDTO.getSituacao().length()>0)){ sql.append("and UPPER(ss.situacao)=UPPER(?) "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getSituacao()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem().intValue()>0)){ sql.append("and ss.idorigem=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()); } sql.append("join servico as s on sc.idservico = s.idservico "); sql.append("join empregados as e on ss.idsolicitante=idempregado "); sql.append("join tipodemandaservico as t on ss.idtipodemandaservico = t.idtipodemandaservico "); sql.append("join unidade on unidade.idunidade=ss.idunidade "); if ((seLimita)&&(CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.ORACLE))){ sql.append("WHERE ROWNUM <= ? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getTopList()); } sql.append("group by ss.idunidade, unidade.nome "); sql.append("order by qtde desc, descricao"); if ((seLimita)&&((CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.POSTGRESQL))||(CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.MYSQL)))){ sql.append(" LIMIT ?"); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getTopList()); } resp = this.execSQL(sql.toString(), parametro.toArray()); result = this.engine.listConvertion(getBean(), resp, listRetorno); } catch (PersistenceException e) { e.printStackTrace(); result = null; } catch (Exception e) { e.printStackTrace(); result = null; } return (ArrayList<Top10IncidentesRequisicoesDTO>) (((result == null)||(result.size()<=0)) ? new ArrayList<Top10IncidentesRequisicoesDTO>() : result); } public ArrayList<SolicitacaoServicoDTO> listDetalheUnidadesMaisAbriramReqInc(Integer idUnidade, RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO) { List result; try { List resp = new ArrayList(); List parametro = new ArrayList(); List listRetorno = new ArrayList(); listRetorno.add("idSolicitacaoServico"); listRetorno.add("nomeServico"); listRetorno.add("situacao"); listRetorno.add("nomeTipoDemandaServico"); listRetorno.add("nomeGrupo"); StringBuilder sql = new StringBuilder(); sql.append("select ss.idsolicitacaoservico, s.nomeservico, ss.situacao, t.nometipodemandaservico, grupo.nome as nomegrupo "); sql.append("from servicocontrato as sc join solicitacaoservico as ss on "); sql.append("ss.idunidade=? and "); parametro.add(idUnidade); if ((relatorioTop10IncidentesRequisicoesDTO.getIdContrato()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdContrato().intValue()>0)){ sql.append("sc.idcontrato=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdContrato()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdServico().intValue()>0)){ sql.append("sc.idservico=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdServico()); } sql.append("sc.idservicocontrato = ss.idservicocontrato "); sql.append("and (ss.datahorasolicitacao between ? and ?) "); parametro.add(UtilDatas.getSqlDate(relatorioTop10IncidentesRequisicoesDTO.getDataInicial())); parametro.add(UtilDatas.getTimeStampComUltimaHoraDoDia(relatorioTop10IncidentesRequisicoesDTO.getDataFinal())); if ((relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico().intValue()>0)){ sql.append("and ss.idtipodemandaservico=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade().intValue()>0)){ sql.append("and ss.idprioridade=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()); } if ((relatorioTop10IncidentesRequisicoesDTO.getSituacao()!=null)&&(!relatorioTop10IncidentesRequisicoesDTO.getSituacao().equalsIgnoreCase("0"))&&(relatorioTop10IncidentesRequisicoesDTO.getSituacao().length()>0)){ sql.append("and UPPER(ss.situacao)=UPPER(?) "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getSituacao()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem().intValue()>0)){ sql.append("and ss.idorigem=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()); } sql.append("join servico as s on sc.idservico = s.idservico "); sql.append("join empregados as e on ss.idsolicitante=idempregado "); sql.append("join tipodemandaservico as t on ss.idtipodemandaservico = t.idtipodemandaservico "); sql.append("join unidade on unidade.idunidade=ss.idunidade "); sql.append("left join grupo on grupo.idgrupo = ss.idgrupoatual "); sql.append("order by ss.idsolicitacaoservico, s.nomeservico, ss.situacao, t.nometipodemandaservico, grupo.nome"); resp = this.execSQL(sql.toString(), parametro.toArray()); result = this.engine.listConvertion(SolicitacaoServicoDTO.class, resp, listRetorno); } catch (PersistenceException e) { e.printStackTrace(); result = null; } catch (Exception e) { e.printStackTrace(); result = null; } return (ArrayList<SolicitacaoServicoDTO>) (((result == null)||(result.size()<=0)) ? new ArrayList<SolicitacaoServicoDTO>() : result); } public ArrayList<Top10IncidentesRequisicoesDTO> listLocMaisAbriramReqInc(RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO) { List result; try { List resp = new ArrayList(); List parametro = new ArrayList(); List listRetorno = new ArrayList(); listRetorno.add("id"); listRetorno.add("descricao"); listRetorno.add("nomeServico"); listRetorno.add("qtde"); boolean seLimita = ((relatorioTop10IncidentesRequisicoesDTO.getTopList()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getTopList().intValue()>0)); StringBuilder sql = new StringBuilder(); sql.append("select "); if ((seLimita)&&(CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.SQLSERVER))){ sql.append("TOP "+relatorioTop10IncidentesRequisicoesDTO.getTopList().toString()+" "); } sql.append("localidade.idlocalidade as id, localidade.nomelocalidade as descricao, unidade.nome as nomeServico, count(ss.idsolicitacaoservico) as qtde "); sql.append("from servicocontrato as sc join solicitacaoservico as ss on "); if ((relatorioTop10IncidentesRequisicoesDTO.getIdContrato()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdContrato().intValue()>0)){ sql.append("sc.idcontrato=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdContrato()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdServico().intValue()>0)){ sql.append("sc.idservico=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdServico()); } sql.append("sc.idservicocontrato = ss.idservicocontrato "); sql.append("and (ss.datahorasolicitacao between ? and ?) "); parametro.add(UtilDatas.getSqlDate(relatorioTop10IncidentesRequisicoesDTO.getDataInicial())); parametro.add(UtilDatas.getTimeStampComUltimaHoraDoDia(relatorioTop10IncidentesRequisicoesDTO.getDataFinal())); if ((relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico().intValue()>0)){ sql.append("and ss.idtipodemandaservico=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade().intValue()>0)){ sql.append("and ss.idprioridade=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade().intValue()>0)){ sql.append("and ss.idunidade=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()); } if ((relatorioTop10IncidentesRequisicoesDTO.getSituacao()!=null)&&(!relatorioTop10IncidentesRequisicoesDTO.getSituacao().equalsIgnoreCase("0"))&&(relatorioTop10IncidentesRequisicoesDTO.getSituacao().length()>0)){ sql.append("and UPPER(ss.situacao)=UPPER(?) "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getSituacao()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem().intValue()>0)){ sql.append("and ss.idorigem=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()); } sql.append("join servico as s on sc.idservico = s.idservico "); sql.append("join tipodemandaservico as t on ss.idtipodemandaservico = t.idtipodemandaservico "); sql.append("join contatosolicitacaoservico on contatosolicitacaoservico.idcontatosolicitacaoservico = ss.idcontatosolicitacaoservico "); sql.append("join localidade on contatosolicitacaoservico.idlocalidade = localidade.idlocalidade "); sql.append("left join localidadeunidade on contatosolicitacaoservico.idlocalidade = localidadeunidade.idlocalidade "); sql.append("left join unidade on localidadeunidade.idunidade = unidade.idunidade "); if ((seLimita)&&(CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.ORACLE))){ sql.append("WHERE ROWNUM <= ? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getTopList()); } sql.append("group by localidade.idlocalidade, localidade.nomelocalidade, unidade.nome "); sql.append("order by qtde desc, descricao"); if ((seLimita)&&((CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.POSTGRESQL))||(CITCorporeUtil.SGBD_PRINCIPAL.trim().toUpperCase().equalsIgnoreCase(SQLConfig.MYSQL)))){ sql.append(" LIMIT ?"); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getTopList()); } resp = this.execSQL(sql.toString(), parametro.toArray()); result = this.engine.listConvertion(getBean(), resp, listRetorno); } catch (PersistenceException e) { e.printStackTrace(); result = null; } catch (Exception e) { e.printStackTrace(); result = null; } return (ArrayList<Top10IncidentesRequisicoesDTO>) (((result == null)||(result.size()<=0)) ? new ArrayList<Top10IncidentesRequisicoesDTO>() : result); } public Collection<SolicitacaoServicoDTO> listDetalheLocMaisAbriramReqInc(Integer idLocalidade, RelatorioTop10IncidentesRequisicoesDTO relatorioTop10IncidentesRequisicoesDTO) { List result; try { List resp = new ArrayList(); List parametro = new ArrayList(); List listRetorno = new ArrayList(); listRetorno.add("idSolicitacaoServico"); listRetorno.add("nomeServico"); listRetorno.add("situacao"); listRetorno.add("nomeTipoDemandaServico"); listRetorno.add("nomeGrupo"); StringBuilder sql = new StringBuilder(); sql.append("select ss.idsolicitacaoservico, s.nomeservico, ss.situacao, t.nometipodemandaservico, grupo.nome as nomeGrupo "); sql.append("from servicocontrato as sc join solicitacaoservico as ss on "); if ((relatorioTop10IncidentesRequisicoesDTO.getIdContrato()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdContrato().intValue()>0)){ sql.append("sc.idcontrato=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdContrato()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdServico().intValue()>0)){ sql.append("sc.idservico=? and "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdServico()); } sql.append("sc.idservicocontrato = ss.idservicocontrato "); sql.append("and (ss.datahorasolicitacao between ? and ?) "); parametro.add(UtilDatas.getSqlDate(relatorioTop10IncidentesRequisicoesDTO.getDataInicial())); parametro.add(UtilDatas.getTimeStampComUltimaHoraDoDia(relatorioTop10IncidentesRequisicoesDTO.getDataFinal())); if ((relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico().intValue()>0)){ sql.append("and ss.idtipodemandaservico=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdTipoDemandaServico()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade().intValue()>0)){ sql.append("and ss.idprioridade=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdPrioridade()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade().intValue()>0)){ sql.append("and ss.idunidade=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdUnidade()); } if ((relatorioTop10IncidentesRequisicoesDTO.getSituacao()!=null)&&(!relatorioTop10IncidentesRequisicoesDTO.getSituacao().equalsIgnoreCase("0"))&&(relatorioTop10IncidentesRequisicoesDTO.getSituacao().length()>0)){ sql.append("and UPPER(ss.situacao)=UPPER(?) "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getSituacao()); } if ((relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()!=null)&&(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem().intValue()>0)){ sql.append("and ss.idorigem=? "); parametro.add(relatorioTop10IncidentesRequisicoesDTO.getIdOrigem()); } sql.append("join servico as s on sc.idservico = s.idservico "); sql.append("join tipodemandaservico as t on ss.idtipodemandaservico = t.idtipodemandaservico "); sql.append("join contatosolicitacaoservico on contatosolicitacaoservico.idcontatosolicitacaoservico = ss.idcontatosolicitacaoservico "); sql.append(" and contatosolicitacaoservico.idlocalidade=? "); parametro.add(idLocalidade); sql.append("join localidade on contatosolicitacaoservico.idlocalidade = localidade.idlocalidade "); sql.append("left join grupo on grupo.idgrupo = ss.idgrupoatual "); sql.append("order by ss.idsolicitacaoservico, s.nomeservico, ss.situacao, t.nometipodemandaservico, grupo.nome"); resp = this.execSQL(sql.toString(), parametro.toArray()); result = this.engine.listConvertion(SolicitacaoServicoDTO.class, resp, listRetorno); } catch (PersistenceException e) { e.printStackTrace(); result = null; } catch (Exception e) { e.printStackTrace(); result = null; } return (ArrayList<SolicitacaoServicoDTO>) (((result == null)||(result.size()<=0)) ? new ArrayList<SolicitacaoServicoDTO>() : result); } }