Mit Plantafeln in Nuclos lassen sich grafische Oberflächen für die Planung beliebiger Ressourcen auf einer Zeitschiene konfigurieren.
Es lassen sich beliebig viele Plantafeln für beliebig viele Arten von Ressourcen definieren. Ressourcen können z.B. sein: Personen, Räume, Fahrzeuge, Maschinen, Arbeitsplätze, Produktionslinien, etc.
Alle Aspekte einer Plantafel sind frei konfigurierbar:
- Darstellung der Ressourcen und Legende
- Darstellung der Buchungen von Ressourcen auf der Zeitschiene
- Darzustellenes Zeitfenster und Granularität (z.B. Stunden, Tage, Wochen)
- Optische Hervorhebung bestimmter Zeitfenster (z.B. Wochenenden, Feiertage, sonstige Zeiträume
- Optische Hervorhebung bestimmter Buchungen von Ressourcen (z.B. Farben in Abhängigkeit bestimmter Eigenschaften)
- Erstellung und Zuordnung von Kontextfunktionen zu Buchungen (z.B. Setzen eines Erledigt-Hakens)
- Definition und Darstellung unterschiedlicher Arten von Buchungen auf ein und derselben Ressource (z.B. Urlaub, Krankheit, Projektzeiten bei einem Mitarbeiter)
- Darstellung von Meilensteinen
- GANTT-Darstellungen
- Berechtigungen
Die tägliche Nutzung einer Plantafel durch die User bietet vielfältige Funktionen:
- Drag & Drop zum Verschieben und Verlängern auf der Zeitschiene
- Drag & Drop zum Verschieben von Buchungen zwischen Ressourcen
- Erstellen, Kopieren, Löschen von Buchungen mit der Maus
- Bearbeiten von Buchungen per Doppelclick
- Sammelbearbeitungsfunktionen
- Persönliche Anpassung der Darstellung
- Filterung von Ressourcen und Buchungen
Konfiguration anhand eines Fallbeispieles
Nachfolgend eine Erläuterung anhand eines Fallbeispieles: Reservierung von Abteilungsfahrzeugen
Businessobjekte für Ressource und Planung definieren
Businessobjekt für die Ressource
Die Ressource ist der Kern der Ressourcenplanung. Auf diese werden später die Zeitbuchungen durchgeführt.
Beispiel: Abteilungsfahrzeug
Businessobjekt für die Planung
Um dieses Businessobjekt für die Ressourcenplanung sinnvoll verwenden zu können benötigt sie folgende Felder:
- Referenz zum RessourcenBusinessobjekt
- Datum von
- Datum bis
- Uhrzeit von (optional)
- Uhrzeit bis (optional)
Beispiel: Fahrzeugbuchung
Konfiguration der Ressourcenplanung
(Konfiguration Ressourcenplanung)
Ein Wizard führt sie durch die Einstellungen für die Ressourcenplanung.
Vergeben Sie einen internen Namen oder wählen Sie aus einer bestehenden Planung.
Tragen Sie eine Beschriftung und einen Menüpfad, unter dem die Planung später aufrufbar ist, ein.
Wählen Sie das Ressourcen-Businessobjekt mit Sortierfeld und die Buchungs-Businessobjekt mit der entsprechenden Bezeiehung zur Ressource aus. Unter Datum von, Datum bis legen sie die Datumsfelder in dem Buchungsbusinessobjekt fest, die für die Zeitplanung herangezogen werden sollen. Entsprechend dazu können Sie die Felder für die Zeitabschnitte als Uhrzeit fest, falls diese in der Buchungsbusinessobjekt vorhanden sind. In der Tabelle Zeitabschnitte können Sie die bebuchbaren Zeitskalen festlegen, also z.B. im Rythmus von 1/2 Stunde.
Im Bereich Darstellung können Sie die Anzeige der Ressource, der Buchung und eine Legende festlegen. Dabei können die Inhalte von Feldern als Variable angegeben werden:
- Ressource: Attribute des Ressourcenbusinessobjekts (z.B. Kennzeichen: ${kennzeichen}
Name: ${name}) - Buchung: Attribute des Buchungsbusinessobjekts (z.B. Buchungsgrund: ${grundderbuchung}
- Legende: beliebiger Text
Der Standard Betrachtungs-Zeitraum wird immer abhängig von HEUTE eingestellt. Hierfür stehen 3 Funktionen und 4 Wertangaben zur Verfügung: - Addieren mit "+" - Subtrahieren mit "-" - Zum Anfang("[") oder Ende("]") einer Wertangabe springen mit "." - "t" steht für Tag (bzw. "d" für Day) - "w" steht für Woche - "m" steht für Monat - "j" steht für Jahr (bzw. "y" für Year)
Der Ausdruck wird von links nach rechts verarbeitet.
Es folgen ein paar Beispiele zum Verständnis. Zeitraum aktueller Monat: Von = .m[ Bis = .m]
Zeitraum aktuelles Jahr: Von = .j[ Bis = .j]
Zeitraum aktueller bis Ende nächsten Monat: Von = .m[ Bis = +1m.m]
Zeitraum aktueller bis 15. des nächsten Monats: Von = .m[ Bis = +1m.m[+14t (Bis Beispiel HEUTE = 03.01.2011 Berechnung +1m = 03.02.2011 Berechnung .m[ = 01.02.2011 Berechnung +14t = 15.02.2011)
Zeitraum 15. des vorherigen Monats bis 31.12. des aktuellen Jahres: Von = -1m.m[+14t Bis = .j]
Zeitraum 15. des vorherigen Monats bis 15. des nächsten Monats: Von = -1m.m[+14t Bis = +1m.m[+14t
In diesem Bereich können optional zusätzliche Skripte (in Groovy) ausgeführt werden. Mehr dazu im Kapitel Skriptcode (s.u.).
Die Konfiguration ist abgeschlossen.
Nachfolgebeziehungen und Meilensteine
In der Ressourcenplanung können außerdem Nachfolgebeziehungen bzw. Meilensteine angezeigt werden.
Nachfolgebeziehungen
Die Grundlage hierfür bildet ein Businessobjekt, die zwei Referenzfelder auf des jeweilige Buchungsbusinessobjekts enthält. Ein Beispiel wäre die Abbildung eines kritischen Pfades mit Vorgängern und Nachfolgern. Diese Referenzen werden in der Ressourcenplanung durch eine Verbindung dargestellt.
Darstellung:
Meilensteine
Das Buchungsbusinessobjekt kann optional als Meilenstein statt als Balken angezeigt werden. Dazu benötigt man ein Booleanfeld, das im "Meilensteinfeld" ausgewählt wird. Die Anzeige erfolgt dann als Raute statt als Balken.
Ressourcenplanung anwenden
Die Wochenenden werden Rot dargestellt, der aktuelle Tag wird Grün dargestellt.
Sie können nun neue Zeiten eintragen. Markieren Sie eine oder mehrere Zellen (durch Klicken, gedrückt Halten und Ziehen der Maus) und wählen Sie dann aus dem Kontextmenü Hinzufügen. Die Maske des BuchungsBusinessobjekt wird geöffnet und die jeweiligen Felder sind bereits mit den Zeiten vorgefüllt.
Nach dem Bearbeiten und Speichern dieses Datensatzes wird die Buchung grafisch in der Ressourcenplanung angezeigt.
Diese Blöcke können mit Drag&Drop auf andere Ressourcen oder andere Zeitblöcke verschoben werden. Desweiteren können die Termine auch durch Vergrößern oder Verkleinern der Blöcke verändert werden.
Skriptcode
Nachfolgend ein Dummy-Groovy-Skript. Definiert zwei Methoden:
- formatCell kann zum Formatieren von Zellen (Ressource/Buchung) benutzt werden. Übergeben wird das jeweilige Collectable zum Auswerten und ein Cell-Objekt über das Farbe, Text und ToolTip gesetzt werden können
- formatBg kann zum Formatieren des Hintergrundes benutzt werden. Übergeben wird das jeweilige Ressource-Collectable und das Zeitinterval (hat die beiden Properties start/end, jeweils Date-Objekte) sowie ein Background-Objekt über das die Farbe gesetzt werde kann.
def formatCell(clct, cell) { if (clct['meinFeld'] == 5) { cell.color = "#ff9999"; cell.toolTip = "Text"; } } def formatBg(clct, interval, bg) { if (interval.start <= new Date()) { bg.color = "#ffccff" } } ODER import java.text.SimpleDateFormat def formatCell(clct, cell) { Date currentDate = new Date(); def formatter = new SimpleDateFormat("dd/MM/yyyy"); String formatedDate = formatter.format(currentDate); if (clct['halbertag'] == true) { cell.color = "#ee8625"; cell.text = clct['intmitarbeiter']+" ("+clct['von'] +" halber Tag "+clct['uhrzeit']+")"; }else{ cell.color = "#398db7"; cell.text = clct['intmitarbeiter'] +" ("+formatedDate+" - "+clct['bis']+")"; } }
Die Namen der Methoden/Argumente sind egal (der Methodenname muss in den Einstellungen dann referenziert werden). Die Collectables-Attribute werden via clct['xxx'] angesprochen. Farben können entweder als Color-Objekt oder als String mit der Hex-Syntax "#rrggbb" gesetzt werden.
Einige (Syntax-)Fehler werden beim Speichern des Skriptes erkannt. Aufgrund der Dynamik von Groovy können aber fehlende Properties etc. erst zur Laufzeit erkannt werden. Das Öffnen der Ressourcenplanung sollte dann den Fehler anzeigen und der betroffene Renderer wird deaktiviert.
Verfügbare Methoden des cell Elements:
- cell.color
- cell.tooTip
- cell.text
Verfügbare Methoden des bg (Background) Elements:
- bg.color
Beispiel:
Nach der Definition der Skripte können Sie die entsprechenden Zuweisungen zum Ressourcen- bzw. Buchungsbusinessobjekt oder für den Hintergrund vornehmen.
- Die unter Regel für Formatierung Ressource: eingetragene Methode muss Felder des Ressourcenbusinessobjekt enthalten.
- Die unter Regel für Formatierung Buchung: eingetragene Methode muss Felder des BuchungsBusinessobjekt enthalten.