From 00266eb32aec66f9c00ad5b480b6e815b5dd60f0 Mon Sep 17 00:00:00 2001 From: NguyenND Date: Mon, 8 Jun 2026 14:16:28 -0400 Subject: [PATCH] 06/08 Add inspectors' KPI, performance --- app/routes/reports.py | 134 +++++++ app/templates/reports/index.html | 16 + .../reports/inspector_performance.html | 375 ++++++++++++++++++ docs/JQC_Customer_User_Manual.docx | Bin 0 -> 43207 bytes 4 files changed, 525 insertions(+) create mode 100644 app/templates/reports/inspector_performance.html create mode 100644 docs/JQC_Customer_User_Manual.docx diff --git a/app/routes/reports.py b/app/routes/reports.py index 354c430..af30b2b 100644 --- a/app/routes/reports.py +++ b/app/routes/reports.py @@ -561,4 +561,138 @@ def export_issues(): stream_with_context(generate()), mimetype='text/csv', headers={'Content-Disposition': f'attachment; filename="{filename}"'} + ) + + +# ── Inspector Performance ───────────────────────────────────────────────────── + +@bp.route('/inspector-performance') +@login_required +@supervisor_required +def inspector_performance(): + """KPI & performance dashboard for all inspectors — admin/director only.""" + start, end = _date_range() + selected_id = request.args.get('inspector_id', type=int) + + # ── Per-inspector aggregate stats ───────────────────────────────────── + total_rows = db.session.query( + Inspection.inspector_id, + func.count(Inspection.id).label('total'), + func.count(func.distinct(Inspection.facility_id)).label('facilities'), + ).filter( + Inspection.inspection_date >= start, + Inspection.inspection_date <= end, + ).group_by(Inspection.inspector_id).all() + + completed_rows = db.session.query( + Inspection.inspector_id, + func.count(Inspection.id).label('completed'), + func.avg(Inspection.overall_score).label('avg_score'), + ).filter( + Inspection.inspection_date >= start, + Inspection.inspection_date <= end, + Inspection.status == 'completed', + ).group_by(Inspection.inspector_id).all() + + issue_rows = db.session.query( + Inspection.inspector_id, + func.count(Issue.id).label('count'), + ).join(Issue, Issue.inspection_id == Inspection.id)\ + .filter( + Inspection.inspection_date >= start, + Inspection.inspection_date <= end, + ).group_by(Inspection.inspector_id).all() + + followup_rows = db.session.query( + Inspection.inspector_id, + func.count(Inspection.id).label('count'), + ).filter( + Inspection.inspection_date >= start, + Inspection.inspection_date <= end, + Inspection.follow_up_required == True, + ).group_by(Inspection.inspector_id).all() + + total_map = {r.inspector_id: {'total': r.total, 'facilities': r.facilities} for r in total_rows} + completed_map = {r.inspector_id: {'completed': r.completed, 'avg_score': r.avg_score} for r in completed_rows} + issues_map = {r.inspector_id: r.count for r in issue_rows} + followups_map = {r.inspector_id: r.count for r in followup_rows} + + all_ids = set(total_map.keys()) + active_inspectors = ( + User.query + .filter(User.id.in_(all_ids), User.active == True, User.role == 'inspector') + .order_by(User.full_name, User.username) + .all() + ) if all_ids else [] + + inspector_stats = [] + for u in active_inspectors: + t = total_map.get(u.id, {}) + c = completed_map.get(u.id, {}) + tot = t.get('total', 0) + comp = c.get('completed', 0) + avg = round(float(c['avg_score']), 1) if c.get('avg_score') else None + inspector_stats.append({ + 'id': u.id, + 'display_name': u.display_name, + 'total': tot, + 'completed': comp, + 'completion_rate': round(comp / tot * 100) if tot else 0, + 'avg_score': avg, + 'issues_flagged': issues_map.get(u.id, 0), + 'follow_ups': followups_map.get(u.id, 0), + 'facilities': t.get('facilities', 0), + }) + + inspector_stats.sort(key=lambda x: (x['avg_score'] is None, -(x['avg_score'] or 0))) + + # ── Individual drill-down ───────────────────────────────────────────── + selected_inspector = None + selected_kpis = None + trend_data = [] + recent_inspections = [] + + if selected_id: + selected_inspector = db.session.get(User, selected_id) + if selected_inspector and selected_inspector.role == 'inspector': + selected_kpis = next((s for s in inspector_stats if s['id'] == selected_id), None) + + trend_rows = db.session.query( + func.date(Inspection.inspection_date).label('day'), + func.avg(Inspection.overall_score).label('avg'), + func.count(Inspection.id).label('count'), + ).filter( + Inspection.inspector_id == selected_id, + Inspection.inspection_date >= start, + Inspection.inspection_date <= end, + Inspection.status == 'completed', + Inspection.overall_score.isnot(None), + ).group_by(func.date(Inspection.inspection_date))\ + .order_by(func.date(Inspection.inspection_date)).all() + + trend_data = [ + {'day': str(r.day), 'avg': round(float(r.avg), 2), 'count': r.count} + for r in trend_rows + ] + + recent_inspections = ( + Inspection.query + .filter( + Inspection.inspector_id == selected_id, + Inspection.inspection_date >= start, + Inspection.inspection_date <= end, + ) + .order_by(Inspection.inspection_date.desc()) + .limit(20) + .all() + ) + + return render_template('reports/inspector_performance.html', + start=start, end=end, + inspector_stats=inspector_stats, + selected_inspector=selected_inspector, + selected_kpis=selected_kpis, + trend_data=trend_data, + recent_inspections=recent_inspections, + selected_id=selected_id, ) \ No newline at end of file diff --git a/app/templates/reports/index.html b/app/templates/reports/index.html index eb775d9..e9323c5 100644 --- a/app/templates/reports/index.html +++ b/app/templates/reports/index.html @@ -12,6 +12,22 @@ {% endblock %} {% block content %} +{# ── Sub-nav ── #} + + {# ── Header + date filter ── #}
diff --git a/app/templates/reports/inspector_performance.html b/app/templates/reports/inspector_performance.html new file mode 100644 index 0000000..53a32b1 --- /dev/null +++ b/app/templates/reports/inspector_performance.html @@ -0,0 +1,375 @@ +{% extends "base.html" %} +{% block title %}Inspector Performance{% endblock %} +{% block extra_css %} + +{% endblock %} +{% block content %} + +{# ── Sub-nav ── #} + + +{# ── Header ── #} +
+
+

Inspector Performance

+

{{ start.strftime('%b %d, %Y') }} — {{ end.strftime('%b %d, %Y') }}

+
+
+ +{# ── Date filter ── #} +
+
+
+
+ + +
+
+ + +
+ {% if selected_id %} + + {% endif %} +
+ + Reset +
+
+
+
+ +{% if not inspector_stats %} +
+ + No inspections found for the selected date range. +
+{% else %} + +{# ── Comparison charts ── #} +
+
+
+
Avg Score by Inspector
+
+
+
+
+
+
Inspections Completed
+
+
+
+
+ +{# ── Summary table ── #} +
+
+
All Inspectors — Summary
+ {{ inspector_stats|length }} inspector{{ 's' if inspector_stats|length != 1 }} +
+
+ + + + + + + + + + + + + + + + {% for s in inspector_stats %} + + + + + + + + + + + + {% endfor %} + +
InspectorTotalCompletedCompletion RateAvg ScoreIssues FlaggedFollow-upsFacilities
+ {{ s.display_name }} + {{ s.total }}{{ s.completed }} +
+
+
+
+ {{ s.completion_rate }}% +
+
+ {% if s.avg_score %} + + {{ '%.1f'|format(s.avg_score) }}% + + {% else %} + + {% endif %} + + {% if s.issues_flagged > 0 %} + {{ s.issues_flagged }} + {% else %} + 0 + {% endif %} + + {% if s.follow_ups > 0 %} + {{ s.follow_ups }} + {% else %} + 0 + {% endif %} + {{ s.facilities }} + {% if selected_id == s.id %} + Close + {% else %} + Details + {% endif %} +
+
+
+ +{# ── Individual inspector drill-down ── #} +{% if selected_inspector and selected_kpis %} +
+
+
+ {{ selected_inspector.display_name }} +
+ + + +
+
+ + {# KPI stat row #} +
+ {% for label, value, color, icon in [ + ('Total Inspections', selected_kpis.total, 'primary', 'bi-clipboard-data'), + ('Completed', selected_kpis.completed, 'success', 'bi-check-circle'), + ('Avg Score', (('%.1f'|format(selected_kpis.avg_score)) + '%') if selected_kpis.avg_score else '—', 'info', 'bi-graph-up'), + ('Issues Flagged', selected_kpis.issues_flagged, 'danger', 'bi-flag'), + ('Follow-ups Req.', selected_kpis.follow_ups, 'warning', 'bi-arrow-repeat'), + ('Facilities Covered', selected_kpis.facilities, 'primary', 'bi-building'), + ] %} +
+
+
+

{{ label }}

+
+ + {{ value }} +
+
+
+
+ {% endfor %} +
+ + {# Score trend chart #} +
+
+
+
+
Score Trend — {{ selected_inspector.display_name }}
+
+
+ {% if trend_data %} +
+ {% else %} +

No completed inspections with scores in this period.

+ {% endif %} +
+
+
+
+ + {# Recent inspections #} + {% if recent_inspections %} +
+
+
Recent Inspections
+ {{ recent_inspections|length }} +
+
+ + + + + + + + + + + + + + {% for ins in recent_inspections %} + + + + + + + + + + {% endfor %} + +
DateFacilityAreaTemplateScoreStatus
{{ ins.inspection_date.strftime('%b %d, %Y') }}{{ ins.facility.name if ins.facility else '—' }}{{ ins.area.name if ins.area else '—' }}{{ ins.template.name if ins.template else '—' }} + {% if ins.overall_score %} + + {{ '%.1f'|format(ins.overall_score|float) }}% + + {% else %}—{% endif %} + + {% set sc = ins.status %} + + {{ 'Submitted' if sc == 'completed' else sc.replace('_',' ')|title }} + + + View +
+
+
+ {% endif %} + +
+
+{% endif %} + +{% endif %}{# end if inspector_stats #} + +{% endblock %} + +{% block extra_js %} + + +{% endblock %} diff --git a/docs/JQC_Customer_User_Manual.docx b/docs/JQC_Customer_User_Manual.docx new file mode 100644 index 0000000000000000000000000000000000000000..485e76045334a6b8a0e0a5d591496a8349be80ae GIT binary patch literal 43207 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�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®usHEyCb(XZ0-v$*#NtvYr2)qH zl8OVh_b_?fBd%=J8Z%ouZKvDDQ5iT91sr83c7BY^`OOQ;&2U%E8g#%NgF8- zuZgWb``kRI(voV!-G3uCOiw~ORgZ*MEQIsMJC$dIRvyBPoR~3jC1mzlRlJ4e?=yHp z51ba+1-^_I6EvulGpUoe+R8e`W znkO1*=pG5^39pNxHZ%o%CyMCdiI^L^|6L;y&b$Xm{`L^eKaSs^mTAt2um9~|!6GlR z8}$y6IZc5acnN;bX%k1sAD#SvDUHl$&X~LfrBX8y}AEE6-m4+pmu9+C3 zb$|v^6&aysa;sGFC)ZqLx`FuH_-&xqh=EhOYUP2LMtEB@GYw! ze6`Ue6?L3(Hs`VHCO+9uYI-K?(XZnu5y-A8d8Xur)Akl?Z}GawF}I>^uWRR_Fs<7) z(|Y9_wcLwU*Qh@<7A2w2qOOrnv818*$T^9CzuyE!y}0=1;!ANf|;-uAt#eu7y6@_e~aTVpVvzA|P595|-y z84{7nhDksq@&HX;w!mOUU#L*$xWT@Zi2Np6rDa$Pu@m8I$gBR1Li(oQ_RL=GLo>)^$Ds?jpAL#RkM z?fdA$=qSA~A~q;g>F`9gkx~R}3DYD%mPsEP@1h=Ew#;}Z#n4OFD{n%EYgOB&qkiWa z8)e_XW2VrDl0>}&QXiFK-L^WCBl!_v1&}3ASw+G*YhKQU~$g%VlgU)d)!OTO-I9CM_c<&r|3?=^gBA|!Y-1xCYNe*Ao>`Uk z>43>&?QIbk=ScB!M7(h*h4+y^&`#h;>UjjzVSbwFTK?INan#7IY5Z#o%1nGAUQmE9 zIi>2k$bt}GRIW!Yy$2TgvUIRJ8R-qk`)_9Vql#+0Bsu3X+UJT2!?EgZ4@aKO{4?;P zpt2%Yx0rzI$hhtRy2G*%!N?rQMa%Wp3|kq~Yag?qc|(cTrXN(;!9D zAL9ZkTR_fMk*l=dj%MUv{*_EWbLgt@#JEx>UjhK2RYm>D*t}G3Bg^uWE%rNI{Hpv< zDEXxr0DwOFCI5dA8kkZ z&6i7YQQ|N0m0K}a9j@LixO5PH^~>RpTL)M5f3B=9)c}A>Dgf|5>#VEtKPR!j%jq+I zlmD91URD1&uK%u9&iYM#Im%x(__IU*-5@FF_Z0ZI?p;*@1KH$$%)JQ!H<5Gj^fy0# F{T~)RZJYoA literal 0 HcmV?d00001