configuration = $configuration; $this->resourceConnection = $resourceConnection; } /** * @inheritdoc * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function execute(Select $select): string { $globalMinQty = (float)$this->configuration->getMinQty(); $quantityExpression = (string)$this->resourceConnection->getConnection()->getCheckSql( 'source_item.' . SourceItemInterface::STATUS . ' = ' . SourceItemInterface::STATUS_OUT_OF_STOCK, 0, SourceItemInterface::QUANTITY ); $quantityExpression = 'SUM(' . $quantityExpression . ')'; $condition = '(legacy_stock_item.use_config_min_qty = 1 AND ' . $quantityExpression . ' > ' . $globalMinQty . ')' . ' OR ' . '(legacy_stock_item.use_config_min_qty = 0 AND ' . $quantityExpression . ' > legacy_stock_item.min_qty)'; return $condition; } }