479 lines
18 KiB
PHP
479 lines
18 KiB
PHP
<?php
|
|
session_start();
|
|
include '../core/main.php';
|
|
ini_set('memory_limit', '-1');
|
|
|
|
$page = $_REQUEST['page'];
|
|
|
|
if($page == 'cari')
|
|
{
|
|
$nobill = preg_replace("/\./", '', $_REQUEST['input']['nobill']);
|
|
preg_match("/\d{8}/",$nobill,$match_nobill);
|
|
$nobill = $match_nobill[0];
|
|
if($nobill != '') {
|
|
$tmp_identitas = $db->query("SELECT a.nobill,a.nomr,a.idxdaftar,b.kdpoly as kode_tempat,c.nama,c.alamat,c.notelp,d.nama as tempat_layanan,1 as st_rajal,dok.namadokter as dpjp,0 as st_aps,b.keluarpoly as keluarrs,sk.keterangan as keterangan_pulang from
|
|
t_billrajal a
|
|
JOIN t_pendaftaran b on a.idxdaftar = b.idxdaftar
|
|
join m_pasien c on a.nomr = c.nomr
|
|
join m_ruang d on b.kdpoly = d.no
|
|
left join m_dokter dok on b.kddokter = dok.kddokter
|
|
left join m_statuskeluar sk on sk.status = b.status
|
|
where a.nobill = '$nobill' and a.status <> 'BATAL'
|
|
UNION
|
|
SELECT a.nobill,a.nomr,a.idxdaftar,a.kdpoly as kode_tempat,c.nama,c.alamat,c.notelp,d.nama as tempat_layanan,1 as st_rajal,dok.namadokter as dpjp,1 as st_aps,null as keluarrs,null as keterangan_pulang from
|
|
t_billrajal a
|
|
JOIN t_pendaftaran_aps b on a.idxdaftar = b.idxdaftar
|
|
join m_pasien_aps c on a.nomr = c.nomr
|
|
left join m_ruang d on b.kdpoly = d.no
|
|
left join m_dokter dok on b.kddokter = dok.kddokter
|
|
where a.nobill = '$nobill' and a.status <> 'BATAL' and a.aps = 1
|
|
UNION
|
|
SELECT a.nobill,a.nomr,a.idxdaftar,b.noruang as kode_tempat,c.nama,c.alamat,c.notelp,d.nama as tempat_layanan,0 as st_rajal, dok.namadokter as dpjp,0 as st_aps,b.keluarrs,sk.keterangan as keterangan_pulang from
|
|
t_billranap a
|
|
JOIN t_admission b on a.idxdaftar = b.id_admission
|
|
join m_pasien c on a.nomr = c.nomr
|
|
join m_ruang d on b.noruang = d.no
|
|
left join m_dokter dok on b.dokter_penanggungjawab = dok.kddokter
|
|
left join t_resumepulang rp on rp.idadmission = b.id_admission
|
|
left join m_statuskeluar sk on rp.statuspulang = sk.status
|
|
where a.nobill = '$nobill' and b.keluarrs is null and a.status <> 'BATAL'
|
|
");
|
|
if($tmp_identitas->numRows() > 0)
|
|
{
|
|
$data_pasien = $tmp_identitas->fetchFirst();
|
|
$db_igd = $db->query("SELECT no,nama FROM m_ruang where kelompok = 'IGD' and st_aktif = 1");
|
|
$arr_igd = $arr_nama_igd = [];
|
|
foreach($db_igd->fetchAll() as $igd)
|
|
{
|
|
$arr_igd[] = $igd['no'];
|
|
$arr_nama_igd[$igd['no']] = $igd['nama'];
|
|
}
|
|
if($data_pasien['keterangan_pulang'] != null && in_array($data_pasien['kode_tempat'],$arr_igd))
|
|
{
|
|
echo json_encode(['message'=>'No Billing sudah ditutup dengan status '.$data_pasien['keterangan_pulang'],'type'=>'error']);
|
|
exit;
|
|
}
|
|
echo json_encode($data_pasien);
|
|
exit;
|
|
}
|
|
else {
|
|
echo json_encode(['message'=>'No Billing tidak ditemukan','type'=>'error']);
|
|
exit;
|
|
}
|
|
}
|
|
else {
|
|
echo json_encode(['message'=>'No Billing tidak ditemukan','type'=>'error']);
|
|
exit;
|
|
}
|
|
}
|
|
if($page == 'cari_nonreg')
|
|
{
|
|
$nobill = preg_replace("/\./", '', $_REQUEST['input']['nobill']);
|
|
|
|
$tmp_identitas = $db->query("SELECT a.nobill,a.no_nonreg as nomr,a.idx_nonreg as idxdaftar,a.ruang as kode_tempat,c.nama,c.alamat,c.no_telepon as notelp,d.nama as tempat_layanan,'nonreg' as st_rajal,dok.namadokter as dpjp,0 as st_aps from
|
|
t_billnonreg a
|
|
join m_nonreg c on a.idx_nonreg = c.idx_nonreg
|
|
join m_ruang d on a.ruang = d.no
|
|
left join m_dokter dok on a.kddokter = dok.kddokter
|
|
where a.nobill = '$nobill' and a.status <> 'BATAL'
|
|
");
|
|
if($tmp_identitas->numRows() > 0)
|
|
{
|
|
$data_pasien = $tmp_identitas->fetchFirst();
|
|
echo json_encode($data_pasien);
|
|
exit;
|
|
}
|
|
else {
|
|
echo json_encode(['message'=>'No Billing tidak ditemukan','type'=>'error']);
|
|
exit;
|
|
}
|
|
}
|
|
else if($page == 'cari_tarif')
|
|
{
|
|
$kode_tarif = $_REQUEST['kode_tarif'];
|
|
|
|
$tmp_tarif = $db->query("SELECT id_tarif,kode_tarif,uraian_tarif,jumlah,(select nilai from m_tarifdetil where komponen like '%SARANA%' and kode_tarif = m_tarif_rs.kode_tarif) as jasa_sarana,(select nilai from m_tarifdetil where komponen like '%LAYANAN%' and kode_tarif = m_tarif_rs.kode_tarif) as jasa_pelayanan,(select nilai from m_tarifdetil where komponen like '%ANASTESI%' and kode_tarif = m_tarif_rs.kode_tarif) as jasa_anastesi,st_paket from m_tarif_rs where kode_tarif = '$kode_tarif'");
|
|
if($tmp_tarif->numRows() > 0)
|
|
{
|
|
$data_tarif = $tmp_tarif->fetchFirst();
|
|
|
|
$tmp_dokter = $db->query("SELECT * FROM m_dokter and aktif = 1");
|
|
$arr_dokter = $arr_dokter_anastesi = [];
|
|
if($tmp_dokter->numRows() > 0){
|
|
foreach($tmp_dokter->fetchAll() as $d){
|
|
$tgl_SIP = new Datetime($d['tgl_akhir_sip']);
|
|
$tgl_sekarang = new Datetime(date('Y-m-d'));
|
|
|
|
if($d['tgl_akhir_sip'] > '0000-00-00' || $d['tgl_akhir_sip'] > '0001-01-01'){
|
|
if($tgl_sekarang <= $tgl_SIP) {
|
|
|
|
if(trim($d['kdsmf']) == 'ANESTHESI') {
|
|
$arr_dokter_anastesi[$d['kddokter']] = $d['namadokter'];
|
|
}
|
|
// else {
|
|
$arr_dokter[$d['kdsmf']][$d['kddokter']] = $d['namadokter'];
|
|
// }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
$format_dpjp = false;
|
|
if($data_tarif['jasa_pelayanan'] > 0)
|
|
{
|
|
$format_dpjp = '<div class="form-group row">
|
|
<label class="col-sm-4">Jasa Pelayanan</label>
|
|
<div class="col-sm-8">
|
|
'.form_dropdown('dpjp_pelayanan',$arr_dokter,'','class="form-control dpjp_tarif"').'<input type="hidden" name="komponen" value="Jasa Pelayanan">
|
|
</div>
|
|
</div>';
|
|
if($data_tarif['jasa_anastesi'] > 0) {
|
|
$format_dpjp .= '<div class="form-group row">
|
|
<label class="col-sm-4">Jasa Anastesi</label>
|
|
<div class="col-sm-8">
|
|
'.form_dropdown('dpjp_anastesi',$arr_dokter_anastesi,'','class="form-control dpjp_tarif"').'<input type="hidden" name="komponen" value="Jasa Anastesi">
|
|
</div>
|
|
</div>';
|
|
}
|
|
}
|
|
echo json_encode(['tarif'=>$data_tarif,'dpjp'=>$format_dpjp]);
|
|
exit;
|
|
}
|
|
else {
|
|
echo json_encode(['message'=>'Kode Tarif tidak ditemukan','type'=>'error']);
|
|
exit;
|
|
}
|
|
}
|
|
else if($page == 'load_kode_tarif')
|
|
{
|
|
$kode_tarif = $_REQUEST['kode'];
|
|
|
|
if(strlen($kode_tarif) >= 2) {
|
|
$tmp_tarif = $db->query("SELECT id_tarif,kode_tarif,uraian_tarif,jumlah,(select nilai from m_tarifdetil where komponen like '%SARANA%' and kode_tarif = m_tarif_rs.kode_tarif) as jasa_sarana,(select nilai from m_tarifdetil where komponen like '%LAYANAN%' and kode_tarif = m_tarif_rs.kode_tarif) as jasa_pelayanan,(select nilai from m_tarifdetil where komponen like '%ANASTESI%' and kode_tarif = m_tarif_rs.kode_tarif) as jasa_anastesi,st_paket from m_tarif_rs where (kode_tarif ilike '%{$kode_tarif}%' or uraian_tarif ilike '%{$kode_tarif}%') and is_not_hidden = 1 limit 200");
|
|
if($tmp_tarif->numRows() > 0)
|
|
{
|
|
$data_tarif = $tmp_tarif->fetchAll();
|
|
|
|
$tmp_dokter = $db->query("SELECT * FROM m_dokter where aktif = 1");
|
|
$arr_dokter = $arr_dokter_anastesi = [''=>'Pilih Dokter DPJP'];
|
|
if($tmp_dokter->numRows() > 0){
|
|
foreach($tmp_dokter->fetchAll() as $d){
|
|
$tgl_SIP = new Datetime($d['tgl_akhir_sip']);
|
|
$tgl_sekarang = new Datetime(date('Y-m-d'));
|
|
|
|
if($d['tgl_akhir_sip'] > '0000-00-00' || $d['tgl_akhir_sip'] > '0001-01-01'){
|
|
if($tgl_sekarang <= $tgl_SIP) {
|
|
|
|
if(trim($d['kdsmf']) == 'ANESTHESI') {
|
|
$arr_dokter_anastesi[$d['kddokter']] = $d['namadokter'];
|
|
}
|
|
// else {
|
|
$arr_dokter[$d['kdsmf']][$d['kddokter']] = $d['namadokter'];
|
|
// }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
$format_dpjp = false;
|
|
foreach($data_tarif as $row) {
|
|
if($row['jasa_pelayanan'] > 0)
|
|
{
|
|
$format_dpjp = '<div class="form-group row">
|
|
<label class="col-sm-4">Dokter Tind. Pelayanan</label>
|
|
<div class="col-sm-8">
|
|
'.form_dropdown('dpjp_pelayanan',$arr_dokter,'','class="form-control dpjp_tarif" id="dpjp_pelayanan"').'<input type="hidden" name="komponen" value="Jasa Pelayanan">
|
|
</div>
|
|
</div>';
|
|
if($row['jasa_anastesi'] > 0) {
|
|
$format_dpjp .= '<div class="form-group row">
|
|
<label class="col-sm-4">Dokter Anastesi</label>
|
|
<div class="col-sm-8">
|
|
'.form_dropdown('dpjp_anastesi',$arr_dokter_anastesi,'','class="form-control dpjp_tarif" id="dpjp_anastesi"').'<input type="hidden" name="komponen" value="Jasa Anastesi">
|
|
</div>
|
|
</div>';
|
|
}
|
|
}
|
|
$row['text'] = $row['kode_tarif'].' - '.$row['uraian_tarif'];
|
|
$option[] = (object) array_merge($row,['dpjp'=>$format_dpjp]);
|
|
}
|
|
|
|
echo json_encode($option);
|
|
exit;
|
|
}
|
|
else {
|
|
echo json_encode([['text'=>'Kode tarif tidak ditemukan']]);
|
|
exit;
|
|
}
|
|
}
|
|
else {
|
|
echo json_encode([['text'=>'Kode tarif terlalu pendek']]);
|
|
exit;
|
|
}
|
|
}
|
|
else if($page == 'cari_form_tarif')
|
|
{
|
|
$kode_tarif = $_REQUEST['kode_tarif'];
|
|
|
|
$tmp_tarif = $db->query("SELECT id_tarif,kode_tarif,uraian_tarif,jumlah,(select nilai from m_tarifdetil where komponen like '%SARANA%' and kode_tarif = m_tarif_rs.kode_tarif) as jasa_sarana,(select nilai from m_tarifdetil where komponen like '%LAYANAN%' and kode_tarif = m_tarif_rs.kode_tarif) as jasa_pelayanan,(select nilai from m_tarifdetil where komponen like '%ANASTESI%' and kode_tarif = m_tarif_rs.kode_tarif) as jasa_anastesi,st_paket from m_tarif_rs where kode_tarif = '$kode_tarif'");
|
|
if($tmp_tarif->numRows() > 0)
|
|
{
|
|
$data_tarif = $tmp_tarif->fetchFirst();
|
|
|
|
echo json_encode(['tarif'=>$data_tarif]);
|
|
exit;
|
|
}
|
|
else {
|
|
echo json_encode(['message'=>'Kode Tarif tidak ditemukan','type'=>'error']);
|
|
exit;
|
|
}
|
|
}
|
|
else if($page == 'add_item')
|
|
{
|
|
$id_tarif = $_REQUEST['id_tarif'];
|
|
$kode_tarif = $_REQUEST['kode_tarif'];
|
|
$uraian_tarif = $_REQUEST['uraian_tarif'];
|
|
$jumlah = $_REQUEST['jumlah_tagihan'];
|
|
$jasa_sarana = $_REQUEST['jasa_sarana'];
|
|
$jasa_pelayanan = $_REQUEST['jasa_pelayanan'];
|
|
$jasa_anastesi = $_REQUEST['jasa_anastesi'];
|
|
$tempat_layanan = (array_key_exists('tempat_layanan_tarif', $_REQUEST)) ? $_REQUEST['tempat_layanan_tarif'] : $_SESSION['KDUNIT'];
|
|
|
|
if(preg_match("/-/", $kode_tarif)) {
|
|
list($kode_tarif,$uraian_tarif) = explode(" - ", $kode_tarif);
|
|
}
|
|
$tarif = preg_replace("/\./", "", $jumlah);
|
|
|
|
$no = $_REQUEST['noitem'];
|
|
$button_rem = '<button type="button" class="btn btn-danger" onclick="remItem(this)" data-kode_tarif="'.$kode_tarif.'" data-noitem="'.$no.'"><i class="fa fa-trash"></i></button>';
|
|
$input_hidden = '<input type="hidden" name="detil['.$no.'][id_tarif]" value="'.$id_tarif.'">
|
|
<input type="hidden" name="detil['.$no.'][unit]" value="'.$tempat_layanan.'">
|
|
<input type="hidden" name="detil['.$no.'][petugas]" value="'.$_REQUEST['petugas'].'">
|
|
<input type="hidden" name="detil['.$no.'][kode_tarif]" value="'.$kode_tarif.'">
|
|
<input type="hidden" name="detil['.$no.'][tarif]" class="nominal_tarif" value="'.$tarif.'">
|
|
<input type="hidden" name="detil['.$no.'][jasa_sarana]" value="'.$jasa_sarana.'">
|
|
<input type="hidden" name="detil['.$no.'][jasa_pelayanan]" value="'.$jasa_pelayanan.'">
|
|
<input type="hidden" name="detil['.$no.'][jasa_anastesi]" value="'.$jasa_anastesi.'">';
|
|
if($jasa_pelayanan > 0) {
|
|
$input_hidden .= '<input type="hidden" name="dpjp['.$no.'][0][kddokter]" value="'.$_REQUEST['dpjp_pelayanan'].'">
|
|
<input type="hidden" name="dpjp['.$no.'][0][komponen]" value="Jasa Pelayanan">
|
|
<input type="hidden" name="dpjp['.$no.'][0][nilai]" value="'.$jasa_pelayanan.'">';
|
|
}
|
|
if($jasa_anastesi > 0) {
|
|
$input_hidden .= '<input type="hidden" name="dpjp['.$no.'][1][kddokter]" value="'.$_REQUEST['dpjp_anastesi'].'">
|
|
<input type="hidden" name="dpjp['.$no.'][1][komponen]" value="Jasa Anastesi">
|
|
<input type="hidden" name="dpjp['.$no.'][1][nilai]" value="'.$jasa_anastesi.'">';
|
|
}
|
|
$format = '<tr id="row'.$no.'"><td>'.$no.'</td><td>'.$kode_tarif.'</td><td>'.$uraian_tarif.'</td><td>'.$jumlah.$input_hidden.'</td><td>'.$button_rem.'</td></tr>';
|
|
|
|
echo json_encode(['kode_tarif'=>$kode_tarif,'rowitem'=>$format]);
|
|
exit;
|
|
}
|
|
else if($page == 'billing') {
|
|
|
|
$db->query('DELETE from tmp_cartbayar_detil where idxbayar in (select idxbayar from tmp_cartbayar where IP = \''.getRealIpAddr().'\')');
|
|
$db->query('DELETE from tmp_cartbayar where IP = \''.getRealIpAddr().'\'');
|
|
|
|
$idxdaftar = $_REQUEST['idxdaftar'];
|
|
$tempat = $_REQUEST['tempat'];
|
|
$st_aps = ($_REQUEST['st_aps'] == '') ? 0 : $_REQUEST['st_aps'];
|
|
$st_rajal = $_REQUEST['st_rajal'];
|
|
$identitas = $_REQUEST['input'];
|
|
$detil = $_REQUEST['detil'];
|
|
$dpjp = $_REQUEST['dpjp'];
|
|
|
|
if($st_rajal == 1) {
|
|
$tmp_carabayar = $db->query("SELECT kdcarabayar from t_pendaftaran where idxdaftar = $idxdaftar");
|
|
$carabayar = $tmp_carabayar->fetchFirst()['kdcarabayar'];
|
|
}
|
|
else {
|
|
$tmp_carabayar = $db->query("SELECT statusbayar from t_admission where id_admission = $idxdaftar");
|
|
$carabayar = $tmp_carabayar->fetchFirst()['statusbayar'];
|
|
}
|
|
$arr_error = []; $unit = $petugas = '';
|
|
foreach($detil as $kd => $data) {
|
|
$petugas = $data['petugas'];
|
|
$kddokter = 0;
|
|
$i = 0;
|
|
if(is_array($dpjp) && array_key_exists($kd, $dpjp)) {
|
|
foreach($dpjp[$kd] as $key => $val) {
|
|
if($i == 0) {
|
|
$kddokter = $val['kddokter'];
|
|
}
|
|
$i++;
|
|
}
|
|
}
|
|
|
|
$jasa_pelayanan = ($data['jasa_pelayanan'] != '') ? $data['jasa_pelayanan'] : 0;
|
|
$jasa_sarana = ($data['jasa_sarana'] != '') ? $data['jasa_sarana'] : 0;
|
|
// $unit = ($_SESSION['KDUNIT']) ? $_SESSION['KDUNIT'] : $_REQUEST['unit'];
|
|
$unit = (array_key_exists('unit', $data) && $data['unit'] != '') ? $data['unit'] : $_REQUEST['unit'];
|
|
$tarif = str_replace(",",".",$data['tarif']);
|
|
|
|
if(preg_match("/OBT/i", $data['kode_tarif'])){
|
|
$jasa_sarana = bulat_puluhan($jasa_sarana,true);
|
|
$tarif = bulat_puluhan($tarif,true);
|
|
}
|
|
|
|
$save = "INSERT into tmp_cartbayar ".bind_sql([
|
|
'kodetarif' => $data['kode_tarif'],
|
|
'ip' => getRealIpAddr(),
|
|
'id' => $data['id_tarif'],
|
|
'qty' => ['value'=>1,'type'=>'number'],
|
|
'poly' => ['value'=>0,'type'=>'number'],
|
|
'unit' => ['value'=>$unit,'type'=>'number'],
|
|
'tarif' => ['value'=>$tarif,'type'=>'number'],
|
|
'discount'=>['value'=>0,'type'=>'number'],
|
|
'tottarif' => ['value'=>$tarif,'type'=>'number'],
|
|
'jasa_sarana' => ['value'=>$jasa_sarana,'type'=>'number'],
|
|
'jasa_pelayanan' => ['value'=>$jasa_pelayanan,'type'=>'number'],
|
|
'jasa_anastesi' => ['value'=>0,'type'=>'number'],
|
|
'jenis' => '',
|
|
'kddokter'=>['value'=>$kddokter,'type'=>'number']]
|
|
);
|
|
|
|
if(_DBTYPE_ == 'mysqli') {
|
|
$result_tmp = execute($save);
|
|
$idxbayar = $result_tmp->insertid;
|
|
}
|
|
else {
|
|
$result_tmp = execute($save." RETURNING idxbayar");
|
|
$idxbayar = $result_tmp->fetchFirst()['idxbayar'];
|
|
}
|
|
|
|
if(is_array($dpjp) && array_key_exists($kd, $dpjp)) {
|
|
foreach($dpjp[$kd] as $key => $data_detil) {
|
|
if(array_key_exists('kddokter', $data_detil)) {
|
|
$input = [];
|
|
$input['idxbayar'] = $idxbayar;
|
|
$input['kode_tarif'] = $data['kode_tarif'];
|
|
$input = array_merge($input, $data_detil);
|
|
|
|
$detil = "INSERT INTO tmp_cartbayar_detil ".bind_sql($input);
|
|
execute($detil);
|
|
}
|
|
}
|
|
}
|
|
|
|
if(!$result_tmp) {
|
|
$arr_error[] = $kd;
|
|
}
|
|
}
|
|
$last_nonota = null;
|
|
if(!empty($detil) && empty($arr_error)) {
|
|
|
|
$billing_sys = ($st_rajal == 1) ? 'irja' : 'irna';
|
|
|
|
$new_bill = new Billing($billing_sys,$identitas['nomr'],$idxdaftar,date("Y-m-d"),0,0,$carabayar,$tempat,$st_aps,$unit,$petugas);
|
|
|
|
$last_nonota = $new_bill->simpanBill();
|
|
}
|
|
|
|
if($last_nonota != null) {
|
|
$msg = 'Tagihan telah berhasil disimpan';
|
|
$type = 'success';
|
|
}
|
|
else {
|
|
$msg = 'Tagihan gagal disimpan';
|
|
$type = 'error';
|
|
}
|
|
|
|
echo json_encode(['message'=>$msg, 'type'=>$type, 'nonota' => $last_nonota]);
|
|
exit;
|
|
}
|
|
else if($page == 'billing_nonreg') {
|
|
|
|
$db->query('DELETE from tmp_cartbayar_detil where idxbayar in (select idxbayar from tmp_cartbayar where IP = \''.getRealIpAddr().'\')');
|
|
$db->query('DELETE from tmp_cartbayar where IP = \''.getRealIpAddr().'\'');
|
|
|
|
$idxdaftar = $_REQUEST['idxdaftar'];
|
|
$tempat = $_REQUEST['tempat'];
|
|
$st_aps = ($_REQUEST['st_aps'] == '') ? 0 : $_REQUEST['st_aps'];
|
|
$st_rajal = $_REQUEST['st_rajal'];
|
|
$identitas = $_REQUEST['input'];
|
|
$detil = $_REQUEST['detil'];
|
|
$dpjp = $_REQUEST['dpjp'];
|
|
$tanggal = (null !== $_REQUEST['tanggal'] ) ? $_REQUEST['tanggal'] : date('Y-m-d');
|
|
$tempat_layanan = ($_REQUEST['unit'] != '') ? $_REQUEST['unit'] : null;
|
|
$carabayar = $_REQUEST['jenis_bayar'];
|
|
|
|
$arr_error = []; $unit = $petugas = '';
|
|
foreach($detil as $kd => $data) {
|
|
$petugas = $data['petugas'];
|
|
$kddokter = 0;
|
|
$i = 0;
|
|
if(is_array($dpjp) && array_key_exists($kd, $dpjp)) {
|
|
foreach($dpjp[$kd] as $key => $val) {
|
|
if($i == 0) {
|
|
$kddokter = $val['kddokter'];
|
|
}
|
|
$i++;
|
|
}
|
|
}
|
|
$jasa_pelayanan = ($data['jasa_pelayanan'] != '') ? $data['jasa_pelayanan'] : 0;
|
|
$jasa_sarana = ($data['jasa_sarana'] != '') ? $data['jasa_sarana'] : 0;
|
|
$tarif = str_replace(",",".",$data['tarif']);
|
|
|
|
$save = "INSERT into tmp_cartbayar ".bind_sql([
|
|
'kodetarif' => $data['kode_tarif'],
|
|
'ip' => getRealIpAddr(),
|
|
'id' => $data['id_tarif'],
|
|
'qty' => ['value'=>1,'type'=>'number'],
|
|
'poly' => ['value'=>$tempat,'type'=>'number'],
|
|
'unit' => ['value'=>$tempat_layanan,'type'=>'number'],
|
|
'tarif' => ['value'=>$tarif,'type'=>'number'],
|
|
'discount'=>['value'=>0,'type'=>'number'],
|
|
'tottarif' => ['value'=>$tarif,'type'=>'number'],
|
|
'jasa_sarana' => ['value'=>$jasa_sarana,'type'=>'number'],
|
|
'jasa_pelayanan' => ['value'=>$jasa_pelayanan,'type'=>'number'],
|
|
'jasa_anastesi' => ['value'=>0,'type'=>'number'],
|
|
'jenis' => '',
|
|
'kddokter'=>['value'=>$kddokter,'type'=>'number']]
|
|
);
|
|
|
|
if(_DBTYPE_ == 'mysqli') {
|
|
$result_tmp = execute($save);
|
|
$idxbayar = $result_tmp->insertid;
|
|
}
|
|
else {
|
|
$result_tmp = execute($save." RETURNING idxbayar");
|
|
$idxbayar = $result_tmp->fetchFirst()['idxbayar'];
|
|
}
|
|
|
|
if(is_array($dpjp) && array_key_exists($kd, $dpjp)) {
|
|
foreach($dpjp[$kd] as $key => $data_detil) {
|
|
if(array_key_exists('kddokter', $data_detil)) {
|
|
$input = [];
|
|
$input['idxbayar'] = $idxbayar;
|
|
$input['kode_tarif'] = $data['kode_tarif'];
|
|
$input = array_merge($input, $data_detil);
|
|
|
|
$detil = "INSERT INTO tmp_cartbayar_detil ".bind_sql($input);
|
|
execute($detil);
|
|
}
|
|
}
|
|
}
|
|
|
|
if(!$result_tmp) {
|
|
$arr_error[] = $kd;
|
|
}
|
|
}
|
|
$last_nonota = null;
|
|
if(!empty($detil) && empty($arr_error)) {
|
|
|
|
$new_bill = new Billing('nonregister',$identitas['nomr'],$idxdaftar,$tanggal,0,0,$carabayar,$tempat,0,$tempat_layanan,$petugas);
|
|
|
|
$last_nonota = $new_bill->simpanBill();
|
|
}
|
|
|
|
if($last_nonota != null) {
|
|
$msg = 'Tagihan telah berhasil disimpan';
|
|
$type = 'success';
|
|
}
|
|
else {
|
|
$msg = 'Tagihan gagal disimpan';
|
|
$type = 'error';
|
|
}
|
|
|
|
echo json_encode(['message'=>$msg, 'type'=>$type, 'nonota' => $last_nonota]);
|
|
exit;
|
|
}
|
|
?>
|