Arbeiten mit Ressourcenrelationen

In diesem Kapitel werden folgende Themen behandelt:

Einleitung

Seit Version 6.10.0 bietet ConSol CM das Modul CM.Resource Pool und damit die Möglichkeit, Relationen zwischen Ressourcenobjekten und anderen Objekten herzustellen. Eine Ressourcenrelation kann eine Ressource mit folgenden Objekten verbinden:

Abbildung 152: Arten von Ressourcenrelationen

Um mit Ressourcenrelationen arbeiten zu können, müssen Sie ein fundiertes Wissen des Ressourcendatenmodells haben. Eine detaillierte Einführung finden Sie im ConSol CM Administratorhandbuch (Versionen 6.10 und höher), Abschnitt CM. Resource Pool - Ressourcenrelationen.

Die folgenden Java-Klassen sind für die Arbeit mit Ressourcen wichtig. Sie stellen allerdings nur einen kleinen Teil der Java-Klassen, die den Ressourcenpool bilden, dar. Eine umfassende Beschreibung aller Klassen und Methoden finden Sie in der ConSol CM Java API Doc.

Objekt Java-Klasse Admin-Tool-Beschreibung Erklärung
resource Resource Ressource Ein Objekt des definierten Ressourcentyps.
resourceRelationService Interface ResourceRelationService - Der Service, der viele hilfreiche Methoden für die Behandlung von Ressourcen liefert
ResourceRelation xy ResourceRelation Relation der Ressource/des Ressourcentyps Relation zwischen einer Ressource und einem anderen Objekt
  ResourceRelationWithTargetResourceCriteria
ResourceRelationWithTargetTicketCriteria
ResourceRelationWithTargetUnitCriteria
- Speichert die Kriterien, die die Grundlage für eine Suche bilden, die mit dem resourceRelationService durchgeführt wird.

Beispiel: Berechnen der Reaktionszeit eines Tickets

Eine Firma kann eine Relation zu einer Ressource des Typs SLA haben. In dieser Ressource werden SLA-Daten gespeichert, z. B. die Reaktionszeit. Die gewünschte Deadline für ein Service-Ticket wird berechnet, indem der Wert der Reaktionszeit aus dem Ressourcenobjekt abgerufen wird. Anhand dieses Wertes wird die Deadline für ein Service-Ticket berechnet und das Ergebnis wird in das Datenfeld Gewünschte Deadline des Tickets eingetragen.

///Take SLA (resource) from company of main customer and calculate deadline from it

def maincust = ticket.mainContact

def unit_type = maincust.definition.type

println 'TYPE is now : ' + unit_type

def comp

if(unit_type.equals('CONTACT')) {

comp = maincust.get("company()")

} else if (unit_type.equals('COMPANY')){

comp = maincust

}

 

// find SLA relation from SLA resource to the main customer (if company) or the company of the main customer (if contact)

def crit = new ResourceRelationWithTargetUnitCriteria()

crit.setUnit(comp)

crit.setResourceTypeName("SLAs")

List<ResourceRelationWithTargetUnit> myrelations = resourceRelationService.getByCriteria(crit)

println 'myrelations size is now ' + myrelations.size()

if (myrelations.size() > 0) {

// one unit can have only one SLA as relation, see AT definition

def my_sla = myrelations[0].getSourceResource()

def sla_name = my_sla.get("SLA_Fields_basic.SLA_Name")

println 'SLA name is now ' + sla_name

def react_days = my_sla.get("SLA_Fields_basic.ReactionTime")

// calculate reaction time

def now = new Date()

def deadline = now + 1

ticket.set("serviceDesk_fields.desiredDeadline",deadline)

}

Code-Beispiel 79: Berechnen der Ticket-Deadline aus der SLA. SLA als Ressource, die mit dem Ticket verknüpft ist.