Files
simrs-jatim/ranap/form_orderobat.php
2024-04-19 14:04:41 +07:00

459 lines
22 KiB
PHP

<form action="ranap/save_pemberian_obat.php" name="pemberian_obat" method="post" id="pemberian_obat">
<?php
$client = new GuzzleHttp\Client();
$res = $client->request('GET', $_SESSION['FARMASI_WEBADDRESS'].'/api/depo', [
'headers' => [
'Accept' => 'application/json',
'Content-type' => 'application/json',
'x-token' => $_SESSION['farmasi_x_token']
]
]);
$json_depo = ($res->getStatusCode() == 200) ? $res->getBody()->getContents() : [];
$data_depo = (!empty($json_depo)) ? json_decode($json_depo) : null;
$arr_depo = [];
foreach($data_depo as $obj_depo) {
if($obj_depo->StMinta == 1 && $obj_depo->StJual == 1){
$arr_depo[$obj_depo->Kode] = $obj_depo->Nama;
}
}
$res = $client->request('GET', $_SESSION['FARMASI_WEBADDRESS'].'/api/provider', [
'headers' => [
'Accept' => 'application/json',
'Content-type' => 'application/json',
'x-token' => $_SESSION['farmasi_x_token']
]
]);
$json_dokter = ($res->getStatusCode() == 200) ? $res->getBody()->getContents() : [];
$data_dokter = (!empty($json_dokter)) ? json_decode($json_dokter) : null;
$arr_dokter = [];
foreach($data_dokter as $obj_dokter) {
$arr_dokter[$obj_dokter->Kode] = $obj_dokter->Nama;
}
$res = $client->request('GET', $_SESSION['FARMASI_WEBADDRESS'].'/api/tempatlayanan/1', [
'headers' => [
'Accept' => 'application/json',
'Content-type' => 'application/json',
'x-token' => $_SESSION['farmasi_x_token']
]
]);
$json_tempat = ($res->getStatusCode() == 200) ? $res->getBody()->getContents() : [];
$data_tempat = (!empty($json_tempat)) ? json_decode($json_tempat) : null;
$arr_JL = [];
$arr_tempat = [];
foreach($data_tempat as $obj_tempat) {
$arr_JL[$obj_tempat->KodeJL] = $obj_tempat->KodeJL;
$arr_tempat[$obj_tempat->KodeJL][$obj_tempat->Kode] = $obj_tempat->Nama;
}
$res = $client->request('GET', $_SESSION['FARMASI_WEBADDRESS'].'/api/petugas', [
'headers' => [
'Accept' => 'application/json',
'Content-type' => 'application/json',
'x-token' => $_SESSION['farmasi_x_token']
]
]);
$json_petugas = ($res->getStatusCode() == 200) ? $res->getBody()->getContents() : [];
$data_petugas = (!empty($json_petugas)) ? json_decode($json_petugas) : null;
$arr_petugas = [];
foreach($data_petugas as $obj_petugas) {
$arr_petugas[$obj_petugas->Kode] = $obj_petugas->Nama;
}
$res = $client->request('GET', $_SESSION['FARMASI_WEBADDRESS'].'/api/statusstok', [
'headers' => [
'Accept' => 'application/json',
'Content-type' => 'application/json',
'x-token' => $_SESSION['farmasi_x_token']
]
]);
$json_stok = ($res->getStatusCode() == 200) ? $res->getBody()->getContents() : [];
$data_stok = (!empty($json_stok)) ? json_decode($json_stok) : null;
$arr_stok = [''=>'Pilih'];
foreach($data_stok as $obj_stok) {
$arr_stok[$obj_stok->Kode] = $obj_stok->Nama;
}
$query = $db->query( "SELECT * from tmlogreference where tipe = 5 and aktif = 1");
if($query->numRows()) {
$arr_jamin = [];
foreach($query->fetchAll() as $data_jamin) {
$arr_jamin[$data_jamin['Kode']] = $data_jamin['Nama'];
}
}
$tgl_lahir_px = new Datetime($userdata['TGLLAHIR']);
$tgl_mrs_px = new Datetime($tglreg);
$umur = $tgl_mrs_px->diff($tgl_lahir_px);
$umur_tahun = $umur->format('%y');
if($umur_tahun < 1)
{
$umur_tahun = $umur->format('%m');
$ket_umur = 'Bulan';
}
else {
$ket_umur = 'Tahun';
}
$billing = $db->query( "SELECT DISTINCT NOBILL from t_billranap where IDXDAFTAR = {$id_admission} and NOMR = '{$nomr}' UNION SELECT DISTINCT NOBILL from t_billrajal where IDXDAFTAR = {$id_admission} and NOMR = '{$nomr}'");
if($billing->numRows() > 0)
{
$data = $billing->fetchAll()[0];
$nobill = $data['NOBILL'];
}
?>
<input type="hidden" name="id_admission" value="<?php echo $id_admission;?>" />
<input type="hidden" name="nomr" value="<?php echo $nomr;?>" />
<input type="hidden" name="noruang" value="<?php echo $noruang;?>" />
<input type="hidden" name="kddokter" value="<?php echo $kddokter;?>" />
<input type="hidden" name="input[NoRMPx]" value="<?php echo $nomr;?>" />
<input type="hidden" name="input[NamaPx]" value="<?php echo $nama;?>" />
<input type="hidden" name="input[TglLahir]" value="<?php echo $userdata['TGLLAHIR'];?>" />
<input type="hidden" name="input[UmurPx]" value="<?php echo $umur_tahun;?>" />
<input type="hidden" name="input[KetUmur]" value="<?php echo $ket_umur;?>" />
<input type="hidden" name="input[AlamatPx]" value="<?php echo $userdata['nm_ruang'].' No. '.$userdata['nott'];?>" />
<input type="hidden" name="input[NoTT]" value="<?php echo $userdata['nott'];?>" />
<input type="hidden" name="input[NoBilling]" value="<?php echo $nobill;?>" />
<fieldset class="fieldset">
<div class="row">
<fieldset class="form-group">
<div class="row">
<div class="col-sm-6">
<div class="form-group row">
<label class="col-form-label col-sm-4 pt-0" style="text-align:right">Subdepo Farmasi</label>
<div class="col-sm-8 pt-0 text-left">
<?php echo form_dropdown('input[KodeDepo]',$arr_depo,'','class="form-control" id="kodeDepo" style="width:100%"'); ?>
<input type="hidden" name="depo" id="depo">
</div>
</div>
<div class="form-group row">
<label class="col-form-label col-sm-4 pt-0" style="text-align:right">Penjamin</label>
<div class="col-sm-8 pt-0" style="text-align:left">
<?php echo form_dropdown('input[KodeJamin]',$arr_jamin,'NON5','class="form-control" id="kodeJamin" style="width:100%"'); ?>
<input type="hidden" id="penjamin">
</div>
</div>
<div class="form-group row">
<label class="col-form-label col-sm-4 pt-0" style="text-align:right">Dokter</label>
<div class="col-sm-8 pt-0" style="text-align:left">
<?php echo form_dropdown('input[KodeDokter]',$arr_dokter,'Prov08100007','class="form-control" id="kodeDokter" style="width:100%"'); ?>
<input type="hidden" id="provider">
</div>
</div>
<div class="form-group row">
<label class="col-form-label col-sm-4 pt-0" style="text-align:right">Jenis Layanan</label>
<div class="col-sm-8 pt-0" style="text-align:left">
<?php echo form_dropdown('KodeJL',$arr_JL,'','class="form-control" id="KodeJL" style="width:100%"'); ?>
</div>
</div>
<div class="form-group row">
<label class="col-form-label col-sm-4 pt-0" style="text-align:right">Tempat Layanan</label>
<div class="col-sm-8 pt-0" style="text-align:left">
<?php echo form_dropdown('input[KodeTL]',[],'','class="form-control" id="kodeTL" style="width:100%"'); ?>
</div>
</div>
<div class="form-group row">
<label class="col-form-label col-sm-4 pt-0" style="text-align:right">Petugas</label>
<div class="col-sm-8 pt-0" style="text-align:left">
<?php echo form_dropdown('input[IdPetugas]',$arr_petugas,'','class="form-control" id="IdPetugas" style="width:100%"'); ?>
</div>
</div>
<!-- <div class="form-group row">
<label class="col-form-label col-sm-4 pt-0" style="text-align:right">Keterangan</label>
<div class="col-sm-8 pt-0" style="text-align:left">
<textarea name="keterangan" id="keterangan" cols="45" rows="5" class="form-control text"><?=$dat_rp['KETERANGAN']?></textarea>
</div>
</div> -->
</div>
<div class="col-sm-6 text-left">
<div class="form-group row">
<label class="col-form-label col-sm-4 pt-0" style="text-align:right">Racikan</label>
<div class="col-sm-8 pt-0" style="text-align:left">
<?php echo form_dropdown('StRacik',[0=>'NON RACIKAN',1=>'RACIKAN'],'','class="form-control" id="StRacik" style="width:100%"'); ?>
</div>
</div>
<div class="form-group row">
<label class="col-form-label col-sm-4 pt-0" style="text-align:right">Status Barang</label>
<div class="col-sm-8 pt-0" style="text-align:left">
<?php echo form_dropdown('StStock',$arr_stok,'','class="form-control" id="StStock" style="width:100%"'); ?>
</div>
</div>
<div class="form-group row">
<label class="col-form-label col-sm-4 pt-0" style="text-align:right">Penulisan Resep</label>
<div class="col-sm-8 pt-0" style="text-align:left">
<div class="form-check form-check-inline">
<input type="checkbox" name="PenG" id="penulisan_1" value="1" <?php if($dat_rp['PenG']=="1")echo "Checked";?>/> <label class="form-check-label" for="penulisan_1">&nbsp;Generik</label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" name="PenF" id="penulisan_2" value="1" <?php if($dat_rp['PenF']=="1")echo "Checked";?>/> <label class="form-check-label" for="penulisan_2">&nbsp;Formularium</label>
</div>
</div>
</div>
<div class="form-group row">
<label class="col-form-label col-sm-4 pt-0" style="text-align:right">Nama Obat</label>
<div class="col-sm-8">
<div id="obatracik"><input class="form-control text" name="nama_obatx" id="nama_obat" stlye="" placeholder="Nama Obat" type="text" required="true"></div>
<input type="hidden" name="tmp_selectobat" id="tmp_selectobat" value="">
<input type="hidden" name="nama_obat" id="nama_obatsimpan" />
<input type="hidden" id="temp_harga" />
<input type="hidden" id="temp_kode" />
<input type="hidden" id="temp_stok" />
<input type="hidden" id="temp_satuan"/>
<input type="hidden" id="temp_hpp"/>
<input type="hidden" id="temp_StStock"/>
</div>
</div>
<div class="form-group row">
<label class="col-form-label col-sm-4 pt-0" style="text-align:right">Jumlah</label>
<div class="col-sm-4">
<input type="text" name="jumlah" id="jumlah" class="form-control mask-decimal" placeholder="Jumlah">
</div>
<div class="col-sm-4">
<input type="text" name="harga" id="harga" class="form-control mask-decimal" readonly="true" placeholder="Harga">
</div>
</div>
<div class="form-group row">
<label class="col-form-label col-sm-4 pt-0" style="text-align:right">Signa</label>
<div class="col-sm-4">
<div class="row">
<div class="col-sm-5">
<input type="text" name="frek" id="frek" class="form-control mask-decimal" placeholder="Frek">
</div>
<div class="col-sm-2">
X
</div>
<div class="col-sm-5">
<input type="text" name="Jfrek" id="Jfrek" class="form-control mask-decimal" placeholder="Dosis">
</div>
</div>
</div>
<div class="col-sm-4">
<input type="text" name="signa" id="signa" class="form-control" placeholder="Ket">
</div>
</div>
<div class="form-group row">
<label class="col-form-label col-sm-4 pt-0" style="text-align:right">Waktu</label>
<div class="col-sm-8 pt-0" style="text-align:left">
<div class="form-check form-check-inline">
<input type="checkbox" name="waktu" id="waktu_1" value="1" <?php if($dat_rp['SP']=="1")echo "Checked";?>/> <label class="form-check-label" for="waktu_1">&nbsp;Pagi</label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" name="waktu" id="waktu_2" value="1" <?php if($dat_rp['SS']=="1")echo "Checked";?>/> <label class="form-check-label" for="waktu_2">&nbsp;Siang</label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" name="waktu" id="waktu_3" value="1" <?php if($dat_rp['SSR']=="1")echo "Checked";?>/> <label class="form-check-label" for="waktu_3">&nbsp;Sore</label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" name="waktu" id="waktu_4" value="1" <?php if($dat_rp['SM']=="1")echo "Checked";?>/> <label class="form-check-label" for="waktu_4">&nbsp;Malam</label>
</div>
</div>
</div>
<div class="form-group row">
<label class="col-form-label col-sm-4 pt-0" style="text-align:right">&nbsp;</label>
<div class="col-sm-4" style="text-align: left">
<button type="button" id="btnTambahObat" class="btn btn-outline-primary ">Tambah</button>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<table class="table table-dark" id="table_item_obat">
<thead>
<tr>
<th style="width:5%">No</th>
<th style="width:35%">Nama Barang</th>
<th style="width:15%">Jumlah</th>
<th style="width:15%">Harga</th>
<th style="width:15%">Total</th>
<th style="width:5%"></th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<div class="form-group row">
<label class="col-form-label col-sm-4 pt-0" style="text-align:right">&nbsp;</label>
<div class="col-sm-8 pt-0" style="text-align:left">
<input type="submit" size="50" name="simpan" value="Order Obat" class="btn btn-primary text" onclick="newsubmitform (document.getElementById('pemberian_obat'),'ranap/save_pemberian_obat.php','valid_pemberian_obat',validatetask); return false;"/>
</div>
</div>
</div>
</div>
</fieldset>
</div>
</fieldset>
</form>
<?php
$hook_select = 'jQuery("#temp_kode").val(datum.value); ';
$hook_select .= 'jQuery("#temp_harga").val(datum.HJual); ';
$hook_select .= 'jQuery("#temp_stok").val(datum.stok); ';
$hook_select .= 'jQuery("#nama_obatsimpan").val(datum.nama); ';
$hook_select .= 'jQuery("#harga").val(accounting.formatMoney(datum.HJual,moneyOptions));';
$hook_select .= 'jQuery("#temp_satuan").val(datum.satuan);';
$hook_select .= 'jQuery("#temp_hpp").val(accounting.formatMoney(datum.HPP,moneyOptions));';
$hook_select .= 'jQuery("#temp_StStock").val(datum.StStock);';
$js = '<script type="text/javascript">
function removeItem(elm) {
$(elm).remove();
}
$(document).ready(function(){
var TL = '.json_encode($arr_tempat,JSON_FORCE_OBJECT).';
var moneyOptions = {
decimal : ",",
thousand: ".",
precision : 2,
format: "%s%v"
};
$("#kodeDepo").on("change",async function(e){
var thisdepo = $("#kodeDepo").find(":selected").val();
$("#depo").val(thisdepo);
});
$("#KodeJL").on("change",function(e){
var JL = $("#KodeJL").find(":selected").val();
var kodeTL = $("#kodeTL");
$("#kodeTL").children("option").remove();
$.each(TL[JL] , function(key,value){
$("#kodeTL").append($("<option></option>")
.attr("value",key)
.text(value));
});
});
$("#StStock").on("change",async function(){
var depo = $("#kodeDepo").find(":selected").val();
var StStock = $(this).find(":selected").val();
const nama_obat = await new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace("text"),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url : "'._BASE_.'include/master.php?obat=true&depo="+depo+"&ststock="+StStock+"&nama=%QUERY",
wildcard: "%QUERY"
}
});
$("#nama_obat").typeahead({hint: true, highlight: true, minLength: 3 },{
name: "nama_obat",
display: "text",
source: nama_obat,
limit: 10
}).on("typeahead:selected typeahead:autocompleted typeahead:matched", function (ev, datum) {
'.$hook_select.'
});
});
const Toast = Swal.mixin({
toast: true,
position: "top-end",
showConfirmButton: false,
timer: 3000
});
var t_item = $("#table_item_obat");
var noitem = 1;
var coll_obat = [];
$("#btnTambahObat").click(function(){
var kode_barang = jQuery("#temp_kode").val();
var nama_barang = jQuery("#nama_obatsimpan").val();
var stok_barang = jQuery("#temp_stok").val();
var frek = ($("#frek").val() != "") ? $("#frek").val().replace(/\./,"").replace(/,/,".") : 0;
var Jfrek = ($("#Jfrek").val() != "") ? $("#Jfrek").val().replace(/\./,"").replace(/,/,".") : 0;
var signa = ($("#signa").val() == "") ? "-" : $("#signa").val();
var aturan = jQuery("#aturan").find(":selected").val();
var jumlah = jQuery("#jumlah").val().replace(/\./,"").replace(/,/,".");
var harga = jQuery("#harga").val().replace(/\./,"").replace(/,/,".");
var total = parseFloat(harga) * parseFloat(jumlah);
var hpp = jQuery("#temp_hpp").val().replace(/\./,"").replace(/,/,".");
var satuan = jQuery("#temp_satuan").val();
var StStock = jQuery("#StStock").val();
var StRacik = jQuery("#StRacik").val();
var Generik = ($("#penulisan_1").is(":checked") == false) ? 0 : 1;
var Formularium = ($("#penulisan_2").is(":checked") == false) ? 0 : 1;
var SP = ($("#waktu_1").is(":checked") == false) ? 0 : 1;
var SS = ($("#waktu_2").is(":checked") == false) ? 0 : 1;
var SSR = ($("#waktu_3").is(":checked") == false) ? 0 : 1;
var SM = ($("#waktu_4").is(":checked") == false) ? 0 : 1;
if($.inArray(kode_barang,coll_obat) === 0) {
Toast.fire({type:"error",title:"data sudah dimasukkan!"});
}
else if(jumlah > stok_barang)
{
Toast.fire({type:"error",title:"Jumlah permintaan melebihi jumlah Stok"});
}
else {
t_item.append("<tr id=\"row"+noitem+"\">"+
"<td>"+noitem+"<input type=\"hidden\" name=\"arr_input["+noitem+"][KodeBarang]\" id=\"kode_barang-"+noitem+"\" value=\""+kode_barang+"\"><input type=\"hidden\" name=\"arr_input["+noitem+"][HPP]\" id=\"HPP-"+noitem+"\" value=\""+hpp+"\"><input type=\"hidden\" name=\"arr_input["+noitem+"][Satuan]\" id=\"satuan-"+noitem+"\" value=\""+satuan+"\"><input type=\"hidden\" name=\"arr_input["+noitem+"][StStock]\" id=\"StStock-"+noitem+"\" value=\""+StStock+"\"><input type=\"hidden\" name=\"arr_input["+noitem+"][StRacik]\" id=\"StRacik-"+noitem+"\" value=\""+StRacik+"\"><input type=\"hidden\" name=\"arr_input["+noitem+"][Signa]\" id=\"Signa-"+noitem+"\" value=\""+signa+"\"><input type=\"hidden\" name=\"arr_input["+noitem+"][Frek]\" id=\"Frek-"+noitem+"\" value=\""+frek+"\"><input type=\"hidden\" name=\"arr_input["+noitem+"][JFrek]\" id=\"JFrek-"+noitem+"\" value=\""+Jfrek+"\"><input type=\"hidden\" name=\"arr_input["+noitem+"][PenG]\" id=\"PenG-"+noitem+"\" value=\""+Generik+"\"><input type=\"hidden\" name=\"arr_input["+noitem+"][PenF]\" id=\"PenF-"+noitem+"\" value=\""+Formularium+"\"><input type=\"hidden\" name=\"arr_input["+noitem+"][SP]\" id=\"SP-"+noitem+"\" value=\""+SP+"\"><input type=\"hidden\" name=\"arr_input["+noitem+"][SS]\" id=\"SS-"+noitem+"\" value=\""+SS+"\"><input type=\"hidden\" name=\"arr_input["+noitem+"][SSR]\" id=\"SSR-"+noitem+"\" value=\""+SSR+"\"><input type=\"hidden\" name=\"arr_input["+noitem+"][SM]\" id=\"SM-"+noitem+"\" value=\""+SM+"\"><input type=\"hidden\" id=\"stok-"+noitem+"\" value=\""+stok_barang+"\"></td>"+
"<td>"+nama_barang+"</td>"+
"<td><input class=\"form-control form-control-sm jumlahItem mask-decimal\" name=\"arr_input["+noitem+"][Jumlah]\" id=\"jumlah-"+noitem+"\" value=\""+jumlah+"\" data-index=\""+noitem+"\" readonly></td>"+
"<td><input class=\"form-control form-control-sm\" name=\"arr_input["+noitem+"][Harga]\" id=\"harga-"+noitem+"\" value=\""+harga+"\" readonly></td>"+
"<td><input class=\"form-control form-control-sm\" name=\"arr_input["+noitem+"][subtotal]\" id=\"hargatotal-"+noitem+"\" value=\""+accounting.formatMoney(total,moneyOptions)+"\" readonly> </td>"+
"<td><div class=\"dropdown\"><button type=\"button\" class=\"btn btn-sm btn-outline-danger dropdown-toggle\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\"><i class=\"fa fa-list\"></i></button><div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton\"> <button type=\"button\" class=\"dropdown-item removeItem\" data-index=\""+noitem+"\">Hapus</button> <button type=\"button\" class=\"dropdown-item EditItem\" data-index=\""+noitem+"\">Edit</a> </div></div></td>"+
"</tr>");
coll_obat.push(kode_barang);
}
noitem++;
});
$("body").delegate(".removeItem","click",function(){
var id = $(this).data("index");
kode = $("#kode_barang-"+id).val();
$("#row"+id).remove();
noitem -= 1;
for( var i = 0; i < coll_obat.length; i++ ) {
if( coll_obat[i] == kode){
coll_obat.splice(i,1);
}
}
});
$("body").delegate(".EditItem","click",function(){
var id = $(this).data("index");
$("#jumlah-"+id).removeAttr("readonly");
$("#jumlah-"+id).parent().append("<button type=\"button\" class=\"btn btn-sm btn-success saveJumlah\" data-index=\""+id+"\">Save</button>");
$(".mask-decimal").inputmask("numeric", {
radixPoint: ",",
groupSeparator: ".",
digits: 2,
autoGroup: true,
prefix: "",
rightAlign: false,
oncleared: function (e) { $(e.currentTarget).val(""); }
});
});
$("body").delegate(".saveJumlah","click",function(){
var id = $(this).data("index");
var stok = $("#stok-"+id).val();
var jumlah = $("#jumlah-"+id).val().replace(/\./,"").replace(/,/,".");
if(parseFloat(jumlah) > parseFloat(stok))
{
Toast.fire({type:"error",title:"Jumlah permintaan melebihi jumlah Stok"});
}
else {
$(this).remove();
$("#jumlah-"+id).prop("readonly",true);
}
});
$("body").delegate(".jumlahItem","keyup",function(){
var id = $(this).data("index");
var jumlah = jQuery("#jumlah-"+id).val().replace(/\./,"").replace(/,/,".");
var harga = jQuery("#harga-"+id).val();
var total = parseFloat(harga) * parseFloat(jumlah);
$("#hargatotal-"+id).val(accounting.formatMoney(total,moneyOptions));
});
});
</script>
';
echo $js;
?>
<div id="valid_pemberian_obat">
<div id="autocompletedivobat" class="autocomp" align="left"></div>
<?php include("save_pemberian_obat.php"); ?>
</div>