Update modified files
This commit is contained in:
@@ -115,7 +115,7 @@ class Usergroupv4 extends MY_Controller
|
||||
$group_id = $prm['group_id'];
|
||||
$search = $prm['search'];
|
||||
|
||||
$sql = "select menu.S_MenuID as id, CONCAT(menu.S_MenuName,' [ ',menuparent.S_MenuName,' ]') as name, CONCAT('one-ui/',menu.S_MenuUrl) as url, menuparent.S_MenuName as group_name
|
||||
$sql = "select menu.S_MenuID as id, CONCAT(menu.S_MenuName,' [ ',menuparent.S_MenuName,' ]') as name, CONCAT('one-ui-lab/',menu.S_MenuUrl) as url, menuparent.S_MenuName as group_name
|
||||
FROM s_menu menu
|
||||
LEFT JOIN s_menu menuparent ON menu.S_MenuParentS_MenuID = menuparent.S_MenuID
|
||||
WHERE
|
||||
|
||||
@@ -5016,6 +5016,20 @@ class Resultentry extends MY_Controller
|
||||
}
|
||||
}
|
||||
|
||||
if (
|
||||
$prm['lang'] == 'ENG' &&
|
||||
(isset($prm['action']) ? $prm['action'] : '') !== 'val1' &&
|
||||
(isset($prm['act']) ? $prm['act'] : '') !== 'val1' &&
|
||||
($prm['act'] == 'Fisik Umum' || $prm['act'] == 'Fisik Umum K3' || $prm['act'] == 'Fisik Umum Konsul')
|
||||
) {
|
||||
$errors_eng = $this->genresultfisik->save_result_fisik_umum_eng($prm['trx']['orderid'], 2);
|
||||
if (!$errors_eng || !$errors_eng['success']) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
$this->sys_error("Error save result fisik umum eng");
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
//print_r($data_json);
|
||||
if ($data_json && count($data_json) > 0) {
|
||||
$this->soresultlog->log_result(json_encode($data_json), $prm['trx']['re_id'], $userid);
|
||||
@@ -5051,13 +5065,7 @@ class Resultentry extends MY_Controller
|
||||
}
|
||||
$dt_order_header_addon = $qry->row_array();
|
||||
$langid = $dt_order_header_addon['langid'];
|
||||
if ($langid == 0) {
|
||||
|
||||
$errors = $this->genresultfisik->save_result_fisik_umum($prm['trx']['orderid'], 1);
|
||||
}
|
||||
else {
|
||||
$errors = $this->genresultfisik->save_result_fisik_umum($prm['trx']['orderid'],$langid);
|
||||
}
|
||||
if (!$errors) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
$this->sys_error("Error persist all fisik data");
|
||||
|
||||
@@ -142,7 +142,7 @@ class Usergroupv4 extends MY_Controller
|
||||
$group_id = $prm['group_id'];
|
||||
$search = $prm['search'];
|
||||
|
||||
$sql = "select menu.S_MenuID as id, CONCAT(menu.S_MenuName,' [ ',menuparent.S_MenuName,' ]') as name, CONCAT('one-ui/',menu.S_MenuUrl) as url, menuparent.S_MenuName as group_name
|
||||
$sql = "select menu.S_MenuID as id, CONCAT(menu.S_MenuName,' [ ',menuparent.S_MenuName,' ]') as name, CONCAT('one-ui-lab/',menu.S_MenuUrl) as url, menuparent.S_MenuName as group_name
|
||||
FROM s_menu menu
|
||||
LEFT JOIN s_menu menuparent ON menu.S_MenuParentS_MenuID = menuparent.S_MenuID
|
||||
WHERE
|
||||
|
||||
@@ -3972,6 +3972,240 @@ So_ResultEntryNonlab_TemplateID = 27
|
||||
];
|
||||
}
|
||||
|
||||
function translate_result_fisik_umum_eng_labels_only($data, $langid = 2)
|
||||
{
|
||||
if (!is_array($data)) {
|
||||
return $data;
|
||||
}
|
||||
|
||||
$label_keys = [
|
||||
'title',
|
||||
'subtitle',
|
||||
'name',
|
||||
'label',
|
||||
'label_x',
|
||||
'label_y',
|
||||
'label_flag_normal',
|
||||
'label_notexist',
|
||||
];
|
||||
|
||||
foreach ($data as $key => $value) {
|
||||
if (is_array($value)) {
|
||||
$data[$key] = $this->translate_result_fisik_umum_eng_labels_only($value, $langid);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (in_array((string)$key, $label_keys, true)) {
|
||||
$data[$key] = $this->translate_word($value, $langid);
|
||||
}
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
function save_result_fisik_umum_eng($orderHeaderId, $langid = 2)
|
||||
{
|
||||
$field_map = [
|
||||
'keluhan_saat_ini' => ['method' => 'keluhan_saat_ini', 'call' => 'default', 'result_type' => 'string'],
|
||||
'riwayat_phobia' => ['method' => 'riwayat_phobia', 'call' => 'default', 'result_type' => 'string'],
|
||||
'bodyfatmonitoring' => ['method' => 'bodyfatmonitoring', 'call' => 'default3', 'result_type' => 'string'],
|
||||
'riwayat_penyakit' => ['method' => 'riwayat_penyakit', 'call' => 'default', 'result_type' => 'string'],
|
||||
'alergi' => ['method' => 'alergi', 'call' => 'default', 'result_type' => 'string'],
|
||||
'riwayat_penyakit_keluarga' => ['method' => 'riwayat_keluarga', 'call' => 'default', 'result_type' => 'assoc'],
|
||||
'merokok' => ['method' => 'merokok', 'call' => 'default', 'result_type' => 'string'],
|
||||
'alkohol' => ['method' => 'alkohol', 'call' => 'default', 'result_type' => 'string'],
|
||||
'olahraga' => ['method' => 'olahraga', 'call' => 'default', 'result_type' => 'string'],
|
||||
'riwayat_obat' => ['method' => 'riwayat_obat', 'call' => 'default', 'result_type' => 'string'],
|
||||
'riwayat_imunisasi' => ['method' => 'riwayat_imunisasi', 'call' => 'default', 'result_type' => 'string'],
|
||||
'tekanan_darah' => ['method' => 'tekanan_darah', 'call' => 'tekanan_darah', 'result_type' => 'assoc'],
|
||||
'laju_pernafasan' => ['method' => 'laju_pernafasan', 'call' => 'default', 'result_type' => 'string'],
|
||||
'denyut_nadi' => ['method' => 'denyut_nadi', 'call' => 'default', 'result_type' => 'string'],
|
||||
'suhu' => ['method' => 'suhu', 'call' => 'default', 'result_type' => 'string'],
|
||||
'ritme_denyut_nadi' => ['method' => 'ritme_denyut_nadi', 'call' => 'default', 'result_type' => 'string'],
|
||||
'pola_nafas' => ['method' => 'pola_nafas', 'call' => 'default', 'result_type' => 'string'],
|
||||
'status_gizi' => ['method' => 'status_gizi', 'call' => 'default3', 'result_type' => 'assoc'],
|
||||
'lapang_pandang' => ['method' => 'lapang_pandang', 'call' => 'default', 'result_type' => 'string'],
|
||||
'keadaan_umum' => ['method' => 'keadaan_umum', 'call' => 'default', 'result_type' => 'label_value'],
|
||||
'kepala_wajah' => ['method' => 'kepala_wajah', 'call' => 'default3', 'result_type' => 'string'],
|
||||
'persepsi_warna' => ['method' => 'persepsi_warna', 'call' => 'default', 'result_type' => 'string'],
|
||||
'doctor' => ['method' => 'doctor', 'call' => 'id_only', 'result_type' => 'string'],
|
||||
'konjuktiva_sklera' => ['method' => 'konjuktiva_sklera', 'call' => 'id_only', 'result_type' => 'string'],
|
||||
'telinga' => ['method' => 'telinga', 'call' => 'default', 'result_type' => 'string'],
|
||||
'visus_left' => ['method' => 'visus', 'call' => 'visus', 'result_type' => 'string', 'side' => 'left'],
|
||||
'visus_right' => ['method' => 'visus', 'call' => 'visus', 'result_type' => 'string', 'side' => 'right'],
|
||||
'hidung' => ['method' => 'hidung', 'call' => 'default', 'result_type' => 'string'],
|
||||
'leher' => ['method' => 'leher', 'call' => 'default', 'result_type' => 'string'],
|
||||
'thorax' => ['method' => 'thorax', 'call' => 'default', 'result_type' => 'string'],
|
||||
'mulut' => ['method' => 'mulut', 'call' => 'default', 'result_type' => 'string'],
|
||||
'tenggorokan' => ['method' => 'tenggorokan', 'call' => 'default', 'result_type' => 'string'],
|
||||
'paru' => ['method' => 'paru', 'call' => 'default', 'result_type' => 'string'],
|
||||
'jantung' => ['method' => 'jantung', 'call' => 'default', 'result_type' => 'string'],
|
||||
'anogenital' => ['method' => 'anogenital', 'call' => 'default', 'result_type' => 'string'],
|
||||
'pengukuran' => ['method' => 'pengukuran', 'call' => 'default', 'result_type' => 'assoc'],
|
||||
'tonometri' => ['method' => 'tonometri', 'call' => 'default', 'result_type' => 'string'],
|
||||
'perut' => ['method' => 'perut', 'call' => 'default', 'result_type' => 'string'],
|
||||
'ginjal' => ['method' => 'ginjal', 'call' => 'default', 'result_type' => 'string'],
|
||||
'hernia' => ['method' => 'hernia', 'call' => 'default', 'result_type' => 'string'],
|
||||
'kulit' => ['method' => 'kulit', 'call' => 'default', 'result_type' => 'string'],
|
||||
'reflek' => ['method' => 'reflek', 'call' => 'default', 'result_type' => 'assoc'],
|
||||
'romberg' => ['method' => 'romberg', 'call' => 'id_only', 'result_type' => 'string'],
|
||||
'genitourinaria' => ['method' => 'genitourinaria', 'call' => 'default', 'result_type' => 'string'],
|
||||
'anggota_gerak' => ['method' => 'anggota_gerak', 'call' => 'default', 'result_type' => 'string'],
|
||||
'sistem_persyarafan' => ['method' => 'sistem_persyarafan', 'call' => 'default', 'result_type' => 'assoc'],
|
||||
'smell_test' => ['method' => 'smell_test', 'call' => 'default', 'result_type' => 'string'],
|
||||
'rectum_urogenital' => ['method' => 'rectum_urogenital', 'call' => 'default', 'result_type' => 'string'],
|
||||
'faktor_fisik' => ['method' => 'faktor_fisik', 'call' => 'default', 'result_type' => 'string'],
|
||||
'faktor_kimia' => ['method' => 'faktor_kimia', 'call' => 'default', 'result_type' => 'string'],
|
||||
'faktor_biologi' => ['method' => 'faktor_biologi', 'call' => 'default', 'result_type' => 'string'],
|
||||
'faktor_ergonomi' => ['method' => 'faktor_ergonomi', 'call' => 'default', 'result_type' => 'string'],
|
||||
'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');
|
||||
|
||||
$order_header_row = $this->db_smartone->select('T_OrderHeaderDate')
|
||||
->where('T_OrderHeaderID', $orderHeaderId)
|
||||
->get('t_orderheader')
|
||||
->row();
|
||||
$order_header_date = $order_header_row ? $order_header_row->T_OrderHeaderDate : null;
|
||||
|
||||
foreach ($field_map as $label_key => $config) {
|
||||
$method = $config['method'];
|
||||
|
||||
if (!method_exists($this, $method)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
try {
|
||||
switch ($config['call']) {
|
||||
case 'id_only':
|
||||
$result = $this->{$method}($orderHeaderId);
|
||||
break;
|
||||
case 'visus':
|
||||
$result = $this->visus($orderHeaderId, $config['side'], 1);
|
||||
break;
|
||||
case 'default3':
|
||||
$result = $this->{$method}($orderHeaderId, 1, 'fisik');
|
||||
break;
|
||||
case 'tekanan_darah':
|
||||
$result = $this->tekanan_darah($orderHeaderId, '', 1);
|
||||
break;
|
||||
default:
|
||||
$result = $this->{$method}($orderHeaderId, 1);
|
||||
break;
|
||||
}
|
||||
} catch (Throwable $e) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$result_type = $config['result_type'];
|
||||
if (!is_array($result)) {
|
||||
$result_type = 'string';
|
||||
}
|
||||
|
||||
switch ($result_type) {
|
||||
case 'label_value':
|
||||
foreach ($result as $item) {
|
||||
if (!isset($item['label'])) continue;
|
||||
$rows_to_insert[] = [
|
||||
'ResultFisikUmumEngType' => $config['template_type'],
|
||||
'ResultFisikUmumEngLabel' => $this->translate_word($item['label'], $langid),
|
||||
'ResultFisikUmumEngT_OrderHeaderID' => $orderHeaderId,
|
||||
'ResultFisikUmumEngT_OrderHeaderDate' => $order_header_date,
|
||||
'ResultFisikUmumEngValue' => (string)($item['value'] ?? ''),
|
||||
'ResultFisikUmumEngIsActive' => 'Y',
|
||||
'ResultFisikUmumEngCreated' => $now,
|
||||
];
|
||||
}
|
||||
break;
|
||||
|
||||
case 'assoc':
|
||||
foreach ($result as $key => $val) {
|
||||
$save_val = $val;
|
||||
if (is_array($val)) {
|
||||
$save_val = json_encode(
|
||||
$this->translate_result_fisik_umum_eng_labels_only($val, $langid),
|
||||
JSON_UNESCAPED_UNICODE
|
||||
);
|
||||
}
|
||||
$rows_to_insert[] = [
|
||||
'ResultFisikUmumEngType' => $config['template_type'],
|
||||
'ResultFisikUmumEngLabel' => (string)$key,
|
||||
'ResultFisikUmumEngT_OrderHeaderID' => $orderHeaderId,
|
||||
'ResultFisikUmumEngT_OrderHeaderDate' => $order_header_date,
|
||||
'ResultFisikUmumEngValue' => (string)$save_val,
|
||||
'ResultFisikUmumEngIsActive' => 'Y',
|
||||
'ResultFisikUmumEngCreated' => $now,
|
||||
];
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
$save_val = is_array($result)
|
||||
? json_encode($this->translate_result_fisik_umum_eng_labels_only($result, $langid), JSON_UNESCAPED_UNICODE)
|
||||
: (string)$result;
|
||||
$rows_to_insert[] = [
|
||||
'ResultFisikUmumEngType' => $config['template_type'],
|
||||
'ResultFisikUmumEngLabel' => $label_key,
|
||||
'ResultFisikUmumEngT_OrderHeaderID' => $orderHeaderId,
|
||||
'ResultFisikUmumEngT_OrderHeaderDate' => $order_header_date,
|
||||
'ResultFisikUmumEngValue' => $save_val,
|
||||
'ResultFisikUmumEngIsActive' => 'Y',
|
||||
'ResultFisikUmumEngCreated' => $now,
|
||||
];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$this->db_smartone->where('ResultFisikUmumEngT_OrderHeaderID', $orderHeaderId);
|
||||
$this->db_smartone->where('ResultFisikUmumEngIsActive', 'Y');
|
||||
$this->db_smartone->update('result_fisik_umum_eng', ['ResultFisikUmumEngIsActive' => 'N']);
|
||||
|
||||
if (!empty($rows_to_insert)) {
|
||||
$this->db_smartone->insert_batch('result_fisik_umum_eng', $rows_to_insert);
|
||||
}
|
||||
|
||||
return [
|
||||
'success' => true,
|
||||
'orderHeaderId' => $orderHeaderId,
|
||||
'rows_saved' => count($rows_to_insert),
|
||||
];
|
||||
}
|
||||
|
||||
function update_unvalidated($t_order_header_id){
|
||||
$errors = [
|
||||
'success' => false,
|
||||
@@ -3994,5 +4228,26 @@ So_ResultEntryNonlab_TemplateID = 27
|
||||
}
|
||||
}
|
||||
|
||||
function update_unvalidated_eng($t_order_header_id){
|
||||
$errors = [
|
||||
'success' => false,
|
||||
'orderHeaderId' => $t_order_header_id,
|
||||
'message' => 'Error update unvalidated fisik umum eng genresultfisik',
|
||||
];
|
||||
try {
|
||||
$this->db_smartone->where('ResultFisikUmumEngT_OrderHeaderID', $t_order_header_id);
|
||||
$this->db_smartone->where('ResultFisikUmumEngIsActive', 'Y');
|
||||
$this->db_smartone->update('result_fisik_umum_eng', ['ResultFisikUmumEngIsActive' => 'N']);
|
||||
$this->db_smartone->update('result_fisik_umum_eng', ['ResultFisikUmumEngLastUpdated' => date('Y-m-d H:i:s')]);
|
||||
|
||||
$errors['success'] = true;
|
||||
$errors['message'] = 'Data unvalidated fisik umum eng genresultfisik updated successfully';
|
||||
return $errors;
|
||||
} catch (Throwable $e) {
|
||||
$errors['message'] = $e->getMessage();
|
||||
return $errors;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
151304
graphify-out/graph.json
151304
graphify-out/graph.json
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user