Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 4 Nächste Version anzeigen »

Das folgende Beispiel soll den Aufbau einer Regel vom Typ "Aktualisieren" und die Weiterverarbeitung der übergebenen Inhalte veranschaulichen.

Fachlicher Hintergrund

Eine bestehende Nuclos-Instanz umfasst die Entität Bestellungen. Diese wiederum besitzt den Reiter Positionen, der alle Artikel einer konkreten Bestellung auflistet. Die Regel wird mit der Entität Bestellung verknüpft und soll alle Positionen durchlaufen, die Anzahl der Artikel aufsummieren und anschließend in einem Hinweisfeld ablegen.

Quellcode

 

package org.nuclet.company; 

import java.util.List;
import org.nuclos.api.rule.UpdateRule; 
import org.nuclos.api.context.UpdateContext; 
import org.nuclos.api.annotation.Rule; 
import org.nuclos.api.exception.BusinessException; 

/** @name        
  * @description 
  * @usage       
  * @change      
*/
@Rule(name="UpdateBestellung", description="UpdateBestellung")
public class UpdateBestellung implements UpdateRule {
    public void update(UpdateContext context) throws BusinessException { 
        Bestellung curBestellung = context.getBusinessObject(Bestellung.class);
        List<Bestellposition> lstPositionen = curBestellung.getPositionen();
        
        double gesamteArtikelAnzahl = 0d;
        
        for (Bestellposition curPos : lstPositionen) {
            gesamteArtikelAnzahl += curPos.getAnzahlArtikel();
        }
        
        curBestellung.setKurzbeschreibung("Bestellung " + curBestellung.getNummer() + " umfasst insgesamt " + gesamtArtikelAnzahl + "Artikel.");
    }
}
  • Keine Stichwörter