This commit is contained in:
Duidev Software House
2025-10-30 18:31:45 +07:00
parent 34d324c886
commit c0373c9436
2 changed files with 30 additions and 280 deletions
+29 -279
View File
@@ -470,6 +470,35 @@ class DokterController extends Controller
'created_by' => Session('nama')
]
);
$data = $request->except(['_token', 'periksa_id', 'val01', 'val10', 'acc_number']);
foreach ($data as $key => $value) {
if (empty($value)) continue;
if (is_array($value)) {
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofoto,
'komponen' => $key,
],
[
'isidata' => json_encode($value),
'template' => $dlp,
'created_by' => session('nama'),
]
);
} else {
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofoto,
'komponen' => $key,
],
[
'isidata' => $value,
'template' => $dlp,
'created_by' => session('nama'),
]
);
}
}
$analis = $request->input('analis');
$ppds3 = $request->input('ppds3');
$today = date('Y-m-d H:i:s');
@@ -536,7 +565,6 @@ class DokterController extends Controller
'keterangan' => 'Kirim ke SPV',
]);
return response()->json(['icon' => 'success', 'warna' => '#5ba035', 'status' => 'Sukses', 'message' => 'Permohonan Verifikasi Terkirim']);
case 'tolakadendum':
Riwayat::where('nofoto', $nofoto)->whereNull('verifikasi')->update([
'verifikasi' => 'Declined',
@@ -554,38 +582,6 @@ class DokterController extends Controller
'excutor' => Session('id'),
'status' => 'Proses Analisis Sampel'
]);
$data = $request->except(['_token', 'periksa_id', 'val01', 'val10', 'acc_number']);
foreach ($data as $key => $value) {
if (empty($value)) continue;
if (is_array($value)) {
// Misal: simpan sebagai JSON agar tidak hilang struktur
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofoto,
'komponen' => $key,
],
[
'isidata' => json_encode($value), // simpan dalam bentuk JSON
'template' => $dlp,
'created_by' => session('nama'),
]
);
} else {
// Value tunggal
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofoto,
'komponen' => $key,
],
[
'isidata' => $value,
'template' => $dlp,
'created_by' => session('nama'),
]
);
}
}
$surat = self::genSurat($periksa->id, 'dengan kop');
Riwayat::create([
'nofoto' => $nofoto,
@@ -1783,252 +1779,6 @@ class DokterController extends Controller
}
return $pesan;
}
}
public function exExpertise(Request $request) {
$idperiksa = $request->input('periksa_id');
$nofoto = $request->input('nofoto');
$ruangan = $request->input('ruangan');
$iddokter = $request->input('dokter');
$keterangan = $request->input('keterangan');
$kesimpulan = $request->input('kesimpulan');
//$dlp = $request->input('val01');
$val02 = $request->input('val02');
$jenisfont = $request->input('val07');
$modality = $request->input('val09');
$dlp = $request->input('val10');
$ppds1 = $request->input('val11');
$ppds2 = $request->input('val12');
$ppds3 = $request->input('val13');
$diagnosa2 = $request->input('val16');
$klinis = $request->input('val17');
$klinisi = $request->input('val18');
$berat = $request->input('val19');
$otheras = $request->input('val20');
$otherppds = $request->input('val21');
$analis = $request->input('analis');
if ($keterangan != ''){
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofoto,
'template' => $dlp,
'komponen' => 'keterangan',
],
[
'isidata' => $keterangan,
'created_by' => Session('nama')
]
);
}
$junior2 = 0;
$middle2 = 0;
if ($otherppds != ''){
$cekdokter = User::where('nama', $otherppds)->first();
if (isset($cekdokter->id)){
$otherppds = $cekdokter->id;
if ($otheras == 'Junior'){
$junior2 = $otherppds;
Periksa::where('id', $idperiksa)->update([
'nmppdsjunior2' => $cekdokter->nama
]);
} else {
$middle2 = $otherppds;
Periksa::where('id', $idperiksa)->update([
'nmppdsmiddle2' => $cekdokter->nama
]);
}
}
}
$jumlah = $kesimpulan;
$kesimpulan = '';
$getdataawal = Periksa::where('id', $idperiksa)->first();
$cekstatus = $getdataawal->status;
$noregister = $getdataawal->noregister;
$daftar = $getdataawal->daftar;
$surat = self::genSurat($getdataawal->id, 'dengan kop');
if ($cekstatus == 'Selesai' OR $cekstatus == 'Arsip'){
$update = Riwayat::create([
'nofoto' => $nofoto,
'jawaban' => $surat,
'inputor' => Session('nama'),
'keterangan'=> 'Adendum',
]);
Periksa::where('id', $idperiksa)->update([
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
'tgladendum' => date('Y-m-d H:i:s'),
]);
if ($getdataawal->dokter_id != 0){
$tuliskirim = Session('nama').' Mengisi Adendum Untuk Pasien an. '.$getdataawal->nmpasien.' Dengan Order Awal '.$getdataawal->reques;
$getppds = User::where('id', $getdataawal->dokter_id)->first();
if (isset($getppds->firebase)){
$firebaseid = $getppds->firebase;
$pesan = SendMail::mobilenotif($getppds->nama, $firebaseid, 'Adendum', $tuliskirim);
}
}
} else {
if ($val02 == 'Send'){
$tlsstatus = 'Expertise Saved (Un Verified)';
Riwayat::create([
'nofoto' => $nofoto,
'jawaban' => $surat,
'inputor' => Session('nama'),
'keterangan'=> 'Expertise',
]);
Periksa::where('id', $idperiksa)->update([
'baca' => date('Y-m-d H:i:s'),
'nmpembaca' => Session('nama'),
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
]);
if ($getdataawal->dokter_id != 0){
$getppds = User::where('id', $getdataawal->dokter_id)->first();
if (isset($getppds->firebase)){
$tuliskirim = Session('nama').' Mengisi Ekspertise Untuk Pasien an. '.$getdataawal->nmpasien.' Dengan Order Awal '.$getdataawal->reques;
$firebaseid = $getppds->firebase;
$pesan = SendMail::mobilenotif($getppds->nama, $firebaseid, 'Ekspertise', $tuliskirim);
}
}
} else {
$tlsstatus = 'Proses Analisis Sampel';
Riwayat::create([
'nofoto' => $nofoto,
'jawaban' => $surat,
'inputor' => Session('nama'),
'keterangan'=> $tlsstatus,
]);
Periksa::where('id', $idperiksa)->update([
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
'tgldraft' => date('Y-m-d H:i:s'),
'nmdrafter' => Session('nama'),
]);
}
if ($ppds3 != 0){
$cekdokter = User::where('id', $ppds3)->first();
if (isset($cekdokter->nama)){
Periksa::where('id', $idperiksa)->update([
'nmppdssenior' => $cekdokter->nama
]);
}
}
if ($ppds2 != 0){
$cekdokter = User::where('id', $ppds2)->first();
if (isset($cekdokter->nama)){
Periksa::where('id', $idperiksa)->update([
'nmmiddleppds' => $cekdokter->nama
]);
}
}
if ($ppds1 != 0){
$cekdokter = User::where('id', $ppds1)->first();
if (isset($cekdokter->nama)){
Periksa::where('id', $idperiksa)->update([
'nmppdsjunior' => $cekdokter->nama
]);
}
}
if ($iddokter != 0){
$cekdokter = User::where('id', $iddokter)->first();
if (isset($cekdokter->nama)){
Periksa::where('id', $idperiksa)->update([
'nmdokter' => $cekdokter->nama
]);
}
}
if ($analis != 0){
$cekdokter = User::where('id', $analis)->first();
if (isset($cekdokter->nama)){
Periksa::where('id', $idperiksa)->update([
'nmanalis' => $cekdokter->nama
]);
}
}
if ($ruangan == 'Pilih' OR $ruangan == ''){
$update = Periksa::where('id', $idperiksa)->update([
'dokter_id' => $iddokter,
'analis' => $analis,
'ppdsjunior' => $ppds1,
'middleppds' => $ppds2,
'ppdssenior' => $ppds3,
'ppdsmiddle2' => $middle2,
'ppdsjunior2' => $junior2,
'keterangan' => $keterangan,
'kesimpulan' => '',
'berat' => $berat,
'dlp' => $dlp,
'modality' => $modality,
'klinis' => $klinis,
'klinisi' => $klinisi,
'diagnosa2' => $diagnosa2,
'baca' => date('Y-m-d H:i:s'),
'status' => $tlsstatus,
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
]);
} else {
$jruang = Ruangan::where('id', $ruangan)->first();
if (isset($jruang->ruangan)){
$kamar = $jruang->ruangan;
$update = Periksa::where('id', $idperiksa)->update([
'ruangan_id' => $ruangan,
'ruangan' => $kamar,
'dokter_id' => $iddokter,
'analis' => $analis,
'ppdsjunior' => $ppds1,
'middleppds' => $ppds2,
'ppdssenior' => $ppds3,
'ppdsmiddle2' => $middle2,
'ppdsjunior2' => $junior2,
'keterangan' => $keterangan,
'kesimpulan' => '',
'berat' => $berat,
'dlp' => $dlp,
'modality' => $modality,
'klinis' => $klinis,
'klinisi' => $klinisi,
'diagnosa2' => $diagnosa2,
'baca' => date('Y-m-d H:i:s'),
'status' => $tlsstatus,
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
]);
} else {
$update = Periksa::where('id', $idperiksa)->update([
'dokter_id' => $iddokter,
'analis' => $analis,
'ppdsjunior' => $ppds1,
'middleppds' => $ppds2,
'ppdssenior' => $ppds3,
'ppdsmiddle2' => $middle2,
'ppdsjunior2' => $junior2,
'keterangan' => $keterangan,
'kesimpulan' => '',
'berat' => $berat,
'modality' => $modality,
'klinis' => $klinis,
'klinisi' => $klinisi,
'diagnosa2' => $diagnosa2,
'dlp' => $dlp,
'baca' => date('Y-m-d H:i:s'),
'status' => $tlsstatus,
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
]);
}
}
}
if ($update) {
if (Session('previlage') == 'supervisor'){
return response()->json(['icon' => 'success', 'warna' => '#5ba035', 'status' => 'Success', 'message' => 'Patient Expertise Saved']);
return back();
} else {
return response()->json(['icon' => 'success', 'warna' => '#5ba035', 'status' => 'Success', 'message' => 'Patient Expertise Saved, please show it to your SPV for verification']);
return back();
}
} else {
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Recieved NACK from remote', 'message' => 'System Down, please try again in a few years....']);
return back();
}
}
public function savePdf(Request $request) {
$id = $request->input('id');
@@ -15,7 +15,7 @@ return new class extends Migration
$table->id();
$table->string('accnumber', 100)->nullable();
$table->string('template', 100)->nullable();
$table->string('komponen', 100)->nullable();
$table->string('komponen', 255)->nullable();
$table->text('isidata')->nullable();
$table->string('nobiorepository', 100)->nullable();
$table->string('strain', 255)->nullable();