Stock¶
Lagerbestände eines Produktes laden¶
Mit dem Stock Provider werden die Bestände für ein Produkt geladen.
$stockProvider=new \Alvine\Application\Platform\Plugin\Commerce\Item\Stock\Provider();
$stockData=$stockProvider->getSaleableStockFromIIDWithFactory(1425, new \Alvine\Application\Platform\Plugin\Commerce\Item\Stock\Factory());
Die Strategy Factory holt sich aus der Plugin Konfiguration die Strategie Klasse.
Die Factory bekommt die zuvor geladenen Lagerbestände.
$strategyFactory = new \Alvine\Application\Platform\Plugin\Commerce\Logic\Stock\Strategy\Factory();
$strategyFactory->setStockCollection($stockData);
Wenn nun der Lagerbestand einer Variante bestimmt werden soll, muss die Factory diese Variante noch gesetzt bekommen.
$strategyFactory->setItemVariant('XL');
Nachdem alle Einschränkungen an der Factory definiert sind , kann die Strategy erstellt werden.
$strategy = $strategyFactory->createStockStrategy();
nun kann der der verfügbare Lagerbestand ermittelt werden.
$count = $strategy->getAvailableCount();
Traits¶
Restriction¶
Der Trait \Alvine\Application\Platform\Plugin\Commerce\Logic\Stock\Restriction
beinhaltet die Standard einschränkungen der Lagertabelle.
injectItemIIDRestriction
Produkt IID einschränkung
injectItemSKURestriction
Produkt SKU einschränkung
injectCompaniesRestriction
Mandanten berücksichtigen
injectCompaniesNoExport
Export einschränkung berücksichtigen
Summary¶
Der Trait \Alvine\Application\Platform\Plugin\Commerce\Logic\Stock\Summary
stellt Methoden zum für eine Zusammenfalssung der Bestände.
calcAvailableTotalCount
berechnet die Summe aller verfügbaren Lagerbestände
calcAvailableCountMap
berechnet eine Map pro Variante mit verfügbaren Lagerbestand
getValidAdvisedDate
liefert das Datum zurück bis wann der Avisierte Lagerbestand gültig ist, diese Mehthode ist für calcAvailableCountMap wichtig bei Avisierten Lagerbestand