orderBy('created_at', 'desc'); return OrderResource::collection($orders); } public function insert(String $companyId, Request $request){ return (new CreateOrder())->execute($companyId, $request) ? 200 : 408; } public function updateStep(String $orderId, Request $request){ return (new UpdateOrderStep())->execute($orderId, $request) ? 200 : 408; } public function updatePackingList(String $orderId, Request $request){ $packingList = PackingList::updateOrCreate(['order_id' => $orderId],['reference_no' => $request->input('reference_no')]); $confirmed = true; $packages = []; foreach ($request->input('packages') as $package) { if(trim($package['description']) !== '' || $package['description'] !== null){ $packages[] = $package; if($package['width'] == 0 || $package['length'] == 0 || $package['height'] == 0){ $confirmed = false; } } } if(empty($packages)){ $confirmed = false; } $packingList->packages()->delete(); $packingList->packages()->createMany($packages); $packingList->confirmed = $confirmed; if($packingList->save()){ } return 408; } public function orderShippingArrangement(String $orderId, Request $request){ $shippingArrangement = ShippingArrangement::updateOrCreate(['order_id' => $orderId],['container_no' => $request->input('container_no'), 'seal_no' => $request->input('seal_no')]); $shippingArrangement->shippingSchedule()->delete(); $shippingArrangement->shippingSchedule()->create(['ETD' => Carbon::parse($request->input('schedule')['ETD']), 'ETA' => Carbon::parse($request->input('schedule')['ETA'])]); return 200; } public function rescheduleShipping(String $orderId, Request $request){ $shippingArrangement = ShippingArrangement::where('order_id', $orderId)->first(); $shippingArrangement->shippingSchedule()->update(['status' => 2]); $shippingArrangement->shippingSchedule()->create(['ETD' => Carbon::parse($request->input('ETD')), 'ETA' => Carbon::parse($request->input('ETA'))]); return 200; } }