CloudTwin  ROS2 Humble
Digital twin for path and trajectory optimisation
Public Member Functions | Public Attributes | Private Member Functions | List of all members
App\Services\DeliveryPlannerService Class Reference

Public Member Functions

 __construct (private readonly PredictionService $predictionService, private readonly DtTaskQueueService $dtTaskQueue,)
 
 activateNextQueuedPlan (Room $currentRoom)
 
 completePlan (DeliveryPlan $plan, ?Room $currentRoom)
 
 getActivePlan ()
 
 getNextQueuedPlan ()
 
 getStartRoom ()
 
 hasInTransitOrder (DeliveryPlan $plan)
 
 hasRemainingOrders (DeliveryPlan $plan)
 

Public Attributes

const BATCH_WINDOW_MINUTES = 15
 
const START_ROOM_CODE = 'salle_pharmacie'
 

Private Member Functions

 computeEstimatedTimesFromRoom (array $sequence, Collection $orders, Room $startRoom)
 
 computeSequence (Collection $orders, Room $currentRoom)
 
 createPlanFromOrders (Collection $orders, Room $startRoom, string $status, bool $isCritical, int $sequenceOffset=0)
 
 sequenceOrderIds (DeliveryPlan $plan)
 

Constructor & Destructor Documentation

◆ __construct()

App\Services\DeliveryPlannerService::__construct ( private readonly PredictionService  $predictionService,
private readonly DtTaskQueueService  $dtTaskQueue 
)

Member Function Documentation

◆ activateNextQueuedPlan()

App\Services\DeliveryPlannerService::activateNextQueuedPlan ( Room  $currentRoom)

◆ completePlan()

App\Services\DeliveryPlannerService::completePlan ( DeliveryPlan  $plan,
?Room  $currentRoom 
)

◆ computeEstimatedTimesFromRoom()

App\Services\DeliveryPlannerService::computeEstimatedTimesFromRoom ( array  $sequence,
Collection  $orders,
Room  $startRoom 
)
private
Parameters
array<int>$sequence
Collection<int,Order>$orders
Returns
array<string, mixed>

◆ computeSequence()

App\Services\DeliveryPlannerService::computeSequence ( Collection  $orders,
Room  $currentRoom 
)
private
Parameters
Collection<int,Order>$orders
Returns
array<int>

◆ createPlanFromOrders()

App\Services\DeliveryPlannerService::createPlanFromOrders ( Collection  $orders,
Room  $startRoom,
string  $status,
bool  $isCritical,
int  $sequenceOffset = 0 
)
private
Parameters
Collection<int,Order>$orders

◆ getActivePlan()

App\Services\DeliveryPlannerService::getActivePlan ( )

◆ getNextQueuedPlan()

App\Services\DeliveryPlannerService::getNextQueuedPlan ( )

◆ getStartRoom()

App\Services\DeliveryPlannerService::getStartRoom ( )

◆ hasInTransitOrder()

App\Services\DeliveryPlannerService::hasInTransitOrder ( DeliveryPlan  $plan)

◆ hasRemainingOrders()

App\Services\DeliveryPlannerService::hasRemainingOrders ( DeliveryPlan  $plan)

◆ sequenceOrderIds()

App\Services\DeliveryPlannerService::sequenceOrderIds ( DeliveryPlan  $plan)
private
Returns
array<int>

Member Data Documentation

◆ BATCH_WINDOW_MINUTES

const App\Services\DeliveryPlannerService::BATCH_WINDOW_MINUTES = 15

◆ START_ROOM_CODE

const App\Services\DeliveryPlannerService::START_ROOM_CODE = 'salle_pharmacie'

The documentation for this class was generated from the following file: