This commit is contained in:
Dwi Swandhana
2026-07-03 20:48:38 +07:00
parent ed92325536
commit f857eec85c
11 changed files with 1820 additions and 1142 deletions
+323 -424
View File
@@ -463,304 +463,298 @@ class DokterController extends Controller
if ($kerja == 'Draft'){
$iddokter = Session('id');
}
if ($iddokter == 'Pilih' OR $iddokter == '' OR $iddokter == '0'){
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Error..!!', 'message' => 'Please Select Doctor Names']);
return back();
} else {
$today = date('Y-m-d H:i:s');
$periksa = Periksa::with(['getPasien', 'getPoli'])->find($idperiksa);
$nm_spesimen = $periksa->nm_spesimen ?? '';
$noregister = $periksa->noregister ?? '';
$nmadendum = $periksa->nmadendum ?? '';
$tglverifikasi = $periksa->verifikasi ?? $today;
$cekganda = Periksa::where('noregister', $noregister)->where('nmadendum', $nmadendum)->where('nm_spesimen', 'SPUTUM')->where('id', '!=', $idperiksa)->get();
$statusdraft = 'Proses Analisis Sampel';
KomponenJawaban::where('accnumber', $nofoto)->where('template', $dlp)->delete();
$data = $request->except(['_token', 'periksa_id', 'val01', 'val10', 'acc_number']);
foreach ($data as $key => $value) {
if ($value === "" || is_null($value) || $value === "Pilih Salah Satu") continue;
if (is_array($value)) {
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofoto,
'komponen' => $key,
],
[
'isidata' => json_encode($value),
'template' => $dlp,
'created_by' => session('nama'),
]
);
$today = date('Y-m-d H:i:s');
$periksa = Periksa::with(['getPasien', 'getPoli'])->find($idperiksa);
$nm_spesimen = $periksa->nm_spesimen ?? '';
$noregister = $periksa->noregister ?? '';
$nmadendum = $periksa->nmadendum ?? '';
$tglverifikasi = $periksa->verifikasi ?? $today;
$cekganda = Periksa::where('noregister', $noregister)->where('nmadendum', $nmadendum)->where('nm_spesimen', 'SPUTUM')->where('id', '!=', $idperiksa)->get();
$statusdraft = 'Proses Analisis Sampel';
KomponenJawaban::where('accnumber', $nofoto)->where('template', $dlp)->delete();
$data = $request->except(['_token', 'periksa_id', 'val01', 'val10', 'acc_number']);
foreach ($data as $key => $value) {
if ($value === "" || is_null($value) || $value === "Pilih Salah Satu") continue;
if (is_array($value)) {
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofoto,
'komponen' => $key,
],
[
'isidata' => json_encode($value),
'template' => $dlp,
'created_by' => session('nama'),
]
);
} else {
if ($key == 'id_statusmediatamlainnya' AND $value != ''){
$statusdraft = $value;
} else if ($key == 'id_statusmediasellainnya' AND $value != ''){
$statusdraft = $value;
} else if ($key == 'id_statusmediasda' AND $value != ''){
$statusdraft = $value;
} else if ($key == 'id_statusmediamcconkey' AND $value != ''){
$statusdraft = $value;
} else if ($key == 'id_statusmediacap' AND $value != ''){
$statusdraft = $value;
} else if ($key == 'id_statusmediabap' AND $value != ''){
$statusdraft = $value;
} else {
if ($key == 'id_statusmediatamlainnya' AND $value != ''){
$statusdraft = $value;
} else if ($key == 'id_statusmediasellainnya' AND $value != ''){
$statusdraft = $value;
} else if ($key == 'id_statusmediasda' AND $value != ''){
$statusdraft = $value;
} else if ($key == 'id_statusmediamcconkey' AND $value != ''){
$statusdraft = $value;
} else if ($key == 'id_statusmediacap' AND $value != ''){
$statusdraft = $value;
} else if ($key == 'id_statusmediabap' AND $value != ''){
$statusdraft = $value;
}
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofoto,
'komponen' => $key,
],
[
'isidata' => $value,
'template' => $dlp,
'created_by' => session('nama'),
]
);
}
$yangperludicloning = '';
if ($dlp == 'Kultur'){
if ($key == 'id_selepitel'){ $yangperludicloning = 'lsg_selepitel'; }
if ($key == 'id_selradang'){ $yangperludicloning = 'lsg_selradang'; }
if ($key == 'id_mikroorganisme'){ $yangperludicloning = 'lsg_mikroorganisme'; }
if ($key == 'id_mikroorganismeoptional'){ $yangperludicloning = 'lsg_mikroorganismeoptional'; }
if ($key == 'id_pewarnaanziehlnielsen'){ $yangperludicloning = 'lsg_pewarnaanziehlnielsen'; }
if ($key == 'id_pewarnaanziehlnielsensewaktu'){ $yangperludicloning = 'lsg_pewarnaanziehlnielsensewaktu'; }
if ($key == 'id_pewarnaankoh'){ $yangperludicloning = 'lsg_pewarnaankoh'; }
if ($key == 'id_pewarnaankohoptional'){ $yangperludicloning = 'lsg_pewarnaankohoptional'; }
if ($key == 'id_pewarnaanneisser'){ $yangperludicloning = 'lsg_pewarnaanneisser'; }
if ($key == 'id_pewarnaannegatif'){ $yangperludicloning = 'lsg_pewarnaannegatif'; }
if ($key == 'id_pewarnaanspora'){ $yangperludicloning = 'lsg_pewarnaanspora'; }
if ($key == 'id_pewarnaangiesma'){ $yangperludicloning = 'lsg_pewarnaangiesma'; }
if ($key == 'id_pewarnaangiesmaoptional'){ $yangperludicloning = 'lsg_pewarnaangiesmaoptional'; }
} else {
if ($key == 'lsg_selepitel'){ $yangperludicloning = 'id_selepitel'; }
if ($key == 'lsg_selradang'){ $yangperludicloning = 'id_selradang'; }
if ($key == 'lsg_mikroorganisme'){ $yangperludicloning = 'id_mikroorganisme'; }
if ($key == 'lsg_mikroorganismeoptional'){ $yangperludicloning = 'id_mikroorganismeoptional'; }
if ($key == 'lsg_pewarnaanziehlnielsen'){ $yangperludicloning = 'id_pewarnaanziehlnielsen'; }
if ($key == 'lsg_pewarnaanziehlnielsensewaktu'){ $yangperludicloning = 'id_pewarnaanziehlnielsensewaktu'; }
if ($key == 'lsg_pewarnaankoh'){ $yangperludicloning = 'id_pewarnaankoh'; }
if ($key == 'lsg_pewarnaankohoptional'){ $yangperludicloning = 'id_pewarnaankohoptional'; }
if ($key == 'lsg_pewarnaanneisser'){ $yangperludicloning = 'id_pewarnaanneisser'; }
if ($key == 'lsg_pewarnaannegatif'){ $yangperludicloning = 'id_pewarnaannegatif'; }
if ($key == 'lsg_pewarnaanspora'){ $yangperludicloning = 'id_pewarnaanspora'; }
if ($key == 'lsg_pewarnaangiesma'){ $yangperludicloning = 'id_pewarnaangiesma'; }
if ($key == 'lsg_pewarnaangiesmaoptional'){ $yangperludicloning = 'id_pewarnaangiesmaoptional'; }
}
if ($nm_spesimen == 'SPUTUM' AND !empty($cekganda) AND $yangperludicloning != ''){
foreach($cekganda as $rcloning){
$nofotocloning = $rcloning->nofoto;
$dlpcloning = $rcloning->dlp ?? 'Kultur';
if (is_array($value)) {
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofotocloning,
'komponen' => $yangperludicloning,
],
[
'isidata' => json_encode($value),
'template' => $dlpcloning,
'created_by' => session('nama'),
]
);
} else {
}
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofoto,
'komponen' => $key,
],
[
'isidata' => $value,
'template' => $dlp,
'created_by' => session('nama'),
]
);
}
$yangperludicloning = '';
if ($dlp == 'Kultur'){
if ($key == 'id_selepitel'){ $yangperludicloning = 'lsg_selepitel'; }
if ($key == 'id_selradang'){ $yangperludicloning = 'lsg_selradang'; }
if ($key == 'id_mikroorganisme'){ $yangperludicloning = 'lsg_mikroorganisme'; }
if ($key == 'id_mikroorganismeoptional'){ $yangperludicloning = 'lsg_mikroorganismeoptional'; }
if ($key == 'id_pewarnaanziehlnielsen'){ $yangperludicloning = 'lsg_pewarnaanziehlnielsen'; }
if ($key == 'id_pewarnaanziehlnielsensewaktu'){ $yangperludicloning = 'lsg_pewarnaanziehlnielsensewaktu'; }
if ($key == 'id_pewarnaankoh'){ $yangperludicloning = 'lsg_pewarnaankoh'; }
if ($key == 'id_pewarnaankohoptional'){ $yangperludicloning = 'lsg_pewarnaankohoptional'; }
if ($key == 'id_pewarnaanneisser'){ $yangperludicloning = 'lsg_pewarnaanneisser'; }
if ($key == 'id_pewarnaannegatif'){ $yangperludicloning = 'lsg_pewarnaannegatif'; }
if ($key == 'id_pewarnaanspora'){ $yangperludicloning = 'lsg_pewarnaanspora'; }
if ($key == 'id_pewarnaangiesma'){ $yangperludicloning = 'lsg_pewarnaangiesma'; }
if ($key == 'id_pewarnaangiesmaoptional'){ $yangperludicloning = 'lsg_pewarnaangiesmaoptional'; }
} else {
if ($key == 'lsg_selepitel'){ $yangperludicloning = 'id_selepitel'; }
if ($key == 'lsg_selradang'){ $yangperludicloning = 'id_selradang'; }
if ($key == 'lsg_mikroorganisme'){ $yangperludicloning = 'id_mikroorganisme'; }
if ($key == 'lsg_mikroorganismeoptional'){ $yangperludicloning = 'id_mikroorganismeoptional'; }
if ($key == 'lsg_pewarnaanziehlnielsen'){ $yangperludicloning = 'id_pewarnaanziehlnielsen'; }
if ($key == 'lsg_pewarnaanziehlnielsensewaktu'){ $yangperludicloning = 'id_pewarnaanziehlnielsensewaktu'; }
if ($key == 'lsg_pewarnaankoh'){ $yangperludicloning = 'id_pewarnaankoh'; }
if ($key == 'lsg_pewarnaankohoptional'){ $yangperludicloning = 'id_pewarnaankohoptional'; }
if ($key == 'lsg_pewarnaanneisser'){ $yangperludicloning = 'id_pewarnaanneisser'; }
if ($key == 'lsg_pewarnaannegatif'){ $yangperludicloning = 'id_pewarnaannegatif'; }
if ($key == 'lsg_pewarnaanspora'){ $yangperludicloning = 'id_pewarnaanspora'; }
if ($key == 'lsg_pewarnaangiesma'){ $yangperludicloning = 'id_pewarnaangiesma'; }
if ($key == 'lsg_pewarnaangiesmaoptional'){ $yangperludicloning = 'id_pewarnaangiesmaoptional'; }
}
if ($nm_spesimen == 'SPUTUM' AND !empty($cekganda) AND $yangperludicloning != ''){
foreach($cekganda as $rcloning){
$nofotocloning = $rcloning->nofoto;
$dlpcloning = $rcloning->dlp ?? 'Kultur';
if (is_array($value)) {
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofotocloning,
'komponen' => $yangperludicloning,
],
[
'isidata' => json_encode($value),
'template' => $dlpcloning,
'created_by' => session('nama'),
]
);
} else {
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofotocloning,
'komponen' => $yangperludicloning,
],
[
'isidata' => $value,
'template' => $dlpcloning,
'created_by' => session('nama'),
]
);
}
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofotocloning,
'komponen' => $yangperludicloning,
],
[
'isidata' => $value,
'template' => $dlpcloning,
'created_by' => session('nama'),
]
);
}
}
}
$analis = $request->input('analis');
$ppds3 = $request->input('ppds3');
$cekdokter = optional(User::find($iddokter));
$cekanalis = optional(User::find($analis));
$cekppds3 = optional(User::find($ppds3));
switch ($kerja) {
case 'verifikasi':
if ($periksa->status != 'Selesai'){
$tglverifikasi = date('Y-m-d H:i:s');
}
$updateData = [
'keterangan' => $keterangan,
'dlp' => $dlp,
'analis' => $analis,
'nmanalis' => $cekanalis->nama ?? null,
'dokter_id' => Session('id'),
'nmdokter' => Session('nama'),
'ppdssenior' => $ppds3,
'nmppdssenior' => $cekppds3->nama ?? null,
'tandatangan' => '',
'verifikasi' => $tglverifikasi,
'akhir' => $tglverifikasi,
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
'status' => 'Selesai',
];
$periksa->update($updateData);
if ($this->shouldMarkAsCritical($request)) {
$this->upsertCriticalValueSample($periksa);
}
$surat = self::genSurat($periksa->id, 'dengan kop');
}
$analis = $request->input('analis');
$ppds3 = $request->input('ppds3');
$cekdokter = optional(User::find($iddokter));
$cekanalis = optional(User::find($analis));
$cekppds3 = optional(User::find($ppds3));
switch ($kerja) {
case 'verifikasi':
if ($periksa->status != 'Selesai'){
$tglverifikasi = date('Y-m-d H:i:s');
}
$updateData = [
'keterangan' => $keterangan,
'dlp' => $dlp,
'analis' => $analis,
'nmanalis' => $cekanalis->nama ?? null,
'dokter_id' => Session('id'),
'nmdokter' => Session('nama'),
'ppdssenior' => $ppds3,
'nmppdssenior' => $cekppds3->nama ?? null,
'tandatangan' => '',
'verifikasi' => $tglverifikasi,
'akhir' => $tglverifikasi,
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
'status' => 'Selesai',
];
$periksa->update($updateData);
if ($this->shouldMarkAsCritical($request)) {
$this->upsertCriticalValueSample($periksa);
}
$surat = self::genSurat($periksa->id, 'dengan kop');
Riwayat::create([
'nofoto' => $nofoto,
'jawaban' => $surat,
'inputor' => Session('nama'),
'verifikasi' => 'Accepted',
'keterangan' => 'Expertise',
]);
if (isset($addendumketerangan) AND $addendumketerangan != ''){
Riwayat::create([
'nofoto' => $nofoto,
'jawaban' => $surat,
'jawaban' => $addendumketerangan,
'inputor' => Session('nama'),
'verifikasi' => 'Accepted',
'keterangan' => 'Expertise',
'keterangan' => 'Addendum',
]);
if (isset($addendumketerangan) AND $addendumketerangan != ''){
Riwayat::create([
'nofoto' => $nofoto,
'jawaban' => $addendumketerangan,
'inputor' => Session('nama'),
'verifikasi' => 'Accepted',
'keterangan' => 'Addendum',
]);
}
if (is_null($nofoto)){
return response()->json(['icon' => 'success', 'warna' => '#5ba035', 'status' => 'Sukses', 'message' => 'Expertise Verified']);
} else {
$pesan = 'Expertise Saved';
return response()->json(['icon' => 'success', 'warna' => '#5ba035', 'status' => 'Sukses', 'message' => $pesan]);
}
case 'statuspewarnaanlsg':
$periksa->update([
'keterangan' => $keterangan,
'dlp' => $dlp,
'analis' => $analis,
'nmanalis' => $cekanalis->nama ?? null,
'nmdrafter' => Session('nama'),
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
'status' => 'Pewarnaan Langsung'
]);
return response()->json(['icon' => 'success', 'status' => 'Success', 'message' => 'Set Status Pewarnaan Langsung']);
case 'preliminary':
$updateData = [
'keterangan' => $keterangan,
'dlp' => $dlp,
'analis' => $analis,
'nmanalis' => $cekanalis->nama ?? null,
'dokter_id' => Session('id'),
'nmdokter' => Session('nama'),
'ppdssenior' => $ppds3,
'nmppdssenior' => $cekppds3->nama ?? null,
'tandatangan' => '',
'verifikasi' => $tglverifikasi,
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
'status' => 'Preliminary Results',
];
$periksa->update($updateData);
if ($this->shouldMarkAsCritical($request)) {
$this->upsertCriticalValueSample($periksa);
}
$surat = self::genSurat($periksa->id, 'dengan kop');
Riwayat::create([
'nofoto' => $nofoto,
'jawaban' => $surat,
'inputor' => Session('nama'),
'verifikasi' => 'Accepted',
'keterangan' => 'Preliminary Results',
]);
$pesan = 'Preliminary Results Saved';
}
if (is_null($nofoto)){
return response()->json(['icon' => 'success', 'warna' => '#5ba035', 'status' => 'Sukses', 'message' => 'Expertise Verified']);
} else {
$pesan = 'Expertise Saved';
return response()->json(['icon' => 'success', 'warna' => '#5ba035', 'status' => 'Sukses', 'message' => $pesan]);
case 'Permohonan Verifikasi':
$updateData = [
'keterangan' => $keterangan,
'dlp' => $dlp,
'analis' => $analis,
'nmanalis' => $cekanalis->nama ?? null,
'dokter_id' => $iddokter,
'nmdokter' => $cekdokter->nama ?? null,
'ppdssenior' => $ppds3,
'nmppdssenior' => $cekppds3->nama ?? null,
'tandatangan' => '',
'baca' => $today,
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
'nmpembaca' => Session('nama'),
'status' => 'Expertise Saved (Un Verified)',
];
$periksa->update($updateData);
$surat = self::genSurat($periksa->id, 'dengan kop');
Riwayat::create([
'nofoto' => $nofoto,
'jawaban' => $surat,
'inputor' => Session('nama'),
}
case 'statuspewarnaanlsg':
$periksa->update([
'keterangan' => $keterangan,
'dlp' => $dlp,
'analis' => $analis,
'nmanalis' => $cekanalis->nama ?? null,
'nmdrafter' => Session('nama'),
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
]);
return response()->json(['icon' => 'success', 'status' => 'Success', 'message' => 'Set Status Pewarnaan Langsung']);
case 'preliminary':
$updateData = [
'keterangan' => $keterangan,
'dlp' => $dlp,
'analis' => $analis,
'nmanalis' => $cekanalis->nama ?? null,
'dokter_id' => Session('id'),
'nmdokter' => Session('nama'),
'ppdssenior' => $ppds3,
'nmppdssenior' => $cekppds3->nama ?? null,
'tandatangan' => '',
'verifikasi' => $tglverifikasi,
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
'status' => 'Preliminary Results',
];
$periksa->update($updateData);
if ($this->shouldMarkAsCritical($request)) {
$this->upsertCriticalValueSample($periksa);
}
$surat = self::genSurat($periksa->id, 'dengan kop');
Riwayat::create([
'nofoto' => $nofoto,
'jawaban' => $surat,
'inputor' => Session('nama'),
'verifikasi' => 'Accepted',
'keterangan' => 'Preliminary Results',
]);
$pesan = 'Preliminary Results Saved';
return response()->json(['icon' => 'success', 'warna' => '#5ba035', 'status' => 'Sukses', 'message' => $pesan]);
case 'Permohonan Verifikasi':
$updateData = [
'keterangan' => $keterangan,
'dlp' => $dlp,
'analis' => $analis,
'nmanalis' => $cekanalis->nama ?? null,
'dokter_id' => $iddokter,
'nmdokter' => $cekdokter->nama ?? null,
'ppdssenior' => $ppds3,
'nmppdssenior' => $cekppds3->nama ?? null,
'tandatangan' => '',
'baca' => $today,
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
'nmpembaca' => Session('nama'),
'status' => 'Expertise Saved (Un Verified)',
];
$periksa->update($updateData);
$surat = self::genSurat($periksa->id, 'dengan kop');
Riwayat::create([
'nofoto' => $nofoto,
'jawaban' => $surat,
'inputor' => Session('nama'),
'verifikasi' => 'Accepted',
'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',
]);
return response()->json(['icon' => 'success', 'status' => 'Success', 'message' => 'Addendum Declined']);
case 'Draft':
$periksa->update([
'keterangan' => $keterangan,
'dlp' => $dlp,
'analis' => $analis,
'nmanalis' => $cekanalis->nama ?? null,
'nmdrafter' => Session('nama'),
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
'status' => $statusdraft
]);
$surat = self::genSurat($periksa->id, 'dengan kop');
Riwayat::create([
'nofoto' => $nofoto,
'jawaban' => $surat,
'inputor' => Session('nama'),
'verifikasi' => '',
'keterangan' => 'Draft',
]);
return response()->json(['icon' => 'success', 'status' => 'Success', 'message' => 'Draft Expertise Saved']);
case 'terimadendum':
$getid = Riwayat::where('keterangan', 'Adendum')->where('nofoto', $nofoto)->whereNull('verifikasi')->first();
if (isset($getid->id)){
Riwayat::where('id', $getid->id)->update([
'verifikasi' => 'Accepted',
'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',
]);
return response()->json(['icon' => 'success', 'status' => 'Success', 'message' => 'Addendum Declined']);
case 'Draft':
$periksa->update([
'keterangan' => $keterangan,
'dlp' => $dlp,
'analis' => $analis,
'nmanalis' => $cekanalis->nama ?? null,
'nmdrafter' => Session('nama'),
Periksa::where('nofoto', $getid->nofoto)->update([
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
'status' => $statusdraft
'tgladendum' => now(),
'keterangan' => $getid->jawaban
]);
$surat = self::genSurat($periksa->id, 'dengan kop');
Riwayat::create([
'nofoto' => $nofoto,
'jawaban' => $surat,
'inputor' => Session('nama'),
'verifikasi' => '',
'keterangan' => 'Draft',
]);
return response()->json(['icon' => 'success', 'status' => 'Success', 'message' => 'Draft Expertise Saved']);
case 'terimadendum':
$getid = Riwayat::where('keterangan', 'Adendum')->where('nofoto', $nofoto)->whereNull('verifikasi')->first();
if (isset($getid->id)){
Riwayat::where('id', $getid->id)->update([
'verifikasi' => 'Accepted',
]);
Periksa::where('nofoto', $getid->nofoto)->update([
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
'tgladendum' => now(),
'keterangan' => $getid->jawaban
]);
return response()->json(['icon' => 'success', 'status' => 'Success', 'message' => 'Addendum Accepted']);
} else {
return response()->json(['icon' => 'error', 'status' => 'Gagal', 'message' => 'Addendum Data Cannot Be Found']);
}
default:
$periksa->update([
'keterangan' => $keterangan,
'dlp' => $dlp,
'analis' => $analis,
'nmanalis' => $cekanalis->nama ?? null,
'dokter_id' => $iddokter,
'nmdokter' => $cekdokter->nama ?? null,
'ppdssenior' => $ppds3,
'nmppdssenior' => $cekppds3->nama ?? null,
'nmdrafter' => Session('nama'),
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
'status' => $statusdraft
]);
return response()->json(['icon' => 'success', 'status' => 'Success', 'message' => 'Expertise Saved']);
}
return response()->json(['icon' => 'success', 'status' => 'Success', 'message' => 'Addendum Accepted']);
} else {
return response()->json(['icon' => 'error', 'status' => 'Gagal', 'message' => 'Addendum Data Cannot Be Found']);
}
default:
$periksa->update([
'keterangan' => $keterangan,
'dlp' => $dlp,
'analis' => $analis,
'nmanalis' => $cekanalis->nama ?? null,
'dokter_id' => $iddokter,
'nmdokter' => $cekdokter->nama ?? null,
'ppdssenior' => $ppds3,
'nmppdssenior' => $cekppds3->nama ?? null,
'nmdrafter' => Session('nama'),
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
'status' => $statusdraft
]);
return response()->json(['icon' => 'success', 'status' => 'Success', 'message' => 'Expertise Saved']);
}
}
protected function shouldMarkAsCritical(Request $request): bool
@@ -1245,64 +1239,59 @@ class DokterController extends Controller
$cekdatanmaddendum = Periksa::where('nofoto', $nofoto)->first();
$tgldaftarpasangan = $cekdatanmaddendum->daftar ?? '';
$nmadendum = $cekdatanmaddendum->nmadendum ?? '';
/*
sudah OK tinggal di uncoment saja klo perlu cloning data dari pasangan
if ($nmadendum != ''){
$getdatapasangannya = Periksa::where('nmadendum', $nmadendum)->where('nm_spesimen', 'SPUTUM')->where('nofoto', '!=', $nofoto)->get();
$getdatapasangannya = Periksa::where('nmadendum', $nmadendum)->where('nofoto', '!=', $nofoto)->get();
if (!empty($getdatapasangannya)){
foreach ($getdatapasangannya as $item){
$datayangperludicloning = KomponenJawaban::where('accnumber', $item->nofoto)->get();
foreach ($datayangperludicloning as $rclone){
$ceksudahcloning = KomponenJawaban::where('accnumber', $nofoto)
->where('komponen', $rclone->komponen)
->where('template', $ruangan)->count();
if ($ceksudahcloning == 0){
$komponen = '';
if ($rclone->komponen == 'lsg_selepitel'){
$komponen = 'id_selepitel';
}
if ($rclone->komponen == 'id_selepitel'){
$komponen = 'lsg_selepitel';
}
if ($rclone->komponen == 'lsg_selradang'){
$komponen = 'id_selradang';
}
if ($rclone->komponen == 'id_selradang'){
$komponen = 'lsg_selradang';
}
if ($rclone->komponen == 'lsg_mikroorganisme'){
$komponen = 'id_mikroorganisme';
}
if ($rclone->komponen == 'id_mikroorganisme'){
$komponen = 'lsg_mikroorganisme';
}
if ($rclone->komponen == 'lsg_mikroorganismeoptional'){
$komponen = 'id_mikroorganismeoptional';
}
if ($rclone->komponen == 'id_mikroorganismeoptional'){
$komponen = 'lsg_mikroorganismeoptional';
}
if ($rclone->komponen == 'lsg_mikroorganismeoptional'){
$komponen = 'id_mikroorganismeoptional';
}
if ($rclone->komponen == 'id_mikroorganismeoptional'){
$komponen = 'lsg_mikroorganismeoptional';
}
if ($komponen != ''){
KomponenJawaban::create([
'accnumber' => $nofoto,
'template' => $ruangan,
'komponen' => $komponen,
'isidata' => $rclone->isidata,
'created_by' => Session('nama')
]);
}
$komponenterclone = '';
if ($rclone->komponen == 'lsg_selepitel'){
$komponenterclone = 'id_selepitel';
}
if ($rclone->komponen == 'id_selepitel'){
$komponenterclone = 'lsg_selepitel';
}
if ($rclone->komponen == 'lsg_selradang'){
$komponenterclone = 'id_selradang';
}
if ($rclone->komponen == 'id_selradang'){
$komponenterclone = 'lsg_selradang';
}
if ($rclone->komponen == 'lsg_mikroorganisme'){
$komponenterclone = 'id_mikroorganisme';
}
if ($rclone->komponen == 'id_mikroorganisme'){
$komponenterclone = 'lsg_mikroorganisme';
}
if ($rclone->komponen == 'lsg_mikroorganismeoptional'){
$komponenterclone = 'id_mikroorganismeoptional';
}
if ($rclone->komponen == 'id_mikroorganismeoptional'){
$komponenterclone = 'lsg_mikroorganismeoptional';
}
if ($rclone->komponen == 'lsg_mikroorganismeoptional'){
$komponenterclone = 'id_mikroorganismeoptional';
}
$ceksudahcloning = KomponenJawaban::where('accnumber', $rclone->accnumber)->where('komponen', $komponenterclone)->count();
if ($ceksudahcloning == 0 AND $komponenterclone != ''){
KomponenJawaban::create([
'accnumber' => $rclone->accnumber,
'template' => $ruangan,
'komponen' => $komponenterclone,
'isidata' => $rclone->isidata,
'created_by' => Session('nama')
]);
Riwayat::create([
'nofoto' => $rclone->accnumber,
'jawaban' => $rclone->isidata,
'inputor' => Session('nama'),
'keterangan' => 'Clone Data '.$komponenterclone.' Dari ('.$nofoto.')',
'verifikasi' => '',
]);
}
}
}
}
*/
KomponenJawaban::where('accnumber', $nofoto)->where('template', 'all')->update([
'template' => $ruangan,
]);
@@ -2309,96 +2298,6 @@ class DokterController extends Controller
]);
}
return $pesan;
} else if ($worklist == 'getbbachtect' OR $worklist == 'getmgit' OR $worklist == 'getabbot'){
$isidata = $request->input('isi');
try {
$ketemu = '';
$nomor = 1;
$cekdatalangsung = DataListiner::where('no_id', $nofoto)->whereIn('alat', ['BD Mikro 1', 'BD Mikro 2'])->first();
$ketemu = $cekdatalangsung->organisme ?? '';
if ($ketemu == ''){
$cekada = ResultSample::where('accession_number', 'LIKE', $nofoto.'%')->get();
if (!empty($cekada)){
foreach($cekada as $rows){
$ketemu = $rows->test_status;
}
} else {
$cekdata = DB::table('lis_phoenix')->where('no_id', $nofoto)->first();
$ketemu = $cekdata->organisme ?? '';
}
}
if ($ketemu != ''){
if ($isidata == '' OR is_null($isidata)){
$isidata = $ketemu;
} else {
$isidata = $isidata.'<br />'.$ketemu;
}
} else {
}
if ($isidata == '' OR is_null($isidata)){
} else {
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofoto,
'template' => $request->input('jenis'),
'komponen' => $request->input('komponen'),
],
[
'isidata' => $isidata,
'created_by' => Session('nama')
]
);
}
$pesan = $isidata;
}catch (Exception $e) {
$pesan = $isidata.'<br />'.$e->getMessage();
}
return $pesan;
} else if ($worklist == 'getgenexpert'){
$isidata = $request->input('isi');
try {
$cekdata = Periksa::where('nofoto', $nofoto)->first();
$noregister = $cekdata->noregister ?? '';
$url = 'http://10.10.120.14:6002/api/genexpert/query-result';
$response = Http::withHeaders([
'Content-Type' => 'application/json',
'Accept' => 'application/json',
])->timeout(30)
->post($url, [
'accnumber' => $nofoto,
'register_no' => $noregister,
]);
$body = $response->json();
$errorMessage = $body['message'] ?? 'Unknown Error';
$details = json_decode($errorMessage, true);
if (json_last_error() === JSON_ERROR_NONE && isset($details['message'])) {
$pesan = $details['message'];
} else {
$pesan = $errorMessage;
}
if ($response->successful()) {
Log::info('requestResult.', [
'status' => $response->status(),
'message' => $response->json()
]);
}
Log::error('Exception dalam fungsi requestResult.', [
'status' => $response->status(),
'message' => 'Python Server Error: ' . $response->body()
]);
} catch (Exception $e) {
$pesan = (is_null($isidata) ? '' : $isidata . '<br />') . 'Error: ' . $e->getMessage();
Log::error('Exception dalam fungsi requestResult.', [
'sample_id' => $nofoto,
'exception' => $e->getMessage()
]);
}
return response($pesan, 200);
} else if ($worklist == 'addviralload'){
$tabelawal = $request->input('tabelawal');
$idtabel = $request->input('idtabel');
@@ -2526,7 +2425,7 @@ class DokterController extends Controller
} else if ($worklist == 'generatetblpertumbuhankoloni'){
$orderid = $request->input('nofoto');
$media = $request->input('komponen');
$sql = DB::table('pertumkolomni')->where('orderid', $orderid)->where('media', $media)->get();
$sql = DB::table('pertumkolomni')->where('orderid', $orderid)->where('media', $media)->orderBy('id', 'asc')->get();
return $sql;
} else {
$periksa = Periksa::where('id', $idperiksa)->first();