FHM09062601IBL - load_klinik tests format identik registration_v37 selectPx

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
sas.fajri
2026-06-12 13:33:08 +07:00
parent 667d8d2a1d
commit 0550497a16

View File

@@ -4791,13 +4791,14 @@ GROUP BY T_SampleStationID ";
$rst['selected_company'] = $row_company ?: [];
$rst['companies'] = $row_company ? [$row_company] : [];
// Tests dari order_detail_order
// Tests dari order_detail_order — format identik registration_v37 selectPx
$detail_rows = $this->db_onedev->query(
"SELECT odo.*,
t.T_TestName, t.T_TestSasCode, t.T_TestIsResult,
t.T_TestCode
spm.px_type, spm.T_TestIsCito,
spm.nat_test AS spm_nat_test,
spm.child_test AS spm_child_test
FROM one_klinik.order_detail_order odo
LEFT JOIN t_test t ON odo.orderDetailOrderT_TestID = t.T_TestID
LEFT JOIN ss_price_mou spm ON spm.Ss_PriceMouID = odo.orderDetailOrderSsPriceMouID
WHERE odo.orderDetailOrderOrderID = ? AND odo.orderDetailOrderIsActive = 'Y'
ORDER BY odo.orderDetailOrderID ASC",
[$row_header['orderID']]
@@ -4805,22 +4806,31 @@ GROUP BY T_SampleStationID ";
$tests = [];
foreach ($detail_rows as $d) {
$child = json_decode($d['orderDetailOrderJsonChildren'] ?? '[]', true) ?: [];
$nat_test = json_decode($d['spm_nat_test'] ?? '[]') ?: [];
$child_test = json_decode($d['spm_child_test'] ?? '[]') ?: [];
$requirement = [];
if (($d['px_type'] ?? '') === 'PX') {
$x = $this->db_smartone->query(
"SELECT fn_fo_requirement_get(?) x", [$d['orderDetailOrderT_TestID']]
)->row();
if ($x && $x->x !== null) $requirement = json_decode($x->x);
}
$tests[] = [
'ss_price_mou_id' => $d['orderDetailOrderSsPriceMouID'],
'pxid' => $d['orderDetailOrderT_TestID'] ?: $d['orderDetailOrderT_PacketID'],
'pxcode' => $d['T_TestCode'] ?? $d['orderDetailOrderT_PacketName'],
'pxsascode' => $d['T_TestSasCode'] ?? '',
'test_name' => $d['orderDetailOrderT_TestName'] ?: $d['orderDetailOrderT_PacketName'],
'pxname' => ($d['T_TestSasCode'] ?? '') . ' ' . ($d['orderDetailOrderT_TestName'] ?: $d['orderDetailOrderT_PacketName']),
'is_packet' => $d['orderDetailOrderIsPacket'],
'type' => $d['orderDetailOrderPacketType'],
'bruto' => $d['orderDetailOrderT_PriceAmount'],
'discountpersen' => $d['orderDetailOrderT_PriceDisc'],
'discountrp' => $d['orderDetailOrderT_PriceDiscRp'],
'total' => $d['orderDetailOrderT_PriceTotal'],
'child_test' => $child,
'isresult' => $d['T_TestIsResult'] ?? 'N',
'T_TestID' => $d['orderDetailOrderT_TestID'],
'T_TestName' => $d['orderDetailOrderT_TestName'],
'px_type' => $d['px_type'] ?? '',
'T_PriceAmount' => $d['orderDetailOrderT_PriceAmount'],
'T_PriceDisc' => $d['orderDetailOrderT_PriceDisc'],
'T_PriceDiscRp' => $d['orderDetailOrderT_PriceDiscRp'],
'Ss_PriceMouID' => $d['orderDetailOrderSsPriceMouID'],
'is_packet' => $d['orderDetailOrderIsPacket'],
'packet_id' => $d['orderDetailOrderT_PacketID'] ?? '',
'T_TestIsCito' => $d['T_TestIsCito'] ?? 'N',
'nat_test' => $nat_test,
'requirement' => $requirement,
'child_test' => $child_test,
];
}
$rst['tests'] = $tests;