|
|
@@ -27,7 +27,7 @@ class DashboardService
|
|
|
|
|
|
$summaryInfos = [
|
|
|
'name' => $user->name,
|
|
|
- 'address' => Address::where('source', 'client')->where('source_id', $cliente->id)->first()->address ?? null,
|
|
|
+ 'address' => Address::where('source', 'client')->where('source_id', $cliente->id)->with(['city', 'state'])->first(),
|
|
|
'pending_services' => Schedule::where('client_id', $cliente->id)->where('status', 'pending')->count(),
|
|
|
];
|
|
|
|
|
|
@@ -35,9 +35,9 @@ class DashboardService
|
|
|
->whereIn('schedules.status', ['accepted', 'paid'])
|
|
|
->leftJoin('providers', 'providers.id', '=', 'schedules.provider_id')
|
|
|
->leftJoin('users as provider_user', 'provider_user.id', '=', 'providers.user_id')
|
|
|
- ->leftJoin('addresses', function ($join) {
|
|
|
- $join->on('addresses.source_id', '=', 'providers.id')
|
|
|
- ->where('addresses.source', 'provider');
|
|
|
+ ->leftJoin('addresses as provider_address', function ($join) {
|
|
|
+ $join->on('provider_address.source_id', '=', 'providers.id')
|
|
|
+ ->where('provider_address.source', 'provider');
|
|
|
})
|
|
|
->where('schedules.date', '>=', now()->toDateString())
|
|
|
->select(
|
|
|
@@ -49,7 +49,8 @@ class DashboardService
|
|
|
'schedules.total_amount',
|
|
|
'schedules.period_type',
|
|
|
'schedules.schedule_type',
|
|
|
- 'addresses.address_type',
|
|
|
+ 'provider_address.district',
|
|
|
+ 'provider_address.address_type',
|
|
|
)
|
|
|
->orderBy('schedules.date', 'asc')
|
|
|
->get();
|
|
|
@@ -58,9 +59,9 @@ class DashboardService
|
|
|
->where('schedules.status', 'finished')
|
|
|
->leftJoin('providers', 'providers.id', '=', 'schedules.provider_id')
|
|
|
->leftJoin('users as provider_user', 'provider_user.id', '=', 'providers.user_id')
|
|
|
- ->leftJoin('addresses', function ($join) {
|
|
|
- $join->on('addresses.source_id', '=', 'providers.id')
|
|
|
- ->where('addresses.source', 'provider');
|
|
|
+ ->leftJoin('addresses as provider_address', function ($join) {
|
|
|
+ $join->on('provider_address.source_id', '=', 'providers.id')
|
|
|
+ ->where('provider_address.source', 'provider');
|
|
|
})
|
|
|
->select(
|
|
|
'schedules.id',
|
|
|
@@ -124,7 +125,7 @@ class DashboardService
|
|
|
|
|
|
$summaryInfos = [
|
|
|
'name' => $user->name,
|
|
|
- 'address' => Address::where('source', 'provider')->where('source_id', $provider->id)->first()->address ?? null,
|
|
|
+ 'address' => Address::where('source', 'provider')->where('source_id', $provider->id)->with(['city', 'state'])->first(),
|
|
|
'pending_services' => Schedule::where('provider_id', $provider->id)->where('status', 'pending')->count(),
|
|
|
];
|
|
|
|
|
|
@@ -144,8 +145,11 @@ class DashboardService
|
|
|
->where('schedules.status', 'pending')
|
|
|
->leftJoin('clients', 'clients.id', '=', 'schedules.client_id')
|
|
|
->leftJoin('users as client_user', 'client_user.id', '=', 'clients.user_id')
|
|
|
+ ->leftJoin('addresses as client_address', function ($join) {
|
|
|
+ $join->on('client_address.source_id', '=', 'clients.id')
|
|
|
+ ->where('client_address.source', 'client');
|
|
|
+ })
|
|
|
->select(
|
|
|
- // bairro
|
|
|
'schedules.id',
|
|
|
'client_user.name as client_name',
|
|
|
'clients.average_rating',
|
|
|
@@ -156,6 +160,7 @@ class DashboardService
|
|
|
'schedules.total_amount',
|
|
|
'schedules.period_type',
|
|
|
'schedules.schedule_type',
|
|
|
+ 'client_address.district',
|
|
|
)
|
|
|
->orderBy('schedules.date', 'asc')
|
|
|
->get();
|
|
|
@@ -165,6 +170,10 @@ class DashboardService
|
|
|
->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')
|
|
|
+ ->leftJoin('addresses as client_address', function ($join) {
|
|
|
+ $join->on('client_address.source_id', '=', 'clients.id')
|
|
|
+ ->where('client_address.source', 'client');
|
|
|
+ })
|
|
|
->select(
|
|
|
'schedules.id',
|
|
|
'client_user.name as client_name',
|
|
|
@@ -174,8 +183,8 @@ class DashboardService
|
|
|
'schedules.total_amount',
|
|
|
'schedules.period_type',
|
|
|
'schedules.schedule_type',
|
|
|
- 'custom_schedules.offers_meal'
|
|
|
- // bairro
|
|
|
+ 'custom_schedules.offers_meal',
|
|
|
+ 'client_address.district',
|
|
|
)
|
|
|
->orderBy('schedules.date', 'asc')
|
|
|
->get();
|
|
|
@@ -184,6 +193,10 @@ class DashboardService
|
|
|
->where('schedules.status', 'pending')
|
|
|
->leftJoin('clients', 'clients.id', '=', 'schedules.client_id')
|
|
|
->leftJoin('users as client_user', 'client_user.id', '=', 'clients.user_id')
|
|
|
+ ->leftJoin('addresses as client_address', function ($join) {
|
|
|
+ $join->on('client_address.source_id', '=', 'clients.id')
|
|
|
+ ->where('client_address.source', 'client');
|
|
|
+ })
|
|
|
->select(
|
|
|
'schedules.id',
|
|
|
'client_user.name as client_name',
|
|
|
@@ -193,6 +206,7 @@ class DashboardService
|
|
|
'schedules.end_time',
|
|
|
'schedules.period_type',
|
|
|
'schedules.schedule_type',
|
|
|
+ 'client_address.district',
|
|
|
)
|
|
|
->orderBy('schedules.date', 'asc')
|
|
|
->get();
|