Skip to main content

TRUCK REPORTED ISSUE

🔧 Technical Specification: Truck Reported Issue


📋 Feature Overview

Attribute Detail
Module 📂 Fleet (TRUCK_REPORTED_ISSUE)
Feature Name Truck Reported Issue
Description Manages issues reported by drivers regarding vehicle condition. Supports photo evidence upload, workshop assignment, and status workflow (Pending, On Queue, etc.).
Page & Detail
1. Listing Page: /truck-reported-issue
Displays grid of reported issues, filters by status/urgency, and actions.
2. Add Page: /add-truck-reported-issue
Form for reporting new issues and uploading evidence photos.
3. View/Edit Page: /view-truck-reported-issue
Detailed view to assign workshops, update status, and set schedule dates.
User Guide 📄 [Ekajaya Admin User Guide - Fleet Module, Section 7]

🛠️ Technical Implementation

A. Permissions & Access Control

Note: Access is controlled via PermissionGuard and component-level checks.
Scope Permission Code Description & Page Usage
Menu Visibility TRUCK_REPORTED_ISSUE.MENU

Sidebar menu visibility.

\truck-reported-issue

\add-truck-reported-issue

\view-truck-reported-issue

Page Routing TRUCK_REPORTED_ISSUE.VIEW Access to listing route.
\truck-reported-issue
Page Routing TRUCK_REPORTED_ISSUE.UPDATE

Access to add/edit routes.

\add-truck-reported-issue

\view-truck-reported-issue

Create Action TRUCK_REPORTED_ISSUE.UPDATE Controls the + Add button on listing.
\truck-reported-issue
View Access TRUCK_REPORTED_ISSUE.VIEW Controls visibility of Edit icon.
\truck-reported-issue
Delete Action TRUCK_REPORTED_ISSUE.DELETE Visibility of the Delete 🗑️ icon.
\truck-reported-issue
Edit/Save Action TRUCK_REPORTED_ISSUE.UPDATE

Ability to save changes on Add/Edit screen.
\add-truck-reported-issue

\view-truck-reported-issue


B. API Interaction

Base URL: ${environment.baseApiUrl}
1. Listing Truck Reported Issue \truck-reported-issue
/settings/getQuery
POST
Filter: type='Truck Issue Urgency'
/truckWorkshops/getQuery
POST
Filter: isDeleted=0
/truckReportedIssues/getQuery
POST
Filter: driverFullName, plateNo, approvalStatus, issueUrgency
/truckReportedIssues/delete
POST
Purpose: Hard Delete Record
2. Add Truck Reported Issue \add-truck-reported-issue
/carriers/getQuery
POST
Filter: isDeleted=0, moverId (Auto-populate driver/tanker)
/movers/getQuery
POST
Filter: isDeleted=0
/tankers/getQuery
POST
Filter: isDeleted=0
/drivers/getQuery
POST
Filter: isDeleted=0
/settings/getQuery
POST
Filter: type='Truck Issue Type'
/truckReportedIssues/createWithFile
POST
Purpose: Create new issue (Multipart Form Data)
3. View/Edit Truck Reported Issue \view-truck-reported-issue
/truckReportedIssues/getOne
GET
Purpose: Fetch specific issue details
/settings/getQuery
POST
Filter: type='Truck Issue Urgency'
/truckWorkshops/getQuery
POST
Filter: isDeleted=0
/truckReportedIssue/update
POST
Purpose: Update (Status: Accept) - Multipart Form Data
/truckReportedIssues/update
POST
Purpose: Update (Status: Reject/Cancelled/Other) - Standard JSON