/home/techb158/dev.balacoffee.com/app/Http/Controllers
NameSizeModeActions
Auth/-0755rm
hrm/-0755rm
AdjustmentController.php319350644editdlrm
AuthController.php17610644editdlrm
BaseController.php31830644editdlrm
BrandsController.php58040644editdlrm
CategorieController.php36250644editdlrm
CategoryExpenseController.php54490644editdlrm
ClientController.php84670644editdlrm
Controller.php3740644editdlrm
CurrencyController.php40350644editdlrm
ExpensesController.php126700644editdlrm
HomeController.php4950644editdlrm
PasswordResetController.php38950644editdlrm
PaymentPurchaseReturnsController.php146500644editdlrm
PaymentPurchasesController.php141380644editdlrm
PaymentSaleReturnsController.php143030644editdlrm
PaymentSalesController.php217990644editdlrm
PermissionsController.php65310644editdlrm
PosController.php166510644editdlrm
ProductsController.php485200644editdlrm
ProvidersController.php72790644editdlrm
PurchasesController.php472790644editdlrm
PurchasesReturnController.php483660644editdlrm
QuotationsController.php314620644editdlrm
ReportController.php1493230644editdlrm
SalesController.php644200644editdlrm
SalesReturnController.php470940644editdlrm
SettingsController.php123540644editdlrm
SetupController.php87700644editdlrm
ShipmentController.php76330644editdlrm
TestDbController.php31560644editdlrm
TransferController.php545740644editdlrm
UnitsController.php61620644editdlrm
UpdateController.php20640644editdlrm
UserController.php131670644editdlrm
WarehouseController.php64270644editdlrm
Edit: /home/techb158/dev.balacoffee.com/app/Http/Controllers/ShipmentController.php (7633B)
authorizeForUser($request->user('api'), 'view', Shipment::class); // How many items do you want to display. $perPage = $request->limit; $pageStart = \Request::get('page', 1); // Start displaying items from this number; $offSet = ($pageStart * $perPage) - $perPage; $order = $request->SortField; $dir = $request->SortType; $helpers = new helpers(); $data = array(); $shipments = Shipment::with('sale','sale.client','sale.warehouse') // Search With Multiple Param ->where(function ($query) use ($request) { return $query->when($request->filled('search'), function ($query) use ($request) { return $query->where('Ref', 'LIKE', "%{$request->search}%") ->orWhere('status', 'LIKE', "%{$request->search}%") ->orWhere('delivered_to', 'LIKE', "%{$request->search}%") ->orWhere(function ($query) use ($request) { return $query->whereHas('sale', function ($q) use ($request) { $q->where('Ref', 'LIKE', "%{$request->search}%"); }); }) ->orWhere(function ($query) use ($request) { return $query->whereHas('sale.warehouse', function ($q) use ($request) { $q->where('name', 'LIKE', "%{$request->search}%"); }); }) ->orWhere(function ($query) use ($request) { return $query->whereHas('sale.client', function ($q) use ($request) { $q->where('name', 'LIKE', "%{$request->search}%"); }); }); }); }); $totalRows = $shipments->count(); if($perPage == "-1"){ $perPage = $totalRows; } $shipments_data = $shipments->offset($offSet) ->limit($perPage) ->orderBy($order, $dir) ->get(); foreach ($shipments_data as $shipment) { $item['id'] = $shipment['id']; $item['date'] = $shipment['date']; $item['shipment_ref'] = $shipment['Ref']; $item['status'] = $shipment['status']; $item['delivered_to'] = $shipment['delivered_to']; $item['shipping_address'] = $shipment['shipping_address']; $item['shipping_details'] = $shipment['shipping_details']; $item['sale_ref'] = $shipment['sale']['Ref']; $item['sale_id'] = $shipment['sale']['id']; $item['warehouse_name'] = $shipment['sale']['warehouse']->name; $item['customer_name'] = $shipment['sale']['client']->name; $data[] = $item; } return response()->json([ 'shipments' => $data, 'totalRows' => $totalRows, ]); } //----------- Store new Shipment -------\\ public function store(Request $request) { $this->authorizeForUser($request->user('api'), 'create', Shipment::class); request()->validate([ 'status' => 'required', ]); \DB::transaction(function () use ($request) { $shipment = Shipment::firstOrNew([ 'Ref' => $request['Ref']]); $shipment->user_id = Auth::user()->id; $shipment->sale_id = $request['sale_id']; $shipment->delivered_to = $request['delivered_to']; $shipment->shipping_address = $request['shipping_address']; $shipment->shipping_details = $request['shipping_details']; $shipment->status = $request['status']; $shipment->save(); $sale = Sale::findOrFail($request['sale_id']); $sale->update([ 'shipping_status' => $request['status'], ]); }, 10); return response()->json(['success' => true]); } public function show($id){ $get_shipment = Shipment::where('sale_id', $id)->first(); if($get_shipment){ $shipment_data['Ref'] = $get_shipment->Ref; $shipment_data['sale_id'] = $get_shipment->sale_id; $shipment_data['delivered_to'] = $get_shipment->delivered_to; $shipment_data['shipping_address'] = $get_shipment->shipping_address; $shipment_data['status'] = $get_shipment->status; $shipment_data['shipping_details'] = $get_shipment->shipping_details; }else{ $shipment_data['Ref'] = $this->getNumberOrder(); $shipment_data['sale_id'] = $id; $shipment_data['delivered_to'] = ''; $shipment_data['shipping_address'] = ''; $shipment_data['status'] = ''; $shipment_data['shipping_details'] = ''; } return response()->json([ 'shipment' => $shipment_data, ]); } //----------- Update Shipment-------\\ public function update(Request $request, $id) { $this->authorizeForUser($request->user('api'), 'update', Shipment::class); request()->validate([ 'status' => 'required', ]); \DB::transaction(function () use ($request , $id) { Shipment::whereId($id)->update($request->all()); $sale = Sale::findOrFail($request['sale_id']); $sale->update([ 'shipping_status' => $request['status'], ]); }, 10); return response()->json(['success' => true]); } //----------- delete Shipment-------\\ public function destroy(Request $request, $id) { $this->authorizeForUser($request->user('api'), 'delete', Shipment::class); \DB::transaction(function () use ($request , $id) { $shipment = Shipment::find($id); $shipment->delete(); $sale = Sale::findOrFail($shipment->sale_id); $sale->update([ 'shipping_status' => $request['status'], ]); }, 10); return response()->json(['success' => true]); } //----------- Export Excel ALL Shipments-------\\ public function exportExcel(Request $request) { $this->authorizeForUser($request->user('api'), 'view', Shipment::class); return Excel::download(new ShipmentsExport, 'shipments.xlsx'); } //------------- Reference Number Order SALE -----------\\ public function getNumberOrder() { $last = DB::table('shipments')->latest('id')->first(); if ($last) { $item = $last->Ref; $nwMsg = explode("_", $item); $inMsg = $nwMsg[1] + 1; $code = $nwMsg[0] . '_' . $inMsg; } else { $code = 'SM_1111'; } return $code; } }