= 0; $t--) { $bcp = bcpow($base, $len - $t); $out = $out + strpos($index, substr($in, $t, 1)) * $bcp; } if (is_numeric($pad_up)) { $pad_up--; if ($pad_up > 0) { $out -= pow($base, $pad_up); } } } else { // Digital number -->> alphabet letter code if (is_numeric($pad_up)) { $pad_up--; if ($pad_up > 0) { $in += pow($base, $pad_up); } } for ($t = ($in != 0 ? floor(log($in, $base)) : 0); $t >= 0; $t--) { $bcp = bcpow($base, $t); $a = floor($in / $bcp) % $base; $out = $out . substr($index, $a, 1); $in = $in - ($a * $bcp); } } return $out; } if ($pemerisaan != '') { //validasi nomer pemeriksaan lagi $datenow = date('Y-m-d'); $max_pemeriksaan = "select max(no_pemeriksaan) as code from order_poct where norm = '" . $post['norm'] . "' "; $tmp_poct = $db->query($max_pemeriksaan); $max_number = $tmp_poct->fetchAll()[0]; $tanggal = date_create_from_format('Y-m-d', $datenow); //cek display_barcode_poct $sql_display = "select var_value from global_var where var_name = 'display_barcode_poct'"; $display = $db->query($sql_display)->fetchAll(); if (!empty($max_number['code'])) { $substr = (int)substr($max_number['code'], 16, 4) + 1; if ($display[0]['var_value'] == 1) { $code = date("His").$post['norm'] . date_format($tanggal, 'Ymd') . sprintf('%04d', $substr); }else{ $code = $post['norm'] . date_format($tanggal, 'Ymd') . sprintf('%04d', $substr); } } else { if ($display[0]['var_value'] == 1) { $code = date("His").$post['norm'] . date_format($tanggal, 'Ymd') . '0001'; }else{ $code = $post['norm'] . date_format($tanggal, 'Ymd') . '0001'; } } $code_hex = HexadecimalToASCII($code); //hitung total order $total_order = 0; $created_at = date('Y-m-d h:i:s'); foreach ($pemerisaan as $item) { $poct_list = "select a.jenis_pemeriksaan, a.pemeriksaan, a.tarif_rs_id, b.jumlah as harga from order_poct_list a join m_tarif_rs b on a.tarif_rs_id = b.id_tarif where a.id = {$item}"; $tmp_list = $db->query($poct_list); $data = $tmp_list->fetchAll()[0]; $total_order += $data['harga']; } //simpan ke table order_poct $insert_poct = "INSERT INTO order_poct(norm, operator_id, dokter_id, ruang_id, no_pemeriksaan, tanggal, total_order, status, created_at, no_billing, idxdaftar, flag, carabayar_id, order_number) VALUES ({$post['norm']}, {$post['id_operator']}, {$post['kd_dokter']}, {$post['ruang_id']}, {$code}, '{$post['tanggal']}', {$total_order}, 1,'{$created_at}', '{$post['nobill']}', '{$post['idxdaftar']}' ,'1', '{$post['carabayar_id']}', '{$code_hex}')"; if (_DBTYPE_ == 'mysqli') { $execute_poct = execute($insert_poct); $id_poct = $execute_poct->insertid; } else { $insert_poct .= " RETURNING id"; $execute_poct = execute($insert_poct); $id_poct = $execute_poct->fetchFirst()['id']; } //insert ke table order_poct_detail $keterangan = ''; foreach ($pemerisaan as $item) { $poct_list = "select a.jenis_pemeriksaan, a.pemeriksaan, a.tarif_rs_id, a.kode_tarif_rs as kode_tarif, a.kode_tarif_rs, b.jumlah as harga from order_poct_list a join m_tarif_rs b on a.tarif_rs_id = b.id_tarif where a.id = {$item}"; $tmp_list = $db->query($poct_list); $data = $tmp_list->fetchAll()[0]; $total_order += $data['harga']; $keterangan = isset($post['ket_pemeriksaan'][$data['jenis_pemeriksaan']]) ? $post['ket_pemeriksaan'][$data['jenis_pemeriksaan']] : ''; $insert_detail = "INSERT INTO order_poct_detail(order_poct_id, order_poct_list, jenis_pemeriksaan, pemeriksaan, harga, keterangan, tarif_rs_id, kode_tarif_rs) VALUES ({$id_poct}, {$item},'{$data['jenis_pemeriksaan']}', '{$data['pemeriksaan']}' , {$data['harga']}, '{$keterangan}', '{$data['tarif_rs_id']}', '{$data['kode_tarif_rs']}')"; $execute_poct_detail = execute($insert_detail); } $row = $db->query("SELECT id from order_poct where id='$id_poct'"); $affected = $row->numRows(); } else { $affected = 'Gagal Simpan, Pilih Pemeriksaan POCT'; } echo $affected;