Wykrywanie imienia i nazwiska kelnera oraz info czy sesja dostala sie do aplikacji
This commit is contained in:
@@ -133,6 +133,7 @@ try {
|
||||
$sqlRecentOpens = "
|
||||
SELECT
|
||||
created_at,
|
||||
session_id,
|
||||
table_id,
|
||||
zone,
|
||||
device_type,
|
||||
@@ -147,6 +148,45 @@ try {
|
||||
$stmtRecentOpens->execute($baseParams);
|
||||
$recentOpens = $stmtRecentOpens ? $stmtRecentOpens->fetchAll() : [];
|
||||
|
||||
$sessionOutcomes = [];
|
||||
$sessionIds = [];
|
||||
foreach ($recentOpens as $openRow) {
|
||||
$sid = trim((string) ($openRow['session_id'] ?? ''));
|
||||
if ($sid !== '') {
|
||||
$sessionIds[$sid] = true;
|
||||
}
|
||||
}
|
||||
$sessionIds = array_keys($sessionIds);
|
||||
|
||||
if (!empty($sessionIds)) {
|
||||
$placeholders = implode(',', array_fill(0, count($sessionIds), '?'));
|
||||
$sqlSessionFlags = "
|
||||
SELECT
|
||||
session_id,
|
||||
MAX(CASE WHEN event_name = 'session_start' THEN 1 ELSE 0 END) AS reached_app,
|
||||
MAX(CASE WHEN event_name = 'view_menu' THEN 1 ELSE 0 END) AS entered_menu
|
||||
FROM analytics_events
|
||||
WHERE session_id IN ({$placeholders})
|
||||
GROUP BY session_id
|
||||
";
|
||||
$stmtSessionFlags = $pdo->prepare($sqlSessionFlags);
|
||||
$stmtSessionFlags->execute($sessionIds);
|
||||
while ($flagRow = $stmtSessionFlags->fetch()) {
|
||||
$sessionOutcomes[$flagRow['session_id']] = [
|
||||
'reached_app' => (int) $flagRow['reached_app'],
|
||||
'entered_menu' => (int) $flagRow['entered_menu'],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($recentOpens as &$openRow) {
|
||||
$sid = trim((string) ($openRow['session_id'] ?? ''));
|
||||
$flags = $sessionOutcomes[$sid] ?? ['reached_app' => 0, 'entered_menu' => 0];
|
||||
$openRow['reached_app'] = $flags['reached_app'];
|
||||
$openRow['entered_menu'] = $flags['entered_menu'];
|
||||
}
|
||||
unset($openRow);
|
||||
|
||||
$sqlQueueSummary = "
|
||||
SELECT
|
||||
COUNT(*) AS total_actions,
|
||||
@@ -171,6 +211,8 @@ try {
|
||||
table_id,
|
||||
message_type,
|
||||
message_text,
|
||||
otwierajacy_imie,
|
||||
otwierajacy_nazwisko,
|
||||
api_sent,
|
||||
status_kds,
|
||||
created_at
|
||||
|
||||
Reference in New Issue
Block a user