You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: DigitalLearningSolutions.Data/DataServices/SupervisorDataService.cs
+31-14Lines changed: 31 additions & 14 deletions
Original file line number
Diff line number
Diff line change
@@ -106,16 +106,33 @@ INNER JOIN AdminAccounts AS aa
106
106
";
107
107
108
108
privateconststringdelegateSelfAssessmentFields="ca.ID, sa.ID AS SelfAssessmentID, sa.Name AS RoleName, sa.SupervisorSelfAssessmentReview, sa.SupervisorResultsReview, COALESCE (sasr.RoleName, 'Supervisor') AS SupervisorRoleTitle, ca.StartedDate";
109
-
privateconststringsignedOffFields=@"(SELECT TOP (1) casv.Verified
110
-
FROM CandidateAssessmentSupervisorVerifications AS casv INNER JOIN
111
-
CandidateAssessmentSupervisors AS cas ON casv.CandidateAssessmentSupervisorID = cas.ID
112
-
WHERE(cas.CandidateAssessmentID = ca.ID) AND(casv.Requested IS NOT NULL) AND(casv.Verified IS NOT NULL)
113
-
ORDER BY casv.Requested DESC) AS SignedOffDate,
114
-
(SELECT TOP(1) casv.SignedOff
115
-
FROM CandidateAssessmentSupervisorVerifications AS casv INNER JOIN
116
-
CandidateAssessmentSupervisors AS cas ON casv.CandidateAssessmentSupervisorID = cas.ID
117
-
WHERE(cas.CandidateAssessmentID = ca.ID) AND(casv.Requested IS NOT NULL) AND(casv.Verified IS NOT NULL)
118
-
ORDER BY casv.Requested DESC) AS SignedOff,";
109
+
privateconststringsignedOffFields=@"(SELECT CASE
110
+
WHEN MAX(sar.[DateTime]) >= MAX(casv.Verified) THEN NULL
111
+
ELSE MAX(casv.Verified)
112
+
END AS Verified
113
+
FROM CandidateAssessmentSupervisorVerifications AS casv INNER JOIN
114
+
CandidateAssessmentSupervisors AS cas ON casv.CandidateAssessmentSupervisorID = cas.ID INNER JOIN
115
+
CandidateAssessments AS ca1 ON cas.CandidateAssessmentID = ca1.ID LEFT JOIN
116
+
SelfAssessmentResults AS sar ON ca1.SelfAssessmentID = sar.SelfAssessmentID AND ca1.DelegateUserID = sar.DelegateUserID
117
+
WHERE(cas.CandidateAssessmentID = ca.ID) AND(casv.Requested IS NOT NULL) AND(casv.Verified IS NOT NULL)
118
+
GROUP BY ca1.ID ) AS SignedOffDate,
119
+
120
+
(SELECT CASE
121
+
WHEN MAX(sar.[DateTime]) >= MAX(casv.Verified) THEN NULL
122
+
ELSE (
123
+
SELECT TOP(1) casv.SignedOff
124
+
FROM CandidateAssessmentSupervisorVerifications AS casv INNER JOIN
125
+
CandidateAssessmentSupervisors AS cas ON casv.CandidateAssessmentSupervisorID = cas.ID
126
+
WHERE(cas.CandidateAssessmentID = ca.ID) AND(casv.Requested IS NOT NULL) AND(casv.Verified IS NOT NULL)
127
+
ORDER BY casv.Verified DESC
128
+
)
129
+
END AS SignedOff
130
+
FROM CandidateAssessmentSupervisorVerifications AS casv INNER JOIN
131
+
CandidateAssessmentSupervisors AS cas ON casv.CandidateAssessmentSupervisorID = cas.ID INNER JOIN
132
+
CandidateAssessments AS ca1 ON cas.CandidateAssessmentID = ca1.ID LEFT JOIN
133
+
SelfAssessmentResults AS sar ON ca1.SelfAssessmentID = sar.SelfAssessmentID AND ca1.DelegateUserID = sar.DelegateUserID
134
+
WHERE(cas.CandidateAssessmentID = ca.ID) AND(casv.Requested IS NOT NULL) AND(casv.Verified IS NOT NULL)
0 commit comments