Worklog summary on all modules

Worklog summary on all modules

Hi!

I found and modified a very good script for summarize the work for a technican in the different modules.
I would like to have a summary at the end. Is it possible for you to help me with that?


The things you need top change for "your" wanted output is the technicans name and the date range:
FIRST_NAME='My Firstnamn and my Surname'
<from_thisweek> AND ct.CREATEDTIME <= <to_thisweek>

Thanks in advance!


SELECT ISNULL(wtk.WORKORDERID , wo.workorderid) "Module ID", 'Request' "Module", MAX(ISNULL(wo.title , wo2.title)) "Request Title" , convert(varchar(5),(SUM(ct.TIMESPENT))/1000/3600)+':'+convert(varchar(5),((SUM(ct.TIMESPENT))/1000)%3600/60)+':'+convert(varchar(5), (((SUM(ct.TIMESPENT)))/1000%60))   "Time Spent", dateadd(s,datediff(s,GETUTCDATE() ,getdate()) + (MAX(ct.CREATEDTIME)/1000),'1970-01-01 00:00:00') "Time Spent Created Time", rctd.FIRST_NAME "Time Spent Technician" FROM ChargesTable ct
LEFT JOIN WorkOrderToCharge wotoc ON ct.CHARGEID=wotoc.CHARGEID
LEFT JOIN WorkOrder wo ON wotoc.WORKORDERID=wo.WORKORDERID
LEFT JOIN TaskToCharge tkc ON ct.CHARGEID=tkc.CHARGEID
LEFT JOIN  TaskDetails tk ON tkc.TASKID=tk.TASKID
LEFT JOIN WorkorderToTaskDetails wtk ON tk.TASKID=wtk.TASKID
LEFT JOIN Workorder wo2 ON wtk.WORKORDERID=wo2.WORKORDERID
LEFT JOIN SDUser rcti ON ct.TECHNICIANID=rcti.USERID LEFT JOIN AaaUser rctd ON rcti.USERID=rctd.USER_ID
WHERE (wtk.WORKORDERID IS NOT NULL OR wo.workorderid IS NOT NULL) AND ct.CREATEDTIME >= <from_thisweek> AND ct.CREATEDTIME <= <to_thisweek> AND rctd.FIRST_NAME='My Firstnamn and my Surname'
GROUP BY ISNULL(wtk.WORKORDERID , wo.workorderid) , rctd.FIRST_NAME
UNION
SELECT ISNULL(ptk.PROBLEMID , pb.PROBLEMID) "Module ID",'Problem' "Module", MAX(ISNULL(pb.TITLE, pb2.TITLE)) "Title",convert(varchar(5),(SUM(ct.TIMESPENT))/1000/3600)+':'+convert(varchar(5),((SUM(ct.TIMESPENT))/1000)%3600/60)+':'+convert(varchar(5), (((SUM(ct.TIMESPENT)))/1000%60))  "Time Spent",dateadd(s,datediff(s,GETUTCDATE() ,getdate()) + (MAX(ct.CREATEDTIME)/1000),'1970-01-01 00:00:00') "Time Spent Created Time",rctd.FIRST_NAME "Time Spent Technician" FROM ChargesTable ct
LEFT JOIN ProblemToCharge pbtoc ON ct.CHARGEID=pbtoc.CHARGEID
LEFT JOIN Problem pb ON pbtoc.PROBLEMID=pb.PROBLEMID
LEFT JOIN TaskToCharge tkc ON ct.CHARGEID=tkc.CHARGEID
LEFT JOIN  TaskDetails tk ON tkc.TASKID=tk.TASKID
LEFT JOIN ProblemToTaskDetails ptk ON tk.TASKID=ptk.TASKID
LEFT JOIN Problem pb2 ON ptk.PROBLEMID=pb2.PROBLEMID
LEFT JOIN SDUser rcti ON ct.TECHNICIANID=rcti.USERID LEFT JOIN AaaUser rctd ON rcti.USERID=rctd.USER_ID
WHERE (ptk.PROBLEMID IS NOT NULL OR pb.PROBLEMID IS NOT NULL) AND ct.CREATEDTIME >= <from_thisweek> AND ct.CREATEDTIME <= <to_thisweek> AND rctd.FIRST_NAME='My Firstnamn and my Surname'  GROUP BY ISNULL(ptk.PROBLEMID , pb.PROBLEMID) , rctd.FIRST_NAME
UNION
SELECT ISNULL(ctk.CHANGEID , ch.CHANGEID) "Module ID", 'Change' "Module",MAX(ISNULL(ch.TITLE, ch2.TITLE)) "Title", convert(varchar(5),(SUM(ct.TIMESPENT))/1000/3600)+':'+convert(varchar(5),((SUM(ct.TIMESPENT))/1000)%3600/60)+':'+convert(varchar(5), (((SUM(ct.TIMESPENT)))/1000%60))  "Time Spent",dateadd(s,datediff(s,GETUTCDATE() ,getdate()) + (MAX(ct.CREATEDTIME)/1000),'1970-01-01 00:00:00') "Time Spent Created Time",rctd.FIRST_NAME "Time Spent Technician" FROM ChargesTable ct
LEFT JOIN ChangeToCharge chtoc ON ct.CHARGEID=chtoc.CHARGEID
LEFT JOIN ChangeDetails ch ON chtoc.CHANGEID=ch.CHANGEID
LEFT JOIN TaskToCharge tkc ON ct.CHARGEID=tkc.CHARGEID
LEFT JOIN  TaskDetails tk ON tkc.TASKID=tk.TASKID
LEFT JOIN ChangeToTaskDetails ctk ON tk.TASKID=ctk.TASKID
LEFT JOIN ChangeDetails ch2 ON ctk.CHANGEID=ch2.CHANGEID
LEFT JOIN SDUser rcti ON ct.TECHNICIANID=rcti.USERID LEFT JOIN AaaUser rctd ON rcti.USERID=rctd.USER_ID
WHERE (ctk.CHANGEID IS NOT NULL OR ch.CHANGEID IS NOT NULL) AND ct.CREATEDTIME >= <from_thisweek> AND ct.CREATEDTIME <= <to_thisweek> AND rctd.FIRST_NAME='My Firstnamn and my Surname'  GROUP BY ISNULL(ctk.CHANGEID , ch.CHANGEID) , rctd.FIRST_NAME

