support group filter

main
Said Gedik 2024-03-12 10:58:59 +01:00
parent 56e08ede2b
commit daef12d048
1 changed files with 25 additions and 38 deletions

View File

@ -16,6 +16,7 @@ import com.nttdata.calender.errorhandling.ErrorTypes.NotFoundError;
public class SupportGroup { public class SupportGroup {
private static final String formName = "CTM:Support Group"; private static final String formName = "CTM:Support Group";
private static final String formAssoc = "CTM:Support Group Assoc LookUp"; private static final String formAssoc = "CTM:Support Group Assoc LookUp";
private static final String formLookUp = "CTM:PeopleUserSupportGroupFunctionalRoleLookup";
private static final SupportGroup INSTANCE = new SupportGroup(); private static final SupportGroup INSTANCE = new SupportGroup();
private ArrayList<SupportGroupGetResponse> supportGroups; private ArrayList<SupportGroupGetResponse> supportGroups;
private SupportGroupGetResponse userSupportGroup; private SupportGroupGetResponse userSupportGroup;
@ -46,16 +47,15 @@ public class SupportGroup {
public void querySupportGroups(RemedyJavaAPI api) throws ARException, NotFoundError { public void querySupportGroups(RemedyJavaAPI api) throws ARException, NotFoundError {
api.impersonateUser("btwien_test"); api.impersonateUser("btwien_test");
var querySupportGroups = new Query.QueryBuilder(formAssoc) var querySupportGroups = new Query.QueryBuilder(formLookUp)
.addFieldId("SupportGroup", 1000000015) .addFieldId("SupportGroup", 1000000015)
.addFieldId("SupportGroupId", 1000000079) .addFieldId("SupportGroupId", 1000000079)
.addFieldId("FunctionalRole", 1000000172)
.build(); .build();
System.out.println(api.isAdministrator()); if (api.isAdministrator()) {
this.supportGroups = api this.supportGroups = api
.queryFieldsById("\'1000000172\' == 5000 OR \'1000000172\' == 6000", querySupportGroups.getFieldIds(), .queryFieldsById("\'1000001859\' == 5000 OR \'1000001859\' == 6000",
querySupportGroups.getFieldIds(),
querySupportGroups.getFormName(), null, 0, 0) querySupportGroups.getFormName(), null, 0, 0)
.stream() .stream()
.map(entry -> new SupportGroupGetResponse( .map(entry -> new SupportGroupGetResponse(
@ -64,36 +64,23 @@ public class SupportGroup {
.distinct() .distinct()
.collect(Collectors.toCollection(ArrayList::new)); .collect(Collectors.toCollection(ArrayList::new));
// nur zum testen } else {
var test = api this.supportGroups = api
.queryFieldsById("\'1000000172\' == 5000 OR \'1000000172\' == 6000", querySupportGroups.getFieldIds(), .queryFieldsById("\'4\' == \"" + api.getUser() + "\" AND (\'1000001859\' == 5000 OR \'1000001859\' == 6000)",
querySupportGroups.getFormName(), null, 0, 0); querySupportGroups.getFieldIds(),
for (var t : test) querySupportGroups.getFormName(), null, 0, 0)
System.out.println(t); .stream()
.map(entry -> new SupportGroupGetResponse(
// ALLE SUPPORTGRUPPEN entry.get(querySupportGroups.getFieldId("SupportGroup")).toString(),
// this.supportGroups = api entry.get(querySupportGroups.getFieldId("SupportGroupId")).toString()))
// .queryFieldsById("\'4\' != \"_\"", querySupportGroups.getFieldIds(), .distinct()
// querySupportGroups.getFormName(), null, 0, 0) .collect(Collectors.toCollection(ArrayList::new));
// .stream() }
// .map(entry -> new SupportGroupGetResponse(
// entry.get(querySupportGroups.getFieldId("SupportGroup")).toString(),
// entry.get(querySupportGroups.getFieldId("SupportGroupId")).toString()))
// .distinct()
// .collect(Collectors.toCollection(ArrayList::new));
if (this.supportGroups.isEmpty()) { if (this.supportGroups.isEmpty()) {
throw new NotFoundError("No support groups found in this context"); throw new NotFoundError("No support groups found in this context");
} }
// System.out.println("NEUE ABFRAGE");
// var a = new Query.QueryBuilder("CTM:PeopleUserSupportGroupFunctionalRoleLookup")
// .addFieldId("SupportGroupId", 1000000015).build();
// var q = api.queryFieldsById("\'1000000015\' != \"_\"", a.getFieldIds(), a.getFormName(), null, 0, 0);
// System.out.println(q);
api.freeImpersonatedUser(); api.freeImpersonatedUser();
} }