Много всего

This commit is contained in:
brusnitsyn
2025-12-12 17:10:05 +09:00
parent 54f36e91fa
commit 98e9f8b52e
25 changed files with 1118 additions and 145 deletions

View File

@@ -4,7 +4,10 @@ namespace App\Http\Controllers;
use App\Http\Resources\ArchiveHistoryResource;
use App\Http\Resources\ArchiveInfoResource;
use App\Models\SI\SttMedicalHistory;
use App\Http\Resources\PatientInfoResource;
use App\Models\SI\SttMedicalHistory as SiSttMedicalHistory;
use App\Models\Mis\SttMedicalHistory as MisSttMedicalHistory;
use App\Repositories\MedicalHistoryRepository;
use Illuminate\Http\Request;
class MedicalHistoryController extends Controller
@@ -15,22 +18,27 @@ class MedicalHistoryController extends Controller
$patientId = $request->get('patient_id');
$patientInfo = null;
if ($viewType == 'si') {
$patient = SttMedicalHistory::where('id', $id)->first();
$archiveJournal = ArchiveHistoryResource::collection($patient->archiveHistory);
$archiveInfo = $patient->archiveInfo;
if ($viewType == 'si') $patient = SiSttMedicalHistory::where('id', $id)->first();
else $patient = MisSttMedicalHistory::where('MedicalHistoryID', $id)->first();
$archiveJournal = $patient->archiveHistory ? ArchiveHistoryResource::collection($patient->archiveHistory) : null;
if (!empty($archiveInfo)) {
$archiveInfo = ArchiveInfoResource::make($patient->archiveInfo);
}
$patientInfo = [
'info' => $patient,
'journal' => $archiveJournal,
'archiveInfo' => $archiveInfo,
];
if (!empty($patient->archiveInfo)) {
$archiveInfo = ArchiveInfoResource::make($patient->archiveInfo)->toArray(request());
} else {
$archiveInfo = null;
}
$patientInfo = [
'historyable_type' => $viewType == 'si' ? SiSttMedicalHistory::class : MisSttMedicalHistory::class,
'info' => [
'historyable_type' => $viewType == 'si' ? SiSttMedicalHistory::class : MisSttMedicalHistory::class,
...PatientInfoResource::make($patient)->toArray(request()),
'can_be_issued' => $patient->canBeIssued()
],
'journal' => $archiveJournal,
'archiveInfo' => $archiveInfo
];
return response()->json($patientInfo);
}
}