user(); $fields = [ 'fk_RegisteredEventMessage', 'road_observeds.id', 'Title', 'road_observeds.created_at', 'lat', 'lng', 'FeatureTypeTitle', 'Description', 'MobileForSendEventSms', 'rms_description', 'rms_status', 'rms_last_activity_fa', 'rms_last_activity', 'road_observeds.province_id', 'province_fa', 'city_fa', 'edarate_shahri.name_fa', 'status', 'status_fa', 'supervisor_description', 'supervising_time' ]; if ($user->hasPermissionTo('supervise-fast-react')) { $query = RoadObserved::query()->leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id') ->whereNotNull('road_observeds.status'); } elseif ($user->hasPermissionTo('supervise-fast-react-province')) { if (is_null($user->province_id)) { return $this->errorResponse('استانی برای شما در سامانه ثبت نشده است!'); } $query = RoadObserved::query()->leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id') ->where('road_observeds.province_id', $user->province_id) ->whereNotNull('road_observeds.status'); } return DataTableFacade::run( $query, $request, allowedFilters: ['*'], allowedSortings: ['*']); } public function operatorCartableIndex(Request $request) { $user = auth()->user(); $fields = [ 'fk_RegisteredEventMessage', 'road_observeds.id', 'Title', 'road_observeds.created_at', 'lat', 'lng', 'FeatureTypeTitle', 'Description', 'MobileForSendEventSms', 'rms_description', 'rms_status', 'rms_start_latlng', 'rms_last_activity_fa', 'rms_last_activity', 'road_observeds.province_id', 'province_fa', 'city_fa', 'edarate_shahri.name_fa', 'status', 'status_fa', 'supervisor_description', 'supervising_time' ]; $query = RoadObserved::query() ->where('rms_status', '!=', 0) ->whereNotNull('road_observeds.province_id') ->whereNotNull('status') ->leftJoin('edarate_shahri', 'road_observeds.edarate_shahri_id', '=', 'edarate_shahri.id') ->select($fields) ->addSelect([ DB::raw("CONCAT('https://rms.rmto.ir/', image_before) as image_before"), DB::raw("CONCAT('https://rms.rmto.ir/', image_after) as image_after") ]); if ($user->hasPermissionTo('show-fast-react-province')) { if (is_null($user->province_id)) { return $this->errorResponse('استانی برای شما در سامانه ثبت نشده است!'); } $query->where('rms_province_id', $user->province_id); } elseif ($user->hasPermissionTo('show-fast-react-edarate-shahri')) { if (is_null($user->edarate_shahri_id)) { return $this->errorResponse('اداره‌ای برای شما در سامانه ثبت نشده است!'); } $query->where('edarate_shahri_id', $user->edarate_shahri_id); } return DataTableFacade::run( $query, $request, allowedFilters: ['*'], allowedSortings: ['*']); } }