@@ -99,36 +99,23 @@ public function placeOrder(TableQrCode $qrCode, array $data): Order
9999 ]);
100100 }
101101
102- // Reuse the existing pending order for this session so the customer
103- // can add more items before staff accepts, instead of creating a new order each time.
104- $ order = Order::where ('table_session_id ' , $ session ->id )
105- ->where ('order_source ' , 'qr ' )
106- ->where ('approval_status ' , 'pending ' )
107- ->latest ()
108- ->first ();
109-
110- if (!$ order ) {
111- $ order = Order::create ([
112- 'outlet_id ' => $ qrCode ->outlet_id ,
113- 'table_session_id ' => $ session ->id ,
114- 'order_number ' => $ this ->generateOrderNumber (),
115- 'order_type ' => 'dine_in ' ,
116- 'source ' => 'other ' ,
117- 'order_source ' => 'qr ' ,
118- 'approval_status ' => 'pending ' ,
119- 'status ' => 'draft ' ,
120- 'note ' => $ data ['note ' ] ?? null ,
121- ]);
102+ $ order = Order::create ([
103+ 'outlet_id ' => $ qrCode ->outlet_id ,
104+ 'table_session_id ' => $ session ->id ,
105+ 'order_number ' => $ this ->generateOrderNumber (),
106+ 'order_type ' => 'dine_in ' ,
107+ 'source ' => 'other ' ,
108+ 'order_source ' => 'qr ' ,
109+ 'approval_status ' => 'pending ' ,
110+ 'status ' => 'pending ' ,
111+ 'note ' => $ data ['note ' ] ?? null ,
112+ ]);
122113
123- OrderTable::create ([
124- 'order_id ' => $ order ->id ,
125- 'dining_table_id ' => $ qrCode ->dining_table_id ,
126- 'assignment_type ' => 'reserved_copy ' ,
127- ]);
128- } elseif ($ data ['note ' ] ?? null ) {
129- // Append note if provided
130- $ order ->update (['note ' => trim (($ order ->note ? $ order ->note . "\n" : '' ) . $ data ['note ' ])]);
131- }
114+ OrderTable::create ([
115+ 'order_id ' => $ order ->id ,
116+ 'dining_table_id ' => $ qrCode ->dining_table_id ,
117+ 'assignment_type ' => 'reserved_copy ' ,
118+ ]);
132119
133120 foreach ($ data ['items ' ] as $ itemData ) {
134121 $ this ->orderService ->addItem ($ order , $ itemData );
@@ -137,9 +124,9 @@ public function placeOrder(TableQrCode $qrCode, array $data): Order
137124 OrderStatusHistory::create ([
138125 'order_id ' => $ order ->id ,
139126 'changed_by ' => null ,
140- 'from_status ' => $ order -> wasRecentlyCreated ? null : ' draft ' ,
141- 'to_status ' => 'draft ' ,
142- 'note ' => $ order -> wasRecentlyCreated ? 'Order placed via QR code. ' : ' Items added via QR code. ' ,
127+ 'from_status ' => null ,
128+ 'to_status ' => 'pending ' ,
129+ 'note ' => 'Order placed via QR code. ' ,
143130 ]);
144131
145132 return $ order ->fresh ();
0 commit comments