diff --git a/backend/src/main/java/com/nttdata/calender/changes/query/Filter.java b/backend/src/main/java/com/nttdata/calender/changes/query/Filter.java
index e9b2b78..49f5414 100644
--- a/backend/src/main/java/com/nttdata/calender/changes/query/Filter.java
+++ b/backend/src/main/java/com/nttdata/calender/changes/query/Filter.java
@@ -102,6 +102,8 @@ public class Filter {
var column = current_filter.getColumn();
var criterias = current_filter.getCriteria();
+
+
if (column.isEmpty() || criterias.length <= 0) {
throw new ValidationError("Fields inside filter empty");
}
@@ -111,33 +113,45 @@ public class Filter {
var dateQualifier = constructDateQualifier(current_filter, column, query, api);
qualifier = "(" + dateQualifier + ")";
} else {
- column = api.getFieldDatabaseName(query.getFormName(), query.getFieldId(column));
-
- var inner_filter = "\'" + column + "\' ";
- var inner_concat = " OR ";
- var inner_criteria_prefix = "";
-
- switch (current_filter.getFilter()) {
- case "equals":
- inner_filter += "= ";
- break;
- case "contains":
- inner_filter += "LIKE ";
- inner_concat = " AND ";
- inner_criteria_prefix = "%";
- break;
- default:
- throw new ValidationError("Invalid inner filter argument");
+ if(column.equals("ASF_WI_HighestIntervall") ){
+ Integer crit = Integer.parseInt(current_filter.getCriteria()[0]);
+ System.out.println("\n VORHER: "+qualifier);
+ qualifier +="(" + "'ASF_WI_HighestIntervall'"+ ">"+ crit + ")";
+ System.out.println("\n NACHER: "+qualifier);
}
+ else{
+ column = api.getFieldDatabaseName(query.getFormName(), query.getFieldId(column));
- for (int j = 0; j < criterias.length; j++) {
- criterias[j] = inner_criteria_prefix + criterias[j] + inner_criteria_prefix;
- inner_qualifier += "(" + inner_filter + "\"" + criterias[j] + "\")";
- if (j < criterias.length - 1) {
- inner_qualifier += inner_concat;
+ var inner_filter = "\'" + column + "\' ";
+ var inner_concat = " OR ";
+ var inner_criteria_prefix = "";
+
+ switch (current_filter.getFilter()) {
+ case "equals":
+ inner_filter += "= ";
+ break;
+ case ">":
+ inner_filter += ">";
+ break;
+ case "contains":
+ inner_filter += "LIKE ";
+ inner_concat = " AND ";
+ inner_criteria_prefix = "%";
+ break;
+
+ default:
+ throw new ValidationError("Invalid inner filter argument");
}
+
+ for (int j = 0; j < criterias.length; j++) {
+ criterias[j] = inner_criteria_prefix + criterias[j] + inner_criteria_prefix;
+ inner_qualifier += "(" + inner_filter + "\"" + criterias[j] + "\")";
+ if (j < criterias.length - 1) {
+ inner_qualifier += inner_concat;
+ }
+ }
+ qualifier += "(" + inner_qualifier + ")";
}
- qualifier += "(" + inner_qualifier + ")";
}
if (i < filterElement.size() - 1) {
diff --git a/frontend/src/app/filter-dialog/filter-dialog.component.html b/frontend/src/app/filter-dialog/filter-dialog.component.html
index 0871a25..dc474ee 100644
--- a/frontend/src/app/filter-dialog/filter-dialog.component.html
+++ b/frontend/src/app/filter-dialog/filter-dialog.component.html
@@ -90,6 +90,15 @@
+
+
+
+ Intervall
+ Pakete mit Intervall > ein Jahr
+
+
+ Zeige nur Pakete mit Intervall > 1 Jahr!
+