Hoe beperk ik de resource keuzemogelijkheden in ROB-EX?

Met behulp van een zogenaamde Flex-Rule kun je de keuzemogelijkheden van resources beperken, waardoor de selectie eenvoudiger en overzichtelijker wordt voor de planner.

Doel

Het beperken van de resource selectiemogelijkheden in ROB-EX kun je doen door het creëren van een dynamische selectie van deze resources binnen een resource groep.
Hiermee kan op basis van de inhoud van een veld in een order en een code in het specificatie veld van een resource de keuze voor een resource beperkt worden.

Benodigde aanpassingen in ROB-EX

Het hieronder uitgeschreven gebruik van de Flex Rule Resource – Operation selection werkt met een tweetal velden en een resource type.

De Flex Rule wordt alleen aangesproken als een resource deel uit maakt van het resource type FlexRule.

Indien de resource van dit type is wordt een code in het order veld vergeleken met een lijst van toegestane codes in het resource specificatie veld.

Resource aanpassingen

  1. Resource Type
    Aanmaken van een resource type in het scherm Edit resource


  2. Resource type toekennen aan een resource
    Kies de betreffende resource in de resource tree en selecteer het tabblad General

    Bij 1 Resource Type kan FlexRule gekozen worden.

  3. Specificatieveld
    In het resource specificatie veld worden de toegestane codes die in het order voor kunnen komen opgesomd met een puntkomma (;) als scheidingsteken.

Order specificatie

In het order kan een willekeurig veld gebruikt worden als specificatie, waarbij een bepaalde activiteit op een specifieke resource uitgevoerd moet worden.

Dit veld kan een tekstveld op niveau van het productieorder zijn als of een veld op het niveau van de operatie. In het hieronder gegeven voorbeeld gaat het om productieorder custom tekst 1.

Flex Rule

Bij het aanmaken van de Flex Rule moet gekozen worden voor het type Resource move – Operation Rule. 

De uiteindelijke Flex Rule kan dan als volgt opgebouwd worden:

  1. Inhoud expressie: Resource selector
    getResourceType()?.getName() == 'PlanFamilie'

  2. Inhoud expressie: Operation filter
    (input.operation.productionOrder.customText1 != null ? (input.resource.specifications?:'').contains(input.operation.productionOrder.
    customText1) : true)
    && (input.operation.productionOrder.customText1?.length() ?: 0) > 0