Changelog: Dedek - 2026-06-10
Summary
Updates focus on implementing a detailed inventory item tracking system (including checking "In Stock" assets on task updates, updating item locations/statuses on task completions, and adding APIs for item details) and migrating driver runsheet dockets from flat JSON text fields to relational category order and route estimation tables.
Added
- Docket Models: Introduced DriverWorkDocketCategoryEstimate.php and DriverWorkDocketCategoryOrder.php models to support runsheet dockets.
- Database Migrations:
database/migrations/2026_06_10_040000_create_docket_estimates_and_orders_tables.phpto create tables for category-wise route estimates and driver ordering.database/migrations/2026_06_10_151000_add_category_to_inventory_item_details_table.phpto add category tracking to individual assets.
- Vue Modal Component: Created ItemDetailShowModal.vue for displaying inventory item details.
Changed
- API App Routes: Added the
inventory-item-detailsendpoint pointing toBinController@inventoryItemDetails. - Bin API Controller: Added
inventoryItemDetails()inside BinController.php to serve categories and locations of inventory items. - Inventory Helpers: Replaced old statuses (Loaded, On Site, Pickup, Damage) with new options: "In Hire", "On Load", "In Stock" in
AutoHelper.php. - Task Repository Enforcements: Updated TaskRepository.php to throw an "Asset not picked up yet" exception if a task's detailed inventory item is not "In Stock" during re-assignment, and added handlers to update detailed asset positions on status changes.
- Stock Detail Saving: Refactored
storeStockDetailinside InventoryManagementController.php to lookup waste container categories and populatecategoryandcategory_idfields, standardizing exception catching. - Yard Stock Calculations: Updated
getStockYardLevelin MainController.php to filter assets based on order categories, standardizing error output messages. - Runsheet Docket Management: Updated TaskRunsheetController.php to process, save, delete, and fetch driver docket category order positions and distance/time estimates through dedicated database tables.
Fixed
- Driver Route List View: Fixed layout rendering and display options in
resources/views/admin/task-runsheets/route-list.blade.phpandresources/js/components/runsheets/RouteList.vue.
Removed
- Deprecated API Routes: Deleted legacy
/v2.15.70prefix route blocks in routes/api-app.php. - Flat Route List Fields: Dropped
category_order,category_estimates,distance_estimate, andtime_estimatefields fromdriver_work_docket_route_listsschema via migrations.