@@ -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