querying states

main
Said Gedik 2024-03-19 13:27:10 +01:00
parent 792724c864
commit c4d929751e
1 changed files with 40 additions and 5 deletions

View File

@ -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);
}
/**