|
@@ -12,6 +12,7 @@ use App\Models\Schedule;
|
|
|
use App\Models\ScheduleProposal;
|
|
use App\Models\ScheduleProposal;
|
|
|
use App\Models\Speciality;
|
|
use App\Models\Speciality;
|
|
|
use App\Rules\ScheduleBusinessRules;
|
|
use App\Rules\ScheduleBusinessRules;
|
|
|
|
|
+use App\Services\CustomScheduleService;
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
use Illuminate\Support\Facades\Log;
|
|
use Illuminate\Support\Facades\Log;
|
|
@@ -49,7 +50,7 @@ class DashboardService
|
|
|
$nextSchedules = Schedule::with('address:district,address,complement,number,source_id,source,id,address_type')
|
|
$nextSchedules = Schedule::with('address:district,address,complement,number,source_id,source,id,address_type')
|
|
|
->where('schedules.client_id', $cliente->id)
|
|
->where('schedules.client_id', $cliente->id)
|
|
|
->whereIn('schedules.status', ['accepted', 'paid'])
|
|
->whereIn('schedules.status', ['accepted', 'paid'])
|
|
|
- ->leftJoin('providers', 'providers.id', '=', 'schedules.provider_id')
|
|
|
|
|
|
|
+ ->whereDate('schedules.date', '>=', now()->toDateString())
|
|
|
->leftJoin('users as provider_user', 'provider_user.id', '=', 'providers.user_id')
|
|
->leftJoin('users as provider_user', 'provider_user.id', '=', 'providers.user_id')
|
|
|
->leftJoin('custom_schedules', 'custom_schedules.schedule_id', '=', 'schedules.id')
|
|
->leftJoin('custom_schedules', 'custom_schedules.schedule_id', '=', 'schedules.id')
|
|
|
->where('schedules.date', '>=', now()->toDateString())
|
|
->where('schedules.date', '>=', now()->toDateString())
|
|
@@ -213,8 +214,8 @@ class DashboardService
|
|
|
'providers.daily_price_8h',
|
|
'providers.daily_price_8h',
|
|
|
'providers.average_rating',
|
|
'providers.average_rating',
|
|
|
'providers.total_services',
|
|
'providers.total_services',
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
'users.name as provider_name'
|
|
'users.name as provider_name'
|
|
|
])
|
|
])
|
|
|
|
|
|
|
@@ -404,7 +405,7 @@ class DashboardService
|
|
|
$nextSchedules = Schedule::with('address:district,address,number,source_id,source,id')
|
|
$nextSchedules = Schedule::with('address:district,address,number,source_id,source,id')
|
|
|
->where('schedules.provider_id', $provider->id)
|
|
->where('schedules.provider_id', $provider->id)
|
|
|
->whereIn('schedules.status', ['accepted', 'paid'])
|
|
->whereIn('schedules.status', ['accepted', 'paid'])
|
|
|
- ->where('schedules.date', '>=', now()->toDateString())
|
|
|
|
|
|
|
+ ->whereDate('schedules.date', '>=', now()->toDateString())
|
|
|
->leftJoin('clients', 'clients.id', '=', 'schedules.client_id')
|
|
->leftJoin('clients', 'clients.id', '=', 'schedules.client_id')
|
|
|
->leftJoin('users as client_user', 'client_user.id', '=', 'clients.user_id')
|
|
->leftJoin('users as client_user', 'client_user.id', '=', 'clients.user_id')
|
|
|
->leftJoin('custom_schedules', 'custom_schedules.schedule_id', '=', 'schedules.id')
|
|
->leftJoin('custom_schedules', 'custom_schedules.schedule_id', '=', 'schedules.id')
|
|
@@ -424,33 +425,41 @@ class DashboardService
|
|
|
->orderBy('schedules.date', 'asc')
|
|
->orderBy('schedules.date', 'asc')
|
|
|
->get();
|
|
->get();
|
|
|
|
|
|
|
|
- $opportunities = Schedule::with('address:district,source_id,source,id')
|
|
|
|
|
- ->where('schedules.schedule_type', 'custom')
|
|
|
|
|
- ->where('schedules.status', 'pending')
|
|
|
|
|
- ->leftJoin('clients', 'clients.id', '=', 'schedules.client_id')
|
|
|
|
|
- ->leftJoin('users as client_user', 'client_user.id', '=', 'clients.user_id')
|
|
|
|
|
- ->leftJoin('custom_schedules', 'custom_schedules.schedule_id', '=', 'schedules.id')
|
|
|
|
|
- ->select(
|
|
|
|
|
- 'schedules.id',
|
|
|
|
|
- 'client_user.name as client_name',
|
|
|
|
|
- 'clients.average_rating',
|
|
|
|
|
- 'schedules.date',
|
|
|
|
|
- 'schedules.start_time',
|
|
|
|
|
- 'schedules.end_time',
|
|
|
|
|
- 'schedules.period_type',
|
|
|
|
|
- 'schedules.schedule_type',
|
|
|
|
|
- 'schedules.address_id',
|
|
|
|
|
- 'custom_schedules.address_type',
|
|
|
|
|
- DB::raw("CASE
|
|
|
|
|
- WHEN schedules.period_type = '2' THEN {$provider->daily_price_2h}
|
|
|
|
|
- WHEN schedules.period_type = '4' THEN {$provider->daily_price_4h}
|
|
|
|
|
- WHEN schedules.period_type = '6' THEN {$provider->daily_price_6h}
|
|
|
|
|
- WHEN schedules.period_type = '8' THEN {$provider->daily_price_8h}
|
|
|
|
|
- ELSE 0
|
|
|
|
|
- END as total_amount"),
|
|
|
|
|
- )
|
|
|
|
|
- ->orderBy('schedules.date', 'asc')
|
|
|
|
|
- ->get();
|
|
|
|
|
|
|
+ // $opportunities = Schedule::with('address:district,source_id,source,id')
|
|
|
|
|
+ // ->where('schedules.schedule_type', 'custom')
|
|
|
|
|
+ // ->where('schedules.status', 'pending')
|
|
|
|
|
+ // ->whereDate('schedules.date', '>=', now()->toDateString())
|
|
|
|
|
+ // ->leftJoin('clients', 'clients.id', '=', 'schedules.client_id')
|
|
|
|
|
+ // ->leftJoin('users as client_user', 'client_user.id', '=', 'clients.user_id')
|
|
|
|
|
+ // ->leftJoin('custom_schedules', 'custom_schedules.schedule_id', '=', 'schedules.id')
|
|
|
|
|
+ // ->select(
|
|
|
|
|
+ // 'schedules.id',
|
|
|
|
|
+ // 'custom_schedules.id as custom_schedule_id',
|
|
|
|
|
+ // 'client_user.name as client_name',
|
|
|
|
|
+ // 'clients.average_rating',
|
|
|
|
|
+ // 'schedules.date',
|
|
|
|
|
+ // 'schedules.start_time',
|
|
|
|
|
+ // 'schedules.end_time',
|
|
|
|
|
+ // 'schedules.period_type',
|
|
|
|
|
+ // 'schedules.schedule_type',
|
|
|
|
|
+ // 'schedules.address_id',
|
|
|
|
|
+ // 'custom_schedules.address_type',
|
|
|
|
|
+ // DB::raw("CASE
|
|
|
|
|
+ // WHEN schedules.period_type = '2' THEN {$provider->daily_price_2h}
|
|
|
|
|
+ // WHEN schedules.period_type = '4' THEN {$provider->daily_price_4h}
|
|
|
|
|
+ // WHEN schedules.period_type = '6' THEN {$provider->daily_price_6h}
|
|
|
|
|
+ // WHEN schedules.period_type = '8' THEN {$provider->daily_price_8h}
|
|
|
|
|
+ // ELSE 0
|
|
|
|
|
+ // END as total_amount"),
|
|
|
|
|
+ // )
|
|
|
|
|
+ // ->orderBy('schedules.date', 'asc')
|
|
|
|
|
+ // ->get();
|
|
|
|
|
+
|
|
|
|
|
+ $customScheduleService = new CustomScheduleService();
|
|
|
|
|
+
|
|
|
|
|
+ $opportunities = $customScheduleService->getAvailableOpportunities($provider->id);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
|
|
|
return [
|
|
return [
|
|
|
'headerBar' => $headerBar,
|
|
'headerBar' => $headerBar,
|