public function insert_load(Request $request)
 {
     //var_dump($request->input('data'));
     $loadMain = new loadMain();
     $loadMain->vehicle_id = $request->input('vid');
     $loadMain->route_id = $request->input('route');
     $loadMain->load_date = date('Y-m-d');
     $loadMain->save();
     $vehicle = vehicle::find($request->input('vid'));
     $vehicle->status = 'LOADED';
     $vehicle->save();
     $id = $loadMain->id;
     $data = $request->input('data');
     foreach ($data as $d) {
         $extra = 10;
         $iteration = 0;
         while ($extra != 0) {
             $stocks = stock::where('status', 'ACTIVE')->where('sub_product_id', $d['product_id'])->where('available', '>', '0')->orderBy('expiry_date', 'ASC')->first();
             if ($iteration == 0) {
                 $item = new loadItem();
                 $item->load_main_id = $id;
                 $item->sub_product_id = $d['product_id'];
                 $item->number = $d['quantity'];
                 $item->available_qty = $d['quantity'];
                 $item->stock_id = $stocks->id;
                 $item->save();
                 $iteration++;
             }
             $stockUpdate = stock::find($stocks->id);
             if ($stocks->available - $d['quantity'] > 0) {
                 $stockUpdate->available = $stocks->available - $d['quantity'];
                 $extra = 0;
             } else {
                 $d['quantity'] = $d['quantity'] - $stockUpdate->available;
                 $stockUpdate->available = '0';
                 $stockUpdate->status = 'OVER';
             }
             $stockUpdate->save();
         }
     }
 }