This commit is contained in:
Dwi Swandhana
2026-07-19 20:47:08 +07:00
parent 616f0658d6
commit 30e39875c0
4 changed files with 137 additions and 41 deletions
@@ -549,30 +549,50 @@ class DokterController extends Controller
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'),
]
);
$cekada = KomponenJawaban::where('accnumber', $nofotocloning)->where('komponen', $yangperludicloning)->first();
if ($cekada){
} else {
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofotocloning,
'komponen' => $yangperludicloning,
],
[
'isidata' => $value,
'template' => $dlpcloning,
'created_by' => session('nama'),
]
);
if (is_array($value)) {
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofotocloning,
'komponen' => $yangperludicloning,
],
[
'isidata' => json_encode($value),
'template' => $dlpcloning,
'created_by' => session('nama'),
]
);
Riwayat::create([
'nofoto' => $nofotocloning,
'jawaban' => json_encode($value),
'inputor' => Session('nama'),
'keterangan' => 'Clone Data '.$yangperludicloning.' Dari ('.$nofoto.')',
'verifikasi' => '',
]);
} else {
KomponenJawaban::updateOrCreate(
[
'accnumber' => $nofotocloning,
'komponen' => $yangperludicloning,
],
[
'isidata' => $value,
'template' => $dlpcloning,
'created_by' => session('nama'),
]
);
Riwayat::create([
'nofoto' => $nofotocloning,
'jawaban' => $value,
'inputor' => Session('nama'),
'keterangan' => 'Clone Data '.$yangperludicloning.' Dari ('.$nofoto.')',
'verifikasi' => '',
]);
}
}
}
}
@@ -3875,6 +3895,11 @@ class DokterController extends Controller
$urlhasil = url('/').'/hasil/'.$rows->nofoto;
$status = $rows->status;
$keterangan = '';
$preliminary = DB::table('riwayatjawaban')
->where('nofoto', $rows->nofoto)
->where('keterangan', 'Preliminary Results')
->orderBy('created_at', 'DESC')
->first();
if ($status == '' OR is_null($status)){
$status = 'new';
} else {
@@ -3893,7 +3918,7 @@ class DokterController extends Controller
}
}
}
$data[] = array(
$rowData = array(
'nofoto' => $rows->nofoto,
'nolab' => $rows->orderid,
'norm' => $rows->norm,
@@ -3906,7 +3931,11 @@ class DokterController extends Controller
'spesimen' => $rows->nm_spesimen,
'rawdata' => self::genSurat($rows->id, 'dengan kop'),
'critical' => $critical,
'preliminary_date' => $preliminary->created_at ?? null,
'preliminary_spv' => $preliminary->inputor ?? null,
'preliminary_html' => $preliminary->jawaban ?? null,
);
$data[] = $rowData;
}
}
return response()->json(['data' => $data], 201);
@@ -553,6 +553,13 @@ class ReportController extends Controller
->whereIn('id', array_unique($poli_ids))
->get()
->keyBy('id');
$preliminaries = DB::table('riwayatjawaban')
->select('nofoto', 'created_at')
->whereIn('nofoto', array_unique($acc))
->where('keterangan', 'Preliminary Results')
->orderBy('created_at', 'DESC')
->get()
->groupBy('nofoto');
foreach ($hasil as $row) {
$k = $komponen[$row->nofoto] ?? collect([]);
$row->id_bakteri01 = optional($k->firstWhere('komponen','id_bakteri01'))->isidata;
@@ -567,6 +574,7 @@ class ReportController extends Controller
->implode('; ');
$row->filefoto = "<a href='".url('/hasil/'.$row->nofoto)."'>$row->nofoto</a>";
$row->tgl_preliminary = optional(($preliminaries[$row->nofoto] ?? collect([]))->first())->created_at;
$p = $poli[$row->poli_id] ?? null;
$row->subpoli = $p->subpoli ?? null;
$row->modaliti2 = $this->resolveTatTargetDays($p->modaliti2 ?? '1');