Files
kupshop/bundles/External/PompoBundle/Util/Watchdog/PompoWatchdog.php
2025-08-02 16:30:27 +02:00

27 lines
1.0 KiB
PHP

<?php
declare(strict_types=1);
namespace External\PompoBundle\Util\Watchdog;
use External\PompoBundle\DataGo\Synchronizer\StockSynchronizer;
use KupShop\WatchdogBundle\Util\Watchdog;
use Query\QueryBuilder;
class PompoWatchdog extends Watchdog
{
/**
* Předefinovávám `getInStoreField`, protože chci vracet skladovost pouze pro centrální sklad. Pokud je produkt skladem třeba
* jen na jedný prodejně, tak to zákazníka nemusí zajímat, protože ta prodejna může být na druhý straně republiky.
*/
public function getInStoreField(QueryBuilder $qb, string $productAlias = 'p', string $variationAlias = 'pv'): string
{
// Najoinuju si skladovost na centralnim skladu
$qb->leftJoin($productAlias, 'stores_items', 'si_wd', "si_wd.id_product = {$productAlias}.id AND {$variationAlias}.id IS NULL AND si_wd.id_store = :wdStoreId")
->setParameter('wdStoreId', StockSynchronizer::STORE_ID);
// Vracim skladovost na centralnim skladu
return 'COALESCE(si_wd.quantity, 0)';
}
}