feat: add shift management functionality
This commit is contained in:
@@ -10,15 +10,19 @@ use App\Models\Document;
|
||||
use App\Models\Pet;
|
||||
use App\Models\User;
|
||||
use App\Services\FileStorageService;
|
||||
use App\Services\Shift\ShiftScheduleService;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class FastRequestService
|
||||
{
|
||||
protected FileStorageService $fileStorageService;
|
||||
|
||||
public function __construct(FileStorageService $fileStorageService)
|
||||
protected ShiftScheduleService $shiftScheduleService;
|
||||
|
||||
public function __construct(FileStorageService $fileStorageService, ShiftScheduleService $shiftScheduleService)
|
||||
{
|
||||
$this->fileStorageService = $fileStorageService;
|
||||
$this->shiftScheduleService = $shiftScheduleService;
|
||||
}
|
||||
|
||||
public function create(User $requester, array $data, array $historyFiles = [], array $scanFiles = []): Document
|
||||
@@ -38,9 +42,12 @@ class FastRequestService
|
||||
$this->attachFiles($document, $historyFiles, MediaCollectionEnum::History);
|
||||
$this->attachFiles($document, $scanFiles, MediaCollectionEnum::Primary);
|
||||
|
||||
if (!empty($data['doctor_id'])) {
|
||||
$doctorId = $data['doctor_id']
|
||||
?? $this->shiftScheduleService->autoSelectDoctor(now())?->id;
|
||||
|
||||
if (!empty($doctorId)) {
|
||||
$document->assignments()->create([
|
||||
'user_id' => $data['doctor_id'],
|
||||
'user_id' => $doctorId,
|
||||
'role' => 'رادیولوژیست',
|
||||
]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user