Esempio n. 1
0
 /**
  * 设备列表
  * @author Hanxiang
  */
 public function index()
 {
     // get devices by status
     $input = Input::all();
     if (!isset($input['status']) || $input['status'] == -1) {
         $devices = Device::where('status', '>=', 0);
         //->paginate(15);
         $status = -1;
     } else {
         $status = $input['status'];
         $devices = Device::where('status', $status);
         //->paginate(15);
     }
     if (isset($input['app_id']) && !empty($input['app_id'])) {
         $app_id = $input['app_id'];
         $device_ids = [];
         $device_apps = DeviceApp::where('app_id', $app_id)->get()->toArray();
         foreach ($device_apps as $da) {
             array_push($device_ids, $da['device_id']);
         }
         $devices = $devices->whereIn('id', $device_ids);
     }
     if (isset($input['sn']) && !empty($input['sn'])) {
         $devices = $devices->where('sn', 'like', '%' . $input['sn'] . '%');
     }
     if (isset($input['uuid']) && !empty($input['uuid'])) {
         $devices = $devices->where('uuid', 'like', '%' . $input['uuid'] . '%');
     }
     if (isset($input['major']) && !empty($input['major'])) {
         $devices = $devices->where('major', $input['major']);
     }
     if (isset($input['minor']) && !empty($input['minor'])) {
         $devices = $devices->where('minor', $input['minor']);
     }
     if (isset($input['date_from']) && !empty($input['date_from'])) {
         $devices = $devices->where('created_at', '>', self::convtDate($input['date_from']));
     }
     if (isset($input['date_to']) && !empty($input['date_to'])) {
         $devices = $devices->where('created_at', '<', self::convtDate($input['date_to'], false));
     }
     $devices = $devices->orderBy('updated_at', 'desc')->get();
     //->paginate(15);
     foreach ($devices as $device) {
         $device->status_cn = Device::$status[$device->status];
         if ($device->status > 0) {
             $deviceApp = DeviceApp::where("device_id", $device->id)->first();
             if ($deviceApp) {
                 $device->app = DeviceApp::find($deviceApp->id)->app;
             } else {
                 $app_empty = new \stdClass();
                 $app_empty->name = '';
                 $device->app = $app_empty;
             }
         }
     }
     $manufacturers = Manufacturer::getAllWithModels();
     // get all apps
     $apps = App::all();
     return view('admin.devices')->with('devices', $devices)->with('status', $status)->with('apps', $apps)->with('manufacturers', $manufacturers);
 }