//Se existe parametros para filtrar
if(request.getSession().getAttribute("parametrosFiltroDemanda")!=null){
parametrosFiltroDemanda = (Map) request.getSession().getAttribute("parametrosFiltroDemanda");
while (itRegDemandas.hasNext()){
RegDemandaRegd regDemandaRegd = (RegDemandaRegd) itRegDemandas.next();
List atributosLivres = getAtributosLivresDemandaEhFiltro(codVisao);
String valorCampo = Pagina.trocaNull(parametrosFiltroDemanda.get("descricaoRegd"));
if (!"".equals(valorCampo)) {
if (regDemandaRegd.getDescricaoRegd() == null || !regDemandaRegd.getDescricaoRegd().toUpperCase().contains((valorCampo.toUpperCase()))){
itRegDemandas.remove();
continue;
}
}
valorCampo = Pagina.trocaNull(parametrosFiltroDemanda.get("numeroDocOrigemRegd_Inicio"));
if (!"".equals(valorCampo)) {
if (regDemandaRegd.getNumeroDocOrigemRegd() == null || regDemandaRegd.getNumeroDocOrigemRegd().doubleValue() < Double.valueOf(valorCampo).doubleValue()){
itRegDemandas.remove();
continue;
}
}
valorCampo = Pagina.trocaNull(parametrosFiltroDemanda.get("numeroDocOrigemRegd_Fim"));
if (!"".equals(valorCampo)) {
if (regDemandaRegd.getNumeroDocOrigemRegd() == null || regDemandaRegd.getNumeroDocOrigemRegd().doubleValue() > Double.valueOf(valorCampo).doubleValue()){
itRegDemandas.remove();
continue;
}
}
valorCampo = Pagina.trocaNull(parametrosFiltroDemanda.get("codRegd"));
if (!"".equals(valorCampo)) {
if (regDemandaRegd.getCodRegd() == null || !regDemandaRegd.getCodRegd().toString().equals(valorCampo)){
itRegDemandas.remove();
continue;
}
}
valorCampo = Pagina.trocaNull(parametrosFiltroDemanda.get("observacaoRegd"));
if (!"".equals(valorCampo)) {
if (regDemandaRegd.getObservacaoRegd() == null || !regDemandaRegd.getObservacaoRegd().toUpperCase().contains((valorCampo.toUpperCase()))){
itRegDemandas.remove();
continue;
}
}
if (regDemandaRegd.getSitDemandaSitd()!=null
&&
regDemandaRegd.getSitDemandaSitd().getCodSitd()!=null
&&
ehValorPropriedadeDiferenteTodosValoresFiltros(parametrosFiltroDemanda.get("sitDemandaSitd"), regDemandaRegd.getSitDemandaSitd().getCodSitd().toString())) {
itRegDemandas.remove();
continue;
}
if (regDemandaRegd.getUsuarioUsuByCodUsuAlteracaoRegd()!=null &&
regDemandaRegd.getUsuarioUsuByCodUsuAlteracaoRegd().getCodUsu()!=null &&
ehValorPropriedadeDiferenteTodosValoresFiltros(parametrosFiltroDemanda.get("usuarioUsuByCodUsuInclusaoRegd"), regDemandaRegd.getUsuarioUsuByCodUsuAlteracaoRegd().getCodUsu().toString())) {
itRegDemandas.remove();
continue;
}
if (regDemandaRegd.getPrioridadePrior()!=null &&
regDemandaRegd.getPrioridadePrior().getCodPrior() !=null &&
ehValorPropriedadeDiferenteTodosValoresFiltros(parametrosFiltroDemanda.get("prioridadePrior"), regDemandaRegd.getPrioridadePrior().getCodPrior().toString())) {
itRegDemandas.remove();
continue;
}
valorCampo = Pagina.trocaNull(parametrosFiltroDemanda.get("regDemandaRegd"));
if (!"".equals(valorCampo)) {
if (regDemandaRegd.getRegDemandaRegd() == null || !regDemandaRegd.getRegDemandaRegd().getCodRegd().equals(Long.valueOf(valorCampo))){
itRegDemandas.remove();
continue;
}
}
if (ehValorPropriedadeDiferenteTodosValoresFiltros(parametrosFiltroDemanda.get("indAtivoRegd"), regDemandaRegd.getIndAtivoRegd())) {
itRegDemandas.remove();
continue;
}
valorCampo = Pagina.trocaNull(parametrosFiltroDemanda.get("nomeSolicitanteRegd"));
if (!"".equals(valorCampo)) {
if (regDemandaRegd.getNomeSolicitanteRegd() == null || !regDemandaRegd.getNomeSolicitanteRegd().toUpperCase().contains((valorCampo.toUpperCase()))){
itRegDemandas.remove();
continue;
}
}
valorCampo = Pagina.trocaNull(parametrosFiltroDemanda.get("dataLimiteRegd_Inicio"));
if (valorCampo != null && !"".equals(valorCampo)) {
String dataLimiteRegdInicioStr = valorCampo;
//Modifica as ordens de dia e m�s na data, para ficar no formato MM/DD/YYYY
dataLimiteRegdInicioStr =
dataLimiteRegdInicioStr.substring(3, dataLimiteRegdInicioStr.lastIndexOf("/")+1) +
dataLimiteRegdInicioStr.substring(0, dataLimiteRegdInicioStr.indexOf("/")+1) +
dataLimiteRegdInicioStr.substring(dataLimiteRegdInicioStr.lastIndexOf("/")+1);
Date dataLimiteRegdInicio = new Date(dataLimiteRegdInicioStr);
if (regDemandaRegd.getDataLimiteRegd() == null ||
//Remove da lista se a data estiver estiver fora do intervalo especificado no filtro
regDemandaRegd.getDataLimiteRegd().compareTo(dataLimiteRegdInicio) < 0){
itRegDemandas.remove();
continue;
}
}
valorCampo = Pagina.trocaNull(parametrosFiltroDemanda.get("dataLimiteRegd_Fim"));
if (valorCampo != null && !"".equals(valorCampo)) {
String dataLimiteRegdFimStr = valorCampo;
//Modifica as ordens de dia e m�s na data, para ficar no formato MM/DD/YYYY
dataLimiteRegdFimStr =
dataLimiteRegdFimStr.substring(3, dataLimiteRegdFimStr.lastIndexOf("/")+1) +
dataLimiteRegdFimStr.substring(0, dataLimiteRegdFimStr.indexOf("/")+1) +
dataLimiteRegdFimStr.substring(dataLimiteRegdFimStr.lastIndexOf("/")+1);
Date dataLimiteRegdFim = new Date(dataLimiteRegdFimStr);
if (regDemandaRegd.getDataLimiteRegd() == null ||
//Remove da lista se a data estiver estiver fora do intervalo especificado no filtro
regDemandaRegd.getDataLimiteRegd().compareTo(dataLimiteRegdFim) > 0){
itRegDemandas.remove();
continue;
}
}
valorCampo = Pagina.trocaNull(parametrosFiltroDemanda.get("dataSolicitacaoRegd_Inicio"));
if (valorCampo != null && !"".equals(valorCampo)) {
String dataSolicitacaoRegdInicioStr = valorCampo;
//Modifica as ordens de dia e m�s na data, para ficar no formato MM/DD/YYYY
dataSolicitacaoRegdInicioStr =
dataSolicitacaoRegdInicioStr.substring(3, dataSolicitacaoRegdInicioStr.lastIndexOf("/")+1) +
dataSolicitacaoRegdInicioStr.substring(0, dataSolicitacaoRegdInicioStr.indexOf("/")+1) +
dataSolicitacaoRegdInicioStr.substring(dataSolicitacaoRegdInicioStr.lastIndexOf("/")+1);
Date dataSolicitacaoRegdInicio = new Date(dataSolicitacaoRegdInicioStr);
if (regDemandaRegd.getDataSolicitacaoRegd() == null ||
//Remove da lista se a data estiver estiver fora do intervalo especificado no filtro
regDemandaRegd.getDataSolicitacaoRegd().compareTo(dataSolicitacaoRegdInicio) < 0){
itRegDemandas.remove();
continue;
}
}
valorCampo = Pagina.trocaNull(parametrosFiltroDemanda.get("dataSolicitacaoRegd_Fim"));
if (valorCampo != null && !"".equals(valorCampo)) {
String dataSolicitacaoRegdFimStr = valorCampo;
//Modifica as ordens de dia e m�s na data, para ficar no formato MM/DD/YYYY
dataSolicitacaoRegdFimStr =
dataSolicitacaoRegdFimStr.substring(3, dataSolicitacaoRegdFimStr.lastIndexOf("/")+1) +
dataSolicitacaoRegdFimStr.substring(0, dataSolicitacaoRegdFimStr.indexOf("/")+1) +
dataSolicitacaoRegdFimStr.substring(dataSolicitacaoRegdFimStr.lastIndexOf("/")+1);
Date dataSolicitacaoRegdFim = new Date(dataSolicitacaoRegdFimStr);
if (regDemandaRegd.getDataSolicitacaoRegd() == null ||
//Remove da lista se a data estiver estiver fora do intervalo especificado no filtro
regDemandaRegd.getDataSolicitacaoRegd().compareTo(dataSolicitacaoRegdFim) > 0){
itRegDemandas.remove();
continue;
}
}
valorCampo = Pagina.trocaNull(parametrosFiltroDemanda.get("dataInclusaoRegd_Inicio"));
if (valorCampo != null && !"".equals(valorCampo)) {
String dataInclusaoRegdInicioStr = valorCampo;
//Modifica as ordens de dia e m�s na data, para ficar no formato MM/DD/YYYY
dataInclusaoRegdInicioStr =
dataInclusaoRegdInicioStr.substring(3, dataInclusaoRegdInicioStr.lastIndexOf("/")+1) +
dataInclusaoRegdInicioStr.substring(0, dataInclusaoRegdInicioStr.indexOf("/")+1) +
dataInclusaoRegdInicioStr.substring(dataInclusaoRegdInicioStr.lastIndexOf("/")+1);
Date dataInclusaoRegdInicio = new Date(dataInclusaoRegdInicioStr);
if (regDemandaRegd.getDataInclusaoRegd() == null ||
//Remove da lista se a data estiver estiver fora do intervalo especificado no filtro
regDemandaRegd.getDataInclusaoRegd().compareTo(dataInclusaoRegdInicio) < 0){
itRegDemandas.remove();
continue;
}
}
valorCampo = Pagina.trocaNull(parametrosFiltroDemanda.get("dataInclusaoRegd_Fim"));
if (valorCampo != null && !"".equals(valorCampo)) {
String dataInclusaoRegdFimStr = valorCampo;
//Modifica as ordens de dia e m�s na data, para ficar no formato MM/DD/YYYY
dataInclusaoRegdFimStr =
dataInclusaoRegdFimStr.substring(3, dataInclusaoRegdFimStr.lastIndexOf("/")+1) +
dataInclusaoRegdFimStr.substring(0, dataInclusaoRegdFimStr.indexOf("/")+1) +
dataInclusaoRegdFimStr.substring(dataInclusaoRegdFimStr.lastIndexOf("/")+1);
Date dataInclusaoRegdFim = new Date(dataInclusaoRegdFimStr);
if (regDemandaRegd.getDataInclusaoRegd() == null ||
//Remove da lista se a data estiver estiver fora do intervalo especificado no filtro
regDemandaRegd.getDataInclusaoRegd().compareTo(dataInclusaoRegdFim) > 0){
itRegDemandas.remove();
continue;
}
}
valorCampo = Pagina.trocaNull(parametrosFiltroDemanda.get("dataSituacaoRegd_Inicio"));
if (valorCampo != null && !"".equals(valorCampo)) {
String dataSituacaoRegdInicioStr = valorCampo;
//Modifica as ordens de dia e m�s na data, para ficar no formato MM/DD/YYYY
dataSituacaoRegdInicioStr =
dataSituacaoRegdInicioStr.substring(3, dataSituacaoRegdInicioStr.lastIndexOf("/")+1) +
dataSituacaoRegdInicioStr.substring(0, dataSituacaoRegdInicioStr.indexOf("/")+1) +
dataSituacaoRegdInicioStr.substring(dataSituacaoRegdInicioStr.lastIndexOf("/")+1);
Date dataSituacaoRegdInicio = new Date(dataSituacaoRegdInicioStr);
if (regDemandaRegd.getDataSituacaoRegd() == null ||
//Remove da lista se a data estiver estiver fora do intervalo especificado no filtro
regDemandaRegd.getDataSituacaoRegd().compareTo(dataSituacaoRegdInicio) < 0){
itRegDemandas.remove();
continue;
}
}
valorCampo = Pagina.trocaNull(parametrosFiltroDemanda.get("dataSituacaoRegd_Fim"));
if (valorCampo != null && !"".equals(valorCampo)) {
String dataSituacaoRegdFimStr = valorCampo;
//Modifica as ordens de dia e m�s na data, para ficar no formato MM/DD/YYYY
dataSituacaoRegdFimStr =
dataSituacaoRegdFimStr.substring(3, dataSituacaoRegdFimStr.lastIndexOf("/")+1) +
dataSituacaoRegdFimStr.substring(0, dataSituacaoRegdFimStr.indexOf("/")+1) +
dataSituacaoRegdFimStr.substring(dataSituacaoRegdFimStr.lastIndexOf("/")+1);
Date dataSituacaoRegdFim = new Date(dataSituacaoRegdFimStr);
if (regDemandaRegd.getDataSituacaoRegd() == null ||
//Remove da lista se a data estiver estiver fora do intervalo especificado no filtro
regDemandaRegd.getDataSituacaoRegd().compareTo(dataSituacaoRegdFim) > 0){
itRegDemandas.remove();
continue;
}
}
valorCampo = Pagina.trocaNull(parametrosFiltroDemanda.get("contLocal"));
boolean localNaoEncontrado = false;
int numLocais = 0;
if (valorCampo!=null && valorCampo.length()>0)
numLocais = Integer.parseInt(valorCampo);
for (int i = 1; i <= numLocais; i++) {
if ("S".equals(Pagina.trocaNull(parametrosFiltroDemanda.get("adicionaLocal" + i)))) {
LocalItemLit local = new LocalItemLit();
local = (LocalItemLit) super
.buscar(LocalItemLit.class, Long.valueOf(Pagina.trocaNull(parametrosFiltroDemanda.get("codLit" + i))));
if (!regDemandaRegd.getLocalDemandaLdems().contains(local)){
localNaoEncontrado = true;
itRegDemandas.remove();
break;
}
}
}
if (localNaoEncontrado)
continue;
valorCampo = Pagina.trocaNull(parametrosFiltroDemanda.get("contEntidade"));
boolean entidadeNaoEncontrada = false;
int numEntidades = 0;
if (valorCampo!=null && valorCampo.length()>0)
numEntidades = Integer.parseInt(valorCampo);
for (int i = 1; i <= numEntidades; i++) {
if ("S".equals(Pagina.trocaNull(parametrosFiltroDemanda.get("adicionaEntidade" + i)))) {
EntidadeEnt entidade = new EntidadeEnt();
entidade = (EntidadeEnt) super
.buscar(EntidadeEnt.class, Long.valueOf(Pagina.trocaNull(parametrosFiltroDemanda.get("codEnt" + i))));
if (!regDemandaRegd.getEntidadeDemandaEntds().contains(entidade)){
entidadeNaoEncontrada = true;
itRegDemandas.remove();
break;
}
}
}
if (entidadeNaoEncontrada)
continue;
valorCampo = Pagina.trocaNull(parametrosFiltroDemanda.get("contEntidadeOrgao"));
boolean entidadeOrgaoNaoEncontrada = false;
int numEntidadeOrgaos = 0;
if (valorCampo!=null && valorCampo.length()>0)
numEntidadeOrgaos = Integer.parseInt(valorCampo);
for (int i = 1; i <= numEntidadeOrgaos; i++) {
if ("S".equals(Pagina.trocaNull(parametrosFiltroDemanda.get("adicionaEntidadeOrgao" + i)))) {
EntidadeEnt entidadeOrgao = new EntidadeEnt();
entidadeOrgao = (EntidadeEnt) super
.buscar(EntidadeEnt.class, Long.valueOf(Pagina.trocaNull(parametrosFiltroDemanda.get("codEntOrg" + i))));
if (!regDemandaRegd.getEntidadeOrgaoDemandaEntorgds().contains(entidadeOrgao)){
entidadeOrgaoNaoEncontrada = true;
itRegDemandas.remove();
break;
}
}