From b1fd16cf069720a84b468c9e91a68859aeadcb7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathias=20Gla=CC=88ser?= Date: Sun, 20 Sep 2026 21:47:19 +0200 Subject: [PATCH] =?UTF-8?q?Verkaufte=20Produkte=20in=20Durchf=C3=BChrungen?= =?UTF-8?q?=20anzeigen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/market_management/service.php | 11 ++++++++++- modules/shared/auth/ui/home.php | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/modules/market_management/service.php b/modules/market_management/service.php index cf58284..3572087 100644 --- a/modules/market_management/service.php +++ b/modules/market_management/service.php @@ -554,7 +554,16 @@ function market_management_search_occurrences(PDO $pdo, array $input): array } $stmt = $pdo->prepare( 'SELECT o.*, m.name AS market_name, m.category_id, c.code AS category_code, c.name AS category_name, - MIN(d.date) AS earliest_date, MAX(d.date) AS latest_date, COUNT(d.id) AS day_count + MIN(d.date) AS earliest_date, MAX(d.date) AS latest_date, COUNT(d.id) AS day_count, + COALESCE(( + SELECT SUM(CASE WHEN line.line_status = \'cancelled\' THEN 0 ELSE GREATEST(line.qty - line.qty_cancelled, 0) END) + FROM sales_order sale + INNER JOIN sales_order_line line ON line.sales_order_id = sale.id + WHERE sale.market_occurrence_id = o.id + AND sale.market_occurrence_day_id IS NOT NULL + AND sale.order_source = \'direct\' + AND sale.order_status <> \'cancelled\' + ), 0) AS sold_item_count FROM market_occurrence o INNER JOIN market_definition m ON m.id = o.market_definition_id INNER JOIN market_category c ON c.id = m.category_id diff --git a/modules/shared/auth/ui/home.php b/modules/shared/auth/ui/home.php index 2531cad..2beb95a 100644 --- a/modules/shared/auth/ui/home.php +++ b/modules/shared/auth/ui/home.php @@ -126,6 +126,7 @@ function auth_render_markets_large_table(array $marketTable): string $html[] = '
'; $headerIndex++; } + $html[] = '
Verkaufte Produkte
'; $html[] = ''; foreach ($rows as $index => $row) { @@ -151,6 +152,7 @@ function auth_render_markets_large_table(array $marketTable): string $statusSignalClass = trim(auth_market_status_signal_class($status)); $statusValue = '' . auth_escape_html(auth_market_status_label($status)) . ''; $html[] = '
' . $statusValue . '
'; + $html[] = '
' . auth_escape_html((string) ($row['sold_item_count'] ?? 0)) . '
'; $html[] = ''; }