diff --git a/lib/analytics.php b/lib/analytics.php index 91a8f1d..75d67b1 100644 --- a/lib/analytics.php +++ b/lib/analytics.php @@ -180,24 +180,24 @@ function qdb_analytics_stale_clients(PDO $pdo, array $tokenRec): array { SELECT cl.clientCode, co.username AS coachUsername, co.coachID, - fc.firstCompletedAt, - fc.firstQuestionnaireID, - qn.name AS firstQuestionnaireName, + lc.lastCompletedAt, + lc.lastQuestionnaireID, + qn.name AS lastQuestionnaireName, la.lastActivityAt, n.note AS followupNote FROM client cl INNER JOIN ( - SELECT cq.clientCode, cq.questionnaireID AS firstQuestionnaireID, cq.completedAt AS firstCompletedAt + SELECT cq.clientCode, cq.questionnaireID AS lastQuestionnaireID, cq.completedAt AS lastCompletedAt FROM completed_questionnaire cq WHERE cq.completedAt IS NOT NULL AND cq.rowid = ( SELECT c2.rowid FROM completed_questionnaire c2 WHERE c2.clientCode = cq.clientCode AND c2.completedAt IS NOT NULL - ORDER BY c2.completedAt ASC, c2.questionnaireID ASC + ORDER BY c2.completedAt DESC, c2.questionnaireID DESC LIMIT 1 ) - ) fc ON fc.clientCode = cl.clientCode - LEFT JOIN questionnaire qn ON qn.questionnaireID = fc.firstQuestionnaireID + ) lc ON lc.clientCode = cl.clientCode + LEFT JOIN questionnaire qn ON qn.questionnaireID = lc.lastQuestionnaireID LEFT JOIN coach co ON co.coachID = cl.coachID LEFT JOIN ( SELECT qs.clientCode, MAX(qs.submittedAt) AS lastActivityAt @@ -221,10 +221,10 @@ function qdb_analytics_stale_clients(PDO $pdo, array $tokenRec): array { $out[] = [ 'clientCode' => $r['clientCode'], 'coachUsername' => $r['coachUsername'] ?? $r['coachID'], - 'firstQuestionnaireID' => $r['firstQuestionnaireID'], - 'firstQuestionnaireName'=> $r['firstQuestionnaireName'] ?? $r['firstQuestionnaireID'], - 'firstCompletedAt' => $r['firstCompletedAt'] - ? date('Y-m-d H:i', (int)$r['firstCompletedAt']) : '', + 'lastQuestionnaireID' => $r['lastQuestionnaireID'], + 'lastQuestionnaireName' => $r['lastQuestionnaireName'] ?? $r['lastQuestionnaireID'], + 'lastCompletedAt' => $r['lastCompletedAt'] + ? date('Y-m-d H:i', (int)$r['lastCompletedAt']) : '', 'lastActivityAt' => $lastAt ? date('Y-m-d H:i', $lastAt) : '', 'daysSinceLastActivity' => $daysSince, 'note' => $r['followupNote'] ?? '', diff --git a/website/js/pages/insights.js b/website/js/pages/insights.js index 5895310..a2ede30 100644 --- a/website/js/pages/insights.js +++ b/website/js/pages/insights.js @@ -170,7 +170,7 @@ function renderInsights() {
| Client | Counselor | First completed | First at | +Client | Counselor | Last completed | Last at | Last activity | Days idle | Note |
|---|---|---|---|---|---|---|---|---|---|---|
${esc(c.clientCode)} |
${esc(c.coachUsername)} | -${esc(c.firstQuestionnaireName || '—')} | -${esc(c.firstCompletedAt || '—')} | +${esc(c.lastQuestionnaireName || '—')} | +${esc(c.lastCompletedAt || '—')} | ${esc(c.lastActivityAt || '—')} | ${c.daysSinceLastActivity != null ? c.daysSinceLastActivity : '—'} |