From c4d929751e5a2c2471c20f8449b7e5f278332c40 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Tue, 19 Mar 2024 13:27:10 +0100 Subject: [PATCH] querying states --- .../com/nttdata/calender/states/State.java | 45 ++++++++++++++++--- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/states/State.java b/backend/src/main/java/com/nttdata/calender/states/State.java index dc6172e..a70cd4b 100644 --- a/backend/src/main/java/com/nttdata/calender/states/State.java +++ b/backend/src/main/java/com/nttdata/calender/states/State.java @@ -88,16 +88,51 @@ public class State { */ public void queryPossibleStates(RemedyJavaAPI api) throws ARException { var configurationQuery = new Query.QueryBuilder("ITSM:Configuration") - .addFieldId("stateTransitionField", 700003001) - .addFieldId("englishName", 700003002) - .addFieldId("possibleState", 700003006) + .addFieldId("engName", 700003002) + .addFieldId("gerName", 700003003) + .addFieldId("cancelFlag", 700003004) .addFieldId("actualState", 700003005) + .addFieldId("restartFlag", 700003010) + .addFieldId("implementerFlag", 700003012) .build(); - var stateFields = api.queryFieldsById("\'Menu\' = \"CHANGE_CALENDER_STATUS_TRANSITIONS\"", + var stateFields = api.queryFieldsById("\'Menu\' = \"CHANGE_CALENDER_STATUS\"", configurationQuery.getFieldIds(), configurationQuery.getFormName(), null, 0, 0); - updatePossibleStates(stateFields, configurationQuery); + + var configurationStatusQuery = new Query.QueryBuilder("ITSM:Configuration") + .addFieldId("actualState", 700003005) + .addFieldId("possibleState", 700003006) + .build(); + + var stateStatusFields = api.queryFieldsById("\'Menu\' = \"CHANGE_CALENDER_STATUS_TRANSITIONS\"", + configurationStatusQuery.getFieldIds(), + configurationStatusQuery.getFormName(), null, 0, 0); + + for (int i = 0; i < stateFields.size(); i++) { + + for (int j = 0; j < stateStatusFields.size(); j++) { + + int actualState = stateFields.get(i).get(configurationQuery.getFieldId("actualState")).getIntValue(); + int statusActualState = stateStatusFields.get(j).get(configurationStatusQuery.getFieldId("actualState")) + .getIntValue(); + + if (actualState == statusActualState) { + int possibleState = stateStatusFields.get(j) + .get(configurationStatusQuery.getFieldId("possibleState")).getIntValue(); + this.getState().get(actualState).addPossibleState(possibleState); + } + } + } + + for (var v : get()) { + System.out.println(v.actualState); + } + + System.out.println(stateFields.size()); + System.out.println(stateStatusFields.size()); + + // updatePossibleStates(stateFields, configurationQuery); } /**