Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DECLARE @TASKS_GRAFANA TABLE (
- Number INT
- ,Name NVARCHAR(100)
- ,Id UNIQUEIDENTIFIER PRIMARY KEY
- )
- INSERT INTO @TASKS_GRAFANA
- VALUES (1, 'Driver Class Courier', '319EC8C2-FE14-4C6C-AFA2-01FCBC718C14')
- INSERT INTO @TASKS_GRAFANA
- VALUES (2, 'B2C User Class Courier', '173ABDEE-9CA2-4A7D-B4C4-42E4EE436C06')
- INSERT INTO @TASKS_GRAFANA
- VALUES (3, 'B2B User Class Courier', '1978EA8D-1838-4CF0-B5EE-70AEC7C88315')
- INSERT INTO @TASKS_GRAFANA
- VALUES (4, 'Driver Class Courier RESERVE', '6830E035-0316-4799-9034-6CBBD6D89C4E')
- INSERT INTO @TASKS_GRAFANA
- VALUES (5, 'B2C VIP', 'FE2DE479-0F34-4AE9-8DB2-01F6EAC482C1')
- INSERT INTO @TASKS_GRAFANA
- VALUES (6, 'English', '1EB1A40F-48AA-48BF-836A-A5F437D4E9B6')
- INSERT INTO @TASKS_GRAFANA
- VALUES (7, 'B2C In ride', 'D69A7932-9761-44A4-8B03-E3BFD8577557')
- INSERT INTO @TASKS_GRAFANA
- VALUES (8, 'B2C Not in ride', 'B4CDB351-343C-4854-B024-090ED195F31C')
- INSERT INTO @TASKS_GRAFANA
- VALUES (9, 'B2D in corp ride', 'BBC7F13A-B219-413B-A8A3-4FC6D1325EC0')
- INSERT INTO @TASKS_GRAFANA
- VALUES (10, 'B2D Night&weekend', '4AB8D485-4F73-4F6B-B4A5-AAB8F2B3C1A7')
- INSERT INTO @TASKS_GRAFANA
- VALUES (11, 'B2D Not in ride', '667E72FF-3EE4-428E-8D54-899A5E9A32CB')
- INSERT INTO @TASKS_GRAFANA
- VALUES (12, 'B2D Premium', '9DC79009-F8B6-4EF7-B405-98BE950C5B72')
- INSERT INTO @TASKS_GRAFANA
- VALUES (13, 'B2B VIP', '63C1876A-2FC0-4A62-8B16-B0515D20A5D1')
- INSERT INTO @TASKS_GRAFANA
- VALUES (14, 'B2B In ride', '1E7BA857-4A1A-4E76-98B0-24273C1120C7')
- INSERT INTO @TASKS_GRAFANA
- VALUES (15, 'B2B Booking a ride', 'D7E48FA6-0061-4EBB-A231-B32F690FD527')
- INSERT INTO @TASKS_GRAFANA
- VALUES (16, 'B2D Статусы операторов кастомные!', '1CF311A8-CD90-42CC-B49C-B61B4051031E')
- INSERT INTO @TASKS_GRAFANA
- VALUES (17, 'SMB B2B in ride', '08533862-B6A6-4CC8-8C84-F038AEC5EAF9')
- INSERT INTO @TASKS_GRAFANA
- VALUES (18, 'B2B not in ride', 'A848E0ED-6554-4472-80D5-9A55640BE384')
- INSERT INTO @TASKS_GRAFANA
- VALUES (19, 'B2B in ride Gett 2.0', '30FBFBB3-74A1-4021-8A32-395CCBFBFCD4')
- INSERT INTO @TASKS_GRAFANA
- VALUES (20, 'B2B not in ride Gett 2.0', 'EBB40B52-2E39-4F96-8DF9-9159A2EACAE4')
- INSERT INTO @TASKS_GRAFANA
- VALUES (21, 'B2B Phone booking Gett 2.0', 'DFF64BE9-074F-486A-BE74-20CA1E9D306A')
- INSERT INTO @TASKS_GRAFANA
- VALUES (22, 'Nokia', '5DE3F3EF-8514-4073-A6AA-5AC6B96A558C')
- SELECT
- IdChain
- ,IdTask
- ,DateTimeStart
- ,CallResult
- ,IsRecorded
- ,CAST(LenTime AS INT) [LenTime]
- ,CAST(LenQueue AS INT) [LenQueue] INTO #EffortConnections
- FROM oktell_cc_temp.dbo.A_Cube_CC_EffortConnections WITH (NOLOCK)
- WHERE DateStart = CAST(CAST(GETDATE() AS DATE) AS DATETIME)
- AND IdChain IS NOT NULL
- AND (IdOperator != 'AB000000-0000-0000-0000-000000000000'
- OR IdOperator IS NULL)
- AND IsOutput = 0
- SELECT
- IdChain INTO #StatIdChains
- FROM oktell..A_Stat_Connections_1x1 WITH (NOLOCK)
- WHERE IdChain IN (SELECT
- IdChain
- FROM #EffortConnections)
- AND ConnectionType = 6
- AND (ANumberDialed LIKE '99_'
- OR Bstr LIKE '734300%')
- -------------------------------------------------------------------------------------------------------
- SELECT
- IdChain
- ,IdTask
- ,DateTimeStart
- ,CallResult
- ,IsRecorded INTO #EffortConnections1
- FROM #EffortConnections ec
- WHERE ec.DateTimeStart = (SELECT
- MAX(ec1.DateTimeStart)
- FROM #EffortConnections ec1
- WHERE ec1.IdChain = ec.IdChain
- AND ec1.IdTask = ec.IdTask)
- DECLARE @Success TABLE (
- IdTask UNIQUEIDENTIFIER PRIMARY KEY
- ,[Count] INT
- ,AvgTalking INT
- ,AvgWaiting INT
- )
- INSERT INTO @Success
- SELECT
- ec.IdTask
- ,COUNT(*)
- ,AVG(ec.LenTime)
- ,AVG(ec.LenQueue)
- FROM #EffortConnections ec
- WHERE IsRecorded = 1
- AND DateTimeStart = (SELECT
- MAX(DateTimeStart)
- FROM #EffortConnections ec1
- WHERE ec.IdChain = ec1.IdChain)
- AND IdChain NOT IN (SELECT
- IdChain
- FROM #StatIdChains)
- GROUP BY ec.IdTask
- DROP TABLE #EffortConnections
- DECLARE @Losted TABLE (
- IdTask UNIQUEIDENTIFIER PRIMARY KEY
- ,[Count] INT
- )
- INSERT INTO @Losted
- SELECT
- ec.IdTask
- ,COUNT(*) [Count]
- FROM #EffortConnections1 ec
- WHERE IsRecorded IS NULL
- AND DateTimeStart = (SELECT
- MAX(DateTimeStart)
- FROM #EffortConnections1 ec1
- WHERE ec.IdChain = ec1.IdChain)
- AND IdChain NOT IN (SELECT
- IdChain
- FROM #StatIdChains)
- GROUP BY IdTask
- DROP TABLE #EffortConnections1
- DROP TABLE #StatIdChains
- DECLARE @Result TABLE (
- Number INT
- ,Task NVARCHAR(100)
- ,Total INT
- ,Success INT
- ,Losted INT
- )
- INSERT INTO @Result
- SELECT
- t.Number
- ,t.Name
- ,ISNULL(s.Count, 0) + ISNULL(l.Count, 0)
- ,ISNULL(s.Count, 0)
- ,ISNULL(l.Count, 0)
- FROM @TASKS_GRAFANA t
- LEFT JOIN @Success s
- ON t.Id = s.IdTask
- LEFT JOIN @Losted l
- ON t.Id = l.IdTask
- WHERE ISNULL(s.Count, 0) + ISNULL(l.Count, 0) <> 0
- ORDER BY t.Number
- DECLARE @_number INT
- DECLARE @_all INT
- DECLARE @_success INT
- DECLARE @_losted INT
- DECLARE @Iterator CURSOR
- SET @Iterator = CURSOR SCROLL FOR SELECT
- Number
- ,Total
- ,Success
- ,Losted
- FROM @Result
- OPEN @Iterator
- FETCH NEXT FROM @Iterator INTO @_number, @_all, @_success, @_losted
- WHILE @@FETCH_STATUS = 0
- BEGIN
- UPDATE oktell.dbo.tbl_dashboardgrafana_tasks
- SET coverage = IIF(@_all != 0, CAST((CAST(@_success AS FLOAT) / @_all) * 100 AS INT), 0)
- ,missed = @_losted
- ,answered = @_success
- WHERE id = @_number
- FETCH NEXT FROM @Iterator INTO @_number, @_all, @_success, @_losted
- END
- CLOSE @Iterator
- DEALLOCATE @Iterator
Add Comment
Please, Sign In to add comment