Advertisement
WorkAkkaunt

Update Dash DAy Calls

Aug 29th, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 2.13 KB | None | 0 0
  1. DECLARE @TASK UNIQUEIDENTIFIER = '157633C7-DC49-41BF-BE3F-CE3C97F4AAF5'
  2.  
  3. DECLARE @OPERATORS TABLE (
  4.     Id UNIQUEIDENTIFIER
  5. )
  6.  
  7. INSERT INTO @OPERATORS
  8.     SELECT
  9.         OperatorId
  10.     FROM [oktell_settings].[dbo].[A_TaskManager_Operators] WITH (NOLOCK)
  11.     WHERE TaskId = @TASK
  12.  
  13. DECLARE @CurrentDate DATETIME = CAST(CAST(GETDATE() AS DATE) AS DATETIME)
  14.  
  15. SELECT
  16.     * INTO #EffortConnections
  17. FROM oktell_cc_temp.dbo.A_Cube_CC_EffortConnections WITH (NOLOCK)
  18. WHERE DateStart = @CurrentDate
  19. AND IdOperator IN (SELECT
  20.         *
  21.     FROM @OPERATORS)
  22.  
  23. SELECT
  24.     * INTO #StatConnections
  25. FROM oktell.dbo.A_Stat_Connections_1x1 WITH (NOLOCK)
  26. WHERE CAST(CAST(TimeStart AS DATE) AS DATETIME) = @CurrentDate
  27.  
  28. DECLARE @IvrCalls TABLE (
  29.     Id UNIQUEIDENTIFIER
  30.    ,TimeStart TIME
  31. )
  32.  
  33. INSERT INTO @IvrCalls
  34.     SELECT
  35.         sc.Id
  36.        ,CAST(sc.TimeStart AS TIME)
  37.     FROM #StatConnections sc
  38.     LEFT JOIN #EffortConnections ec
  39.         ON sc.IdChain = ec.IdChain
  40.     WHERE sc.Bstr = 'IVR'
  41.     AND sc.ReasonStart IN (1, 2)
  42.     AND ec.IdTask = @TASK
  43.  
  44.  
  45. UPDATE [severstal_utils].[dbo].[Dashbord_DayCalls_VIP]
  46. SET Incoming = (SELECT
  47.             COUNT(DISTINCT IdChain)
  48.         FROM #EffortConnections
  49.         WHERE CAST(TimeStart AS TIME) BETWEEN tbl.TimeStart AND tbl.TimeEnd
  50.         AND IsOutput = 0)
  51.    ,Outcoming = (SELECT
  52.             COUNT(DISTINCT Id)
  53.         FROM #StatConnections
  54.         WHERE CAST(TimeStart AS TIME) BETWEEN tbl.TimeStart AND tbl.TimeEnd
  55.         AND ConnectionType IN (1, 2, 3)
  56.         AND BUserId IN (SELECT
  57.                 *
  58.             FROM @OPERATORS))
  59.    ,Lost = (SELECT
  60.             COUNT(IdChain)
  61.         FROM (SELECT DISTINCT
  62.                 IdChain
  63.                ,AbonentNumber
  64.                ,MIN(TimeStart) TimeStart
  65.             FROM #EffortConnections
  66.             WHERE CAST(TimeStart AS TIME) BETWEEN tbl.TimeStart AND tbl.TimeEnd
  67.             AND CallResult NOT IN (5, 18, 1)
  68.             AND IdConn IS NOT NULL
  69.             GROUP BY IdChain
  70.                     ,AbonentNumber) t2
  71.         WHERE (SELECT
  72.                 COUNT(*)
  73.             FROM #EffortConnections
  74.             WHERE IdChain = t2.IdChain
  75.             AND CallResult IN (5, 18))
  76.         < 1)
  77.    ,IVR = (SELECT
  78.             COUNT(DISTINCT id)
  79.         FROM @IvrCalls
  80.         WHERE TimeStart BETWEEN tbl.TimeStart AND tbl.TimeEnd)
  81. FROM [severstal_utils].[dbo].[Dashbord_DayCalls_VIP] tbl
  82.  
  83. DROP TABLE #EffortConnections
  84. DROP TABLE #StatConnections
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement