This commit is contained in:
Dr Masroor Ehsan 2025-01-03 00:55:46 +06:00
parent 9bca444e99
commit 75abd3f314
4 changed files with 64 additions and 12 deletions

51
app/DAL/Radiologist.php Normal file
View File

@ -0,0 +1,51 @@
<?php
namespace App\DAL;
use App\Services\UserService;
use Illuminate\Support\Facades\DB;
final readonly class Radiologist
{
public static function assignables()
{
$sql = <<<'SQL'
SELECT
users."id",
users.display_name,
COALESCE (studies.assign_counts, 0) AS workload
FROM
roles
INNER JOIN model_has_roles ON roles."id" = model_has_roles.role_id
INNER JOIN users ON users."id" = model_has_roles.model_id
LEFT JOIN (
SELECT
assigned_physician_id,
COUNT(*) AS assign_counts
FROM
studies
WHERE
received_at::DATE >= NOW() - INTERVAL '3 DAY'
AND report_status < 3
AND reported_at IS NULL
GROUP BY
assigned_physician_id
) AS studies ON studies.assigned_physician_id = users."id"
WHERE
roles."name" = 'radiologist'
AND users.is_active = TRUE
GROUP BY
users."id",
studies.assign_counts
ORDER BY
users.display_name
SQL;
$rows = DB::select($sql);
foreach ($rows as $row) {
$row->last_seen = UserService::getLastSeen((int) $row->id);
}
return $rows;
}
}

View File

@ -73,7 +73,7 @@
|
*/
'home' => '/',
'home' => '/studies',
/*
|--------------------------------------------------------------------------

View File

@ -1,7 +1,6 @@
@php
use App\Services\ThemeHelper;
use Illuminate\Support\Facades\Route;
$configData = ThemeHelper::appClasses();
$configData = App\Services\ThemeHelper::appClasses();
$customizerHidden = 'customizer-hide';
@endphp
@ -54,14 +53,14 @@ class="d-flex col-12 col-lg-5 col-xl-4 align-items-center authentication-bg posi
<form id="formAuthentication" class="mb-5" action="{{ route('login') }}" method="POST">
@csrf
<div class="form-floating form-floating-outline mb-5">
<input type="text" class="form-control @error('email') is-invalid @enderror"
id="login-email" name="email" placeholder="john@example.com" autofocus
value="{{ old('email') }}">
<label for="login-email">Email</label>
@error('email')
<input type="text" class="form-control @error('username') is-invalid @enderror"
id="login-username" name="username" autofocus
value="{{ old('username') }}">
<label for="login-username">Username</label>
@error('username')
<span class="invalid-feedback" role="alert">
<span class="fw-medium">{{ $message }}</span>
</span>
<span class="fw-medium">{{ $message }}</span>
</span>
@enderror
</div>
<div class="mb-5">
@ -79,8 +78,8 @@ class="form-control @error('password') is-invalid @enderror"
</div>
@error('password')
<span class="invalid-feedback" role="alert">
<span class="fw-medium">{{ $message }}</span>
</span>
<span class="fw-medium">{{ $message }}</span>
</span>
@enderror
</div>
</div>

View File

@ -10,6 +10,8 @@
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
// dd(Radiologist::assignables());
return view('welcome');
});