UNION
SELECT tpr.PROJECTID "Module ID",'Project' "Module" , MAX(pr.TITLE) "Title",convert(varchar(5),(SUM(ct.TIMESPENT))/1000/3600)+':'+convert(varchar(5),((SUM(ct.TIMESPENT))/1000)%3600/60)+':'+convert(varchar(5), (((SUM(ct.TIMESPENT)))/1000%60))  "Time Spent",dateadd(s,datediff(s,GETUTCDATE() ,getdate()) + (MAX(ct.CREATEDTIME)/1000),'1970-01-01 00:00:00') "Time Spent Created Time",rctd.FIRST_NAME "Time Spent Technician" FROM ChargesTable ct
LEFT JOIN TaskToCharge tkc ON ct.CHARGEID=tkc.CHARGEID
LEFT JOIN  TaskDetails tk ON tkc.TASKID=tk.TASKID
LEFT JOIN TaskTOProjects tpr ON tk.taskid=tpr.taskid
LEFT JOIN ProjectDetails pr ON tpr.PROJECTID=pr.PROJECTID
LEFT JOIN SDUser rcti ON ct.TECHNICIANID=rcti.USERID LEFT JOIN AaaUser rctd ON rcti.USERID=rctd.USER_ID WHERE tk.MODULE IN ('project', 'milestone') AND ct.CREATEDTIME >= <from_thisweek> AND ct.CREATEDTIME <= <to_thisweek> AND rctd.FIRST_NAME='My Firstnamn and my Surname'  GROUP BY tpr.PROJECTID,rctd.FIRST_NAME
 UNION
SELECT tk.TASKID "Module ID", 'General' "Module" ,MAX(tk.TITLE) "Title", convert(varchar(5),(SUM(ct.TIMESPENT))/1000/3600)+':'+convert(varchar(5),((SUM(ct.TIMESPENT))/1000)%3600/60)+':'+convert(varchar(5), (((SUM(ct.TIMESPENT)))/1000%60))  "Time Spent",dateadd(s,datediff(s,GETUTCDATE() ,getdate()) + (MAX(ct.CREATEDTIME)/1000),'1970-01-01 00:00:00') "Time Spent Created Time",rctd.FIRST_NAME "Time Spent Technician" FROM ChargesTable ct
LEFT JOIN TaskToCharge tkc ON ct.CHARGEID=tkc.CHARGEID
LEFT JOIN  TaskDetails tk ON tkc.TASKID=tk.TASKID
LEFT JOIN SDUser rcti ON ct.TECHNICIANID=rcti.USERID LEFT JOIN AaaUser rctd ON rcti.USERID=rctd.USER_ID
where module='general' AND ct.CREATEDTIME >= <from_thisweek> AND ct.CREATEDTIME <= <to_thisweek> AND rctd.FIRST_NAME='My Firstnamn and my Surname'  GROUP BY tk.TASKID,rctd.FIRST_NAME ORDER BY 2

                  New to ADSelfService Plus?