گزارش درخواستهایی که گروه سرویس دسک بتنهایی آنها را بسته است
سه شنبه, ۲۱ خرداد ۱۳۹۸، ۰۲:۰۷ ب.ظ
اینکه گروه سرویس دسک خودش چند درصد یا چه تعداد از درخواستهای واحد را بتنهایی و بدون ارجاع به گروههای دیگر می بندد می تواند یکی از معیارهای ارزشیابی سرویس دسک باشد.
حالا در ServiceDesk Plus چطور می توانیم چنین گزارشی ایجاد کنیم
select WorkOrder.workorderId, title, statusDefinition.statusName,
(dateadd(s, workorder.ResolvedTime/1000, convert(datetime, '1-1-1970 04:30:00'))) as resolvedDate, workorder.ResolvedTime,
CONCAT(sduser.firstname, ' ', sduser.lastname) as technicianName
from WorkOrder, workorderstates, WorkOrder_Queue, sduser, statusDefinition where
workorder.WORKORDERID = workorderstates.WORKORDERID and
workorderstates.STATUSID in (3 , 4) and
workorder.WORKORDERID = WorkOrder_Queue.WORKORDERID and
WorkOrder_Queue.QUEUEID = 601 and
workorderStates.ownerId = sdUser.userId and
workorderstates.STATUSID = statusDefinition.STATUSID and
datediff(d, dateadd(s, workorder.ResolvedTime/1000, convert(datetime, '1-1-1970 04:30:00')), getdate()) < 30 and
WorkOrder.workorderId not in
(select WorkOrderHistory.WORKORDERID from WorkOrderHistory, WorkOrderHistoryDiff, WorkOrder where
workorder.WORKORDERID = WorkOrderHistory.WORKORDERID and
WorkOrderHistory.HISTORYID = WorkOrderHistoryDiff.HISTORYID and
cast(COLUMNNAME as varchar) = 'queueId')
order by resolvedDate desc
این گزارش لیست درخواستهایی است که سرویس دسک در 30 روز گذشته بسته است و حالت آن Resolved یا Closed است.
عدد 601 در دیتابیس ما کد گروه سرویس دسک است که از جدول QueueDefinition بدست آمده است.
اعداد 3 و 4 کد حالتهای Resolved و Closed برای درخواستهاست که از جدول StatusDefinition به دست آمده است.
در مورد نحوه کار کردن با فیلد زمان که از نوع BigInt است به این مطلب مراجعه کنید
با کمی تغییر در همین Query می توانیم تعداد درخواستهایی که هر کارشناس سرویس دسک در 30 روز گذشته بسته است را ببینیم:
select count(WorkOrder.workorderId) as NumberOfRequests, CONCAT(sduser.firstname, ' ', sduser.lastname) as technicianName
from WorkOrder, workorderstates, WorkOrder_Queue, sduser where
workorder.WORKORDERID = workorderstates.WORKORDERID and
workorderstates.STATUSID in (3 , 4) and
workorder.WORKORDERID = WorkOrder_Queue.WORKORDERID and
WorkOrder_Queue.QUEUEID = 601 and
workorderStates.ownerId = sdUser.userId and
datediff(d, dateadd(s, workorder.ResolvedTime/1000, convert(datetime, '1-1-1970 04:30:00')), getdate()) < 30 and
WorkOrder.workorderId not in
(select WorkOrderHistory.WORKORDERID from WorkOrderHistory, WorkOrderHistoryDiff, WorkOrder where
workorder.WORKORDERID = WorkOrderHistory.WORKORDERID and
WorkOrderHistory.HISTORYID = WorkOrderHistoryDiff.HISTORYID and
cast(COLUMNNAME as varchar) = 'queueId')
group by CONCAT(sduser.firstname, ' ', sduser.lastname)
۹۸/۰۳/۲۱