}
Iterator itAtributosTextTextArea = atributosTextTextArea.iterator();
while (itAtributosTextTextArea.hasNext() && filtrarAtributoLivre){
DemAtributoDema demAtributoDema = (DemAtributoDema) itAtributosTextTextArea.next();
if (!demAtributoDema.getInformacao().toUpperCase().trim().contains((Pagina.trocaNull(valores[0])).toUpperCase().trim())){
itRegDemandas.remove();
filtrarAtributoLivre = false;
retorno = true;
break;
}
}
}
}
//Se for MULTITEXTO
} else if (tipoCampo.equals(SisTipoExibicGrupoDao.MULTITEXTO)) {
List lAtrib = new ArrayList();
if(parametrosFiltroDemanda.get("listaNomesAtributosRequest") != null)
lAtrib = (ArrayList) parametrosFiltroDemanda.get("listaNomesAtributosRequest");
Iterator lAtribIt = lAtrib.iterator();
while (lAtribIt.hasNext() && filtrarAtributoLivre) {
nomeCampo = Pagina.trocaNull(lAtribIt.next());
if (nomeCampo.startsWith("a" + grupoAtributo.getCodSga().toString())){
String[] valores = null;
if (parametrosFiltroDemanda.get(nomeCampo) instanceof String) {
valores = new String[1];
valores[0] = (String)parametrosFiltroDemanda.get(nomeCampo);
} else {
valores = (String[])parametrosFiltroDemanda.get(nomeCampo);
}
if(parametrosFiltroDemanda.get(nomeCampo) != null && valores[0]!=null &&
!"".equals(Pagina.trocaNull(valores[0]))){
String codSisAtrib = nomeCampo.substring(nomeCampo.lastIndexOf("_") + 1);
SisAtributoSatb sisAtributoSatb = (SisAtributoSatb) this.buscar(SisAtributoSatb.class, Long.valueOf(codSisAtrib));
List atributosMultiText = getRegDemandaSisAtributoRegdSatbsRegd(regDemandaRegd, grupoAtributo.getCodSga());
if (atributosMultiText.size() == 0 || !getSisAtributosRegDem(regDemandaRegd, grupoAtributo.getCodSga()).contains(sisAtributoSatb)){
itRegDemandas.remove();
filtrarAtributoLivre = false;
retorno = true;
break;
}
Iterator itAtributosMultiTexto = atributosMultiText.iterator();
while (itAtributosMultiTexto.hasNext() && filtrarAtributoLivre){
DemAtributoDema demAtributoDema = (DemAtributoDema) itAtributosMultiTexto.next();
if (demAtributoDema.getSisAtributoSatb().getCodSatb().toString().equals(codSisAtrib)){
if (!demAtributoDema.getInformacao().toUpperCase().trim().contains((Pagina.trocaNull(parametrosFiltroDemanda.get(nomeCampo))).toUpperCase().trim())){
itRegDemandas.remove();
filtrarAtributoLivre = false;
retorno = true;
break;
}
}
}
}
}
}
//Se for VALIDACAO
} else if (tipoCampo.equals(SisTipoExibicGrupoDao.VALIDACAO)) {
nomeCampo = "a" + grupoAtributo.getCodSga() + "_Inicio";
String filtroParametro = Pagina.trocaNull(parametrosFiltroDemanda.get(nomeCampo));
if(parametrosFiltroDemanda.get(nomeCampo) != null &&
!"".equals(Pagina.trocaNull(parametrosFiltroDemanda.get(nomeCampo)))){
List atributosValidacao = getRegDemandaSisAtributoRegdSatbsRegd(regDemandaRegd, grupoAtributo.getCodSga());
if (atributosValidacao.size() == 0){
itRegDemandas.remove();
filtrarAtributoLivre = false;
retorno = true;
break;
}
Iterator itAtributosValidacao = atributosValidacao.iterator();
while (itAtributosValidacao.hasNext() && filtrarAtributoLivre){
DemAtributoDema demAtributoDema = (DemAtributoDema) itAtributosValidacao.next();
if (demAtributoDema.getSisAtributoSatb().getAtribInfCompSatb().equals("dataScript")){
//Modifica as ordens de dia e m�s na data, para ficar no formato MM/DD/YYYY
filtroParametro =
filtroParametro.substring(3, filtroParametro.lastIndexOf("/")+1) +
filtroParametro.substring(0, filtroParametro.indexOf("/")+1) +
filtroParametro.substring(filtroParametro.lastIndexOf("/")+1);
Date dataFiltro = new Date(filtroParametro);
String valorAtribLivre = demAtributoDema.getInformacao();
//Modifica as ordens de dia e m�s na data, para ficar no formato MM/DD/YYYY
valorAtribLivre =
valorAtribLivre.substring(3, valorAtribLivre.lastIndexOf("/")+1) +
valorAtribLivre.substring(0, valorAtribLivre.indexOf("/")+1) +
valorAtribLivre.substring(valorAtribLivre.lastIndexOf("/")+1);
Date dataAtribLivre = new Date(valorAtribLivre);
//Remove da lista se a data estiver estiver fora do intervalo especificado no filtro
if (dataAtribLivre.compareTo(dataFiltro) < 0){
// itensRemovidos.add(regDemandaRegd.getCodRegd());
itRegDemandas.remove();
filtrarAtributoLivre = false;
retorno = true;
break;
}
} else if (demAtributoDema.getSisAtributoSatb().getAtribInfCompSatb().equals("numeroInteiroScript") ||
demAtributoDema.getSisAtributoSatb().getAtribInfCompSatb().equals("numeroRealScript") ||
demAtributoDema.getSisAtributoSatb().getAtribInfCompSatb().equals("valorMonetarioScript") ){
filtroParametro = filtroParametro.replace(".", "");
filtroParametro = filtroParametro.replace(",", ".");
BigDecimal valorFiltro = new BigDecimal(filtroParametro);
BigDecimal valorAtribLivre = new BigDecimal(demAtributoDema.getInformacao().replace(".", "").replace(",", "."));
//Remove da lista se a data estiver estiver fora do intervalo especificado no filtro
if (valorAtribLivre.doubleValue() < valorFiltro.doubleValue()){
// itensRemovidos.add(regDemandaRegd.getCodRegd());
itRegDemandas.remove();
filtrarAtributoLivre = false;
retorno = true;
break;
}
}
}
}
nomeCampo = "a" + grupoAtributo.getCodSga().toString() + "_Fim";
filtroParametro = Pagina.trocaNull(parametrosFiltroDemanda.get(nomeCampo));
if(parametrosFiltroDemanda.get(nomeCampo) != null &&
!"".equals(Pagina.trocaNull(parametrosFiltroDemanda.get(nomeCampo)))){
List atributosValidacao = getRegDemandaSisAtributoRegdSatbsRegd(regDemandaRegd, grupoAtributo.getCodSga());
if (atributosValidacao.size() == 0){
itRegDemandas.remove();
filtrarAtributoLivre = false;
retorno = true;
break;
}
Iterator itAtributosValidacao = atributosValidacao.iterator();
while (itAtributosValidacao.hasNext() && filtrarAtributoLivre){
DemAtributoDema demAtributoDema = (DemAtributoDema) itAtributosValidacao.next();
if (demAtributoDema.getSisAtributoSatb().getAtribInfCompSatb().equals("dataScript")){
//Modifica as ordens de dia e m�s na data, para ficar no formato MM/DD/YYYY
filtroParametro =
filtroParametro.substring(3, filtroParametro.lastIndexOf("/")+1) +
filtroParametro.substring(0, filtroParametro.indexOf("/")+1) +
filtroParametro.substring(filtroParametro.lastIndexOf("/")+1);
Date dataFiltro = new Date(filtroParametro);
String valorAtribLivre = demAtributoDema.getInformacao();
//Modifica as ordens de dia e m�s na data, para ficar no formato MM/DD/YYYY
valorAtribLivre =
valorAtribLivre.substring(3, valorAtribLivre.lastIndexOf("/")+1) +
valorAtribLivre.substring(0, valorAtribLivre.indexOf("/")+1) +
valorAtribLivre.substring(valorAtribLivre.lastIndexOf("/")+1);
Date dataAtribLivre = new Date(valorAtribLivre);
//Remove da lista se a data estiver estiver fora do intervalo especificado no filtro
if (dataAtribLivre.compareTo(dataFiltro) > 0){
// itensRemovidos.add(regDemandaRegd.getCodRegd());
itRegDemandas.remove();
filtrarAtributoLivre = false;
retorno = true;
break;
}
} else if (demAtributoDema.getSisAtributoSatb().getAtribInfCompSatb().equals("numeroInteiroScript") ||
demAtributoDema.getSisAtributoSatb().getAtribInfCompSatb().equals("numeroRealScript") ||
demAtributoDema.getSisAtributoSatb().getAtribInfCompSatb().equals("valorMonetarioScript") ){
filtroParametro = filtroParametro.replace(".", "");
filtroParametro = filtroParametro.replace(",", ".");
BigDecimal valorFiltro = new BigDecimal(filtroParametro);
BigDecimal valorAtribLivre = new BigDecimal(demAtributoDema.getInformacao().replace(".", "").replace(",", "."));
//Remove da lista se a data estiver estiver fora do intervalo especificado no filtro
if (valorAtribLivre.doubleValue() > valorFiltro.doubleValue()){
// itensRemovidos.add(regDemandaRegd.getCodRegd());
itRegDemandas.remove();
filtrarAtributoLivre = false;
retorno = true;
break;
}
}
}
}
nomeCampo ="a" + grupoAtributo.getCodSga();
String[] atributos = (String[]) parametrosFiltroDemanda.get(nomeCampo);
if(parametrosFiltroDemanda.get(nomeCampo) != null){
String[] valores = (String[])parametrosFiltroDemanda.get(nomeCampo);
if (valores[0]!=null && !"".equals(Pagina.trocaNull(valores[0]))) {
List atributosValidacao = getRegDemandaSisAtributoRegdSatbsRegd(regDemandaRegd, grupoAtributo.getCodSga());
if (atributosValidacao.size() == 0){
itRegDemandas.remove();
filtrarAtributoLivre = false;
retorno = true;
break;
}
Iterator itAtributosValidacao = atributosValidacao.iterator();
while (itAtributosValidacao.hasNext() && filtrarAtributoLivre){
DemAtributoDema demAtributoDema = (DemAtributoDema) itAtributosValidacao.next();
if (!demAtributoDema.getInformacao().toUpperCase().contains(atributos[0].toUpperCase())){
itRegDemandas.remove();
filtrarAtributoLivre = false;
retorno = true;
break;
}