Skip to main content
Skip table of contents

Beslissingen voorbeelden

Grootte event catagoriseren

Beslissingstabel waarbij een inputwaarde aanwezigenEvent gecheckt wordt tegen drie gestelde waardes. Indien het groter of gelijk is aan 100 dan retourneert de beslissing de variabele Grootte met als waarde de string "klein". Ligt de inputwaarde in de range 100 tot 500, met 100 exclusief en 500 inclusief, dan retourneert de beslissing "middelgroot". Is de inputwaarde groter dan 500, dan retourneert de beslissing "groot". De hit policy is Unique, omdat eender welk inputgetal logischerwijze met één en slechts één business rule zal matchen.

image-20250808-081939.png

Leeftijd berekenen

Beslissingsexpressie die een inputwaarde geboortedatum neemt en daaruit de huidige leeftijd van de persoon berekent. De functie years and months duration berekent eerst het tijdsinterval tussen de geboortedatum en de huidige datum. Dit resulteert in een duration (bijvoorbeeld "P49Y11M"), en daaruit isoleren we via .years het aantal jaren (bijvoorbeeld 49).

image-20250808-085250.png

Screening van persoon

We krijgen een persoonsfiche met een aantal gegevens.

CODE
{
  "naam":"Peeters",
  "voornaam":"Jacky",
  "leeftijd":55,
  "geslacht":"man",
  "inDienst":"2020-05-21"
}

We willen de fiche screenen en onderzoeken of deze persoon past in een aantal voorafgedefinieerde categorieën.

image-20250808-094341.png

De fiche is van het type context en is beschikbaar onder de variabele persoon. Via persoon.geslacht en persoon.leeftijd krijgen we toegang tot de info die we nodig hebben voor de check.

persoon.geslacht

image-20250808-094703.png

persoon.leeftijd

image-20250808-094827.png

Vaststellen geschenk voor jubilarissen

Een bedrijf geeft aan jubilarissen een geschenk tijdens het jaarlijkse personeelsfeest. Om voor het juiste personeelslid het juiste geschenk te bepalen, itereert het proces over de personeelslijst en voert het telkens een beslissing uit.

Per personeelslid wordt een fiche opghaald met volgende structuur.

CODE
{
  "naam":"Peeters",
  "voornaam":"Jacky",
  "leeftijd":55,
  "geslacht":"man",
  "inDienst":"2020-05-21"
}

Belangrijk is dat het geschenk enkel uitgereikt wordt als het personeelslid zich ingeschreven heeft voor het feest en dus op de aanwezigheidslijst staat.

CODE
aanwezigheidslijst = ["Diego Ramon","Jacky Peeters","André Tsjoen"]

De datum van het peroneelsfeest zit in een variabele.

CODE
datumPersoneelFeest = "2025-09-05"

De beslissingstabel ziet er als volgt uit.

image-20250808-104054.png

Berekening van anciënniteit gebeurt op basis van de eigenschap inDienst uit de persoonsfiche alsook op basis van de variabele datumPersoneelFeest.

image-20250808-111744.png

De check of het personeelslid voorkomt op de aanwezigheidslijst gebeurt via de expressie werknemer in aanwezigheidslijst. De variabele werknemer wordt via expressie samengesteld op basis van voornaam en naam in de personeelsfiche.

image-20250808-111546.png

Container bepalen

Een verhuurbedrijf biedt 5 types container aan. Het juiste type wordt vastgesteld op basis van volume afvalstroom (aantal kubieke meter) en soort afvalstroom (steenpuin, groenafval, gemengd). De hit policy ‘First’ zorgt ervoor dat de eest matchende regel geselecteerd wordt. De regels zijn zo opgesteld dat de meest ‘specifieke' of meest ‘speciale’ types eerst komt, en de meer ‘generieke' of ‘algemene’ types als laatst.

image-20250808-125143.png

Toegangsprijs zwembad uitrekenen

Om de toegangsprijs voor het zwembad in Brugge vast te stellen, zijn een aantal complexe regels opgesteld. Eerst en vooral heb je drie types toegang: ‘sportbad’, ‘sportbad + speelbad’ en ‘sportbad + speelbad + sauna’. De basisprijzen voor een kaartje zijn respectievelijk 5 euro, 10 euro en 15 euro. Hierop zijn een aantal kortingen van toepassing. Zo krijg je 5% korting als je 18 jaar of jonger bent, of als je 65 jaar of ouder bent. Als je minder dan 45 minuten blijft (ticket van ‘korte duur’), dan krijg je 50% korting. Als het je verjaardag is, krijg je 20% korting. En als je Bruggeling bent (postcode Brugge of deelgemeentes), krijg je 5% korting. Kortingen zijn cumulatief. Ben je 16 jaar, Bruggeling, is het jouw verjaardag en blijf je minder dan 45 minuten, dan is de korting dus 80%. Gezien de complexiteit van deze regels, werken we met een beslissingsdiagram (DRD).

Beslissingsdiagram

Het beslissingsdiagram toont hoe de beslissing omtrent de toegangsprijs uiterst rechts stelselmatig wordt voorbereid en opgebouwd.

image-20250808-121524.png

Toegangsprijs

Berekening toegangsprijs gebeurt via de variabelen basisprijs en korting.

image-20250808-114102.png

Basisprijs

Basisprijs vaststellen op basis van welk type kaartje je koopt.

image-20250808-115842.png

Korting

Cumulatief optellen van de matchende kortingen. Leeftijd en kortzwemmen worden hier rechtstreeks gecheckt. De leeftijd bepalen we via de expressie years and months duration (date(geboortedatum),today()).years.

image-20250808-115705.png

Bruggeling

Check of je Bruggeling bent, gebeurt door te kijken of je postcode in de lijst brugge voorkomt.

CODE
brugge = ["8000","8200","8310","8380"]
image-20250808-121556.png

Verjaardag

Check of het je verjaardag is gebeurt op basis van volgende expressie.

image-20250808-121629.png

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.