Skip to content

Commit 1a19f43

Browse files
committed
#merge part 2 these are just adds so we can take them
1 parent 9af7b56 commit 1a19f43

File tree

7 files changed

+982
-0
lines changed

7 files changed

+982
-0
lines changed
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
-------------------------------------------------------------------------------
2+
-- Author OA
3+
-- Created 24 JUN 2024 Nov 2020
4+
-- Purpose Break down the GetDashboardResources SP to smaller SP for a specific data type
5+
--
6+
-- Modification History
7+
--
8+
-- 24 Jun 2024 OA Initial Revision
9+
-------------------------------------------------------------------------------
10+
11+
CREATE PROCEDURE [resources].[GetMyCertificatesDashboardResources]
12+
@UserId INT,
13+
@PageNumber INT = 1,
14+
@TotalRecords INT OUTPUT
15+
AS
16+
BEGIN
17+
DECLARE @MaxPageNumber INT = 4
18+
19+
IF @PageNumber > 4
20+
BEGIN
21+
SET @PageNumber = @MaxPageNumber
22+
END
23+
24+
DECLARE @FetchRows INT = 3
25+
DECLARE @MaxRows INT = @MaxPageNUmber * @FetchRows
26+
DECLARE @OffsetRows INT = (@PageNumber - 1) * @FetchRows
27+
28+
DECLARE @MyActivity TABLE (ResourceId [int] NOT NULL PRIMARY KEY, ResourceActivityId [int] NOT NULL);
29+
DECLARE @Resources TABLE (ResourceId [int] NOT NULL PRIMARY KEY, ResourceActivityCount [int] NOT NULL);
30+
31+
INSERT INTO @MyActivity
32+
SELECT TOP (@MaxRows) ra.ResourceId, MAX(ra.Id) ResourceActivityId
33+
FROM
34+
activity.ResourceActivity ra
35+
JOIN [resources].[Resource] r ON ra.ResourceId = r.Id
36+
JOIN [resources].[ResourceVersion] rv ON rv.Id = ra.ResourceVersionId
37+
LEFT JOIN [resources].[AssessmentResourceVersion] arv ON arv.ResourceVersionId = ra.ResourceVersionId
38+
LEFT JOIN [activity].[AssessmentResourceActivity] ara ON ara.ResourceActivityId = ra.Id
39+
LEFT JOIN [activity].[MediaResourceActivity] mar ON mar.ResourceActivityId = ra.Id
40+
LEFT JOIN [activity].[ScormActivity] sa ON sa.ResourceActivityId = ra.Id
41+
WHERE ra.UserId = @UserId AND rv.CertificateEnabled = 1
42+
AND (
43+
(r.ResourceTypeId IN (2, 7) AND ra.ActivityStatusId = 3 OR ra.ActivityStart < '2020-09-07 00:00:00 +00:00' OR mar.Id IS NOT NULL AND mar.PercentComplete = 100)
44+
OR (r.ResourceTypeId = 6 AND (sa.CmiCoreLesson_status IN(3,5) OR (ra.ActivityStatusId IN(3, 5))))
45+
OR ((r.ResourceTypeId = 11 AND arv.AssessmentType = 2) AND (ara.Score >= arv.PassMark OR ra.ActivityStatusId IN(3, 5)))
46+
OR ((r.ResourceTypeId = 11 AND arv.AssessmentType =1) AND (ara.Score >= arv.PassMark AND ra.ActivityStatusId IN(3, 5,7)))
47+
OR (r.ResourceTypeId IN (1, 5, 8, 9, 10, 12) AND ra.ActivityStatusId = 3))
48+
GROUP BY ra.ResourceId
49+
ORDER BY ResourceActivityId DESC
50+
51+
SELECT r.Id AS ResourceId
52+
,( SELECT TOP 1 rr.OriginalResourceReferenceId
53+
FROM [resources].[ResourceReference] rr
54+
JOIN hierarchy.NodePath np on np.id = rr.NodePathId and np.NodeId = n.Id and np.Deleted = 0
55+
WHERE rr.ResourceId = rv.ResourceId AND rr.Deleted = 0
56+
) AS ResourceReferenceID
57+
,r.CurrentResourceVersionId AS ResourceVersionId
58+
,r.ResourceTypeId AS ResourceTypeId
59+
,rv.Title
60+
,rv.Description
61+
,CASE
62+
WHEN r.ResourceTypeId = 7 THEN
63+
(SELECT vrv.DurationInMilliseconds from [resources].[VideoResourceVersion] vrv WHERE vrv.[ResourceVersionId] = r.CurrentResourceVersionId)
64+
WHEN r.ResourceTypeId = 2 THEN
65+
(SELECT vrv.DurationInMilliseconds from [resources].[AudioResourceVersion] vrv WHERE vrv.[ResourceVersionId] = r.CurrentResourceVersionId)
66+
ELSE
67+
NULL
68+
END AS DurationInMilliseconds
69+
,CASE WHEN n.id = 1 THEN NULL ELSE cnv.Name END AS CatalogueName
70+
,cnv.Url AS Url
71+
,CASE WHEN n.id = 1 THEN NULL ELSE cnv.BadgeUrl END AS BadgeUrl
72+
,cnv.RestrictedAccess
73+
,CAST(CASE WHEN cnv.RestrictedAccess = 1 AND auth.CatalogueNodeId IS NULL THEN 0 ELSE 1 END AS bit) AS HasAccess
74+
,ub.Id AS BookMarkId
75+
,CAST(ISNULL(ub.[Deleted], 1) ^ 1 AS BIT) AS IsBookmarked
76+
,rvrs.AverageRating
77+
,rvrs.RatingCount
78+
FROM @MyActivity ma
79+
JOIN activity.ResourceActivity ra ON ra.id = ma.ResourceActivityId
80+
JOIN resources.resourceversion rv ON rv.id = ra.ResourceVersionId AND rv.Deleted = 0
81+
JOIN Resources.Resource r ON r.Id = rv.ResourceId
82+
JOIN hierarchy.Publication p ON rv.PublicationId = p.Id AND p.Deleted = 0
83+
JOIN resources.ResourceVersionRatingSummary rvrs ON rv.Id = rvrs.ResourceVersionId AND rvrs.Deleted = 0
84+
JOIN hierarchy.NodeResource nr ON r.Id = nr.ResourceId AND nr.Deleted = 0
85+
JOIN hierarchy.Node n ON n.Id = nr.NodeId AND n.Hidden = 0 AND n.Deleted = 0
86+
JOIN hierarchy.NodePath np ON np.NodeId = n.Id AND np.Deleted = 0 AND np.IsActive = 1
87+
JOIN hierarchy.NodeVersion nv ON nv.NodeId = np.CatalogueNodeId AND nv.VersionStatusId = 2 AND nv.Deleted = 0
88+
JOIN hierarchy.CatalogueNodeVersion cnv ON cnv.NodeVersionId = nv.Id AND cnv.Deleted = 0
89+
LEFT JOIN hub.UserBookmark ub ON ub.UserId = @UserId AND ub.ResourceReferenceId = (SELECT TOP 1 rr.OriginalResourceReferenceId
90+
FROM [resources].[ResourceReference] rr
91+
JOIN hierarchy.NodePath np on np.id = rr.NodePathId and np.NodeId = n.Id and np.Deleted = 0
92+
WHERE rr.ResourceId = rv.ResourceId AND rr.Deleted = 0)
93+
LEFT JOIN ( SELECT DISTINCT CatalogueNodeId
94+
FROM [hub].[RoleUserGroupView] rug JOIN hub.UserUserGroup uug ON rug.UserGroupId = uug.UserGroupId
95+
WHERE rug.ScopeTypeId = 1 and rug.RoleId in (1,2,3) and uug.Deleted = 0 and uug.UserId = @userId) auth ON n.Id = auth.CatalogueNodeId
96+
ORDER BY ma.ResourceActivityId DESC, rv.Title
97+
OFFSET @OffsetRows ROWS
98+
FETCH NEXT @FetchRows ROWS ONLY
99+
100+
SELECT @TotalRecords = CASE WHEN COUNT(*) > 12 THEN @MaxRows ELSE COUNT(*) END FROM @MyActivity
101+
END
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
-------------------------------------------------------------------------------
2+
-- Author OA
3+
-- Created 24 JUN 2024 Nov 2020
4+
-- Purpose Break down the GetDashboardResources SP to smaller SP for a specific data type
5+
--
6+
-- Modification History
7+
--
8+
-- 24 Jun 2024 OA Initial Revision
9+
-- 27 Jun 2024 SA My Learning Dashboard Tray showing Wrong Counts
10+
-------------------------------------------------------------------------------
11+
12+
CREATE PROCEDURE [resources].[GetMyInProgressDashboardResources]
13+
@UserId INT,
14+
@PageNumber INT = 1,
15+
@TotalRecords INT OUTPUT
16+
AS
17+
BEGIN
18+
DECLARE @MaxPageNumber INT = 4
19+
20+
IF @PageNumber > 4
21+
BEGIN
22+
SET @PageNumber = @MaxPageNumber
23+
END
24+
25+
DECLARE @FetchRows INT = 3
26+
DECLARE @MaxRows INT = @MaxPageNUmber * @FetchRows
27+
DECLARE @OffsetRows INT = (@PageNumber - 1) * @FetchRows
28+
29+
DECLARE @MyActivity TABLE (ResourceId [int] NOT NULL PRIMARY KEY, ResourceActivityId [int] NOT NULL);
30+
31+
INSERT INTO @MyActivity
32+
SELECT TOP (@MaxRows) ra.ResourceId, MAX(ra.Id) ResourceActivityId
33+
FROM
34+
(SELECT a.Id,a.ResourceId,a.ResourceVersionId,a.LaunchResourceActivityId,a.UserId,a.ActivityStatusId,a.ActivityStart FROM activity.ResourceActivity a INNER JOIN (SELECT ResourceId, MAX(Id) as id FROM activity.ResourceActivity GROUP BY ResourceId) AS b ON a.ResourceId = b.ResourceId AND a.id = b.id order by a.Id desc OFFSET 0 ROWS) ra
35+
JOIN [resources].[Resource] r ON ra.ResourceId = r.Id
36+
JOIN [resources].[ResourceVersion] rv ON rv.Id = ra.ResourceVersionId
37+
LEFT JOIN [resources].[AssessmentResourceVersion] arv ON arv.ResourceVersionId = ra.ResourceVersionId
38+
LEFT JOIN [activity].[AssessmentResourceActivity] ara ON ara.ResourceActivityId = COALESCE(ra.LaunchResourceActivityId, ra.Id)
39+
LEFT JOIN [activity].[MediaResourceActivity] mar ON mar.ResourceActivityId = COALESCE(ra.LaunchResourceActivityId, ra.Id)
40+
LEFT JOIN [activity].[ScormActivity] sa ON sa.ResourceActivityId = ra.Id
41+
WHERE ra.UserId = @UserId
42+
AND (
43+
(r.ResourceTypeId IN (1, 5, 8, 9,10, 12) AND ra.ActivityStatusId <> 3)
44+
OR (r.ResourceTypeId IN (2, 7) AND (mar.Id IS NULL OR (mar.Id IS NOT NULL AND mar.PercentComplete < 100) OR ra.ActivityStart < '2020-09-07 00:00:00 +00:00'))
45+
OR (r.ResourceTypeId = 6 AND (sa.CmiCoreLesson_status NOT IN (3, 5) AND (ra.ActivityStatusId NOT IN(3, 5))))
46+
OR ((r.ResourceTypeId = 11 AND arv.AssessmentType = 2) AND ((ara.Id IS NOT NULL AND ara.score < arv.PassMark) OR ra.ActivityStatusId = 7))
47+
48+
OR ((r.ResourceTypeId = 11 AND arv.AssessmentType = 1) AND ra.ActivityStatusId = 7)
49+
)
50+
GROUP BY ra.ResourceId
51+
ORDER BY ResourceActivityId DESC
52+
53+
SELECT ma.ResourceActivityId, r.Id AS ResourceId
54+
,( SELECT TOP 1 rr.OriginalResourceReferenceId
55+
FROM [resources].[ResourceReference] rr
56+
JOIN hierarchy.NodePath np on np.id = rr.NodePathId and np.NodeId = n.Id and np.Deleted = 0
57+
WHERE rr.ResourceId = rv.ResourceId AND rr.Deleted = 0
58+
) AS ResourceReferenceID
59+
,r.CurrentResourceVersionId AS ResourceVersionId
60+
,r.ResourceTypeId AS ResourceTypeId
61+
,rv.Title
62+
,rv.Description
63+
,CASE
64+
WHEN r.ResourceTypeId = 7 THEN
65+
(SELECT vrv.DurationInMilliseconds from [resources].[VideoResourceVersion] vrv WHERE vrv.[ResourceVersionId] = r.CurrentResourceVersionId)
66+
WHEN r.ResourceTypeId = 2 THEN
67+
(SELECT vrv.DurationInMilliseconds from [resources].[AudioResourceVersion] vrv WHERE vrv.[ResourceVersionId] = r.CurrentResourceVersionId)
68+
ELSE
69+
NULL
70+
END AS DurationInMilliseconds
71+
,CASE WHEN n.id = 1 THEN NULL ELSE cnv.Name END AS CatalogueName
72+
,cnv.Url AS Url
73+
,CASE WHEN n.id = 1 THEN NULL ELSE cnv.BadgeUrl END AS BadgeUrl
74+
,cnv.RestrictedAccess
75+
,CAST(CASE WHEN cnv.RestrictedAccess = 1 AND auth.CatalogueNodeId IS NULL THEN 0 ELSE 1 END AS bit) AS HasAccess
76+
,ub.Id AS BookMarkId
77+
,CAST(ISNULL(ub.[Deleted], 1) ^ 1 AS BIT) AS IsBookmarked
78+
,rvrs.AverageRating
79+
,rvrs.RatingCount
80+
FROM @MyActivity ma
81+
JOIN activity.ResourceActivity ra ON ra.id = ma.ResourceActivityId
82+
JOIN resources.resourceversion rv ON rv.id = ra.ResourceVersionId AND rv.Deleted = 0
83+
JOIN Resources.Resource r ON r.Id = rv.ResourceId
84+
JOIN hierarchy.Publication p ON rv.PublicationId = p.Id AND p.Deleted = 0
85+
JOIN resources.ResourceVersionRatingSummary rvrs ON rv.Id = rvrs.ResourceVersionId AND rvrs.Deleted = 0
86+
JOIN hierarchy.NodeResource nr ON r.Id = nr.ResourceId AND nr.Deleted = 0
87+
JOIN hierarchy.Node n ON n.Id = nr.NodeId AND n.Hidden = 0 AND n.Deleted = 0
88+
JOIN hierarchy.NodePath np ON np.NodeId = n.Id AND np.Deleted = 0 AND np.IsActive = 1
89+
JOIN hierarchy.NodeVersion nv ON nv.NodeId = np.CatalogueNodeId AND nv.VersionStatusId = 2 AND nv.Deleted = 0
90+
JOIN hierarchy.CatalogueNodeVersion cnv ON cnv.NodeVersionId = nv.Id AND cnv.Deleted = 0
91+
LEFT JOIN hub.UserBookmark ub ON ub.UserId = @UserId AND ub.ResourceReferenceId = (SELECT TOP 1 rr.OriginalResourceReferenceId
92+
FROM [resources].[ResourceReference] rr
93+
JOIN hierarchy.NodePath np on np.id = rr.NodePathId and np.NodeId = n.Id and np.Deleted = 0
94+
WHERE rr.ResourceId = rv.ResourceId AND rr.Deleted = 0)
95+
LEFT JOIN ( SELECT DISTINCT CatalogueNodeId
96+
FROM [hub].[RoleUserGroupView] rug JOIN hub.UserUserGroup uug ON rug.UserGroupId = uug.UserGroupId
97+
WHERE rug.ScopeTypeId = 1 and rug.RoleId in (1,2,3) and uug.Deleted = 0 and uug.UserId = @userId) auth ON n.Id = auth.CatalogueNodeId
98+
ORDER BY ma.ResourceActivityId DESC
99+
OFFSET @OffsetRows ROWS
100+
FETCH NEXT @FetchRows ROWS ONLY
101+
102+
SELECT @TotalRecords = CASE WHEN COUNT(ma.ResourceActivityId) > 12 THEN @MaxRows ELSE COUNT(*) END
103+
FROM @MyActivity ma
104+
JOIN activity.ResourceActivity ra ON ra.id = ma.ResourceActivityId
105+
JOIN resources.resourceversion rv ON rv.id = ra.ResourceVersionId AND rv.Deleted = 0
106+
JOIN Resources.Resource r ON r.Id = rv.ResourceId
107+
JOIN hierarchy.Publication p ON rv.PublicationId = p.Id AND p.Deleted = 0
108+
JOIN resources.ResourceVersionRatingSummary rvrs ON rv.Id = rvrs.ResourceVersionId AND rvrs.Deleted = 0
109+
JOIN hierarchy.NodeResource nr ON r.Id = nr.ResourceId AND nr.Deleted = 0
110+
JOIN hierarchy.Node n ON n.Id = nr.NodeId AND n.Hidden = 0 AND n.Deleted = 0
111+
JOIN hierarchy.NodePath np ON np.NodeId = n.Id AND np.Deleted = 0 AND np.IsActive = 1
112+
JOIN hierarchy.NodeVersion nv ON nv.NodeId = np.CatalogueNodeId AND nv.VersionStatusId = 2 AND nv.Deleted = 0
113+
JOIN hierarchy.CatalogueNodeVersion cnv ON cnv.NodeVersionId = nv.Id AND cnv.Deleted = 0
114+
LEFT JOIN hub.UserBookmark ub ON ub.UserId = @UserId AND ub.ResourceReferenceId = (SELECT TOP 1 rr.OriginalResourceReferenceId
115+
FROM [resources].[ResourceReference] rr
116+
JOIN hierarchy.NodePath np on np.id = rr.NodePathId and np.NodeId = n.Id and np.Deleted = 0
117+
WHERE rr.ResourceId = rv.ResourceId AND rr.Deleted = 0)
118+
LEFT JOIN ( SELECT DISTINCT CatalogueNodeId
119+
FROM [hub].[RoleUserGroupView] rug JOIN hub.UserUserGroup uug ON rug.UserGroupId = uug.UserGroupId
120+
WHERE rug.ScopeTypeId = 1 and rug.RoleId in (1,2,3) and uug.Deleted = 0 and uug.UserId = @userId) auth ON n.Id = auth.CatalogueNodeId
121+
122+
END
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
-------------------------------------------------------------------------------
2+
-- Author OA
3+
-- Created 24 JUN 2024 Nov 2020
4+
-- Purpose Break down the GetDashboardResources SP to smaller SP for a specific data type
5+
--
6+
-- Modification History
7+
--
8+
-- 24 Jun 2024 OA Initial Revision
9+
-- 27 Jun 2024 SA Removed unused temp tables
10+
-------------------------------------------------------------------------------
11+
12+
CREATE PROCEDURE [resources].[GetMyRecentCompletedDashboardResources]
13+
@UserId INT,
14+
@PageNumber INT = 1,
15+
@TotalRecords INT OUTPUT
16+
AS
17+
BEGIN
18+
DECLARE @MaxPageNumber INT = 4
19+
20+
IF @PageNumber > 4
21+
BEGIN
22+
SET @PageNumber = @MaxPageNumber
23+
END
24+
25+
DECLARE @FetchRows INT = 3
26+
DECLARE @MaxRows INT = @MaxPageNUmber * @FetchRows
27+
DECLARE @OffsetRows INT = (@PageNumber - 1) * @FetchRows
28+
29+
DECLARE @MyActivity TABLE (ResourceId [int] NOT NULL PRIMARY KEY, ResourceActivityId [int] NOT NULL);
30+
31+
INSERT INTO @MyActivity
32+
SELECT TOP (@MaxRows) ra.ResourceId, MAX(ra.Id) ResourceActivityId
33+
FROM
34+
(SELECT a.Id,a.ResourceId,a.ResourceVersionId,a.LaunchResourceActivityId,a.UserId,a.ActivityStatusId,a.ActivityStart FROM activity.ResourceActivity a INNER JOIN (SELECT ResourceId, MAX(Id) as id FROM activity.ResourceActivity GROUP BY ResourceId ) AS b ON a.ResourceId = b.ResourceId AND a.id = b.id order by a.Id desc OFFSET 0 ROWS) ra
35+
JOIN [resources].[Resource] r ON ra.ResourceId = r.Id
36+
JOIN [resources].[ResourceVersion] rv ON rv.Id = ra.ResourceVersionId
37+
LEFT JOIN [resources].[AssessmentResourceVersion] arv ON arv.ResourceVersionId = ra.ResourceVersionId
38+
LEFT JOIN [activity].[AssessmentResourceActivity] ara ON ara.ResourceActivityId = COALESCE(ra.LaunchResourceActivityId, ra.Id)
39+
LEFT JOIN [activity].[MediaResourceActivity] mar ON mar.ResourceActivityId = COALESCE(ra.LaunchResourceActivityId, ra.Id)
40+
LEFT JOIN [activity].[ScormActivity] sa ON sa.ResourceActivityId = ra.Id
41+
WHERE ra.UserId = @UserId
42+
AND (
43+
(r.ResourceTypeId IN (2, 7) AND ra.ActivityStatusId = 3 AND ((mar.Id IS NOT NULL AND mar.PercentComplete = 100) OR ra.ActivityStart < '2020-09-07 00:00:00 +00:00'))
44+
OR (r.ResourceTypeId = 6 AND (sa.CmiCoreLesson_status IN(3,5) OR (ra.ActivityStatusId IN(3, 5))))
45+
OR (r.ResourceTypeId = 11 AND ara.Score >= arv.PassMark OR ra.ActivityStatusId IN( 3, 5))
46+
OR (r.ResourceTypeId IN (1, 5, 8, 9, 10, 12) AND ra.ActivityStatusId = 3))
47+
GROUP BY ra.ResourceId
48+
ORDER BY ResourceActivityId DESC
49+
50+
SELECT r.Id AS ResourceId
51+
,( SELECT TOP 1 rr.OriginalResourceReferenceId
52+
FROM [resources].[ResourceReference] rr
53+
JOIN hierarchy.NodePath np on np.id = rr.NodePathId and np.NodeId = n.Id and np.Deleted = 0
54+
WHERE rr.ResourceId = rv.ResourceId AND rr.Deleted = 0
55+
) AS ResourceReferenceID
56+
,r.CurrentResourceVersionId AS ResourceVersionId
57+
,r.ResourceTypeId AS ResourceTypeId
58+
,rv.Title
59+
,rv.Description
60+
,CASE
61+
WHEN r.ResourceTypeId = 7 THEN
62+
(SELECT vrv.DurationInMilliseconds from [resources].[VideoResourceVersion] vrv WHERE vrv.[ResourceVersionId] = r.CurrentResourceVersionId)
63+
WHEN r.ResourceTypeId = 2 THEN
64+
(SELECT vrv.DurationInMilliseconds from [resources].[AudioResourceVersion] vrv WHERE vrv.[ResourceVersionId] = r.CurrentResourceVersionId)
65+
ELSE
66+
NULL
67+
END AS DurationInMilliseconds
68+
,CASE WHEN n.id = 1 THEN NULL ELSE cnv.Name END AS CatalogueName
69+
,cnv.Url AS Url
70+
,CASE WHEN n.id = 1 THEN NULL ELSE cnv.BadgeUrl END AS BadgeUrl
71+
,cnv.RestrictedAccess
72+
,CAST(CASE WHEN cnv.RestrictedAccess = 1 AND auth.CatalogueNodeId IS NULL THEN 0 ELSE 1 END AS bit) AS HasAccess
73+
,ub.Id AS BookMarkId
74+
,CAST(ISNULL(ub.[Deleted], 1) ^ 1 AS BIT) AS IsBookmarked
75+
,rvrs.AverageRating
76+
,rvrs.RatingCount
77+
FROM @MyActivity ma
78+
JOIN activity.ResourceActivity ra ON ra.id = ma.ResourceActivityId
79+
JOIN resources.resourceversion rv ON rv.id = ra.ResourceVersionId AND rv.Deleted = 0
80+
JOIN Resources.Resource r ON r.Id = rv.ResourceId
81+
JOIN hierarchy.Publication p ON rv.PublicationId = p.Id AND p.Deleted = 0
82+
JOIN resources.ResourceVersionRatingSummary rvrs ON rv.Id = rvrs.ResourceVersionId AND rvrs.Deleted = 0
83+
JOIN hierarchy.NodeResource nr ON r.Id = nr.ResourceId AND nr.Deleted = 0
84+
JOIN hierarchy.Node n ON n.Id = nr.NodeId AND n.Hidden = 0 AND n.Deleted = 0
85+
JOIN hierarchy.NodePath np ON np.NodeId = n.Id AND np.Deleted = 0 AND np.IsActive = 1
86+
JOIN hierarchy.NodeVersion nv ON nv.NodeId = np.CatalogueNodeId AND nv.VersionStatusId = 2 AND nv.Deleted = 0
87+
JOIN hierarchy.CatalogueNodeVersion cnv ON cnv.NodeVersionId = nv.Id AND cnv.Deleted = 0
88+
LEFT JOIN hub.UserBookmark ub ON ub.UserId = @UserId AND ub.ResourceReferenceId = (SELECT TOP 1 rr.OriginalResourceReferenceId
89+
FROM [resources].[ResourceReference] rr
90+
JOIN hierarchy.NodePath np on np.id = rr.NodePathId and np.NodeId = n.Id and np.Deleted = 0
91+
WHERE rr.ResourceId = rv.ResourceId AND rr.Deleted = 0)
92+
LEFT JOIN ( SELECT DISTINCT CatalogueNodeId
93+
FROM [hub].[RoleUserGroupView] rug JOIN hub.UserUserGroup uug ON rug.UserGroupId = uug.UserGroupId
94+
WHERE rug.ScopeTypeId = 1 and rug.RoleId in (1,2,3) and uug.Deleted = 0 and uug.UserId = @userId) auth ON n.Id = auth.CatalogueNodeId
95+
ORDER BY ma.ResourceActivityId DESC, rv.Title
96+
OFFSET @OffsetRows ROWS
97+
FETCH NEXT @FetchRows ROWS ONLY
98+
99+
SELECT @TotalRecords = CASE WHEN COUNT(ma.ResourceActivityId) > 12 THEN @MaxRows ELSE COUNT(*) END
100+
FROM @MyActivity ma
101+
JOIN activity.ResourceActivity ra ON ra.id = ma.ResourceActivityId
102+
JOIN resources.resourceversion rv ON rv.id = ra.ResourceVersionId AND rv.Deleted = 0
103+
JOIN Resources.Resource r ON r.Id = rv.ResourceId
104+
JOIN hierarchy.Publication p ON rv.PublicationId = p.Id AND p.Deleted = 0
105+
JOIN resources.ResourceVersionRatingSummary rvrs ON rv.Id = rvrs.ResourceVersionId AND rvrs.Deleted = 0
106+
JOIN hierarchy.NodeResource nr ON r.Id = nr.ResourceId AND nr.Deleted = 0
107+
JOIN hierarchy.Node n ON n.Id = nr.NodeId AND n.Hidden = 0 AND n.Deleted = 0
108+
JOIN hierarchy.NodePath np ON np.NodeId = n.Id AND np.Deleted = 0 AND np.IsActive = 1
109+
JOIN hierarchy.NodeVersion nv ON nv.NodeId = np.CatalogueNodeId AND nv.VersionStatusId = 2 AND nv.Deleted = 0
110+
JOIN hierarchy.CatalogueNodeVersion cnv ON cnv.NodeVersionId = nv.Id AND cnv.Deleted = 0
111+
LEFT JOIN hub.UserBookmark ub ON ub.UserId = @UserId AND ub.ResourceReferenceId = (SELECT TOP 1 rr.OriginalResourceReferenceId
112+
FROM [resources].[ResourceReference] rr
113+
JOIN hierarchy.NodePath np on np.id = rr.NodePathId and np.NodeId = n.Id and np.Deleted = 0
114+
WHERE rr.ResourceId = rv.ResourceId AND rr.Deleted = 0)
115+
LEFT JOIN ( SELECT DISTINCT CatalogueNodeId
116+
FROM [hub].[RoleUserGroupView] rug JOIN hub.UserUserGroup uug ON rug.UserGroupId = uug.UserGroupId
117+
WHERE rug.ScopeTypeId = 1 and rug.RoleId in (1,2,3) and uug.Deleted = 0 and uug.UserId = @userId) auth ON n.Id = auth.CatalogueNodeId
118+
119+
END

0 commit comments

Comments
 (0)