20 lines
963 B
PHP
20 lines
963 B
PHP
<?php
|
|
|
|
namespace App\Services;
|
|
|
|
/** Compatibility facade; the canonical implementation ships to both compositions. */
|
|
final class ReplenishmentProjection
|
|
{
|
|
/** @param array<string,mixed> $policy
|
|
* @param list<array{date:string,quantity:int,additional?:bool}> $reservations
|
|
* @param list<array{date:string,quantity:int,confirmed:bool}> $receipts
|
|
* @param list<array{date:string,quantity:int}> $fulfilledNeeds
|
|
* @param list<array{quantity:int,last_usable_on:?string}>|null $lotBuckets
|
|
* @return array<string,mixed>
|
|
*/
|
|
public function calculate(array $policy, int $physical, string $start, array $reservations = [], array $receipts = [], int $consumedToday = 0, array $fulfilledNeeds = [], ?array $lotBuckets = null): array
|
|
{
|
|
return (new \Tempo\Purchasing\Supply\ReplenishmentProjection)->calculate($policy, $physical, $start, $reservations, $receipts, $consumedToday, $fulfilledNeeds, $lotBuckets);
|
|
}
|
|
}
|