From 4ecaea20f87fd07a38ba27e9de302c2953f86d9b Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Wed, 24 May 2023 11:11:56 +0200 Subject: [PATCH] check Approval List & setApprovalFlag --- .../com/nttdata/calender/changes/Change.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) 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 618d7c8..69c15fe 100644 --- a/backend/src/main/java/com/nttdata/calender/changes/Change.java +++ b/backend/src/main/java/com/nttdata/calender/changes/Change.java @@ -135,7 +135,11 @@ public class Change { change.setChangeImplementerPersonId(getValueStringByID(entry, "ChangeImplementerPersonId")); change.setPackageType(getValueStringByID(entry, "PackageType")); change.setContract(getValueStringByID(entry, "Contract")); - + try { + change.setApprovalFlag(inApprovalList(api.getUser(), getValueStringByID(entry, "ChangerNr"))); + } catch (ARException e) { + e.printStackTrace(); + } change.setImplementerEdit( Optional.ofNullable(entry.get(queryChange.getFieldId("ChangeCoordinator"))) .map(Object::toString) @@ -149,6 +153,17 @@ public class Change { return new ChangeResponse(entriesSize, changes); } + public boolean inApprovalList(String user, String changeNr) throws ARException { + var queryApprovalList = new Query.QueryBuilder("ASF:OverviewConsole_TicketsJoinAPDetailSignature") + .addFieldId("Approvers", 13207).build(); + + var approversOI = api.queryFieldsById("\'Ticketnumber\' = \"" + changeNr + "\"", + queryApprovalList.getFieldIds(), queryApprovalList.getFormName(), null, 0, 0); + + String approvers = approversOI.get(0).get(queryApprovalList.getFieldId("Approvers")).toString(); + return approvers.contains(user); + } + /** * Returns the {@link Value} of an entry based on the provided description. *