public function orderlist(Request $request, $export = 0)
 {
     $withdraw_orders = Withdraw::orderBy('id', 'desc')->with('student');
     if ($request->has('semester_id')) {
         $withdraw_orders->where('semester_id', request('semester_id'));
     }
     if (request('order_state')) {
         $withdraw_orders->where('state', request('order_state'));
     }
     if (request('student_name')) {
         $withdraw_orders->whereHas('student', function ($query) {
             $query->where('name', 'like', "%" . request('student_name') . "%");
         });
     }
     if (request('student_code')) {
         $withdraw_orders->whereHas('student', function ($query) {
             $query->where('username', 'like', "%" . request('student_code') . "%");
         });
     }
     // if(request('semester_id')) {
     // 	$withdraw_orders->where('semester_id', request('semester_id'));
     // }
     $all_orders = $withdraw_orders->get();
     $per_page = request('per_page') ? request('per_page') : 30;
     $withdraw_orders = $withdraw_orders->paginate($per_page);
     $withdraw_orders->appends($request->except("page"));
     $order_statistics = Withdraw::select(DB::raw('count(*) as count, state'))->groupBy('state');
     if ($request->has('semester_id')) {
         $order_statistics->where('semester_id', request('semester_id'));
     }
     $order_statistics = $order_statistics->get();
     $states = array_flatten(config('orders.states'));
     $states = array_combine($states, $states);
     $semesters = Semester::select('academycycle_semesters.id', DB::raw('CONCAT(academycycle_semesters.name ,"-", ay.name ) as name '))->join('academycycle_years as ay', 'academycycle_semesters.academycycle_year_id', '=', 'ay.id')->pluck('name', 'id')->toArray();
     if ($export == 1) {
         Excel::create('withdraw', function ($excel) use($all_orders) {
             $excel->sheet('order', function ($sheet) use($all_orders) {
                 $states = array_flatten(config('orders.states'));
                 $states = array_combine($states, $states);
                 $sheet->loadView('orders::withdraw.export', compact('all_orders', 'states'));
             })->download('xlsx');
         });
         return redirect()->route('orders.withdraw.list');
     } else {
         return view('orders::withdraw.list', compact('withdraw_orders', 'states', 'semesters', 'order_statistics'));
     }
 }