Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 32 additions & 30 deletions DigitalLearningSolutions.Data/DataServices/SupervisorDataService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -620,20 +620,21 @@ FROM CandidateAssessmentSupervisors AS cas INNER JOIN
{
return connection.Query<DelegateSelfAssessment>(
@$"SELECT ca.ID, sa.ID AS SelfAssessmentID, sa.Name AS RoleName, sa.QuestionLabel, sa.DescriptionLabel, sa.ReviewerCommentsLabel,
sa.SupervisorSelfAssessmentReview, sa.SupervisorResultsReview, ca.StartedDate,
COALESCE(ca.LastAccessed, ca.StartedDate) AS LastAccessed,
ca.CompleteByDate, ca.LaunchCount, ca.CompletedDate,
(SELECT COUNT(*) AS Expr1
FROM CandidateAssessmentSupervisorVerifications AS casv
WHERE (CandidateAssessmentSupervisorID = cas.ID) AND (Requested IS NOT NULL) AND (Verified IS NULL)) AS SignOffRequested,
{signedOffFields}
(SELECT COUNT(*) AS Expr1
FROM SelfAssessmentResultSupervisorVerifications AS sarsv
WHERE (CandidateAssessmentSupervisorID = cas.ID) AND (Verified IS NULL) AND (sarsv.Superceded = 0)) AS ResultsVerificationRequests
FROM CandidateAssessmentSupervisors AS cas INNER JOIN
CandidateAssessments AS ca ON cas.CandidateAssessmentID = ca.ID INNER JOIN
SelfAssessments AS sa ON sa.ID = ca.SelfAssessmentID
WHERE (ca.ID = @candidateAssessmentId) AND (ISNULL(@adminIdCategoryID, 0) = 0 OR sa.CategoryID = @adminIdCategoryId)", new { candidateAssessmentId, adminIdCategoryId }
sa.SupervisorSelfAssessmentReview, sa.SupervisorResultsReview, ca.StartedDate,
COALESCE(ca.LastAccessed, ca.StartedDate) AS LastAccessed,
ca.CompleteByDate, ca.LaunchCount, ca.CompletedDate,
(SELECT COUNT(*) AS Expr1
FROM CandidateAssessmentSupervisorVerifications AS casv
WHERE (CandidateAssessmentSupervisorID = cas.ID) AND (Requested IS NOT NULL) AND (Verified IS NULL)) AS SignOffRequested,
{signedOffFields}
(SELECT COUNT(*) AS Expr1
FROM SelfAssessmentResultSupervisorVerifications AS sarsv
WHERE (CandidateAssessmentSupervisorID = cas.ID) AND (Verified IS NULL) AND (sarsv.Superceded = 0)) AS ResultsVerificationRequests,
sa.Vocabulary
FROM CandidateAssessmentSupervisors AS cas INNER JOIN
CandidateAssessments AS ca ON cas.CandidateAssessmentID = ca.ID INNER JOIN
SelfAssessments AS sa ON sa.ID = ca.SelfAssessmentID
WHERE (ca.ID = @candidateAssessmentId) AND (ISNULL(@adminIdCategoryID, 0) = 0 OR sa.CategoryID = @adminIdCategoryId)", new { candidateAssessmentId, adminIdCategoryId }
).FirstOrDefault();
}
public DelegateSelfAssessment? GetSelfAssessmentBySupervisorDelegateCandidateAssessmentId(int candidateAssessmentId, int supervisorDelegateId)
Expand Down Expand Up @@ -696,23 +697,24 @@ FROM SelfAssessmentResults AS sar2
{
return connection.Query<DelegateSelfAssessment>(
@$"SELECT ca.ID, sa.ID AS SelfAssessmentID, sa.Name AS RoleName, sa.SupervisorSelfAssessmentReview, sa.SupervisorResultsReview, sa.ReviewerCommentsLabel, COALESCE (sasr.RoleName, 'Supervisor') AS SupervisorRoleTitle, ca.StartedDate, ca.LastAccessed, ca.CompleteByDate, ca.LaunchCount, ca.CompletedDate, r.RoleProfile, sg.SubGroup, pg.ProfessionalGroup, sa.SupervisorResultsReview AS IsSupervisorResultsReviewed,
(SELECT COUNT(*) AS Expr1
FROM CandidateAssessmentSupervisorVerifications AS casv
WHERE (CandidateAssessmentSupervisorID = cas.ID) AND (Requested IS NOT NULL) AND (Verified IS NULL)) AS SignOffRequested,
{signedOffFields}
(SELECT COUNT(*) AS Expr1
FROM SelfAssessmentResultSupervisorVerifications AS sarsv
WHERE (CandidateAssessmentSupervisorID = cas.ID) AND (Verified IS NULL) AND (Superceded = 0)) AS ResultsVerificationRequests,
ca.NonReportable,ca.DelegateUserID
(SELECT COUNT(*) AS Expr1
FROM CandidateAssessmentSupervisorVerifications AS casv
WHERE (CandidateAssessmentSupervisorID = cas.ID) AND (Requested IS NOT NULL) AND (Verified IS NULL)) AS SignOffRequested,
{signedOffFields}
(SELECT COUNT(*) AS Expr1
FROM SelfAssessmentResultSupervisorVerifications AS sarsv
WHERE (CandidateAssessmentSupervisorID = cas.ID) AND (Verified IS NULL) AND (Superceded = 0)) AS ResultsVerificationRequests,
ca.NonReportable,ca.DelegateUserID,
sa.Vocabulary
FROM CandidateAssessmentSupervisors AS cas INNER JOIN
CandidateAssessments AS ca ON cas.CandidateAssessmentID = ca.ID INNER JOIN
SelfAssessments AS sa ON sa.ID = ca.SelfAssessmentID INNER JOIN
SupervisorDelegates AS sd ON cas.SupervisorDelegateId = sd.ID LEFT OUTER JOIN
NRPProfessionalGroups AS pg ON sa.NRPProfessionalGroupID = pg.ID LEFT OUTER JOIN
NRPSubGroups AS sg ON sa.NRPSubGroupID = sg.ID LEFT OUTER JOIN
NRPRoles AS r ON sa.NRPRoleID = r.ID
LEFT OUTER JOIN SelfAssessmentSupervisorRoles AS sasr ON cas.SelfAssessmentSupervisorRoleID = sasr.ID
WHERE (ca.ID = @candidateAssessmentId) AND (cas.Removed IS NULL) AND (sd.SupervisorAdminID = @adminId) AND (ISNULL(@adminIdCategoryID, 0) = 0 OR sa.CategoryID = @adminIdCategoryId)",
CandidateAssessments AS ca ON cas.CandidateAssessmentID = ca.ID INNER JOIN
SelfAssessments AS sa ON sa.ID = ca.SelfAssessmentID INNER JOIN
SupervisorDelegates AS sd ON cas.SupervisorDelegateId = sd.ID LEFT OUTER JOIN
NRPProfessionalGroups AS pg ON sa.NRPProfessionalGroupID = pg.ID LEFT OUTER JOIN
NRPSubGroups AS sg ON sa.NRPSubGroupID = sg.ID LEFT OUTER JOIN
NRPRoles AS r ON sa.NRPRoleID = r.ID
LEFT OUTER JOIN SelfAssessmentSupervisorRoles AS sasr ON cas.SelfAssessmentSupervisorRoleID = sasr.ID
WHERE (ca.ID = @candidateAssessmentId) AND (cas.Removed IS NULL) AND (sd.SupervisorAdminID = @adminId) AND (ISNULL(@adminIdCategoryID, 0) = 0 OR sa.CategoryID = @adminIdCategoryId)",
new { candidateAssessmentId, adminId, adminIdCategoryId }
).FirstOrDefault();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,6 @@ public class DelegateSelfAssessment
public bool IsSupervisorResultsReviewed { get; set; }
public bool IsAssignedToSupervisor { get; set; }
public bool NonReportable { get; set; }
public string? Vocabulary { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
namespace DigitalLearningSolutions.Web.ViewModels.Supervisor
{
using DigitalLearningSolutions.Data.Models.Frameworks;
using DigitalLearningSolutions.Data.Models.SelfAssessments;
using DigitalLearningSolutions.Data.Models.Supervisor;
using DigitalLearningSolutions.Web.Helpers;
Expand All @@ -15,9 +14,9 @@ public class ReviewSelfAssessmentViewModel
public IEnumerable<SupervisorSignOff>? SupervisorSignOffs { get; set; }
public bool IsSupervisorResultsReviewed { get; set; }
public SearchSupervisorCompetencyViewModel SearchViewModel { get; set; }
public string VocabPlural(string vocabulary)
public string VocabPlural()
{
return FrameworkVocabularyHelper.VocabularyPlural(vocabulary);
return FrameworkVocabularyHelper.VocabularyPlural(DelegateSelfAssessment.Vocabulary);
}
public int CandidateAssessmentId { get; set; }
public bool ExportToExcelHide { get; set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@
</a>
}

@if(Model.CompetencySummaries.CanViewCertificate)
@if (Model.CompetencySummaries.CanViewCertificate)
{
<a class="nhsuk-button"
asp-route-candidateAssessmentId="@Model.CandidateAssessmentId"
Expand All @@ -106,11 +106,11 @@
Certificate
</a>
}
@if(Model.DelegateSelfAssessment.SignOffRequested > 0 && Model.CompetencySummaries.VerifiedCount == Model.CompetencySummaries.QuestionsCount)
@if (Model.DelegateSelfAssessment.SignOffRequested > 0 && Model.CompetencySummaries.VerifiedCount == Model.CompetencySummaries.QuestionsCount)
{
<a role="button" asp-action="SignOffProfileAssessment" asp-route-candidateAssessmentId="@Model.DelegateSelfAssessment.ID" asp-route-supervisorDelegateId="@Model.SupervisorDelegateDetail.ID" class="nhsuk-button">Sign-off self assessment</a>
}
@if((Model.DelegateSelfAssessment.ResultsVerificationRequests > 1) && Model.CompetencySummaries.VerifiedCount < Model.CompetencySummaries.QuestionsCount)
@if ((Model.DelegateSelfAssessment.ResultsVerificationRequests > 1) && Model.CompetencySummaries.VerifiedCount < Model.CompetencySummaries.QuestionsCount)
{
<a role="button" asp-action="VerifyMultipleResults" asp-route-candidateAssessmentId="@Model.DelegateSelfAssessment.ID" asp-route-supervisorDelegateId="@Model.SupervisorDelegateDetail.ID" class="nhsuk-button">Confirm multiple results</a>
}
Expand All @@ -119,6 +119,7 @@
<partial name="../../Supervisor/Shared/_SearchSupervisorCompetency"
model="@Model.SearchViewModel"
view-data="@(new ViewDataDictionary(ViewData) { { "parent", Model } })" />
<p><span role="alert">@Model.CompetencyGroups.Sum(g => g.Count()) matching @Model.VocabPlural().ToLower()</span></p>
@if (Model.CompetencyGroups.Any())
{
foreach (var competencyGroup in Model.CompetencyGroups)
Expand Down
Loading
Loading