query('SELECT * FROM m_cara_bayar'); $arr_cara_bayar = array(); 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']); } ?>
Alokasi Billing

IDENTITAS PASIEN



No Cara Bayar Penjamin Jumlah Alokasi Jumlah Tarif Teralokasi Aksi
Tunai"); } else if (cek_val == 2) { $("#kol_penjamin-"+cek_nomor).html(opsi_penjamin.replaceAll("xno",cek_nomor)); } else { Toast.fire({title:"Pilih Carabayar dahulu",type:"error"}); } } function tambah_alokasi(noindex, val_carabayar = null, val_penjamin = null, jumlah_bayar = null) { let jumlah_teralokasi = 0; let idx_bill = []; for (var key in arr_bill) { let tarif = parseFloat(arr_bill[key]); if(jumlah_bayar != null && jumlah_bayar > 0) { let sim_alokasi = jumlah_teralokasi + tarif; // jika jumlah akumulasi perhitungan lebih dari jumlah bayar maka total terbayar tetap if(sim_alokasi > jumlah_bayar) { continue; } } if(sisa - tarif >= 0) { if($.inArray(key, flag_idxbill) === -1){ // jika tidak ditemukan key di flag idx_bill.push({[key]:tarif}); jumlah_teralokasi += tarif; sisa -= tarif; flag_idxbill.push(key); } } } nox = (noindex != null) ? noindex : no; let carabayar = opsi_carabayar.replaceAll("xno",nox); let penjamin = opsi_penjamin.replaceAll("xno",nox); let jumlah_alokasi = (jumlah_bayar != null && jumlah_bayar > 0) ? jumlah_bayar : jumlah_teralokasi; $("#status_billing tbody").append(""+nox+""+carabayar+"
"+penjamin+"
"); alokasi_bill = {[nox]:idx_bill}; total_bayar += jumlah_teralokasi; if(sisa < 1) { $("#btn_tambah_alokasi").prop("disabled",true); $("#btn_simpan_alokasi").prop("disabled",false); } // set item value if(val_carabayar != null) { $("#carabayar-"+nox).val(val_carabayar); } if(val_penjamin != null && val_carabayar == 2) { $("#penjamin-"+nox).val(val_penjamin); } no+=1; } function simpan_alokasi() { form_alokasi = $("#form_alokasi").serialize(); if(sisa > 0) { Toast.fire({title:"Tidak dapat memproses, silakan alokasi ulang",type:"error"}); return; } $.post("'._BASE_.'include/master.php?save_alokasi_bill=1",form_alokasi+"&alokasi="+JSON.stringify(alokasi_bill),function(data){ console.log(data); $("#btn_cari_bill").prop("disable",false); reset_alokasi(); },"JSON") } function reset_alokasi() { arr_bill = []; flag_idxbill = []; no = 1; total_biaya = total_bayar = sisa = 0; alokasi_bill = []; $("#identitas")[0].reset(); $("#frm_report")[0].reset(); $("#total_bayar, #total_biaya, #sisa").val(""); $("#status_billing tbody").html(""); } function delete_alokasi(xno) { current_alokasi = 0; // hapus flag idxbill for(i = flag_idxbill.length - 1; i >= 0 ; i--) { id_cek = flag_idxbill[i]; for(ii = 0; ii < alokasi_bill[xno].length; ii++) { if(alokasi_bill[xno][ii][id_cek] != undefined) { current_alokasi += alokasi_bill[xno][ii][id_cek]; flag_idxbill.splice(i, 1); } } } // set total bayar dikurangi alokasi yg terhapus total_bayar -= current_alokasi; // hapus obj alokasi_bill delete alokasi_bill[xno]; // hitung sisa hitung_alokasi(); // hapus elemen alokasi $("#row-alokasi-"+xno).remove(); // set enable tombol tambah alokasi if(sisa > 0) { $("#btn_tambah_alokasi").prop("disabled",false); $("#btn_simpan_alokasi").prop("disabled",true); } no--; } function alokasi_ulang(elm) { let cek_val = $(elm).val(); if(cek_val > total_biaya) { return false; } // disable cari button $("#btn_cari_bill").prop("disable",true); xno = $(elm).data("xno"); jumlah_alokasi = $(elm).val(); // hapus alokasi delete_alokasi(xno); // tambah alokasi baru let cb_carabayar = $("#carabayar-"+xno).val(); let cb_penjamin = $("#penjamin-"+xno).val(); tambah_alokasi(xno, cb_carabayar, cb_penjamin, jumlah_alokasi); hitung_alokasi(); if(sisa > 0) { $("#btn_tambah_alokasi").prop("disabled",false); $("#btn_simpan_alokasi").prop("disabled",true); } } function hitung_alokasi() { sisa = total_biaya - total_bayar; $("#total_bayar").val(accounting.formatMoney(total_bayar)); $("#sisa").val(accounting.formatMoney(sisa)); } '; ?>