Skip to content

Commit c64dfb3

Browse files
committed
TD-5138_ Staff count was incorrect on the dashboard and doesn't match when staff list is clicked to navigate the list.
1 parent d363e89 commit c64dfb3

File tree

1 file changed

+29
-7
lines changed

1 file changed

+29
-7
lines changed

DigitalLearningSolutions.Data/DataServices/SupervisorDataService.cs

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -126,13 +126,35 @@ public SupervisorDataService(IDbConnection connection, ILogger<SupervisorDataSer
126126
public DashboardData? GetDashboardDataForAdminId(int adminId)
127127
{
128128
return connection.Query<DashboardData>(
129-
@" SELECT (SELECT COUNT(sd.ID) AS StaffCount
130-
FROM SupervisorDelegates sd
131-
LEFT OUTER JOIN users u
132-
ON u.id = sd.DelegateUserID
133-
AND u.Active = 1
134-
WHERE (sd.SupervisorAdminID = @adminId)
135-
AND (sd.Removed IS NULL)) AS StaffCount,
129+
@"SELECT (SELECT COUNT(sd.ID) AS StaffCount
130+
FROM CustomPrompts AS cp6
131+
RIGHT OUTER JOIN CustomPrompts AS cp5
132+
RIGHT OUTER JOIN DelegateAccounts AS da
133+
RIGHT OUTER JOIN SupervisorDelegates AS sd
134+
INNER JOIN AdminUsers AS au
135+
ON sd.SupervisorAdminID = au.AdminID
136+
INNER JOIN Centres AS ct
137+
ON au.CentreID = ct.CentreID
138+
ON da.CentreID = ct.CentreID
139+
AND da.UserID = sd.DelegateUserID
140+
LEFT OUTER JOIN Users AS u
141+
LEFT OUTER JOIN JobGroups AS jg
142+
ON u.JobGroupID = jg.JobGroupID
143+
ON da.UserID = u.ID
144+
LEFT OUTER JOIN CustomPrompts AS cp1
145+
ON ct.CustomField1PromptID = cp1.CustomPromptID
146+
LEFT OUTER JOIN CustomPrompts AS cp2
147+
ON ct.CustomField2PromptID = cp2.CustomPromptID
148+
LEFT OUTER JOIN CustomPrompts AS cp3
149+
ON ct.CustomField3PromptID = cp3.CustomPromptID
150+
LEFT OUTER JOIN CustomPrompts AS cp4
151+
ON ct.CustomField4PromptID = cp4.CustomPromptID
152+
ON cp5.CustomPromptID = ct.CustomField5PromptID
153+
ON cp6.CustomPromptID = ct.CustomField6PromptID
154+
LEFT OUTER JOIN AdminAccounts AS au2
155+
ON da.UserID = au2.UserID AND da.CentreID = au2.CentreID
156+
WHERE (sd.SupervisorAdminID = @adminId) AND (sd.Removed IS NULL) AND
157+
(u.ID = da.UserID OR sd.DelegateUserID IS NULL)) AS StaffCount,
136158
(SELECT COUNT(ID) AS StaffCount
137159
FROM SupervisorDelegates AS SupervisorDelegates_1
138160
WHERE (SupervisorAdminID = @adminId)

0 commit comments

Comments
 (0)