From 3a04587b48850dcf37c2db29fd11b1c823b575c1 Mon Sep 17 00:00:00 2001 From: "Ronald A. Richardson" Date: Wed, 17 Jun 2026 12:51:04 +0800 Subject: [PATCH 1/3] Add inspection maintenance platform foundation --- addon/components/inspection-form/details.hbs | 53 ++++ addon/components/inspection-form/form.hbs | 59 ++++ addon/components/inspection-form/form.js | 58 ++++ .../inspection-submission/details.hbs | 86 ++++++ .../components/inspection-submission/form.hbs | 111 ++++++++ .../components/inspection-submission/form.js | 102 +++++++ addon/components/layout/fleet-ops-sidebar.js | 2 + .../maintenance/inspection-forms/index.js | 101 +++++++ .../inspection-forms/index/details.js | 32 +++ .../inspection-forms/index/edit.js | 28 ++ .../maintenance/inspection-forms/index/new.js | 33 +++ .../inspection-submissions/index.js | 86 ++++++ .../inspection-submissions/index/details.js | 42 +++ .../inspection-submissions/index/edit.js | 28 ++ .../inspection-submissions/index/new.js | 33 +++ addon/extension.js | 4 + addon/models/inspection-form.js | 35 +++ addon/models/inspection-item-result.js | 18 ++ addon/models/inspection-submission.js | 52 ++++ addon/routes.js | 20 ++ addon/routes/maintenance/inspection-forms.js | 3 + .../maintenance/inspection-forms/index.js | 23 ++ .../inspection-forms/index/details.js | 18 ++ .../inspection-forms/index/details/index.js | 3 + .../inspection-forms/index/edit.js | 18 ++ .../maintenance/inspection-forms/index/new.js | 3 + .../maintenance/inspection-submissions.js | 3 + .../inspection-submissions/index.js | 25 ++ .../inspection-submissions/index/details.js | 18 ++ .../index/details/index.js | 3 + .../inspection-submissions/index/edit.js | 18 ++ .../inspection-submissions/index/new.js | 3 + addon/services/inspection-form-actions.js | 51 ++++ .../services/inspection-submission-actions.js | 52 ++++ .../maintenance/inspection-forms.hbs | 1 + .../maintenance/inspection-forms/index.hbs | 28 ++ .../inspection-forms/index/details.hbs | 14 + .../inspection-forms/index/details/index.hbs | 1 + .../inspection-forms/index/edit.hbs | 11 + .../inspection-forms/index/new.hbs | 11 + .../maintenance/inspection-submissions.hbs | 1 + .../inspection-submissions/index.hbs | 28 ++ .../inspection-submissions/index/details.hbs | 14 + .../index/details/index.hbs | 1 + .../inspection-submissions/index/edit.hbs | 11 + .../inspection-submissions/index/new.hbs | 11 + app/components/inspection-form/details.js | 1 + app/components/inspection-form/form.js | 1 + .../inspection-submission/details.js | 1 + app/components/inspection-submission/form.js | 1 + .../maintenance/inspection-forms/index.js | 1 + .../inspection-forms/index/details.js | 1 + .../inspection-forms/index/edit.js | 1 + .../maintenance/inspection-forms/index/new.js | 1 + .../inspection-submissions/index.js | 1 + .../inspection-submissions/index/details.js | 1 + .../inspection-submissions/index/edit.js | 1 + .../inspection-submissions/index/new.js | 1 + app/routes/maintenance/inspection-forms.js | 1 + .../maintenance/inspection-forms/index.js | 1 + .../inspection-forms/index/details.js | 1 + .../inspection-forms/index/details/index.js | 1 + .../inspection-forms/index/edit.js | 1 + .../maintenance/inspection-forms/index/new.js | 1 + .../maintenance/inspection-submissions.js | 1 + .../inspection-submissions/index.js | 1 + .../inspection-submissions/index/details.js | 1 + .../index/details/index.js | 1 + .../inspection-submissions/index/edit.js | 1 + .../inspection-submissions/index/new.js | 1 + app/services/inspection-form-actions.js | 1 + app/services/inspection-submission-actions.js | 1 + app/templates/maintenance/inspection-forms.js | 1 + .../maintenance/inspection-forms/index.js | 1 + .../inspection-forms/index/details.js | 1 + .../inspection-forms/index/details/index.js | 1 + .../inspection-forms/index/edit.js | 1 + .../maintenance/inspection-forms/index/new.js | 1 + .../maintenance/inspection-submissions.js | 1 + .../inspection-submissions/index.js | 1 + .../inspection-submissions/index/details.js | 1 + .../index/details/index.js | 1 + .../inspection-submissions/index/edit.js | 1 + .../inspection-submissions/index/new.js | 1 + ..._06_17_000001_create_inspection_tables.php | 124 +++++++++ server/src/Auth/Schemas/FleetOps.php | 12 + .../Controllers/Internal/v1/HubController.php | 31 ++- .../Internal/v1/InspectionFormController.php | 47 ++++ .../v1/InspectionSubmissionController.php | 154 +++++++++++ .../src/Http/Resources/v1/InspectionForm.php | 75 ++++++ .../Resources/v1/InspectionItemResult.php | 41 +++ .../Resources/v1/InspectionSubmission.php | 62 +++++ server/src/Models/InspectionForm.php | 122 +++++++++ server/src/Models/InspectionItemResult.php | 90 +++++++ server/src/Models/InspectionSubmission.php | 255 ++++++++++++++++++ server/src/Models/WorkOrder.php | 3 + server/src/Observers/WorkOrderObserver.php | 4 +- .../Reporting/FleetOpsReportSchema.php | 179 ++++++++++++ server/src/routes.php | 10 + 99 files changed, 2598 insertions(+), 5 deletions(-) create mode 100644 addon/components/inspection-form/details.hbs create mode 100644 addon/components/inspection-form/form.hbs create mode 100644 addon/components/inspection-form/form.js create mode 100644 addon/components/inspection-submission/details.hbs create mode 100644 addon/components/inspection-submission/form.hbs create mode 100644 addon/components/inspection-submission/form.js create mode 100644 addon/controllers/maintenance/inspection-forms/index.js create mode 100644 addon/controllers/maintenance/inspection-forms/index/details.js create mode 100644 addon/controllers/maintenance/inspection-forms/index/edit.js create mode 100644 addon/controllers/maintenance/inspection-forms/index/new.js create mode 100644 addon/controllers/maintenance/inspection-submissions/index.js create mode 100644 addon/controllers/maintenance/inspection-submissions/index/details.js create mode 100644 addon/controllers/maintenance/inspection-submissions/index/edit.js create mode 100644 addon/controllers/maintenance/inspection-submissions/index/new.js create mode 100644 addon/models/inspection-form.js create mode 100644 addon/models/inspection-item-result.js create mode 100644 addon/models/inspection-submission.js create mode 100644 addon/routes/maintenance/inspection-forms.js create mode 100644 addon/routes/maintenance/inspection-forms/index.js create mode 100644 addon/routes/maintenance/inspection-forms/index/details.js create mode 100644 addon/routes/maintenance/inspection-forms/index/details/index.js create mode 100644 addon/routes/maintenance/inspection-forms/index/edit.js create mode 100644 addon/routes/maintenance/inspection-forms/index/new.js create mode 100644 addon/routes/maintenance/inspection-submissions.js create mode 100644 addon/routes/maintenance/inspection-submissions/index.js create mode 100644 addon/routes/maintenance/inspection-submissions/index/details.js create mode 100644 addon/routes/maintenance/inspection-submissions/index/details/index.js create mode 100644 addon/routes/maintenance/inspection-submissions/index/edit.js create mode 100644 addon/routes/maintenance/inspection-submissions/index/new.js create mode 100644 addon/services/inspection-form-actions.js create mode 100644 addon/services/inspection-submission-actions.js create mode 100644 addon/templates/maintenance/inspection-forms.hbs create mode 100644 addon/templates/maintenance/inspection-forms/index.hbs create mode 100644 addon/templates/maintenance/inspection-forms/index/details.hbs create mode 100644 addon/templates/maintenance/inspection-forms/index/details/index.hbs create mode 100644 addon/templates/maintenance/inspection-forms/index/edit.hbs create mode 100644 addon/templates/maintenance/inspection-forms/index/new.hbs create mode 100644 addon/templates/maintenance/inspection-submissions.hbs create mode 100644 addon/templates/maintenance/inspection-submissions/index.hbs create mode 100644 addon/templates/maintenance/inspection-submissions/index/details.hbs create mode 100644 addon/templates/maintenance/inspection-submissions/index/details/index.hbs create mode 100644 addon/templates/maintenance/inspection-submissions/index/edit.hbs create mode 100644 addon/templates/maintenance/inspection-submissions/index/new.hbs create mode 100644 app/components/inspection-form/details.js create mode 100644 app/components/inspection-form/form.js create mode 100644 app/components/inspection-submission/details.js create mode 100644 app/components/inspection-submission/form.js create mode 100644 app/controllers/maintenance/inspection-forms/index.js create mode 100644 app/controllers/maintenance/inspection-forms/index/details.js create mode 100644 app/controllers/maintenance/inspection-forms/index/edit.js create mode 100644 app/controllers/maintenance/inspection-forms/index/new.js create mode 100644 app/controllers/maintenance/inspection-submissions/index.js create mode 100644 app/controllers/maintenance/inspection-submissions/index/details.js create mode 100644 app/controllers/maintenance/inspection-submissions/index/edit.js create mode 100644 app/controllers/maintenance/inspection-submissions/index/new.js create mode 100644 app/routes/maintenance/inspection-forms.js create mode 100644 app/routes/maintenance/inspection-forms/index.js create mode 100644 app/routes/maintenance/inspection-forms/index/details.js create mode 100644 app/routes/maintenance/inspection-forms/index/details/index.js create mode 100644 app/routes/maintenance/inspection-forms/index/edit.js create mode 100644 app/routes/maintenance/inspection-forms/index/new.js create mode 100644 app/routes/maintenance/inspection-submissions.js create mode 100644 app/routes/maintenance/inspection-submissions/index.js create mode 100644 app/routes/maintenance/inspection-submissions/index/details.js create mode 100644 app/routes/maintenance/inspection-submissions/index/details/index.js create mode 100644 app/routes/maintenance/inspection-submissions/index/edit.js create mode 100644 app/routes/maintenance/inspection-submissions/index/new.js create mode 100644 app/services/inspection-form-actions.js create mode 100644 app/services/inspection-submission-actions.js create mode 100644 app/templates/maintenance/inspection-forms.js create mode 100644 app/templates/maintenance/inspection-forms/index.js create mode 100644 app/templates/maintenance/inspection-forms/index/details.js create mode 100644 app/templates/maintenance/inspection-forms/index/details/index.js create mode 100644 app/templates/maintenance/inspection-forms/index/edit.js create mode 100644 app/templates/maintenance/inspection-forms/index/new.js create mode 100644 app/templates/maintenance/inspection-submissions.js create mode 100644 app/templates/maintenance/inspection-submissions/index.js create mode 100644 app/templates/maintenance/inspection-submissions/index/details.js create mode 100644 app/templates/maintenance/inspection-submissions/index/details/index.js create mode 100644 app/templates/maintenance/inspection-submissions/index/edit.js create mode 100644 app/templates/maintenance/inspection-submissions/index/new.js create mode 100644 server/migrations/2026_06_17_000001_create_inspection_tables.php create mode 100644 server/src/Http/Controllers/Internal/v1/InspectionFormController.php create mode 100644 server/src/Http/Controllers/Internal/v1/InspectionSubmissionController.php create mode 100644 server/src/Http/Resources/v1/InspectionForm.php create mode 100644 server/src/Http/Resources/v1/InspectionItemResult.php create mode 100644 server/src/Http/Resources/v1/InspectionSubmission.php create mode 100644 server/src/Models/InspectionForm.php create mode 100644 server/src/Models/InspectionItemResult.php create mode 100644 server/src/Models/InspectionSubmission.php diff --git a/addon/components/inspection-form/details.hbs b/addon/components/inspection-form/details.hbs new file mode 100644 index 000000000..6770da9ff --- /dev/null +++ b/addon/components/inspection-form/details.hbs @@ -0,0 +1,53 @@ +
+ +
+
+
Name
+
{{n-a @resource.name}}
+
+
+
Status
+
{{smart-humanize @resource.status}}
+
+
+
Type
+
{{smart-humanize @resource.type}}
+
+
+
Frequency
+
{{smart-humanize @resource.frequency}}
+
+
+
Items
+
{{@resource.item_count}}
+
+
+
Published
+
{{n-a (format-date-fns @resource.published_at "dd MMM yyyy, HH:mm")}}
+
+
+
Description
+
{{n-a @resource.description}}
+
+
+
+ + +
+ {{#each @resource.items as |item|}} +
+
+
{{n-a item.label}}
+
{{n-a item.category}}
+
+ {{smart-humanize item.severity}} +
+ {{else}} +
No checklist items configured.
+ {{/each}} +
+
+ + + +
diff --git a/addon/components/inspection-form/form.hbs b/addon/components/inspection-form/form.hbs new file mode 100644 index 000000000..ed8f8cec6 --- /dev/null +++ b/addon/components/inspection-form/form.hbs @@ -0,0 +1,59 @@ +
+ +
+ + + + + + {{smart-humanize type}} + + + + + {{smart-humanize status}} + + + + + {{smart-humanize frequency}} + + + +