storageInvoiceTransactionProcessor = $storageInvoiceTransactionProcessor; $this->listsPackingLists = $listsPackingLists; } /** * Handle an incoming request. * * @param Request $request * @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse */ public function handle(Request $request, Closure $next) { $results = []; $packinglists = null; $filters = json_decode($request->input('filters'), true); // $filters['type_in'] = [TransactionType::SHIPPING_INVOICE]; // if(json_encode($filters['order_by']) == '{"column":"id","DESC":true}'){ // $filters['order_by_id_desc'] = true; // } if(isset($filters['check_for_storage_invoice'])){ // unset($filters['order_by']); //cief todo: 90 - DEBUG, original // $packinglists = $this->listsPackingLists->execute($filters); //cief todo: 90 - DEBUG, original $packinglists = $this->listsPackingLists->execute($this->listsPackingLists->deserializeFilters($request->input('filters'))); //cief todo: 90 - DEBUG Log::info('CheckForStorageInvoiceByPackingLists $packinglists ' . count($packinglists)); Log::info('CheckForStorageInvoiceByPackingLists $packinglists ' . json_encode($packinglists)); //cief todo: 90 - DEBUG foreach($packinglists as $packingList){ if($packingList){ $order = $packingList->owner()->first(); if($order instanceof Order){ if(isset($filters['check_for_storage_invoice_asynchronously'])){ Log::info("check_for_storage_invoice_asynchronously Order - ID: {$order->id}, Reference: {$order->reference}"); CheckStorageInvoicesSingleOrderV2CommandJob::dispatch($order); } else{ $storages = $this->storageInvoiceTransactionProcessor->executeOrder($order); if($storages){ $results = array_merge($results, $storages); } } } } } } $request->merge(['storages' => $results]); return $next($request); } }