select('*')->from('vats'); foreach ($vatsSQL->execute() as $vat) { $data = json_decode($vat['data'], true); $vats[$vat['id_country'] ?? 'CZ'][$vat['vat']] = $data['level'] ?? 'high'; } } /** @var \Order $order */ $order = $params['order']; $item = $params['item']; $country = strtoupper($order['delivery_country'] ?? 'CZ'); $oss = $order->getFlags()['OSS'] ?? false; $POHODA_OSS_VAT_LEVELS = [ OrderItemInfo::VAT_HIGH => 'historyHigh', OrderItemInfo::VAT_LOW => 'historyLow', OrderItemInfo::VAT_LOW2 => 'historyThird', OrderItemInfo::VAT_NONE => 'none', ]; $POHODA_VAT_LEVELS = [ OrderItemInfo::VAT_HIGH => 'high', OrderItemInfo::VAT_LOW => 'low', OrderItemInfo::VAT_LOW2 => 'third', OrderItemInfo::VAT_NONE => 'none', ]; if ($item['vat'] == 0) { return 'none'; } $level = $vats[$country][$item['vat']] ?? 'high'; $levels = $oss ? $POHODA_OSS_VAT_LEVELS : $POHODA_VAT_LEVELS; return $levels[$level]; }