[SOLVED] Auswertung der Ticket change_time

Hilfe zu Znuny Problemen aller Art
Locked
michael_maurer
Znuny advanced
Posts: 146
Joined: 07 Aug 2008, 09:20
Znuny Version: 2.4.9
Contact:

[SOLVED] Auswertung der Ticket change_time

Post by michael_maurer »

Hallo zusammen,

ich hab ne Verständnisfrage bzgl. dem Feld change_time in der Ticket-Tabelle... In der SQL und auch in Statistiken zeigt das Feld leider nicht die, meiner Ansicht nach korrekte change_time der letzten Änderung am Ticket.

Beispiel: change_time
20859, 2010101172000735, FW: 1.078.719, 2010-10-11 10:32:02, 2010-10-11 10:54:07

Artikel im Ticket:
|--> 1. Kunde "Kunde-X": 1.078.719 11.10.2010 10:32
|--> 2. Agent X: Notiz 11.10.2010 10:54
|--> 3. Agent X: Notiz 11.10.2010 11:38
|--> 4. Agent Y: Notiz 11.10.2010 14:22
|--> 5. Agent Z: Blockierte PKW nicht aus LS ATN Tour zu holen 11.10.2010 15:04

Ticket-History:
AddNote Notiz hinzugefügt (Note) Agent-x 11.10.2010 10:54:06
Misc Reset of unlock time. Agent-X 11.10.2010 10:54:07
SendAgentNotification "AddNote"-Benachrichtigung versandt an "Agent-Y".
...

Kann ich das irgendwie konfigurieren, was als TIcket-Änderung gewertet wird?
Hintergrund: Möchte einen Report bzgl. lange ungeänderter Tickets zum Aufräumen erstellen. Da sollte aber die change_time stimmen...

mfg
Michael
Last edited by michael_maurer on 26 Nov 2010, 10:38, edited 1 time in total.
Wer Deutsch sät, wird Verständnis ernten!

Prod & Test jeweils:
OTRS 2.4.9
OTRS ITSM 2.1.1
MySQL
Apache
SLES11 SP0
michael_maurer
Znuny advanced
Posts: 146
Joined: 07 Aug 2008, 09:20
Znuny Version: 2.4.9
Contact:

Re: Verständnisfrage Ticket change_time

Post by michael_maurer »

Hmm, ich versuchs grad per SQL... Nun bekomme ich aber je Ticket je protokollierter Zeile History eine Zeile Ausgabe. Ich weiß, is eher ne SQL-Frage...
Aber wie kann ich hier nen distinct / max einbauen, damit ich je Ticktnummer nur die jeweils älteste Zeile der Ticket History bekomme? :)

Den Ticket_History_Type kann man noch rausselecten, damit z.B. automatische unlocks von Tickets "nicht gelten".

Hier mein SQL:

Code: Select all

SELECT 
`ticket`.`tn`
, `ticket`.`title`
, `ticket`.`create_time` as 'Ticket-Create-Time'
, `ticket`.`change_time` as 'Ticket-Change-Time'
, `queue`.`name` as 'Queue'
, `ticket_history`.`name` as 'Aenderung'
, `ticket_history`.`create_time` as 'Aenderung-Datum'
, `users`.`first_name` as 'Owner-First'
, `users`.`last_name` as 'Owner-Last'
FROM `otrs`.`ticket_history` 
LEFT JOIN `otrs`.`ticket` on `otrs`.`ticket`.`id` = `ticket_history`.`ticket_id`
LEFT JOIN `otrs`.`queue` on `queue`.`id` = `ticket`.`queue_id` 
LEFT JOIN `otrs`.`users` on `otrs`.`users`.`id` = `otrs`.`ticket`.`user_id`
where `ticket`.`ticket_state_id`= '1' 
or `ticket`.`ticket_state_id`= '4' 
or `ticket`.`ticket_state_id`= '6' 
or `ticket`.`ticket_state_id`= '7' 
or `ticket`.`ticket_state_id`= '8' 
or `ticket`.`ticket_state_id`= '10' 
or `ticket`.`ticket_state_id`= '11' 
or `ticket`.`ticket_state_id`= '12' 
or `ticket`.`ticket_state_id`= '13' 
or `ticket`.`ticket_state_id`= '14' 
or `ticket`.`ticket_state_id`= '15' 
or `ticket`.`ticket_state_id`= '16' 
order by `ticket`.`change_time` asc;
Danke im VOraus für Feedback!

mfg
Michael
Wer Deutsch sät, wird Verständnis ernten!

Prod & Test jeweils:
OTRS 2.4.9
OTRS ITSM 2.1.1
MySQL
Apache
SLES11 SP0
michael_maurer
Znuny advanced
Posts: 146
Joined: 07 Aug 2008, 09:20
Znuny Version: 2.4.9
Contact:

Re: Verständnisfrage Ticket change_time

Post by michael_maurer »

Hallo zusammen,

habs hinbekommen :) Vielleicht interessierts jemanden...
Nun gibt es mir das Feld Ticket change_time aus, das auch über Statistiken ausgelesen werden kann, und zusätzlich die letzte create_time je Ticket aus Ticket-History.

Code: Select all

SELECT 
`ticket`.`tn`
, `ticket`.`title`
, `ticket`.`create_time` as 'Ticket-Create-Time'
, `ticket`.`change_time` as 'Ticket-Change-Time'
, `queue`.`name` as 'Queue'
, `ticket_history`.`name` as 'Aenderung'
, max(`ticket_history`.`create_time`) as 'Aenderung-Datum'
, `users`.`first_name` as 'Owner-First'
, `users`.`last_name` as 'Owner-Last'
FROM `otrs`.`ticket_history` 
INNER JOIN `otrs`.`ticket` on `otrs`.`ticket`.`id` = `ticket_history`.`ticket_id`
INNER JOIN `otrs`.`queue` on `queue`.`id` = `ticket`.`queue_id` 
INNER JOIN `otrs`.`users` on `otrs`.`users`.`id` = `otrs`.`ticket`.`user_id`
INNER JOIN `otrs`.`ticket_history_type` on `otrs`.`ticket_history_type`.`id` = `ticket_history`.`type_id`
where 
(`ticket`.`ticket_state_id`= '1' 
or `ticket`.`ticket_state_id`= '4' 
or `ticket`.`ticket_state_id`= '6' 
or `ticket`.`ticket_state_id`= '7' 
or `ticket`.`ticket_state_id`= '8' 
or `ticket`.`ticket_state_id`= '10' 
or `ticket`.`ticket_state_id`= '11' 
or `ticket`.`ticket_state_id`= '12' 
or `ticket`.`ticket_state_id`= '13' 
or `ticket`.`ticket_state_id`= '14' 
or `ticket`.`ticket_state_id`= '15' 
or `ticket`.`ticket_state_id`= '16')
group by `ticket`.`tn`;
Beispiel:
Wenn also die change_time des Tickets '2010-10-19 18:35:02' ist, aber am '2010-11-17 09:32:03' ein Pending Reminder versendet wurde, kann ich das nun auch sehen.

mfg
Michael
Wer Deutsch sät, wird Verständnis ernten!

Prod & Test jeweils:
OTRS 2.4.9
OTRS ITSM 2.1.1
MySQL
Apache
SLES11 SP0
Locked