670 lines
30 KiB
PHP
670 lines
30 KiB
PHP
<?php
|
|
|
|
if($_REQUEST['cari_bill']) {
|
|
array_push($form_plugin['ui_plugins_js'],$sweetalert_js);
|
|
array_push($form_plugin['ui_plugins_js'],$calculator_js);
|
|
|
|
// if($_REQUEST['by'] == 'rajal' || $_REQUEST['by'] == 'ranap') {
|
|
// parameter yang dibutuhkan idxdaftar,nomr
|
|
if($_REQUEST['by'] == 'rajal') {
|
|
$q_pasien = "SELECT a.nomr, b.nama, b.alamat, b.jeniskelamin, b.tgllahir, c.nama as carabayar, a.kdcarabayar, a.idxdaftar, a.kdpoly, d.nama as nama_poly,a.kddokter,a.shift,a.tglreg as masukrs,a.keluarpoly as keluarrs from t_pendaftaran a, m_pasien b, m_carabayar c, m_ruang d
|
|
where a.NOMR = b.NOMR and a.KDCARABAYAR = c.KODE and a.KDPOLY = d.no and a.NOMR = '{$_REQUEST['nomr']}' and a.IDXDAFTAR = '{$_REQUEST['idxdaftar']}'
|
|
UNION
|
|
SELECT a.nomr, b.nama, b.alamat, b.jeniskelamin, b.tgllahir, c.nama as carabayar, a.kdcarabayar, a.idxdaftar, a.kdpoly,d.nama_unit as nama_poly,a.kddokter,a.shift,a.tglreg as masukrs,a.tglreg as keluarrs
|
|
from t_pendaftaran_aps a
|
|
join m_pasien_aps b on a.nomr = b.nomr
|
|
join m_carabayar c on a.kdcarabayar = c.kode
|
|
left join m_unit d on a.unit = d.kode_unit
|
|
where a.nomr = '{$_REQUEST['nomr']}' and a.IDXDAFTAR = '{$_REQUEST['idxdaftar']}'
|
|
UNION
|
|
SELECT a.no_daftar as nomr, nama, alamat, null as jeniskelamin, null as tgllahir, 'UMUM' as carabayar, 1 as kdcarabayar, a.idx_daftar as idxdaftar, ".$_SESSION['kd_ruang_farmasi']." as kdpoly,'FARMASI' as nama_poly,null as kddokter,null as shift,a.tgl_daftar as masukrs,a.tgl_daftar as keluarrs
|
|
from m_apotek_aps a
|
|
where a.no_daftar = '{$_REQUEST['nomr']}' and a.idx_daftar = '{$_REQUEST['idxdaftar']}'
|
|
";
|
|
|
|
$where_nonota = (array_key_exists('nonota',$_REQUEST) && $_REQUEST['nonota'] != '') ? ' and b.nonota = \''.$_REQUEST['nonota'].'\'' : '';
|
|
|
|
$sql = "SELECT distinct a.nomr, b.tanggal,b.nonota,b.nobill,b.idxbill, c.kode_tarif, c.uraian_tarif as nama_jasa, c.jumlah as harga, b.qty,a.tbp,a.shift, a.tglbayar , b.idxdaftar, b.carabayar , d.nama_cara_bayar, e.nama_penjamin, b.status_verifikasi, a.st_carabayar,a.kd_penjamin, md.namadokter,b.status,b.alasan_batal,tp.jml_piutang, tp.st_piutang,b.tarifrs,b.jasa_sarana,b.jasa_pelayanan,b.jasa_anastesi
|
|
FROM t_bayarrajal a
|
|
JOIN t_billrajal b ON a.IDXBILL = b.IDXBILL
|
|
JOIN m_tarif_rs c ON c.kode_tarif = b.KODETARIF
|
|
left join m_cara_bayar d on d.id_cara_bayar = a.st_carabayar
|
|
left join m_penjamin e on e.id_penjamin = a.kd_penjamin
|
|
left join m_dokter md on md.kddokter = b.kddokter
|
|
LEFT JOIN ( select idxbill, count(id_piutang) as jml_piutang, st_piutang from t_piutang where nobilling = '{$_REQUEST['nobill']}' and st_billing = 'IRJA' and st_piutang is null group by idxbill,st_billing,st_piutang) tp on b.idxbill = tp.idxbill
|
|
WHERE a.NOMR = '{$_REQUEST['nomr']}' AND a.STATUS !='BATAL' $where_batal AND b.IDXDAFTAR = '{$_REQUEST['idxdaftar']}'
|
|
and b.nobill = '{$_REQUEST['nobill']}' $where_nonota
|
|
ORDER BY b.nonota desc";
|
|
|
|
$qry = $db->query($sql);
|
|
$jml_data = $qry->numRows();
|
|
$all_data_bill = $qry->fetchAll();
|
|
}
|
|
elseif($_REQUEST['by'] == 'ranap') {
|
|
$q_pasien = 'SELECT distinct a.nomr, b.nama, b.alamat, b.jeniskelamin, b.tgllahir, b.parent_nomr, c.statusbayar, e.nama as carabayar, c.noruang, d.nama as nama_poly, c.nott, a.nobill, (select sum(tarifrs * qty) from t_billranap where nobill = a.nobill and t_billranap.status <> \'BATAL\') as tottarifrs, (select sum(discount) from t_bayarranap where nobill = a.nobill) as discount, (select sum(coalesce(costsharing_pelayanan,0)+coalesce(costsharing_anastesi,0)+coalesce(costsharing_sarana,0)) as total from t_billranap where nobill = a.nobill and t_billranap.status <> \'BATAL\') as totcostsharing, (select sum(deposit) from t_deposit where t_deposit.nobill::integer = a.nobill and t_deposit.st_batal is null group by nobill) as deposit, c.masukrs, d.kelas, c.keluarrs, c.tgl_pindah, d.idx_ruang,t.uraian_tarif
|
|
FROM t_billranap a
|
|
JOIN m_pasien b ON a.nomr = b.nomr
|
|
JOIN t_admission c ON a.IDXDAFTAR = c.id_admission
|
|
JOIN m_ruang d ON c.noruang = d.no
|
|
JOIN m_carabayar e ON c.statusbayar = e.KODE
|
|
JOIN t_bayarranap f ON a.idxbill = f.idxbill
|
|
LEFT JOIN m_tarif_rs t on a.kodetarif = t.kode_tarif
|
|
WHERE a.IDXDAFTAR = '.$_REQUEST['idxb'].' and a.NOBILL = '.$_REQUEST['nobill'].' and a.STATUS!=\'BATAL\'';
|
|
|
|
if(array_key_exists('nonota',$_REQUEST) && $_REQUEST['nonota'] != '') {
|
|
$where_nonota = " and b.nonota = '{$_REQUEST['nonota']}'";
|
|
}
|
|
$sql = "SELECT distinct a.uraian_tarif as nama_jasa, b.nonota, b.idxbill, b.carabayar as kdcarabayar, h.status as st_bayar,h.st_carabayar, h.kd_penjamin, b.idxbill, b.tanggal, b.qty, c.nama as carabayar, b.nobill,b.idxdaftar,a.kode_tarif, cb.nama_cara_bayar, p.nama_penjamin, b.status_verifikasi, h.jmbayar, h.tglbayar, b.status,tp.jml_piutang, tp.st_piutang,b.tarifrs,b.jasa_sarana,b.jasa_pelayanan,b.jasa_anastesi
|
|
FROM t_billranap b
|
|
JOIN t_bayarranap h on b.IDXBILL = h.IDXBILL
|
|
JOIN m_carabayar c on c.KODE = b.CARABAYAR
|
|
LEFT JOIN m_tarif_rs a on a.kode_tarif=b.KODETARIF
|
|
LEFT JOIN m_cara_bayar cb on cb.id_cara_bayar = h.st_carabayar
|
|
LEFT JOIN m_penjamin p on p.id_penjamin = h.kd_penjamin
|
|
LEFT JOIN ( select idxbill, count(id_piutang) as jml_piutang, st_piutang from t_piutang where nobilling = '{$_REQUEST['nobill']}' and st_billing = 'IRNA' and st_piutang is null group by idxbill,st_billing,st_piutang) tp on b.idxbill = tp.idxbill
|
|
WHERE b.idxdaftar='{$_REQUEST['idxb']}' and b.nobill='{$_REQUEST['nobill']}' $where_nonota and h.STATUS !='BATAL' and b.tarifrs > 0
|
|
ORDER BY b.nonota desc";
|
|
|
|
$qry = $db->query($sql);
|
|
$jml_data = $qry->numRows();
|
|
$all_data_bill = $qry->fetchAll();
|
|
}
|
|
elseif($_REQUEST['by'] == 'nonreg') {
|
|
$q_pasien = 'SELECT distinct a.no_nonreg as nomr, b.nama, b.alamat, null as jeniskelamin, null as tgllahir, b.carabayar as statusbayar, e.nama as carabayar, d.nama as nama_poly, a.nobill, b.tgl_entri as masukrs, b.tgl_entri as keluarrs, t.uraian_tarif
|
|
FROM t_billnonreg a
|
|
JOIN m_nonreg b ON a.no_nonreg = b.no_nonreg
|
|
JOIN m_ruang d ON b.ruang = d.no
|
|
JOIN m_carabayar e ON b.carabayar = e.KODE
|
|
JOIN t_bayarnonreg f ON a.idxbill = f.idxbill
|
|
LEFT JOIN m_tarif_rs t on a.kodetarif = t.kode_tarif
|
|
WHERE a.idx_nonreg = '.$_REQUEST['idx_nonreg'].' and a.NOBILL = '.$_REQUEST['nobill'].' and a.STATUS!=\'BATAL\'';
|
|
|
|
if(array_key_exists('nonota',$_REQUEST) && $_REQUEST['nonota'] != '') {
|
|
$where_nonota = " and b.nonota = '{$_REQUEST['nonota']}'";
|
|
}
|
|
$sql = "SELECT distinct a.uraian_tarif as nama_jasa, b.nonota, b.idxbill, b.carabayar as kdcarabayar, h.status as st_bayar,h.st_carabayar, h.kd_penjamin, b.idxbill, b.tanggal, b.qty, c.nama as carabayar, b.nobill,b.idx_nonreg as idxdaftar,a.kode_tarif, cb.nama_cara_bayar, p.nama_penjamin, b.status_verifikasi, h.jmbayar, h.tglbayar, b.status,tp.jml_piutang, tp.st_piutang,b.tarifrs,b.jasa_sarana,b.jasa_pelayanan,b.jasa_anastesi
|
|
FROM t_billnonreg b
|
|
JOIN t_bayarnonreg h on b.IDXBILL = h.IDXBILL
|
|
JOIN m_carabayar c on c.KODE = b.CARABAYAR
|
|
LEFT JOIN m_tarif_rs a on a.kode_tarif=b.KODETARIF
|
|
LEFT JOIN m_cara_bayar cb on cb.id_cara_bayar = h.st_carabayar
|
|
LEFT JOIN m_penjamin p on p.id_penjamin = h.kd_penjamin
|
|
LEFT JOIN ( select idxbill, count(id_piutang) as jml_piutang, st_piutang from t_piutang where nobilling = '{$_REQUEST['nobill']}' and st_billing = 'NONREG' and st_piutang is null group by idxbill,st_billing,st_piutang) tp on b.idxbill = tp.idxbill
|
|
WHERE b.idx_nonreg='{$_REQUEST['idx_nonreg']}' and b.nobill='{$_REQUEST['nobill']}' $where_nonota and h.STATUS !='BATAL' and b.tarifrs > 0
|
|
ORDER BY b.nonota desc";
|
|
|
|
$qry = $db->query($sql);
|
|
$jml_data = $qry->numRows();
|
|
$all_data_bill = $qry->fetchAll();
|
|
}
|
|
|
|
|
|
$get = $db->query($q_pasien);
|
|
$userdata = $get->fetchFirst();
|
|
|
|
$ss = $db->query('SELECT * FROM m_shift order by idshift ASC');
|
|
$arr_shift = array(''=>'Pilih Shift');
|
|
foreach($ss->fetchAll() as $ds){
|
|
$arr_shift[$ds['idshift']] = $ds['nama_shift'];
|
|
}
|
|
$m_cara_bayar = $db->query('SELECT * FROM m_cara_bayar');
|
|
$arr_cara_bayar = array(''=>'Pilih');
|
|
foreach($m_cara_bayar->fetchAll() as $ds){
|
|
$arr_cara_bayar[$ds['id_cara_bayar']] = $ds['nama_cara_bayar'];
|
|
}
|
|
|
|
$m_penjamin = $db->query('SELECT * FROM m_penjamin where aktif = 1::bit order by id_penjamin');
|
|
$arr_penjamin = array();
|
|
foreach($m_penjamin->fetchAll() as $ds){
|
|
$arr_penjamin[$ds['id_penjamin']] = trim($ds['nama_penjamin']);
|
|
}
|
|
|
|
$tgl_masuk = new DateTime(datetime_to_date_en($userdata['masukrs']));
|
|
$tgl_pulang = new DateTime(datetime_to_date_en($userdata['keluarrs']));
|
|
$tgl_pulang->add(new DateInterval('P1D'));
|
|
|
|
$selisih = $tgl_pulang->diff($tgl_masuk);
|
|
$jumlah_hari_rawat = $selisih->format("%a");
|
|
|
|
$a = ($userdata['tgllahir'] != null) ? datediff($userdata['tgllahir'], date("Y-m-d")) : ['years'=>'','months'=>'','days'=>''];
|
|
$view = $calculator_css.'
|
|
<style type="text/css">
|
|
.tt-hint {
|
|
height: calc(1.8125rem + 2px) !important;
|
|
padding: .25rem .5rem !important;
|
|
font-size: .875rem !important;
|
|
}
|
|
</style>
|
|
<div class="container-fluid">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="card">
|
|
<h5 class="card-header">IDENTITAS</h5>
|
|
<div class="card-body">
|
|
<input type="hidden" name="nomr" id="nomr" value="'.$userdata['nomr'].'">
|
|
<input type="hidden" name="idxdaftar" id="idxdaftar" value="'.$userdata['idxdaftar'].'">
|
|
<input type="hidden" name="carabayar" id="carabayar" value="'.$userdata['kdcarabayar'].'">
|
|
<input type="hidden" name="dokter" id="dokter" value="'.$userdata['kddokter'].'">
|
|
<input type="hidden" name="rajal_status" id="rajal_status" value="'.(($_REQUEST['by'] == 'rajal') ? 1 : (($_REQUEST['by'] == 'nonreg') ? 'nonreg' : 0)).'">
|
|
<input type="hidden" id="nobill" value="'.$_REQUEST['nobill'].'">
|
|
<input type="hidden" name="aps" id="aps" value="'.(($_REQUEST['rajal']) ? $_REQUEST['aps'] : 0).'">
|
|
<div class="row text-left">
|
|
<div class="col-sm-4">
|
|
<div class="form-group">
|
|
<div class="row">
|
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
|
<label>No RM</label>
|
|
<input type="text" class="form-control form-control-sm" value="'.$userdata['nomr'].'" disabled>
|
|
</div>
|
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
|
<label>No Billing</label>
|
|
<input type="text" class="form-control form-control-sm" style="font-weight:bold;font-size:16px" value="'.$_REQUEST['nobill'].'" disabled>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label>Nama Pasien</label>
|
|
<input type="text" class="form-control form-control-sm" value="'.$userdata['nama'].'" disabled>
|
|
</div>
|
|
<div class="form-group">
|
|
<label>Alamat</label>
|
|
<input type="text" class="form-control form-control-sm" value="'.$userdata['alamat'].'" disabled>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-4">
|
|
<div class="form-group">
|
|
<div class="row">
|
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
|
<label>Tanggal Lahir</label>
|
|
<input type="text" class="form-control form-control-sm" value="'.date_to_id($userdata['tgllahir']).'" disabled>
|
|
</div>
|
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
|
<label>Umur</label>
|
|
<input type="text" class="form-control form-control-sm" value="'.$a['years'].' tahun '.$a['months'].' bulan '.$a['days'].' hari" disabled>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<div class="row">
|
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
|
<label>Jenis Kelamin</label>
|
|
<input type="text" class="form-control form-control-sm" value="'.jeniskelamin($userdata['jeniskelamin']).'" disabled>
|
|
</div>
|
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
|
<label>Jenis Pembayaran</label>
|
|
<input type="text" class="form-control form-control-sm" value="'.$userdata['carabayar'].'" disabled>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label>Klinik/Ruang</label>
|
|
<input type="text" class="form-control form-control-sm" value="'.$userdata['nama_poly'].'" disabled>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-4">
|
|
<div class="form-group">
|
|
<label>Tanggl MRS</label>
|
|
<input type="text" class="form-control form-control-sm" value="'.$userdata['masukrs'].'" disabled>
|
|
</div>
|
|
<div class="form-group">
|
|
<label>Tanggl KRS</label>
|
|
<input type="text" class="form-control form-control-sm" value="'.$userdata['keluarrs'].'" disabled>
|
|
</div>
|
|
<div class="form-group">
|
|
<label>Jumlah Hari Rawat</label>
|
|
<input type="text" class="form-control form-control-sm" value="'.$jumlah_hari_rawat.'" disabled>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>';
|
|
|
|
// echo $view;
|
|
|
|
$row_bill = '
|
|
<div class="container-fluid">
|
|
<div class="row mt-3">
|
|
<div class="col-md-12">
|
|
<div class="card">
|
|
<h5 class="card-header">LIST BILLING</h5>
|
|
<div class="card-body">
|
|
<form name="koreksi_bill" method="post" id="koreksi_bill">
|
|
<table class="table table-bordered table-striped table-sm">
|
|
<thead>
|
|
<tr class="bg-success text-white">
|
|
<th style="width:1%"><input type="checkbox" id="global_cek" class="cb_all"></th>
|
|
<th style="width:5%">Tanggal</th>
|
|
<th style="width:5%">No Nota</th>
|
|
<th style="width:30%">Tarif</th>
|
|
<th style="width:7%; text-align:center;">Tarif</th>
|
|
<th style="width:7%; text-align:center;">Carabayar</th>
|
|
<th style="width:12%; text-align:center;">Penjamin<div id="penjamin_global">'.form_dropdown('kd_penjamin',$arr_penjamin,'','class="form-control input-sm" id="penjamin-global" onchange="changePenjaminGlobal(this)" style="width:100%"').'</div></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>';
|
|
if($jml_data > 0) {
|
|
foreach($all_data_bill as $data)
|
|
{
|
|
$txt_carabayar = ($data['st_carabayar'] == 1) ? 'Tunai' : 'Piutang';
|
|
// $drop_carabayar = form_dropdown('detil['.$data['idxbill'].'][st_carabayar]',$arr_cara_bayar,$data['st_carabayar'],'class="form-control input-sm st_carabayar" id="carabayar-'.$data['idxbill'].'" data-idx="'.$data['idxbill'].'" style="width:100%"');
|
|
$drop_carabayar = '<input type="hidden" name="detil['.$data['idxbill'].'][st_carabayar]" value="'.$data['st_carabayar'].'" class="st_carabayar" id="carabayar-'.$data['idxbill'].'" data-idx="'.$data['idxbill'].'" data-kd_penjamin="'.$data['kd_penjamin'].'">';
|
|
$cekbox = '<input type="checkbox" class="cb_bill" data-idbill="'.$data['idxbill'].'" name="cb_bill[]" data-total="'.$data['tarifrs'].'" value="'.$data['idxbill'].'" data-nonota="'.$data['nonota'].'">';
|
|
$drop_penjamin = '<div id="penjamin_wrapper_'.$data['idxbill'].'"></div>';
|
|
$row_bill .= '<tr>';
|
|
$row_bill .= '<td>'.$cekbox.'<span id="text_shift_'.$data['idxbill'].'"></span></td>';
|
|
$row_bill .= '<td>'.($data['tanggal']).'<input type="text" name="detil['.$data['idxbill'].'][tanggal]" value="'.($data['tanggal']).'" class="form-control datepicker-default mask-date-default form-control-sm"></td>';
|
|
$row_bill .= '<td>'.$data['nonota'].'</td>';
|
|
$row_bill .= '<td>'.$data['kode_tarif'].' - '.$data['nama_jasa'].'</td>';
|
|
// '<input type="text" name="kode_tarif" id="txt_kode_tarif'.$data['idxbill'].'" value="'.$data['kode_tarif'].'" class="form-control form-control-sm kode_tarif" data-idxbill="'.$data['idxbill'].'">
|
|
// <input type="hidden" name="detil['.$data['idxbill'].'][kodetarif]" id="kode_tarif'.$data['idxbill'].'" value="'.$data['kode_tarif'].'">
|
|
// <input type="hidden" name="detil['.$data['idxbill'].'][jasa_sarana]" value="'.preg_replace("/\.00/",'',$data['jasa_sarana']).'" id="jasa_sarana'.$data['idxbill'].'">
|
|
// <input type="hidden" name="detil['.$data['idxbill'].'][jasa_pelayanan]" value="'.preg_replace("/\.00/",'',$data['jasa_pelayanan']).'" id="jasa_pelayanan'.$data['idxbill'].'">
|
|
// <input type="hidden" name="detil['.$data['idxbill'].'][jasa_anastesi]" value="'.preg_replace("/\.00/",'',$data['jasa_anastesi']).'" id="jasa_anastesi'.$data['idxbill'].'">
|
|
// </td>';
|
|
// $row_bill .= '<td>'.$data['nama_jasa'].'<span id="uraian_tarif'.$data['idxbill'].'"></span></td>';
|
|
$enable_tarif = (preg_match("/AKO|OBT/i",$data['kode_tarif'])) ? 'readonly' : 'readonly';
|
|
// $row_bill .= '<td>Rp. '.format_uang($data['tarifrs']).'<input type="text" name="detil['.$data['idxbill'].'][tarifrs]" id="tarif_'.$data['idxbill'].'" class="form-control form-control-sm mask-decimal" value="'.preg_replace("/\.00/",'',($data['tarifrs'])).'" '.$enable_tarif.'></td>';
|
|
$row_bill .= '<td>Rp. '.format_uang($data['tarifrs']).'</td>';
|
|
$row_bill .= '<td><span id="text_carabayar_'.$data['idxbill'].'">'.$txt_carabayar.'</span>'.$drop_carabayar.'</td>';
|
|
|
|
$row_bill .= '<td><span id="text_penjamin_'.$data['idxbill'].'">'.$data['nama_penjamin'].'</span>'.$drop_penjamin.'</td>';
|
|
}
|
|
|
|
|
|
}
|
|
|
|
$row_bill .= '</tbody>
|
|
<tfoot>
|
|
<tr class="bg-outline">
|
|
<td colspan="7" class="text-right"><button type="button" class="btn btn-outline-primary" id="btn_simpan_koreksi">Simpan Koreksi</button></td>
|
|
</tr>
|
|
</tfoot></table>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>';
|
|
|
|
echo $view.$row_bill;
|
|
$js_init .= '
|
|
Toast = Swal.mixin({
|
|
toast: true,
|
|
position: "top-end",
|
|
showConfirmButton: false,
|
|
timer: 3000
|
|
});';
|
|
|
|
$js_init .= '
|
|
function changePenjaminGlobal(elm)
|
|
{
|
|
penjamin_global = $(elm).find(":selected").val();
|
|
$(".kd_penjamin").val(penjamin_global).trigger("change");
|
|
}
|
|
var arr_jumlah = [];
|
|
$(".cb_bill").on("click",function(){
|
|
this_row_carabayar = $(this).data("row_carabayar");
|
|
var carabayar = (this_row_carabayar) ? this_row_carabayar : $("#carabayar").val();
|
|
var idbill = $(this).data("idbill");
|
|
var st_cek = $(this).is(":checked");
|
|
if(st_cek)
|
|
{
|
|
status_carabayar = (carabayar == 1) ? "1" : "2";
|
|
$("#carabayar-"+idbill).val(status_carabayar).trigger("change");
|
|
jumlah = $(this).data("total");
|
|
if(carabayar == 1) {
|
|
/* Jika Tunai */
|
|
if($.inArray("Tunai",arr_jumlah) != -1) {
|
|
arr_jumlah["Tunai"].push(jumlah);
|
|
}
|
|
else {
|
|
arr_jumlah["Tunai"] = [];
|
|
arr_jumlah["Tunai"].push(jumlah);
|
|
}
|
|
}
|
|
else {
|
|
/* Jika Piutang */
|
|
// console.log("Piutang" in arr_jumlah);
|
|
if("Piutang" in arr_jumlah) {
|
|
arr_jumlah["Piutang"].push(jumlah);
|
|
}
|
|
else {
|
|
arr_jumlah["Piutang"] = [];
|
|
arr_jumlah["Piutang"].push(jumlah);
|
|
}
|
|
}
|
|
// console.log(arr_jumlah);
|
|
/*txt_jumlah = 0;
|
|
$.each(arr_jumlah,function(k,v){
|
|
txt_jumlah += parseFloat(v);
|
|
});
|
|
|
|
$("#str_total_cek").text("Rp. "+accounting.formatMoney(txt_jumlah,2,",","."));
|
|
*/
|
|
}
|
|
else {
|
|
$("#carabayar-"+idbill).val("").trigger("change");
|
|
}
|
|
});
|
|
$("#global_cek").click(function(){
|
|
is_cek = $(this).prop("checked");
|
|
if(is_cek) {
|
|
$(".cb_bill").trigger("click");
|
|
}
|
|
else {
|
|
$(".cb_bill").trigger("click");
|
|
}
|
|
})
|
|
function st_carabayar_init(){
|
|
$(".st_carabayar").each(function(){
|
|
var status_val = $(this).val();
|
|
var idx = $(this).data("idx");
|
|
if(status_val == 2)
|
|
{
|
|
kd_penjamin = $(this).data("kd_penjamin");
|
|
|
|
penjamin_global = $("#penjamin-global").val(kd_penjamin).trigger("change");
|
|
|
|
var data_penjamin = "'.preg_replace("/\"/","\\\"",preg_replace("/\n/",'',form_dropdown('kd_penjamin[{idx}]',$arr_penjamin,'','class="form-control input-sm kd_penjamin" id="penjamin-{idx}" style="width:100%"'))).'";
|
|
var res_penjamin = data_penjamin.replace(/\{idx\}/g,idx);
|
|
var regex_penjamin = new RegExp(\'value="\'+kd_penjamin+\'"\');
|
|
var res_penjamin = res_penjamin.replace(regex_penjamin,\'value="\'+kd_penjamin+\'" selected\');
|
|
}
|
|
else {
|
|
var data_penjamin = "'.preg_replace("/\"/","\\\"",preg_replace("/\n/",'',form_dropdown('kd_penjamin[{idx}]',array(),'','class="form-control input-sm kd_penjamin" id="penjamin-{idx}" style="width:100%"'))).'";
|
|
var res_penjamin = data_penjamin.replace(/\{idx\}/g,idx);
|
|
}
|
|
|
|
$("#penjamin_wrapper_"+idx).html(res_penjamin);
|
|
$("select.kd_penjamin").select2();
|
|
});
|
|
}
|
|
st_carabayar_init();
|
|
|
|
async function load_kode_tarif() {
|
|
const kode_tarif = await new Bloodhound({
|
|
datumTokenizer: Bloodhound.tokenizers.obj.whitespace("text"),
|
|
queryTokenizer: Bloodhound.tokenizers.whitespace,
|
|
remote: {
|
|
url : "'._BASE_.'keuangan/addtarif.php?page=load_kode_tarif&kode=%QUERY",
|
|
wildcard: "%QUERY"
|
|
}
|
|
});
|
|
$(".kode_tarif").each(function(){
|
|
$(this).typeahead({hint: true, highlight: true, minLength: 3 },{
|
|
name: "kode_tarif",
|
|
display: "text",
|
|
source: kode_tarif,
|
|
limit: 10
|
|
}).on("typeahead:selected typeahead:autocompleted typeahead:matched", function (ev, datum) {
|
|
idbill = $(this).data("idxbill");
|
|
/*
|
|
$("#jasa_pelayanan"+idbill).val(datum.jasa_pelayanan);
|
|
$("#jasa_sarana"+idbill).val(datum.jasa_sarana);
|
|
$("#jasa_anastesi"+idbill).val(datum.jasa_anastesi);
|
|
$("#kode_tarif"+idbill).val(datum.kode_tarif);
|
|
|
|
if(datum.jumlah > 0 && datum.kode_tarif.match(/AKO|OBT/i)) {
|
|
$("#tarif_"+idbill).val(datum.jumlah).prop("readonly",false).addClass("jui");
|
|
$("#tarif_"+idbill).calculator();
|
|
}
|
|
else if(datum.kode_tarif.match(/OBT/i)) {
|
|
$("#tarif_"+idbill).val(datum.jumlah).prop("readonly",false).addClass("jui");
|
|
$("#tarif_"+idbill).calculator();
|
|
}
|
|
else {
|
|
$("#tarif_"+idbill).val(datum.jumlah).prop("readonly",true);
|
|
}
|
|
*/
|
|
});
|
|
});
|
|
}
|
|
load_kode_tarif();
|
|
|
|
$("#btn_simpan_koreksi").click(function(){
|
|
idxdaftar = $("#idxdaftar").val();
|
|
nomr = $("#nomr").val();
|
|
nobill = $("#nobill").val();
|
|
rajal_status = $("#rajal_status").val();
|
|
aps = $("#aps").val();
|
|
$.post("'._BASE_.'include/master.php",$("#koreksi_bill").serialize()+"&koreksi_bill=true&idxdaftar="+idxdaftar+"&nomr="+nomr+"&nobill="+nobill+"&rajal_status="+rajal_status+"&aps="+aps,function(data){
|
|
Toast.fire({title:data.message,type:data.type,onClose : function(){
|
|
window.location.reload();
|
|
}});
|
|
},"json");
|
|
});
|
|
';
|
|
array_push($form_plugin['ui_plugins_js'], $sweetalert_js);
|
|
// }
|
|
// elseif($_REQUEST['by'] == 'nonreg') {
|
|
// // parameter yang dibutuhkan idxnonreg,no_nonreg
|
|
// include _DOCROOT_.'koreksi_bill_nonreg.php';
|
|
// }
|
|
|
|
}
|
|
else {
|
|
?>
|
|
<div id="frame" style="margin-top:10px">
|
|
<div class="container-fluid">
|
|
<div class="row">
|
|
<div class="col-md-6 offset-md-3">
|
|
<div class="card">
|
|
<div class="card-header">Koreksi Bill</div>
|
|
<div class="card-body">
|
|
<form id="form_cari" action="" method="post">
|
|
<input type="hidden" name="idxdaftar" id="frm_idxdaftar" value>
|
|
<input type="hidden" name="nomr" id="frm_nomr" value>
|
|
<input type="hidden" name="idxb" id="frm_idxb" value>
|
|
<input type="hidden" name="idx_nonreg" id="frm_idxnonreg" value>
|
|
<input type="hidden" name="no_nonreg" id="frm_nononreg" value>
|
|
<input type="hidden" name="aps" id="frm_aps" value>
|
|
<input type="hidden" name="cari_bill" id="frm_caribill" value="1">
|
|
<?php
|
|
if(array_key_exists('ranap', $_REQUEST) && $_REQUEST['ranap'] == 1) {
|
|
echo '<div class="form-group row">
|
|
<label class="col-sm-4">Sistem</label>
|
|
|
|
<div class="col-sm-8">
|
|
<div class="form-check form-check-inline"><input class="form-check-input" type="radio" name="by" id="rdRanap" value="ranap" checked>
|
|
<label class="form-check-label" for="rdRanap">Rawat Inap</label>
|
|
</div>
|
|
</div>
|
|
</div>';
|
|
}
|
|
else {
|
|
?>
|
|
<div class="form-group row">
|
|
<label class="col-sm-4">Sistem</label>
|
|
|
|
<div class="col-sm-8">
|
|
<div class="form-check form-check-inline">
|
|
<input class="form-check-input" type="radio" name="by" id="rdRajal" value="rajal" checked>
|
|
<label class="form-check-label" for="rdRajal">Rawat Jalan</label>
|
|
</div>
|
|
<div class="form-check form-check-inline">
|
|
<input class="form-check-input" type="radio" name="by" id="rdRanap" value="ranap">
|
|
<label class="form-check-label" for="rdRanap">Rawat Inap</label>
|
|
</div>
|
|
<div class="form-check form-check-inline">
|
|
<input class="form-check-input" type="radio" name="by" id="rdNonreg" value="nonreg">
|
|
<label class="form-check-label" for="rdNonreg">Non Register</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php } ?>
|
|
|
|
<div class="form-group row">
|
|
<label class="col-sm-4">No Billing</label>
|
|
<div class="col-sm-7">
|
|
<input type="number" name="nobill" id="nobill" class="mask-decimal form-control form-control-sm">
|
|
</div>
|
|
<div class="col-sm-1">
|
|
<span class="alert alert-success p-1 d-none" id="info_nobill_ok"><i class="fa fa-check"></i></span>
|
|
<span class="alert alert-danger p-1 d-none" id="info_nobill_salah"><i class="fa fa-times"></i></span>
|
|
</div>
|
|
</div>
|
|
<div class="form-group row">
|
|
<label class="col-sm-4">No Nota</label>
|
|
<div class="col-sm-7">
|
|
<input type="number" name="nonota" id="nonota" class="mask-decimal form-control form-control-sm">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group row">
|
|
<label class="col-sm-4"> </label>
|
|
<div class="col-sm-8">
|
|
<button type="button" name="btn_cari_bill" id="btn_cari_bill" class="btn btn-outline-primary" disabled>Cari</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<?php
|
|
array_push($form_plugin['ui_plugins_js'], $sweetalert_js);
|
|
array_push($form_plugin['ui_plugins_js'], $typing_js);
|
|
|
|
$js_init .= '
|
|
Toast = Swal.mixin({
|
|
toast: true,
|
|
position: "top-end",
|
|
showConfirmButton: false,
|
|
timer: 3000
|
|
});
|
|
$("#btn_cari_bill").click(function(){
|
|
nobill = $("#nobill").val();
|
|
nonota = $("#nonota").val();
|
|
if(nobill == "") {
|
|
Toast.fire({title:"Isikan No Billing dengan benar.",type:"error"});
|
|
}
|
|
else {
|
|
let sistem = $("input[type=radio][name=by]").find(":checked").val();
|
|
if(sistem=="rajal" && nonota == "") {
|
|
Toast.fire({title:"Isikan No Nota dengan benar.",type:"error"});
|
|
}
|
|
else {
|
|
$("#form_cari").trigger("submit");
|
|
}
|
|
}
|
|
});
|
|
$("input[type=radio][name=by]").click(function(){
|
|
$("#nobill").val("").trigger("focus");
|
|
});
|
|
|
|
$("#nobill").focus();
|
|
|
|
$("#nobill").typing({
|
|
stop : function(e,elm){
|
|
validasi_billing($(elm).val());
|
|
},
|
|
delay : 200
|
|
});
|
|
|
|
$("#nobill").bind("paste",function(e) {
|
|
catchPaste(e, this, function(val) {
|
|
validasi_billing(val);
|
|
});
|
|
});
|
|
|
|
$("#nobill").on("keypress",function(e){
|
|
if(e.keyCode == 13) {
|
|
e.preventDefault();
|
|
nomr = $("#frm_nomr").val();
|
|
nomr2 = $("#frm_nononreg").val();
|
|
if(nomr != "" || nomr2 != "") {
|
|
$("#btn_cari_bill").trigger("click");
|
|
}
|
|
else {
|
|
|
|
}
|
|
}
|
|
});
|
|
|
|
function catchPaste(evt, elem, callback) {
|
|
if (navigator.clipboard && navigator.clipboard.readText) {
|
|
// modern approach with Clipboard API
|
|
navigator.clipboard.readText().then(callback);
|
|
} else if (evt.originalEvent && evt.originalEvent.clipboardData) {
|
|
// OriginalEvent is a property from jQuery, normalizing the event object
|
|
callback(evt.originalEvent.clipboardData.getData("text"));
|
|
} else if (evt.clipboardData) {
|
|
// used in some browsers for clipboardData
|
|
callback(evt.clipboardData.getData("text/plain"));
|
|
} else if (window.clipboardData) {
|
|
// Older clipboardData version for Internet Explorer only
|
|
callback(window.clipboardData.getData("Text"));
|
|
} else {
|
|
// Last resort fallback, using a timer
|
|
setTimeout(function() {
|
|
callback(elem.value)
|
|
}, 100);
|
|
}
|
|
}
|
|
|
|
function validasi_billing(pre_nobill) {
|
|
|
|
nobill = (pre_nobill != "") ? pre_nobill : $("#nobill").val();
|
|
|
|
sistem = $("input[type=radio][name=by]:checked").val();
|
|
|
|
$.post("'._BASE_.'include/master.php",{cari_billing:true,nobill,sistem},function(data){
|
|
if(data.type == "success"){
|
|
$("#info_nobill_ok").removeClass("d-none");
|
|
$("#info_nobill_salah").addClass("d-none");
|
|
|
|
if(sistem == "rajal"){
|
|
$("#frm_idxdaftar").val(data.pasien.idxdaftar);
|
|
$("#frm_aps").val(data.pasien.aps);
|
|
$("#frm_nomr").val(data.pasien.nomr);
|
|
$("#frm_idxb,#frm_nononreg,#frm_idxnonreg").val("");
|
|
}
|
|
else if(sistem == "ranap") {
|
|
$("#frm_idxb").val(data.pasien.idxdaftar);
|
|
$("#frm_nomr").val(data.pasien.nomr);
|
|
$("#frm_idxdaftar,#frm_nononreg,#frm_idxnonreg").val("");
|
|
}
|
|
else if(sistem == "nonreg") {
|
|
$("#frm_idxnonreg").val(data.pasien.idx_nonreg);
|
|
$("#frm_nononreg").val(data.pasien.no_nonreg);
|
|
$("#frm_idxdaftar,#frm_idxb,#frm_nomr").val("");
|
|
}
|
|
$("#btn_cari_bill").prop("disabled",false);
|
|
}
|
|
else {
|
|
$("#info_nobill_ok").addClass("d-none");
|
|
$("#info_nobill_salah").removeClass("d-none");
|
|
|
|
if(sistem == "rajal"){
|
|
$("#frm_idxdaftar").val("");
|
|
$("#frm_nomr").val("");
|
|
$("#frm_idxb,#frm_nononreg,#frm_idxnonreg").val("");
|
|
}
|
|
else if(sistem == "ranap") {
|
|
$("#frm_idxb").val("");
|
|
$("#frm_nomr").val("");
|
|
$("#frm_idxdaftar,#frm_nononreg,#frm_idxnonreg").val("");
|
|
}
|
|
else if(sistem == "nonreg") {
|
|
$("#frm_idxdaftar").val("");
|
|
$("#frm_nononreg").val("");
|
|
$("#frm_idxdaftar,#frm_idxb,#frm_nomr").val("");
|
|
}
|
|
|
|
$("#btn_cari_bill").prop("disabled",true);
|
|
}
|
|
},"json");
|
|
}
|
|
';
|
|
}
|
|
?>
|
|
|