Aktuelle Gruppenstatistik berechnen


Im folgenden Tutorial möchten wir Ihnen eine Möglichkeit vorstellen, für eine oder mehrer Gruppen den aktuellen Erledigungsstand der Tickets sowie die Anzahl der noch offenen und abgelaufenen Tickets zu ermitteln und kritische Zustände automatisch zu melden.

Dies wird wie folgt realisiert:

  • es wird eine weitere separate Gruppe angelegt, in deren Start-Skript diese Informationen ermittelt werden (z.B. "LoadAlarm").
  • per Wiederholung wird an Ticket an diese Gruppe erzeugt, so dass das Start-Skript automatisch abläuft.
  • Falls die Belastung der betrachteten Gruppen unkritisch ist, wird das Ticket automatisch geschlossen, so dass keine Meldung erfolgt.

In der anzulegenden Gruppe sorgt das folgende Skript in der Start-Aktion für die erforderlichen statistischen Angaben. Die Kommentare im Code erläutern den Ablauf: 

try{
// the class ToDoStatisticsStore will calculate the statistics:
var tss = new com.proxemo.todo.server.ToDoStatisticsStore();
// a list of group IDs:
var al = new java.util.ArrayList();
// in this example we want to control group 20 and 25:
al.add(new java.lang.Long(20));
al.add(new java.lang.Long(25));
// calculate the groups' current state:
var stats=tss.getGroupStatistics(al, true, 30);
var createTicket=false;
var text = "";
// loop through the groups' statistics:
for(var i=0; i<stats.size(); i++){  
 var stat=stats.get(i);
 // check if the current group has unresolved tickets over time:
 if(stat.getNumUnsolvedJobsOverTime()>0){
    createTicket=true;  
    text+="<br>"+stat.getName()+": "
   +stat.getNumUnsolvedJobsOverTime()+" abgelaufene Tickets!<br>"
   +stat.getNumAgentsLoggedIn()+" angemeldete Agents!<br>"
   +stat.getNumDoneJobs60Minutes()+" Tickets wurden in der letzten Stunde erledigt!<br>";
  }
}
task.setDescription(com.proxemo.xutl.XUTLStringTools.insertHtmlOnTop(task.description,
"<div style='border: 1px solid red;'>Ergebnis: "
+text
+"</div>"));
// don't show this ticket if there are no unresolved tickets:
if(!createTicket){
    task.finishWorking(true);
    task.setActive(false);
    task.setArchived(true);
}
}
catch(e){}

Möglicherweise möchten Sie, dass die Meldungen nur tagsüber erzeugt werden. Dann machen Sie einfach die Berechnung von createTicket von der aktuellen Uhrzeit und ggf. dem Wochentag abhängig.

Fügen Sie sich selbst der Gruppe als Mitglied hinzu und speichern Sie sie.

Erzeugen Sie nun eine Wiederholung (siehe Wiederholungen), die z.B. stündlich Tickets erzeugt, und wählen Sie als adressierte Gruppe "LoadAlarm".

Das Objekt stat im obigen Code biete die folgenden statistischen Eigenschaften, die Sie auswerten und nach Bedarf berichten können:

stat.numOpenJobs // Anzahl der offene Tickets
stat.numLockedJobs // Anzahl der aktuell gesperrten Tickets
stat.numRejectedJobs  // Anzahl der aktuell zurückgewesenen Tickets
stat.numDoneJobsToday  // Anzahl der heute erledigten Tickets
stat.numDoneJobs60Minutes // Anzahl der in den letzten 60 Minuten erledigten Tickets
stat.numJobsDueToday // Anzahl der Tickets, die heute noch ablaufen werden
stat.numJobsDueUnsatisfiedToDay // Anzahl Tickets, die heute ablaufen und noch nicht bearbeitet wurden oder bereits abgelaufen sind
stat.numUnsolvedJobsOverTime // Anzahl der offenen, gesperrten und zurückgewiesen Tickets, die bereits abgelaufen sind
stat.numUnsolvedJobsInTime // Anzahl der offenen noch nicht abgelaufenen Tickets
stat.numAgentsLoggedIn // Anzahl der aktuelle in dieser Gruppe angemeldeten Agents
stat.numAgentsInGroup // Anzahl der Agents in dieser Gruppe
stat.servicelevel // aktueller Servicelevel

 

     

Unterseiten