mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-11 00:41:07 +03:30
121 lines
5.5 KiB
PHP
121 lines
5.5 KiB
PHP
<?php
|
|
|
|
namespace App\Repositories;
|
|
|
|
use App\Interfaces\CycleRepositoryInterface;
|
|
use App\Models\Cycle;
|
|
|
|
class CycleRepository implements CycleRepositoryInterface
|
|
{
|
|
public function indexForUser($request, $user)
|
|
{
|
|
return Cycle::when($request->has('cycle_id') && $request->cycle_id != '', function ($query) use ($request) {
|
|
$query->where('id', $request->cycle_id);
|
|
})
|
|
->when($request->has('sterilizer_id') && $request->sterilizer_id != '', function ($query) use ($request) {
|
|
$query->where('sterilizer_id', $request->sterilizer_id);
|
|
})
|
|
->when($request->has('date') && $request->date != '', function ($query) use ($request) {
|
|
$query->where('date', $request->date);
|
|
})
|
|
->when($request->has('cycle_number') && $request->cycle_number != '', function ($query) use ($request) {
|
|
$query->where('cycle_number', $request->cycle_number);
|
|
})
|
|
->when($request->has('medical_center_id') && $request->medical_center_id != '' && $request->medical_center_id != 'undefined', function ($query) use ($request) {
|
|
$query->whereHas('user', function ($query) use ($request) {
|
|
$query->where('medical_center_id', $request->medical_center_id);
|
|
});
|
|
})
|
|
->with([
|
|
'user' => function ($query) {
|
|
$query->select('id', 'name', 'medical_center_id');
|
|
},
|
|
'user.medical_center' => function ($query) {
|
|
$query->select('id', 'name');
|
|
},
|
|
'labels',
|
|
'labels.package' => function ($query) {
|
|
$query->select('id', 'name');
|
|
},
|
|
])
|
|
->whereHas('user', function ($query) use ($user) {
|
|
$query->where('medical_center_id', $user->medical_center_id);
|
|
})
|
|
->orderByDesc('id')
|
|
->paginate(10);
|
|
}
|
|
|
|
public function indexForSupervisor($request, $user)
|
|
{
|
|
return Cycle::when($request->has('cycle_id') && $request->cycle_id != '', function ($query) use ($request) {
|
|
$query->where('id', $request->cycle_id);
|
|
})
|
|
->when($request->has('sterilizer_id') && $request->sterilizer_id != '', function ($query) use ($request) {
|
|
$query->where('sterilizer_id', $request->sterilizer_id);
|
|
})
|
|
->when($request->has('date') && $request->date != '', function ($query) use ($request) {
|
|
$query->where('date', $request->date);
|
|
})
|
|
->when($request->has('cycle_number') && $request->cycle_number != '', function ($query) use ($request) {
|
|
$query->where('cycle_number', $request->cycle_number);
|
|
})
|
|
->when($request->has('medical_center_id') && $request->medical_center_id != '' && $request->medical_center_id != 'undefined', function ($query) use ($request) {
|
|
$query->whereHas('user', function ($query) use ($request) {
|
|
$query->where('medical_center_id', $request->medical_center_id);
|
|
});
|
|
})
|
|
->with([
|
|
'user' => function ($query) {
|
|
$query->select('id', 'name', 'medical_center_id');
|
|
},
|
|
'user.medical_center' => function ($query) {
|
|
$query->select('id', 'name');
|
|
},
|
|
'labels',
|
|
'labels.package' => function ($query) {
|
|
$query->select('id', 'name');
|
|
},
|
|
])
|
|
->whereHas('user', function ($query) use ($user) {
|
|
$query->where('medical_center_id', $user->medical_center_id);
|
|
})
|
|
->orderByDesc('id')
|
|
->paginate(10);
|
|
}
|
|
|
|
public function indexForAdmin($request, $user)
|
|
{
|
|
return Cycle::when($request->has('cycle_id') && $request->cycle_id != '', function ($query) use ($request) {
|
|
$query->where('id', $request->cycle_id);
|
|
})
|
|
->when($request->has('sterilizer_id') && $request->sterilizer_id != '', function ($query) use ($request) {
|
|
$query->where('sterilizer_id', $request->sterilizer_id);
|
|
})
|
|
->when($request->has('date') && $request->date != '', function ($query) use ($request) {
|
|
$query->where('date', $request->date);
|
|
})
|
|
->when($request->has('cycle_number') && $request->cycle_number != '', function ($query) use ($request) {
|
|
$query->where('cycle_number', $request->cycle_number);
|
|
})
|
|
->when($request->has('medical_center_id') && $request->medical_center_id != '' && $request->medical_center_id != 'undefined', function ($query) use ($request) {
|
|
$query->whereHas('user', function ($query) use ($request) {
|
|
$query->where('medical_center_id', $request->medical_center_id);
|
|
});
|
|
})
|
|
->with([
|
|
'user' => function ($query) {
|
|
$query->select('id', 'name', 'medical_center_id');
|
|
},
|
|
'user.medical_center' => function ($query) {
|
|
$query->select('id', 'name');
|
|
},
|
|
'labels',
|
|
'labels.package' => function ($query) {
|
|
$query->select('id', 'name');
|
|
},
|
|
])
|
|
->orderByDesc('id')
|
|
->paginate(10);
|
|
}
|
|
}
|