/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { $item = PreShipment::find($id); $item->status = 'deleted'; $item->save(); }
/** * Dealing with item adjustment item info * @param Request $request * @return Response */ public function arrival_adjust(Request $request) { $arrival = Arrival::find($request->input('id')); $recipient = Recipient::find(Auth::user()->recipient_id); foreach ($arrival->arrivalItems as $items) { $volume = $items->number_received * PackagingInformation::find($items->packaging_id)->cm_per_dose * 0.001; $stock = Stock::where('recipient_id', $recipient->id)->where('vaccine_id', $items->vaccine_id)->where('lot_number', $items->lot_number)->first(); $storeStock = StoreStock::where('store_id', $items->store_id)->where('vaccine_id', $items->vaccine_id)->where('lot_number', $items->lot_number)->first(); $stock->amount = $stock->amount - $items->number_received; $storeStock->amount = $storeStock->amount - $items->number_received; $stock->save(); $storeStock->save(); //reduce volume in store $store = Store::find($items->store_id); $store->used_volume = $store->used_volume - $volume; $store->save(); //update line item status $items->status = 'canceled'; $items->save(); //delete stock item if amount has turned to zero if ($stock->amount == 0) { $stock->delete(); } if ($storeStock->amount == 0) { $storeStock->delete(); } } //update arrival status $arrival->status = 'canceled'; $arrival->notes = $request->has('notes') ? $request->input('notes') : ""; if ($recipient->level == 1) { foreach (PreShipment::where('package_id', $arrival->arrival_report_number)->get() as $package) { $package->status = 'pending'; $package->save(); } } else { foreach (RecipientPackage::where('voucher_number', $arrival->arrival_report_number)->get() as $package) { $package->receiving_status = 'pending'; $package->save(); } } $arrival->save(); Log::create(array("user_id" => Auth::user()->id, "action" => "Cancel Arrival with reference Number " . $arrival->reference)); }