This commit is contained in:
Dwi Swandhana
2026-08-01 12:15:25 +07:00
parent 410916f963
commit 119f73403e
8 changed files with 933 additions and 301 deletions
+302 -298
View File
@@ -459,7 +459,7 @@ class DokterController extends Controller
$dlp = $request->input('val10');
$idperiksa = $request->input('periksa_id');
$nofoto = $request->input('acc_number');
$addendumketerangan = $request->input('addendumketerangan');
$addendumketerangan = $request->input('addendumketerangan') ?? '';
if ($kerja == 'Draft'){
$iddokter = Session('id');
}
@@ -468,310 +468,314 @@ class DokterController extends Controller
$nm_spesimen = $periksa->nm_spesimen ?? '';
$noregister = $periksa->noregister ?? '';
$nmadendum = $periksa->nmadendum ?? '';
$tglverifikasi = $periksa->verifikasi ?? $today;
$cekganda = Periksa::where('noregister', $noregister)->where('nmadendum', $nmadendum)->where('id', '!=', $idperiksa)->get();
$statusdraft = 'Pemeriksaan awal';
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;
$isidataawal = null;
if (is_array($value)) {
$isidataawal = json_encode($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;
$statuslama = $periksa->status ?? '';
if ($statuslama == 'Selesai' AND $addendumketerangan == ''){
return response()->json(['icon' => 'error', 'status' => 'Gagal', 'message' => 'Pemeriksaan sudah selesai, silahkan buat adendum untuk menambahkan keterangan']);
} else {
$tglverifikasi = $periksa->verifikasi ?? $today;
$cekganda = Periksa::where('noregister', $noregister)->where('nmadendum', $nmadendum)->where('id', '!=', $idperiksa)->get();
$statusdraft = 'Pemeriksaan awal';
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;
$isidataawal = null;
if (is_array($value)) {
$isidataawal = json_encode($value);
} else {
}
$isidataawal = $value;
}
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofoto,
'komponen' => $key,
],
[
'isidata' => $isidataawal,
'template' => $dlp,
'created_by' => session('nama'),
]
);
$yangperludicloning = '';
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'; }
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 (!empty($cekganda) AND $yangperludicloning != ''){
foreach($cekganda as $rcloning){
$nofotocloning = $rcloning->nofoto;
$dlpcloning = $rcloning->dlp ?? 'Kultur';
$cekada = KomponenJawaban::where('accnumber', $nofotocloning)->where('komponen', $yangperludicloning)->first();
if ($cekada){
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 {
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofotocloning,
'komponen' => $yangperludicloning,
],
[
'isidata' => $isidataawal,
'template' => $dlpcloning,
'created_by' => session('nama'),
]
);
Riwayat::create([
'nofoto' => $nofotocloning,
'jawaban' => $isidataawal,
'inputor' => Session('nama'),
'keterangan' => 'Clone Data '.$yangperludicloning.' Dari ('.$nofoto.')',
'verifikasi' => '',
]);
}
$isidataawal = $value;
}
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofoto,
'komponen' => $key,
],
[
'isidata' => $isidataawal,
'template' => $dlp,
'created_by' => session('nama'),
]
);
$yangperludicloning = '';
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'; }
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 (!empty($cekganda) AND $yangperludicloning != ''){
foreach($cekganda as $rcloning){
$nofotocloning = $rcloning->nofoto;
$dlpcloning = $rcloning->dlp ?? 'Kultur';
$cekada = KomponenJawaban::where('accnumber', $nofotocloning)->where('komponen', $yangperludicloning)->first();
if ($cekada){
} else {
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofotocloning,
'komponen' => $yangperludicloning,
],
[
'isidata' => $isidataawal,
'template' => $dlpcloning,
'created_by' => session('nama'),
]
);
Riwayat::create([
'nofoto' => $nofotocloning,
'jawaban' => $isidataawal,
'inputor' => Session('nama'),
'keterangan' => 'Clone Data '.$yangperludicloning.' Dari ('.$nofoto.')',
'verifikasi' => '',
]);
}
}
}
}
}
$analis = $request->input('analis');
$ppds3 = $request->input('ppds3');
$cekdokter = optional(User::find($iddokter));
$cekanalis = optional(User::find($analis));
$cekppds3 = optional(User::find($ppds3));
$statusdraft = $this->resolvePeriksaHierarchyStatus($periksa->status, $statusdraft);
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' => $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' => $this->resolvePeriksaHierarchyStatus($periksa->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' => $this->resolvePeriksaHierarchyStatus($periksa->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' => $this->resolvePeriksaHierarchyStatus($periksa->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 'Permohonan Verifikasi Preliminary':
$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' => $this->resolvePeriksaHierarchyStatus($periksa->status, 'Otor Maldi (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 Preliminary ke SPV',
]);
return response()->json(['icon' => 'success', 'warna' => '#5ba035', 'status' => 'Sukses', 'message' => 'Permohonan Verifikasi Preliminary 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',
]);
Periksa::where('nofoto', $getid->nofoto)->update([
$analis = $request->input('analis');
$ppds3 = $request->input('ppds3');
$cekdokter = optional(User::find($iddokter));
$cekanalis = optional(User::find($analis));
$cekppds3 = optional(User::find($ppds3));
$statusdraft = $this->resolvePeriksaHierarchyStatus($periksa->status, $statusdraft);
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'),
'tgladendum' => now(),
'keterangan' => $getid->jawaban
'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',
]);
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']);
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' => $this->resolvePeriksaHierarchyStatus($periksa->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' => $this->resolvePeriksaHierarchyStatus($periksa->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' => $this->resolvePeriksaHierarchyStatus($periksa->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 'Permohonan Verifikasi Preliminary':
$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' => $this->resolvePeriksaHierarchyStatus($periksa->status, 'Otor Maldi (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 Preliminary ke SPV',
]);
return response()->json(['icon' => 'success', 'warna' => '#5ba035', 'status' => 'Sukses', 'message' => 'Permohonan Verifikasi Preliminary 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',
]);
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']);
}
}
}
protected function resolvePeriksaHierarchyStatus($currentStatus, $proposedStatus): string {
@@ -3891,7 +3895,7 @@ class DokterController extends Controller
$data[] = array(
'nofoto' => $rows->nofoto,
'nolab' => $rows->orderid,
'norm' => $rows->norm,
'norm' => $rows->noregister,
'jenispemeriksaan' => $rows->reques,
'mulai' => $rows->daftar,
'selesai' => $rows->verifikasi,
@@ -1122,7 +1122,7 @@ class FrontpageController extends Controller
$nik = $request->input('nik') ?? 0;
$bpjs = $request->input('bpjs') ?? 0;
$tlsasal = $request->input('asalpasien');
$nmrs = $request->input('namarspengirim') ?? 'RSSA Malang';
$nmrs = $request->input('namarspengirim') ?? $request->input('keteranganrujukan') ?? 'RSSA Malang';
$klinisi = $request->input('drpeminta');
$insurance = $request->input('asuransi') ?? 'UMM';
$rekues = $request->input('layanan');
@@ -1340,7 +1340,7 @@ class FrontpageController extends Controller
$nm_spesimen = $decodedData['spesimen'] ?? null;
$kd_spesimen = $decodedData['kodespesimen'] ?? null;
$pengambilan = $decodedData['pengambilan'] ?? null;
$nmrs = $decodedData['keteranganrujukan'] ?? 'RSSA Malang';
$nmrs = $decodedData['keteranganrujukan'] ?? $decodedData['namarspengirim'] ?? 'RSSA Malang';
$tanggalregis = $decodedData['tanggalregis'] ?? date('Y-m-d');
$tanggalsampel = $decodedData['tanggalsampel'] ?? date('Y-m-d');
$asalpengirim = $decodedData['asalpengirim'] ?? null;