feat: initialize HostBooking and ConveyorDispo code structure and document project processes and database schema

This commit is contained in:
2026-05-06 11:51:58 +02:00
parent 5d856971cd
commit 95a5ea9b8b
35 changed files with 1878 additions and 2 deletions

View File

@@ -0,0 +1,35 @@
## Structure
The standard process starts the following threads
| Threads | Description |
|---------|-------------|
| ToEmptyLeBuffer | supplies empty HU to workstations/buffers (typically for goods receipt) |
| StartInitialOrdersHost | schedules OrdersHost (bring them from status Initial to Pending) |
| LoopOverloadDistribution | Updates ResourceSetting.Overload based on the number of OrdersHost's destinations. |
| OrderManager | starts OrdersHosts in status Pending |
The worker-thread run independently from each other and the worker must be such that they not operate on the same Orders or Le.
## Worker *ToEmptyLeBuffer*
3 Steps:
1. try to reroute empty LE already on the conveyor on the way to storage to match the demand of the buffer
2. find LE in storage to match the demand of the buffer
3. Fulfill explicit orders from WMS for LE
- search for OrdersHost in status Initial and as LeNo a NextEmtyLe-name
- find an empty LE in storage and assign it to the OrderHost
- start the OrderHost
## Worker *StartInitialOrdersHost*
- If an order for the same LE of type Transport is active, replace the it with the new order
- If an order for the same LE of type TransportHost is active and the destination is the storage, replace the it with the new order
- schedule the OrderHost if no other order for the LE is active, and
- the Le is on the conveyor or
- the Le is in storage and the destination has demand
## Worker *OrderManager*
Starts the orders, depending on whether the destination is accessible (e.g. aisle not ready) or there is demand (e.g. for workstations), the priority of the orders and so on. Orders are considered in the following sequence:
- orders for LE on the conveyor
- orders to destinations with resources management
- orders to destinations without resources management

View File

@@ -0,0 +1,26 @@
## Overview
This process receives messages via the HostMessageFromWmsService and processes them.
## Message *AcknowledgeTransportCompleted*
The process finishes corresponding OrdersHost, OrdersConveyor, and OrdersMiniload entries (if they exist) and sends TordDelete telegrams to the affected devices.
## Message *CancelRequestForTransportOrder*
The process cancels corresponding OrdersHost, OrdersConveyor, and OrdersMiniload entries (if they exist) and sends TordDelete telegrams to the affected devices.
## Message *ChangePtlSignalState*
This is essentially forwared to the PLC: switch a PTL light on or off.
## Message *DepartureNotification*
Upon receipt, the process creates an OrdersHost entry or starts an existing one. Also, a corrseponding signal is sent to the PLC.
## Message *HuChange*
This message signals changes to a HU (e.g. type, the abc area, if it is empty, the subdivision type, and others)
## Message *RequestEmptyHuReport*
Depending on the request type, the WCS collects information on empty HU on the conveyor or in storage and replies with an EmptyHuReport.
## Message *SupplyRequestEmptyHu*
For this message, the process creates OrdersHost entries for the requestes HU type (not with explicit HU numbers but stand-in names). Process ConveyorDispo later selects the HU and starts the order.
## Message *UnsupportedHostMessage*
is a stand.in message for unknown message types.

View File

@@ -0,0 +1,8 @@
# WCS
### Process overview
| Process | Responsibilities |
|---------|------------------|
| ConveyorDispo | Scheduling OrdersHosts and create OrdersConveyor and/or OrdersMiniload|
| HostBooking | Process messages from an ERP system (create OrdersHost) |