Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- exec RPTEstadosAlvaro 'iccomercial'
- ALTER PROCEDURE [dbo].[RPTEstadosAlvaro](@VirtualCC VARCHAR(50))
- AS
- SET NoCount ON
- DECLARE @IdTimeZone VARCHAR(50),
- @StartDateTime Datetime, @EndDateTime Datetime
- --declare @VirtualCC varchar(50)
- --SELECT @VirtualCC = 'atentoperu'
- SELECT @IdTimeZone = 'PET'
- SELECT @StartDateTime = dateadd(d, -1 , CONVERT(VARCHAR(10),getdate(),121) + ' 00:00:00:000' )
- SELECT @EndDateTime = dateadd(d, -1 , CONVERT(VARCHAR(10),getdate(),121) + ' 23:59:59:999')
- --SELECT @StartDateTime = '2014-06-01 00:00:00'
- --SELECT @EndDateTime = '2014-06-30 23:59:59'
- SELECT @StartDateTime = dbo.GetInvRealDate(@IdTimeZone, @StartDateTime),
- @EndDateTime = dbo.GetInvRealDate(@IdTimeZone , @EndDateTime)
- SELECT
- TBL_Resumen.[DATE],
- TBL_Resumen.Campaign AS [CAMPAIGN],
- TBL_Resumen.[Actor] AS [AGENT],
- CONVERT(VARCHAR,MIN( dbo.GetRealDate(@IdTimeZone ,login )),108) AS [LOGIN],
- CONVERT(VARCHAR,MAX( dbo.GetRealDate(@IdTimeZone ,logout)),108) AS [LOGOUT],
- dbo.ConvertHourMin(SUM(ISNULL(LoggedState, 0))) AS 'TEMPO LOGADO',
- dbo.ConvertHourMin(SUM(ISNULL(BreakState, 0))) AS 'BreakTime',
- dbo.ConvertHourMin(SUM(ISNULL(ToiletteState, 0))) AS 'ToiletteTime',
- dbo.ConvertHourMin(SUM(ISNULL(TrainingState, 0))) AS 'TrainingTime',
- dbo.ConvertHourMin(SUM(ISNULL(PersonalState, 0))) AS 'PersonalTime',
- dbo.ConvertHourMin(SUM(ISNULL(CustomsState, 0))) AS 'CustomTime',
- dbo.ConvertHourMin(
- SUM(ISNULL(PauseState, 0)) -
- (SUM(ISNULL(AttePauseState,0)) + SUM(ISNULL(WrapupPauseState,0)))
- ) AS 'IdlePauseTime',
- SUM(ISNULL(TotalCalls,0)) AS 'TOTAL CHAMADAS',
- SUM(ISNULL(TotalCallsAttended,0)) AS 'TOTAL CHAMADAS CONSEGUIDAS',
- SUM(ISNULL(TotalCallsAttended,0)) AS 'TOTAL CHAMADAS CONSEGUIDAS',
- SUM(ISNULL(TotalInBoundAttentionTime+TotalOutBoundAttentionTime+TotalInBoundWrapupTime + TotalOutBoundWrapupTime,0)) AS 'TMO',
- CASE WHEN SUM(ISNULL(TotalCallsAttended,0)) = 0 THEN 0
- ELSE
- SUM(ISNULL(TotalInBoundWrapupTime+TotalOutBoundWrapupTime, 0)) / SUM(ISNULL(TotalCallsAttended,0))
- END AS 'TEMPO MÉDIO TABULANDO',
- CASE WHEN
- SUM(ISNULL(TotalCallsAttended,0)) = 0
- THEN 0 ELSE
- SUM(ISNULL(TotalInBoundWrapupTime+TotalOutBoundWrapupTime, 0)) / SUM(ISNULL(TotalCallsAttended,0))
- END AS 'TEMPO TOTAL TABULANDO',
- (
- SUM(ISNULL(BreakState, 0)) + SUM(ISNULL(ToiletteState, 0)) + SUM(ISNULL(TrainingState, 0)) + SUM(ISNULL(PersonalState, 0)) + SUM(ISNULL(CustomsState, 0))) +
- ( SUM(ISNULL(PauseState, 0)) - (SUM(ISNULL(AttePauseState,0)) + SUM(ISNULL(WrapupPauseState,0)))) AS 'TEMPO TOTAL DESOCUPADO',
- SUM(ISNULL(LoggedState, 0)) - (
- ( SUM(ISNULL(BreakState, 0)) + SUM(ISNULL(ToiletteState, 0)) + SUM(ISNULL(TrainingState, 0)) + SUM(ISNULL(PersonalState, 0)) + SUM(ISNULL(CustomsState, 0))) +
- ( SUM(ISNULL(PauseState, 0)) - (SUM(ISNULL(AttePauseState,0)) + SUM(ISNULL(WrapupPauseState,0))))
- ) AS 'TEMPO ATIVO',
- CASE WHEN
- SUM(ISNULL(LoggedState, 0)) - (
- ( SUM(ISNULL(BreakState, 0)) + SUM(ISNULL(ToiletteState, 0)) + SUM(ISNULL(TrainingState, 0)) + SUM(ISNULL(PersonalState, 0)) + SUM(ISNULL(CustomsState, 0))) +
- ( SUM(ISNULL(PauseState, 0)) - (SUM(ISNULL(AttePauseState,0)) + SUM(ISNULL(WrapupPauseState,0))))
- ) = 0 THEN 0 ELSE
- ( SUM(ISNULL(TotalInBoundAttentionTime+TotalOutBoundAttentionTime+TotalInBoundWrapupTime + TotalOutBoundWrapupTime,0)) ) * 100 /
- ( SUM(ISNULL(LoggedState, 0)) - (
- ( SUM(ISNULL(BreakState, 0)) + SUM(ISNULL(ToiletteState, 0)) + SUM(ISNULL(TrainingState, 0)) + SUM(ISNULL(PersonalState, 0)) + SUM(ISNULL(CustomsState, 0))) +
- ( SUM(ISNULL(PauseState, 0)) - (SUM(ISNULL(AttePauseState,0)) + SUM(ISNULL(WrapupPauseState,0))))
- )) END AS 'OCUPACAO (%)',
- CASE WHEN
- SUM(ISNULL(LoggedState, 0)) - (
- ( SUM(ISNULL(BreakState, 0)) + SUM(ISNULL(ToiletteState, 0)) + SUM(ISNULL(TrainingState, 0)) + SUM(ISNULL(PersonalState, 0)) + SUM(ISNULL(CustomsState, 0))) +
- ( SUM(ISNULL(PauseState, 0)) - (SUM(ISNULL(AttePauseState,0)) + SUM(ISNULL(WrapupPauseState,0))))
- ) = 0 THEN 0 ELSE
- SUM(ISNULL(TotalInBoundWrapupTime,0) + ISNULL(TotalOutBoundWrapupTime,0)) * 100 /
- ( SUM(ISNULL(LoggedState, 0)) - (
- ( SUM(ISNULL(BreakState, 0)) + SUM(ISNULL(ToiletteState, 0)) + SUM(ISNULL(TrainingState, 0)) + SUM(ISNULL(PersonalState, 0)) + SUM(ISNULL(CustomsState, 0))) +
- ( SUM(ISNULL(PauseState, 0)) - (SUM(ISNULL(AttePauseState,0)) + SUM(ISNULL(WrapupPauseState,0))))
- )) END
- AS 'TABULACAO (%)',
- SUM(ISNULL(TotalObjetivos,0)) AS 'Vendas',
- CASE WHEN
- SUM(ISNULL(LoggedState, 0)) - (
- ( SUM(ISNULL(BreakState, 0)) + SUM(ISNULL(ToiletteState, 0)) + SUM(ISNULL(TrainingState, 0)) + SUM(ISNULL(PersonalState, 0)) + SUM(ISNULL(CustomsState, 0))) +
- ( SUM(ISNULL(PauseState, 0)) - (SUM(ISNULL(AttePauseState,0)) + SUM(ISNULL(WrapupPauseState,0))))
- ) / 3600 = 0 THEN
- SUM(ISNULL(TotalObjetivos,0)) ELSE
- (SUM(ISNULL(TotalObjetivos,0)) * 3600) /
- SUM(ISNULL(LoggedState, 0)) - (
- ( SUM(ISNULL(BreakState, 0)) + SUM(ISNULL(ToiletteState, 0)) + SUM(ISNULL(TrainingState, 0)) + SUM(ISNULL(PersonalState, 0)) + SUM(ISNULL(CustomsState, 0))) +
- ( SUM(ISNULL(PauseState, 0)) - (SUM(ISNULL(AttePauseState,0)) + SUM(ISNULL(WrapupPauseState,0))))
- ) END AS 'TOTAL DE VENDAS POR HORA (%)',
- CASE WHEN
- SUM(ISNULL(LoggedState, 0)) - (
- ( SUM(ISNULL(BreakState, 0)) + SUM(ISNULL(ToiletteState, 0)) + SUM(ISNULL(TrainingState, 0)) + SUM(ISNULL(PersonalState, 0)) + SUM(ISNULL(CustomsState, 0))) +
- ( SUM(ISNULL(PauseState, 0)) - (SUM(ISNULL(AttePauseState,0)) + SUM(ISNULL(WrapupPauseState,0))))
- ) / 3600 = 0 THEN
- SUM(ISNULL(TotalCallsAttended,0))
- ELSE
- SUM(ISNULL(TotalCallsAttended,0)) * 3600 /
- SUM(ISNULL(LoggedState, 0)) - (
- ( SUM(ISNULL(BreakState, 0)) + SUM(ISNULL(ToiletteState, 0)) + SUM(ISNULL(TrainingState, 0)) + SUM(ISNULL(PersonalState, 0)) + SUM(ISNULL(CustomsState, 0))) +
- ( SUM(ISNULL(PauseState, 0)) - (SUM(ISNULL(AttePauseState,0)) + SUM(ISNULL(WrapupPauseState,0))))
- )
- END AS 'TOTAL DE CHAMADAS POR HORA'
- FROM(
- SELECT
- VirtualCC,
- CONVERT(VARCHAR(10), dbo.GetRealDate(@IdTimeZone ,CONVERT(datetime, ACSS.[DATE] + ' ' + ACSS.[HOUR])), 120) AS DATE,
- Actor,
- LoggedState, BreakState, ToiletteState,
- TrainingState, PersonalState,
- CustomsState, PauseState, UnavailableState,
- AttePauseState, WrapupPauseState, ActiveState,
- 0 AS TotalInBoundAttentionTime,
- 0 AS TotalOutBoundAttentionTime,
- 0 AS TotalInBoundHoldTime,
- 0 AS TotalOutboundHoldTime,
- 0 AS TotalInBoundWrapupTime,
- 0 AS TotalOutBoundWrapupTime,
- 0 AS TotalRingBackTime,
- 0 AS TotalCalls,
- 0 AS TotalCallsAttended,
- 0 AS TotalObjetivos,
- Campaign
- FROM dbo.ActorCampaignStatesSummary ACSS (Nolock)
- WHERE VirtualCC LIKE CASE WHEN RTrim(LTrim(@VirtualCC)) = '' THEN '%'
- ELSE @VirtualCC
- END
- AND Profile = 'Workflow'
- AND Actor <> ''
- AND CONVERT(datetime, ACSS.DATE + ' ' + ACSS.HOUR ) >= @StartDateTime
- AND CONVERT(datetime, ACSS.DATE + ' ' + ACSS.HOUR ) < @EndDateTime
- UNION ALL
- SELECT
- VirtualCC,
- CONVERT(VARCHAR(10), dbo.GetRealDate(@IdTimeZone ,CONVERT(datetime, ICAS.[DATE] + ' ' + ICAS.[HOUR])), 120) AS DATE,
- --ICAS.Hour,
- Actor,
- 0, 0, 0,
- 0, 0,
- 0, 0, 0,
- 0, 0, 0,
- TotalInBoundAttentionTime,
- TotalOutBoundAttentionTime,
- TotalInBoundHoldTime,
- TotalOutboundHoldTime,
- TotalInBoundWrapupTime,
- TotalOutBoundWrapupTime,
- TotalRingBackTime,
- 0 AS TotalCalls,
- 0 AS TotalCallsAttended,
- 0 AS TotalObjetivos,
- Campaign
- FROM dbo.InteractionsCampaignActorSummary ICAS (nolock)
- WHERE TYPE = 'TAPI'
- AND VirtualCC LIKE CASE WHEN RTrim(LTrim(@VirtualCC)) = '' THEN '%'
- ELSE @VirtualCC
- END
- AND CONVERT(datetime, ICAS.DATE + ' ' + ICAS.HOUR ) >= @StartDateTime
- AND CONVERT(datetime, ICAS.DATE + ' ' + ICAS.HOUR ) < @EndDateTime
- UNION ALL
- SELECT
- --'' as Date,
- VirtualCC,
- CONVERT(VARCHAR(10), dbo.GetRealDate(@IdTimeZone ,CONVERT(datetime, InD.[DATE] + ' ' + Ind.[HOUR])), 120) AS DATE,
- --InD.Hour,
- Actor,
- 0, 0, 0,
- 0, 0,
- 0, 0, 0,
- 0, 0, 0,
- 0 AS TotalInBoundAttentionTime,
- 0 AS TotalOutBoundAttentionTime,
- 0 AS TotalInBoundHoldTime,
- 0 AS TotalOutboundHoldTime,
- 0 AS TotalInBoundWrapupTime,
- 0 AS TotalOutBoundWrapupTime,
- 0 AS TotalRingBackTime,
- (TotalInBound + TotalOutBound ) AS TotalCalls,
- (TotalInBoundAttended + TotalOutBoundAttended) AS TotalCallsAttended,
- TotalGoalManagementResult AS TotalObjetivos,
- Campaign
- FROM InteractionsCampaignActorSummary InD (nolock)
- WHERE
- VirtualCC LIKE CASE WHEN RTrim(LTrim(@VirtualCC)) = '' THEN '%'
- ELSE @VirtualCC
- END AND
- TYPE = 'TAPI'
- AND CONVERT(datetime, InD.DATE + ' ' + InD.HOUR ) >= @StartDateTime
- AND CONVERT(datetime, InD.DATE + ' ' + InD.HOUR ) < @EndDateTime
- ) AS TBL_Resumen
- JOIN
- (
- SELECT
- --VirtualCC,
- Actor AS AGENT,
- MIN(StartDate) AS login,
- MAX(EndDate) AS logout,
- Campaign AS 'Campaign'
- --select * from ActorCampaignStateDetail where Actor='agent2' and StartDate > '2013-05-23' and State='Login'
- FROM ActorCampaignStateDetail (nolock)
- WHERE
- VirtualCC LIKE CASE WHEN RTrim(LTrim(@VirtualCC)) = '' THEN '%'
- ELSE @VirtualCC
- END AND
- CONVERT(datetime, StartDate ) >= @StartDateTime
- AND CONVERT(datetime, StartDate ) < @EndDateTime
- AND [State] = 'Login'
- GROUP BY ACTOR, Campaign
- ) AS T
- --ON T.VirtualCC = TBL_Resumen.VirtualCC AND
- ON T.AGENT = TBL_Resumen.ACTOR AND T.Campaign = TBL_Resumen.Campaign
- GROUP BY
- TBL_Resumen.[DATE],
- TBL_Resumen.Actor,TBL_Resumen.Campaign
- ORDER BY Actor,CONVERT(VARCHAR(10), dbo.GetRealDate(@IdTimeZone ,CONVERT(datetime, [DATE] )), 120)
- SET NOCOUNT OFF
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement