intervalFilter/DONE
parent
900f038eb4
commit
df704a9820
|
|
@ -102,6 +102,8 @@ public class Filter {
|
||||||
var column = current_filter.getColumn();
|
var column = current_filter.getColumn();
|
||||||
var criterias = current_filter.getCriteria();
|
var criterias = current_filter.getCriteria();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (column.isEmpty() || criterias.length <= 0) {
|
if (column.isEmpty() || criterias.length <= 0) {
|
||||||
throw new ValidationError("Fields inside filter empty");
|
throw new ValidationError("Fields inside filter empty");
|
||||||
}
|
}
|
||||||
|
|
@ -111,6 +113,13 @@ public class Filter {
|
||||||
var dateQualifier = constructDateQualifier(current_filter, column, query, api);
|
var dateQualifier = constructDateQualifier(current_filter, column, query, api);
|
||||||
qualifier = "(" + dateQualifier + ")";
|
qualifier = "(" + dateQualifier + ")";
|
||||||
} else {
|
} else {
|
||||||
|
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));
|
column = api.getFieldDatabaseName(query.getFormName(), query.getFieldId(column));
|
||||||
|
|
||||||
var inner_filter = "\'" + column + "\' ";
|
var inner_filter = "\'" + column + "\' ";
|
||||||
|
|
@ -121,11 +130,15 @@ public class Filter {
|
||||||
case "equals":
|
case "equals":
|
||||||
inner_filter += "= ";
|
inner_filter += "= ";
|
||||||
break;
|
break;
|
||||||
|
case ">":
|
||||||
|
inner_filter += ">";
|
||||||
|
break;
|
||||||
case "contains":
|
case "contains":
|
||||||
inner_filter += "LIKE ";
|
inner_filter += "LIKE ";
|
||||||
inner_concat = " AND ";
|
inner_concat = " AND ";
|
||||||
inner_criteria_prefix = "%";
|
inner_criteria_prefix = "%";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
throw new ValidationError("Invalid inner filter argument");
|
throw new ValidationError("Invalid inner filter argument");
|
||||||
}
|
}
|
||||||
|
|
@ -139,6 +152,7 @@ public class Filter {
|
||||||
}
|
}
|
||||||
qualifier += "(" + inner_qualifier + ")";
|
qualifier += "(" + inner_qualifier + ")";
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (i < filterElement.size() - 1) {
|
if (i < filterElement.size() - 1) {
|
||||||
qualifier += " AND ";
|
qualifier += " AND ";
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,15 @@
|
||||||
<mat-datepicker #picker2></mat-datepicker>
|
<mat-datepicker #picker2></mat-datepicker>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</mat-expansion-panel>
|
</mat-expansion-panel>
|
||||||
|
|
||||||
|
<mat-expansion-panel>
|
||||||
|
<mat-expansion-panel-header>
|
||||||
|
<mat-panel-title>Intervall</mat-panel-title>
|
||||||
|
<mat-panel-description>Pakete mit Intervall > ein Jahr</mat-panel-description>
|
||||||
|
</mat-expansion-panel-header>
|
||||||
|
|
||||||
|
<mat-checkbox [(ngModel)]="intervallFilter">Zeige nur Pakete mit Intervall > 1 Jahr!</mat-checkbox>
|
||||||
|
</mat-expansion-panel>
|
||||||
</mat-accordion>
|
</mat-accordion>
|
||||||
|
|
||||||
<!-- <mat-form-field appearance="fill" style="width: 100%;" >
|
<!-- <mat-form-field appearance="fill" style="width: 100%;" >
|
||||||
|
|
|
||||||
|
|
@ -39,8 +39,7 @@ export class FilterDialogComponent implements OnInit {
|
||||||
public states: string[] = [];
|
public states: string[] = [];
|
||||||
public contracts: string[] = [];
|
public contracts: string[] = [];
|
||||||
public userSupportGroup: string;
|
public userSupportGroup: string;
|
||||||
|
public filterLabels: string[] = [];
|
||||||
public prevFilters: any[]=[];
|
|
||||||
|
|
||||||
public criteria: string;
|
public criteria: string;
|
||||||
public filterStartDate: Date;
|
public filterStartDate: Date;
|
||||||
|
|
@ -52,7 +51,9 @@ export class FilterDialogComponent implements OnInit {
|
||||||
public contractsFilter = [];
|
public contractsFilter = [];
|
||||||
public textFilter = [];
|
public textFilter = [];
|
||||||
public dateFilter = [];
|
public dateFilter = [];
|
||||||
public filterLabels: string[] = [];
|
public intervallFilter: boolean;
|
||||||
|
|
||||||
|
public prevFilters: any[]=[];
|
||||||
|
|
||||||
public prevFilterText: string;
|
public prevFilterText: string;
|
||||||
public prevFiltersSg: string[] = [];
|
public prevFiltersSg: string[] = [];
|
||||||
|
|
@ -61,6 +62,7 @@ export class FilterDialogComponent implements OnInit {
|
||||||
public prevFiltersPaketType: string[] = [];
|
public prevFiltersPaketType: string[] = [];
|
||||||
public prevFilterDateFrom: Date;
|
public prevFilterDateFrom: Date;
|
||||||
public prevFilterDateTo: Date;
|
public prevFilterDateTo: Date;
|
||||||
|
public prevIntervallFilter: boolean;
|
||||||
|
|
||||||
public filterObj;
|
public filterObj;
|
||||||
|
|
||||||
|
|
@ -135,6 +137,10 @@ export class FilterDialogComponent implements OnInit {
|
||||||
if(filter.column == "ResourceName"){
|
if(filter.column == "ResourceName"){
|
||||||
this.criteria = filter.criteria[0];
|
this.criteria = filter.criteria[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(filter.column == "Intervall"){
|
||||||
|
this.intervallFilter = filter.criteria[0];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -291,6 +297,14 @@ export class FilterDialogComponent implements OnInit {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(this.intervallFilter){
|
||||||
|
filterElement.push({
|
||||||
|
"column": "ASF_WI_HighestIntervall",
|
||||||
|
"filter": ">",
|
||||||
|
"criteria": [365]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
let filter = {filterElement: filterElement};
|
let filter = {filterElement: filterElement};
|
||||||
//console.log(filter);
|
//console.log(filter);
|
||||||
this.dialogRef.close(filter);
|
this.dialogRef.close(filter);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue