Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

MethodeBeispiel
getByState

Mit Hilfe dieser Methode können Datenbankeinträge in Form von BusinessObjekten ermittelt werden, die einen bestimmten Status besitzen.
Für die Suche können mehrere Status angegeben werden, zwingend erforderlich ist aber nur einer.

Die Status befinden sich in den Statusmodell-Klassen.

Codeblock
// Suche nach allen Bestellungen, die sich im Status 50 (storniert) oder Status 60 (beendet) befinden
List<Bestellung> results = QueryProvider.getByState(Bestellung.class, BestellungSM.State_50, BestellungSM.State_60);
context.log("Anzahl der abgeschlossenen Bestellungen: " +  results.size());
 
// Suche nach allen Bestellungen, die sich im Status 50 (storniert) befinden
List<Bestellung> results = QueryProvider.getByState(Bestellung.class, BestellungSM.State_50);
context.log("Anzahl der stornierten Bestellungen: " +  results.size());
 


getByProcess

Mit Hilfe dieser Methode können Datenbankeinträge in Form von BusinessObjekten ermittelt werden, die einer oder mehreren Aktionen angehören. Eine Aktion ist immer einem Businessobjekt zugewiesen, weshalb sie im Funktionsaufruf nicht extra angegeben werden muss. Aktionen werden in Nuclos konfiguriert und aufgrund ihrer Zugehörigkeit zum Businessobjekt in den BusinessObjekten als Konstanten hinterlegt, z.B. Auftrag.Sonderauftrag oder Auftrag.Normalauftrag

Codeblock
// Liste aller Sonderaufträge
List<Auftrag> results = QueryProvider.getByProcess(Auftrag.Sonderauftrag);
context.log("Anzahl der Sonderaufträge: " + results.size());

Anmerkung:

Aktionen können in den Businessobjekten direkt gesetzt werden. Wichtig dabei ist, dass aufgrund der Typsicherheit einem Businessobjekt nur die Aktionen zugewiesen werden können, die auch zur entsprechenden Businessobjekt gehören.

Codeblock
// Hier wird ein bestimmter Auftrag einer Aktion zugewiesen
Auftrag a = Auftrag.get(40297631L);
a.setNuclosProcess(Auftrag.Sonderauftrag);
BusinessObjectProvidera.updatesave(a);