nothing
This commit is contained in:
17
app/Http/Controllers/Api/DepartmentController.php
Normal file
17
app/Http/Controllers/Api/DepartmentController.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Department;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class DepartmentController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$departments = Department::all();
|
||||
|
||||
return response()->json($departments);
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Resources\Mis\FormattedPatientResource;
|
||||
use App\Models\Department;
|
||||
use App\Models\MedicalHistorySnapshot;
|
||||
use App\Models\MetrikaGroup;
|
||||
use App\Models\MetrikaResult;
|
||||
@@ -659,11 +660,16 @@ class ReportController extends Controller
|
||||
'status' => 'required|string',
|
||||
'startAt' => 'nullable',
|
||||
'endAt' => 'nullable',
|
||||
'departmentId' => 'nullable'
|
||||
]);
|
||||
|
||||
$dateRange = $this->dateRangeService->getDateRangeFromRequest($request, $user);
|
||||
|
||||
$departmentId = $request->get('departmentId', $user->department->department_id);
|
||||
$department = Department::where('department_id', $departmentId)->first();
|
||||
|
||||
$patients = $this->reportService->getPatientsByStatus(
|
||||
$department,
|
||||
Auth::user(),
|
||||
$validated['status'],
|
||||
$dateRange
|
||||
@@ -680,12 +686,17 @@ class ReportController extends Controller
|
||||
'status' => 'required|string',
|
||||
'startAt' => 'nullable',
|
||||
'endAt' => 'nullable',
|
||||
'departmentId' => 'nullable'
|
||||
]);
|
||||
|
||||
$dateRange = $this->dateRangeService->getDateRangeFromRequest($request, $user);
|
||||
|
||||
$departmentId = $request->get('departmentId', $user->department->department_id);
|
||||
$department = Department::where('department_id', $departmentId)->first();
|
||||
|
||||
$count = $this->reportService->getPatientsCountByStatus(
|
||||
Auth::user(),
|
||||
$department,
|
||||
$user,
|
||||
$validated['status'],
|
||||
$dateRange,
|
||||
);
|
||||
@@ -965,4 +976,20 @@ class ReportController extends Controller
|
||||
->orderBy('created_at', 'ASC')
|
||||
->get();
|
||||
}
|
||||
|
||||
public function checkReport(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'department_id' => 'required|integer|exists:departments,department_id'
|
||||
]);
|
||||
|
||||
$report = Report::where('rf_department_id', $request->department_id)
|
||||
->whereDate('created_at', now()->toDateString())
|
||||
->first();
|
||||
|
||||
return response()->json([
|
||||
'report_id' => $report?->report_id,
|
||||
'exists' => $report->exists
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
51
app/Http/Controllers/Api/StatisticController.php
Normal file
51
app/Http/Controllers/Api/StatisticController.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Department;
|
||||
use App\Services\DateRangeService;
|
||||
use App\Services\ReportService;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class StatisticController extends Controller
|
||||
{
|
||||
public function __construct(
|
||||
protected DateRangeService $dateRangeService,
|
||||
protected ReportService $reportService
|
||||
) {}
|
||||
|
||||
public function getUnwantedEvents(Request $request)
|
||||
{
|
||||
$user = Auth::user();
|
||||
$validated = $request->validate([
|
||||
'startAt' => 'required',
|
||||
'endAt' => 'required',
|
||||
'departmentId' => 'required',
|
||||
]);
|
||||
|
||||
$dateRange = $this->dateRangeService->getNormalizedDateRange($user, $validated['startAt'], $validated['endAt']);
|
||||
$department = Department::findSole($request->departmentId, 'department_id');
|
||||
|
||||
$unwantedEvents = $this->reportService->getUnwantedEvents($department, $dateRange);
|
||||
|
||||
return response()->json($unwantedEvents);
|
||||
}
|
||||
|
||||
public function getObservablePatients(Request $request)
|
||||
{
|
||||
$user = Auth::user();
|
||||
$validated = $request->validate([
|
||||
'startAt' => 'required',
|
||||
'endAt' => 'required',
|
||||
'departmentId' => 'required'
|
||||
]);
|
||||
|
||||
$dateRange = $this->dateRangeService->getNormalizedDateRange($user, $validated['startAt'], $validated['endAt']);
|
||||
$department = Department::findSole($request->departmentId, 'department_id');
|
||||
$observablePatients = $this->reportService->getPatientsByStatus($department, $user, 'observation', $dateRange);
|
||||
|
||||
return response()->json($observablePatients);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user