6 declare(strict_types=1);
19 private $configuration;
24 private $resourceConnection;
34 $this->configuration = $stockConfiguration;
44 $configManageStock = $this->configuration->getManageStock();
45 $configNotifyStockQty = $this->configuration->getNotifyStockQty();
47 $connection = $this->resourceConnection->getConnection();
49 'source_item_config.notify_stock_qty',
53 $globalManageStockEnabledCondition = implode(
55 $connection->prepareSqlCondition(
'legacy_stock_item.use_config_manage_stock', 1),
56 $connection->prepareSqlCondition($configManageStock, 1),
57 $connection->prepareSqlCondition(
'main_table.quantity', [
'lt' => $qtyCondition]),
61 $globalManageStockDisabledCondition = implode(
63 $connection->prepareSqlCondition(
'legacy_stock_item.use_config_manage_stock', 0),
64 $connection->prepareSqlCondition(
'legacy_stock_item.manage_stock', 1),
65 $connection->prepareSqlCondition(
'main_table.quantity', [
'lt' => $qtyCondition]),
72 $globalManageStockEnabledCondition,
73 $globalManageStockDisabledCondition,
78 $select->where(
'(' . $condition .
')');