diff --git a/backend/src/main/java/com/nttdata/calender/changes/Change.java b/backend/src/main/java/com/nttdata/calender/changes/Change.java index 8ff8074..fe47487 100644 --- a/backend/src/main/java/com/nttdata/calender/changes/Change.java +++ b/backend/src/main/java/com/nttdata/calender/changes/Change.java @@ -42,6 +42,7 @@ public class Change { this.queryChange = new Query.QueryBuilder(formName) .addFieldId("ChangeNr", 1000000182) .addFieldId("SupportGroup", 1000000015) + .addFieldId("ManagerGroup", 1000003229) .addFieldId("State", 7) .addFieldId("ResourceName", 1000000000) .addFieldId("D1", 1000000349) @@ -78,7 +79,7 @@ public class Change { * @throws ValidationError if there is an invalid filter or qualification */ public ChangeResponse get(ChangeRequest request) throws ARException, NotFoundError, ValidationError { - api.impersonateUser("ext_StanzPa"); + // api.impersonateUser("ext_StanzPa"); var peopleFullName = processPeopleInfo(request); 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 49f5414..9772ab6 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 @@ -109,9 +109,37 @@ public class Filter { } var inner_qualifier = ""; + // if (column.equals("SupportGroup")) { + // qualifier = "(" + "'1000000015' = \""+criterias[0]+"\" OR '1000003229' = \""+criterias[0]+"\")"; + // // } + // if(column.equals("SupportGroup")) { + // String supportGroupColumn = "1000000015"; // api.getFieldDatabaseName(query.getFormName(), query.getFieldId("SupportGroup")); + // String coordGroupColumn = "1000003229"; //api.getFieldDatabaseName(query.getFormName(), query.getFieldId("ManagerGroup")); + // for (int j = 0; j < criterias.length; j++) { + // var criteria = criterias[j]; + // if (j > 0) { + // qualifier += " AND "; + // } + // var orCondition = String.format("('%s' = \"%s\" OR '%s' = \"%s\")", supportGroupColumn, criteria, coordGroupColumn, criteria); + // qualifier += orCondition; + // } + // } + if (column.equals("D2")) { var dateQualifier = constructDateQualifier(current_filter, column, query, api); qualifier = "(" + dateQualifier + ")"; + }else if(column.equals("SupportGroup")){ + String supportGroupColumn = "1000000015"; // api.getFieldDatabaseName(query.getFormName(), query.getFieldId("SupportGroup")); + String coordGroupColumn = "1000003229"; //api.getFieldDatabaseName(query.getFormName(), query.getFieldId("ManagerGroup")); + for (int j = 0; j < criterias.length; j++) { + var criteria = criterias[j]; + if (j > 0) { + qualifier += " OR "; + } + var orCondition = String.format("('%s' = \"%s\" OR '%s' = \"%s\")", supportGroupColumn, criteria, coordGroupColumn, criteria); + qualifier += orCondition; + } + } else { if(column.equals("ASF_WI_HighestIntervall") ){ Integer crit = Integer.parseInt(current_filter.getCriteria()[0]); @@ -159,6 +187,7 @@ public class Filter { } } + System.out.println("\n"+qualifier+"\n"); return qualifier; }