|
|
@@ -17,52 +17,56 @@ class KitchenModel
|
|
|
public function getKitchenOrders(int $companyId): array
|
|
|
{
|
|
|
$sql = "
|
|
|
- SELECT
|
|
|
- order_id,
|
|
|
- table_id,
|
|
|
- order_name,
|
|
|
- order_created_at,
|
|
|
- order_flag,
|
|
|
- order_item_id,
|
|
|
- order_item_flag,
|
|
|
- product_name,
|
|
|
- order_item_kitchen_note
|
|
|
- FROM 'order'
|
|
|
- NATURAL JOIN order_item
|
|
|
- NATURAL JOIN product
|
|
|
- WHERE company_id = :company_id
|
|
|
- AND order_flag IN ('a', 'p')
|
|
|
- AND product_is_kitchen = 1
|
|
|
- ORDER BY order_created_at ASC;
|
|
|
- ";
|
|
|
-
|
|
|
- $stmt = $this->pdo->prepare($sql);
|
|
|
- $stmt->execute(['company_id' => $companyId]);
|
|
|
- $rows = $stmt->fetchAll(\PDO::FETCH_ASSOC);
|
|
|
+ SELECT
|
|
|
+ o.order_id,
|
|
|
+ t.table_number,
|
|
|
+ u.user_name,
|
|
|
+ o.order_name,
|
|
|
+ o.order_created_at,
|
|
|
+ o.order_flag,
|
|
|
+ oi.order_item_id,
|
|
|
+ oi.order_item_flag,
|
|
|
+ p.product_name,
|
|
|
+ oi.order_item_kitchen_note
|
|
|
+ FROM `order` o
|
|
|
+ INNER JOIN order_item oi ON o.order_id = oi.order_id
|
|
|
+ INNER JOIN product p ON oi.product_id = p.product_id
|
|
|
+ INNER JOIN `table` t ON o.table_id = t.table_id
|
|
|
+ INNER JOIN user u ON o.user_id = u.user_id
|
|
|
+ WHERE o.company_id = :company_id
|
|
|
+ AND o.order_flag IN ('a', 'p')
|
|
|
+ AND p.product_is_kitchen = 1
|
|
|
+ ORDER BY o.order_created_at ASC;
|
|
|
+";
|
|
|
+
|
|
|
+$stmt = $this->pdo->prepare($sql);
|
|
|
+$stmt->execute(['company_id' => $companyId]);
|
|
|
+$rows = $stmt->fetchAll(\PDO::FETCH_ASSOC);
|
|
|
|
|
|
$orders = [];
|
|
|
- foreach ($rows as $row) {
|
|
|
- $orderId = $row['order_id'];
|
|
|
-
|
|
|
- if (!isset($orders[$orderId])) {
|
|
|
- $orders[$orderId] = [
|
|
|
- 'order_id' => $row['order_id'],
|
|
|
- 'table_id' => $row['table_id'],
|
|
|
- 'order_name' => $row['order_name'],
|
|
|
- 'order_created_at' => $row['order_created_at'],
|
|
|
- 'order_flag' => $row['order_flag'],
|
|
|
- 'items' => []
|
|
|
- ];
|
|
|
- }
|
|
|
-
|
|
|
- $orders[$orderId]['items'][] = [
|
|
|
- 'order_item_id' => $row['order_item_id'],
|
|
|
- 'order_item_flag' => $row['order_item_flag'],
|
|
|
- 'product_name' => $row['product_name'],
|
|
|
- 'kitchen_note' => $row['order_item_kitchen_note'] ?? ''
|
|
|
- ];
|
|
|
- }
|
|
|
-
|
|
|
- return array_values($orders);
|
|
|
+foreach ($rows as $row) {
|
|
|
+ $orderId = $row['order_id'];
|
|
|
+ if (!isset($orders[$orderId])) {
|
|
|
+ $orders[$orderId] = [
|
|
|
+ 'order_id' => $row['order_id'],
|
|
|
+ 'table_number' => $row['table_number'],
|
|
|
+ 'user_name' => $row['user_name'],
|
|
|
+ 'order_name' => $row['order_name'],
|
|
|
+ 'order_created_at' => $row['order_created_at'],
|
|
|
+ 'order_flag' => $row['order_flag'],
|
|
|
+ 'items' => []
|
|
|
+];
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ $orders[$orderId]['items'][] = [
|
|
|
+ 'order_item_id' => $row['order_item_id'],
|
|
|
+ 'order_item_flag' => $row['order_item_flag'],
|
|
|
+ 'product_name' => $row['product_name'],
|
|
|
+ 'kitchen_note' => $row['order_item_kitchen_note'] ?? ''
|
|
|
+ ];
|
|
|
+}
|
|
|
+
|
|
|
+return array_values($orders);
|
|
|
}
|
|
|
}
|