From a413c0e830834dac615b7283a6810c81d32fb9fe Mon Sep 17 00:00:00 2001 From: "sas.fajri" Date: Fri, 24 Apr 2026 09:42:25 +0700 Subject: [PATCH] Add fisik result type --- application/libraries/Genresultfisik.php | 36 +++++++++++++++++++ .../2026-04-24-add-result-fisik-umum-type.sql | 3 ++ 2 files changed, 39 insertions(+) create mode 100644 sql/manual_changes/2026-04-24-add-result-fisik-umum-type.sql diff --git a/application/libraries/Genresultfisik.php b/application/libraries/Genresultfisik.php index f83f8f72..bbf25755 100644 --- a/application/libraries/Genresultfisik.php +++ b/application/libraries/Genresultfisik.php @@ -3832,6 +3832,39 @@ So_ResultEntryNonlab_TemplateID = 27 'faktor_psikologi' => ['method' => 'faktor_psikologi', 'call' => 'default', 'result_type' => 'string'], ]; + $riwayat_keys = [ + 'keluhan_saat_ini', + 'riwayat_phobia', + 'bodyfatmonitoring', + 'riwayat_penyakit', + 'alergi', + 'riwayat_penyakit_keluarga', + 'merokok', + 'alkohol', + 'olahraga', + 'riwayat_obat', + 'riwayat_imunisasi', + ]; + $k3_keys = [ + 'faktor_fisik', + 'faktor_kimia', + 'faktor_biologi', + 'faktor_ergonomi', + 'faktor_psikologi', + ]; + foreach ($field_map as $field_key => &$config) { + if (in_array($field_key, $riwayat_keys, true)) { + $config['template_type'] = 'Riwayat'; + } + else if (in_array($field_key, $k3_keys, true)) { + $config['template_type'] = 'K3'; + } + else { + $config['template_type'] = 'Fisik'; + } + } + unset($config); + $rows_to_insert = []; $now = date('Y-m-d H:i:s'); @@ -3885,6 +3918,7 @@ So_ResultEntryNonlab_TemplateID = 27 foreach ($result as $item) { if (!isset($item['label'])) continue; $rows_to_insert[] = [ + 'ResultFisikUmumType' => $config['template_type'], 'ResultFisikUmumLabel' => $item['label'], 'ResultFisikUmumT_OrderHeaderID' => $orderHeaderId, 'ResultFisikUmumT_OrderHeaderDate' => $order_header_date, @@ -3901,6 +3935,7 @@ So_ResultEntryNonlab_TemplateID = 27 foreach ($result as $key => $val) { $save_val = is_array($val) ? json_encode($val, JSON_UNESCAPED_UNICODE) : (string)$val; $rows_to_insert[] = [ + 'ResultFisikUmumType' => $config['template_type'], 'ResultFisikUmumLabel' => (string)$key, 'ResultFisikUmumT_OrderHeaderID' => $orderHeaderId, 'ResultFisikUmumT_OrderHeaderDate' => $order_header_date, @@ -3914,6 +3949,7 @@ So_ResultEntryNonlab_TemplateID = 27 default: // string $save_val = is_array($result) ? json_encode($result, JSON_UNESCAPED_UNICODE) : (string)$result; $rows_to_insert[] = [ + 'ResultFisikUmumType' => $config['template_type'], 'ResultFisikUmumLabel' => $label_key, 'ResultFisikUmumT_OrderHeaderID' => $orderHeaderId, 'ResultFisikUmumT_OrderHeaderDate' => $order_header_date, diff --git a/sql/manual_changes/2026-04-24-add-result-fisik-umum-type.sql b/sql/manual_changes/2026-04-24-add-result-fisik-umum-type.sql new file mode 100644 index 00000000..df3531dd --- /dev/null +++ b/sql/manual_changes/2026-04-24-add-result-fisik-umum-type.sql @@ -0,0 +1,3 @@ +ALTER TABLE `result_fisik_umum` + ADD COLUMN `ResultFisikUmumType` varchar(20) NOT NULL DEFAULT '' AFTER `ResultFisikUmumLabel`; +