This commit is contained in:
Dwi Swandhana
2026-05-04 06:32:22 +07:00
parent fe89a024a1
commit 16eac8512e
11 changed files with 466 additions and 56 deletions

No files matched your search

Vendored
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
@@ -1981,10 +1981,25 @@ class DokterController extends Controller
'marking' => '', 'marking' => '',
]); ]);
} }
Periksa::where('id', $idperiksa)->update([ if ($status == 'Proses identifikasi dan uji kepekaan vitek'){
'status' => $request->input('komponen') ?? ''.' '.$request->input('status') ?? '', $status = 'Sedang ID+AST';
}
if ($status == 'Proses identifikasi dan uji kepekaan manual'){
$status = 'Sedang ID+AST';
}
if ($status == 'Proses identifikasi malditof+ uji kepekaan vitek'){
$status = 'Sedang ID+AST';
}
if ($status == 'Proses identifikasi malditof+ uji kepekaan manual'){
$status = 'Sedang ID+AST';
}
if ($status == 'Proses identifikasi manual+ uji kepekaan vitek'){
$status = 'Sedang ID+AST';
}
Periksa::where('id', $nofoto)->update([
'status' => $status,
]); ]);
return response()->json(['icon' => 'success', 'warna' => '#1dcbbd', 'status' => 'Success', 'message' => $request->input('komponen') ?? ''.' '.$request->input('status') ?? '']); return response()->json(['icon' => 'success', 'warna' => '#1dcbbd', 'status' => 'Success', 'message' => $request->input('komponen') ?? ''.' '.$status]);
} catch (Exception $e) { } catch (Exception $e) {
$pesan = $e->getMessage(); $pesan = $e->getMessage();
Log::error('Gagal Input Pertumbuhan Koloni', [ Log::error('Gagal Input Pertumbuhan Koloni', [
@@ -2016,10 +2031,9 @@ class DokterController extends Controller
return back(); return back();
} }
} else if ($worklist == 'copydatabaptocap'){ } else if ($worklist == 'copydatabaptocap'){
$getdataawal = Periksa::where('nofoto', $nofoto)->first(); $idtabel = $request->input('id');
$id = $getdataawal->id ?? $nofoto;
try { try {
$ceksek = DB::table('pertumkolomni')->where('orderid', $id)->first(); $ceksek = DB::table('pertumkolomni')->where('id', $idtabel)->first();
DB::table('pertumkolomni')->insert([ DB::table('pertumkolomni')->insert([
'orderid' => $ceksek->orderid ?? $id, 'orderid' => $ceksek->orderid ?? $id,
'tglpenyimpanan' => date('Y-m-d'), 'tglpenyimpanan' => date('Y-m-d'),
@@ -183,6 +183,13 @@ class GudangController extends Controller
$yy = $rdata->tahun; $yy = $rdata->tahun;
$pengeluaran = $rdata->pengeluaran; $pengeluaran = $rdata->pengeluaran;
$pemasukan = $rdata->pemasukan; $pemasukan = $rdata->pemasukan;
$deskripsiGabungan = trim((string) ($rdata->deskripsi ?? ''));
$keteranganGabungan = trim((string) ($rdata->keterangan ?? ''));
if ($keteranganGabungan !== '') {
$deskripsiGabungan = $deskripsiGabungan !== ''
? $deskripsiGabungan.' | '.$keteranganGabungan
: $keteranganGabungan;
}
if ($mm < 10){ if ($mm < 10){
$tgllengkap = $dd.'-0'.$mm.'-'.$yy; $tgllengkap = $dd.'-0'.$mm.'-'.$yy;
} else { } else {
@@ -196,7 +203,7 @@ class GudangController extends Controller
'tanggal' => $rdata->tanggal, 'tanggal' => $rdata->tanggal,
'bulan' => $rdata->bulan, 'bulan' => $rdata->bulan,
'tahun' => $rdata->tahun, 'tahun' => $rdata->tahun,
'deskripsi' => $rdata->deskripsi, 'deskripsi' => $deskripsiGabungan,
'pemasukan' => number_format( $pemasukan , 0 , '.' , ',' ), 'pemasukan' => number_format( $pemasukan , 0 , '.' , ',' ),
'pengeluaran' => number_format( $pengeluaran , 0 , '.' , ',' ), 'pengeluaran' => number_format( $pengeluaran , 0 , '.' , ',' ),
'jenis' => $rdata->jenis, 'jenis' => $rdata->jenis,
@@ -508,6 +515,38 @@ class GudangController extends Controller
]); ]);
} }
} else if ($jenis == 'opname_pengurangan'){
if (($satuanTransaksi ?: 'besar') === 'kecil' && !$unitSetting['has_breakdown']) {
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Gagal', 'message' => 'Pengurangan satuan kecil tidak tersedia untuk barang ini']);
}
$kategori = strtolower(trim((string) $deskripsi));
if (!in_array($kategori, ['rusak', 'hilang'], true)) {
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Gagal', 'message' => 'Kategori opname pengurangan tidak valid']);
}
$label = ($kategori === 'hilang') ? 'Barang Hilang' : 'Barang Rusak';
$deskripsi = 'Stok Opname - ' . $label;
$qtyBase = $this->calculateBaseQty($pos, $total, $satuanTransaksi ?: 'besar');
$stokSaatIni = $this->getStockBaseByJenis($pos);
if ($qtyBase > $stokSaatIni){
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Gagal', 'message' => 'Nominal Melebihi Stok']);
} else {
$bayar = SIMBHPReport::create([
'tanggal' => $dino,
'bulan' => $wulan,
'tahun' => $tahun,
'deskripsi' => $deskripsi,
'pemasukan' => null,
'pengeluaran' => $total,
'qty_base' => $qtyBase,
'satuan_transaksi' => $satuanTransaksi ?: 'besar',
'jenis' => $pos,
'keterangan' => trim((string) $alasan),
'marking' => '',
]);
}
} else if ($jenis == 'editor'){ } else if ($jenis == 'editor'){
if ($alasan == ''){ if ($alasan == ''){
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Gagal', 'message' => 'Alasan Perubahan Data Wajib Di Isi!!!']); return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Gagal', 'message' => 'Alasan Perubahan Data Wajib Di Isi!!!']);
+15 -2
View File
@@ -23,6 +23,7 @@ class GudangPos extends Component
public string $selectedKode = ''; public string $selectedKode = '';
public string $satuanTransaksi = 'besar'; public string $satuanTransaksi = 'besar';
public int $qty = 1; public int $qty = 1;
public string $keterangan = '';
public string $search = ''; public string $search = '';
@@ -70,6 +71,7 @@ class GudangPos extends Component
$this->selectedKode = (string) ($jenis->kodejenis ?? ''); $this->selectedKode = (string) ($jenis->kodejenis ?? '');
$this->qty = 1; $this->qty = 1;
$this->keterangan = '';
$this->satuanTransaksi = (string) ($parsed['satuan_transaksi'] ?? 'besar'); $this->satuanTransaksi = (string) ($parsed['satuan_transaksi'] ?? 'besar');
$this->syncSatuanAvailability(); $this->syncSatuanAvailability();
$this->dispatch('gudangpos-open-modal'); $this->dispatch('gudangpos-open-modal');
@@ -95,6 +97,7 @@ class GudangPos extends Component
$this->selectedKode = (string) ($jenis->kodejenis ?? ''); $this->selectedKode = (string) ($jenis->kodejenis ?? '');
$this->qty = 1; $this->qty = 1;
$this->keterangan = '';
$this->syncSatuanAvailability(); $this->syncSatuanAvailability();
$this->dispatch('gudangpos-open-modal'); $this->dispatch('gudangpos-open-modal');
} }
@@ -122,6 +125,7 @@ class GudangPos extends Component
} }
$qty = (int) $this->qty; $qty = (int) $this->qty;
$keterangan = trim((string) $this->keterangan);
if ($qty <= 0) { if ($qty <= 0) {
$this->toast('error', 'Jumlah harus lebih dari 0.'); $this->toast('error', 'Jumlah harus lebih dari 0.');
return; return;
@@ -135,7 +139,11 @@ class GudangPos extends Component
$found = false; $found = false;
foreach ($this->cart as $i => $line) { foreach ($this->cart as $i => $line) {
if (($line['kode'] ?? '') === $kode && ($line['satuan_transaksi'] ?? '') === $this->satuanTransaksi) { if (
($line['kode'] ?? '') === $kode
&& ($line['satuan_transaksi'] ?? '') === $this->satuanTransaksi
&& trim((string) ($line['keterangan'] ?? '')) === $keterangan
) {
$this->cart[$i]['qty'] = ((int) ($this->cart[$i]['qty'] ?? 0)) + $qty; $this->cart[$i]['qty'] = ((int) ($this->cart[$i]['qty'] ?? 0)) + $qty;
$found = true; $found = true;
break; break;
@@ -148,10 +156,12 @@ class GudangPos extends Component
'jenis' => (string) ($jenis->jenis ?? ''), 'jenis' => (string) ($jenis->jenis ?? ''),
'qty' => $qty, 'qty' => $qty,
'satuan_transaksi' => $this->satuanTransaksi, 'satuan_transaksi' => $this->satuanTransaksi,
'keterangan' => $keterangan,
]; ];
} }
$this->qty = 1; $this->qty = 1;
$this->keterangan = '';
$this->dispatch('gudangpos-close-modal'); $this->dispatch('gudangpos-close-modal');
$this->dispatch('gudangpos-focus', field: 'scan'); $this->dispatch('gudangpos-focus', field: 'scan');
} }
@@ -204,6 +214,7 @@ class GudangPos extends Component
$kode = $service->sanitizeKode((string) ($line['kode'] ?? '')); $kode = $service->sanitizeKode((string) ($line['kode'] ?? ''));
$qty = (int) ($line['qty'] ?? 0); $qty = (int) ($line['qty'] ?? 0);
$satuan = (string) ($line['satuan_transaksi'] ?? 'besar'); $satuan = (string) ($line['satuan_transaksi'] ?? 'besar');
$keterangan = trim((string) ($line['keterangan'] ?? ''));
if ($kode === '' || $qty <= 0) { if ($kode === '' || $qty <= 0) {
$this->toast('error', 'Ada item keranjang yang tidak valid.'); $this->toast('error', 'Ada item keranjang yang tidak valid.');
return; return;
@@ -241,6 +252,7 @@ class GudangPos extends Component
'qty' => $qty, 'qty' => $qty,
'qty_base' => $qtyBase, 'qty_base' => $qtyBase,
'satuan_transaksi' => $satuan, 'satuan_transaksi' => $satuan,
'keterangan' => $keterangan,
]; ];
} }
@@ -259,7 +271,7 @@ class GudangPos extends Component
'satuan_transaksi' => (string) $row['satuan_transaksi'], 'satuan_transaksi' => (string) $row['satuan_transaksi'],
'masa_expired' => null, 'masa_expired' => null,
'jenis' => (string) ($jenis->jenis ?? ''), 'jenis' => (string) ($jenis->jenis ?? ''),
'keterangan' => '', 'keterangan' => (string) ($row['keterangan'] ?? ''),
'marking' => '', 'marking' => '',
]); ]);
} }
@@ -267,6 +279,7 @@ class GudangPos extends Component
$this->cart = []; $this->cart = [];
$this->qty = 1; $this->qty = 1;
$this->keterangan = '';
$this->toast('success', 'Barang keluar berhasil diproses.'); $this->toast('success', 'Barang keluar berhasil diproses.');
$this->dispatch('gudang-refresh'); $this->dispatch('gudang-refresh');
$this->dispatch('gudangpos-close-modal'); $this->dispatch('gudangpos-close-modal');
+254 -5
View File
@@ -25,6 +25,9 @@
<li class="nav-item"> <li class="nav-item">
<a href="#tab_masuk" data-toggle="tab" aria-expanded="false" class="nav-link">Stok Opname (Barang Masuk)</a> <a href="#tab_masuk" data-toggle="tab" aria-expanded="false" class="nav-link">Stok Opname (Barang Masuk)</a>
</li> </li>
<li class="nav-item">
<a href="#tab_hilang" data-toggle="tab" aria-expanded="false" class="nav-link">Stok Opname - Barang Hilang</a>
</li>
<li class="nav-item"> <li class="nav-item">
<a href="#tab_report" data-toggle="tab" aria-expanded="false" class="nav-link">Statistik / Report</a> <a href="#tab_report" data-toggle="tab" aria-expanded="false" class="nav-link">Statistik / Report</a>
</li> </li>
@@ -155,6 +158,88 @@
</div> </div>
</div> </div>
<div class="tab-pane" id="tab_hilang">
<div class="row">
<div class="col-lg-4">
<div class="card-box">
<h4 class="m-t-0">Stok Opname Barang Hilang</h4>
<div class="form-group">
<label>Tanggal Opname</label>
<input type="text" id="op_adj_tanggal" class="form-control" value="{{$tanggal}}">
</div>
<div class="form-group">
<label>Keterangan (opsional)</label>
<input type="text" id="op_adj_note" class="form-control" placeholder="contoh: pecah saat distribusi / tidak ditemukan saat audit">
</div>
<div class="form-group">
<label>Pilih Barang</label>
<select id="op_adj_pos" class="form-control">
<option value="" selected disabled>-- Pilih Barang --</option>
@foreach($jjenis as $rjenis)
@php($kode = ($rjenis['kodejenis'] ?? '') ?: preg_replace('/\s+/', '', (string) ($rjenis['jenis'] ?? '')))
<option value="{{ $rjenis['jenis'] }}"
data-kodejenis="{{ $kode }}"
data-jenisid="{{ $rjenis['id'] ?? '' }}"
data-satuan="{{ $rjenis['satuan'] }}"
data-satuan-kecil="{{ $rjenis['satuan_kecil'] ?? '' }}"
data-konversi="{{ $rjenis['konversi_kecil'] ?? 1 }}">{{ $kode }} - {{ $rjenis['jenis'] }} ( {{ $rjenis['satuan'] }} )</option>
@endforeach
</select>
</div>
<div class="form-group">
<label>Barcode (CODE128 - Angka)</label>
<input type="text" id="op_adj_barcode" class="form-control" placeholder="akan terisi otomatis" readonly>
</div>
<div class="form-group">
<label>Scan Barcode (CODE128)</label>
<input type="text" id="op_adj_scan" class="form-control" placeholder="scan lalu Enter">
<small class="text-muted">Scan akan otomatis memilih barang & set satuan (besar/kecil) sesuai barcode.</small>
</div>
<div class="form-group">
<label>Satuan Input</label>
<select id="op_adj_satuan_transaksi" class="form-control">
<option value="besar">Satuan Besar</option>
<option value="kecil">Satuan Kecil (Pecah Satuan)</option>
</select>
</div>
<div class="form-group">
<label>Jumlah</label>
<input type="text" id="op_adj_total" class="form-control">
</div>
<div class="form-group">
<button type="button" class="btn btn-danger btn-block" id="btn_op_adj_addline">Tambah ke Daftar Pengurangan</button>
</div>
</div>
</div>
<div class="col-lg-8">
<div class="card-box">
<h4 class="m-t-0">Daftar Barang Hilang</h4>
<div class="table-responsive">
<table class="table table-bordered table-striped m-b-0">
<thead>
<tr>
<th style="width: 110px">Kode</th>
<th>Barang</th>
<th>Keterangan</th>
<th style="width: 120px">Qty</th>
<th style="width: 120px">Satuan</th>
<th style="width: 90px">Aksi</th>
</tr>
</thead>
<tbody id="op_adj_lines">
<tr><td colspan="6" class="text-center text-muted">Belum ada item.</td></tr>
</tbody>
</table>
</div>
<small class="text-muted d-block m-t-10">Catatan: item di daftar ini akan mengurangi stok sebagai hasil opname barang hilang.</small>
<div class="text-right m-t-15">
<button type="button" class="btn btn-danger" id="btn_op_adj_commit">Simpan Semua Pengurangan Stok</button>
</div>
</div>
</div>
</div>
</div>
<div class="tab-pane" id="tab_report"> <div class="tab-pane" id="tab_report">
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
@@ -675,11 +760,12 @@
$(function () { $(function () {
$("#in_tanggal").datepicker({format: 'yyyy-mm-dd'}); $("#in_tanggal").datepicker({format: 'yyyy-mm-dd'});
$("#out_tanggal").datepicker({format: 'yyyy-mm-dd'}); $("#out_tanggal").datepicker({format: 'yyyy-mm-dd'});
$("#edit_tanggal").datepicker({format: 'yyyy-mm-dd'}); $("#edit_tanggal").datepicker({format: 'yyyy-mm-dd'});
$("#op_in_tanggal").datepicker({format: 'yyyy-mm-dd'}); $("#op_in_tanggal").datepicker({format: 'yyyy-mm-dd'});
$("#in_masa_expired").datepicker({format: 'dd-mm-yyyy'}); $("#op_adj_tanggal").datepicker({format: 'yyyy-mm-dd'});
$("#op_in_masa_expired").datepicker({format: 'dd-mm-yyyy'}); $("#in_masa_expired").datepicker({format: 'dd-mm-yyyy'});
$("#edit_masa_expired").datepicker({format: 'dd-mm-yyyy'}); $("#op_in_masa_expired").datepicker({format: 'dd-mm-yyyy'});
$("#edit_masa_expired").datepicker({format: 'dd-mm-yyyy'});
}); });
function openedpage( jQuery ){ function openedpage( jQuery ){
var set01=document.getElementById('cekbln').value; var set01=document.getElementById('cekbln').value;
@@ -797,6 +883,7 @@
var jenisRows = @json($jenisRows ?? []); var jenisRows = @json($jenisRows ?? []);
var opInLines = []; var opInLines = [];
var opAdjLines = [];
var currentDetail = null; var currentDetail = null;
function escapeHtml(value){ function escapeHtml(value){
@@ -1032,6 +1119,15 @@
} }
syncOpInSelected(); syncOpInSelected();
var currentAdj = $('#op_adj_pos').val();
var htmlAdj = '<option value=\"\" selected disabled>-- Pilih Barang --</option>';
items.forEach(function(r){ htmlAdj += makeOption(r); });
$('#op_adj_pos').html(htmlAdj);
if(currentAdj){
$('#op_adj_pos').val(currentAdj);
}
syncOpAdjSelected();
// Legacy selects (modal lama / editor) // Legacy selects (modal lama / editor)
var legacyIds = ['#in_pos', '#out_pos']; var legacyIds = ['#in_pos', '#out_pos'];
legacyIds.forEach(function(sel){ legacyIds.forEach(function(sel){
@@ -1226,9 +1322,11 @@
$('#in_pos').on('change', function(){ syncSatuanMode('#in_pos', '#in_satuan_transaksi'); }); $('#in_pos').on('change', function(){ syncSatuanMode('#in_pos', '#in_satuan_transaksi'); });
$('#out_pos').on('change', function(){ syncSatuanMode('#out_pos', '#out_satuan_transaksi'); }); $('#out_pos').on('change', function(){ syncSatuanMode('#out_pos', '#out_satuan_transaksi'); });
$('#op_in_pos').on('change', function(){ syncSatuanMode('#op_in_pos', '#op_in_satuan_transaksi'); }); $('#op_in_pos').on('change', function(){ syncSatuanMode('#op_in_pos', '#op_in_satuan_transaksi'); });
$('#op_adj_pos').on('change', function(){ syncSatuanMode('#op_adj_pos', '#op_adj_satuan_transaksi'); });
syncSatuanMode('#in_pos', '#in_satuan_transaksi'); syncSatuanMode('#in_pos', '#in_satuan_transaksi');
syncSatuanMode('#out_pos', '#out_satuan_transaksi'); syncSatuanMode('#out_pos', '#out_satuan_transaksi');
syncSatuanMode('#op_in_pos', '#op_in_satuan_transaksi'); syncSatuanMode('#op_in_pos', '#op_in_satuan_transaksi');
syncSatuanMode('#op_adj_pos', '#op_adj_satuan_transaksi');
function syncOpInSelected(){ function syncOpInSelected(){
var val = $('#op_in_pos').val(); var val = $('#op_in_pos').val();
@@ -1260,6 +1358,19 @@
}); });
syncOpInSelected(); syncOpInSelected();
function syncOpAdjSelected(){
var selected = $('#op_adj_pos option:selected');
syncSatuanMode('#op_adj_pos', '#op_adj_satuan_transaksi');
var jenisId = parseInt(selected.data('jenisid') || 0, 10);
var mode = $('#op_adj_satuan_transaksi').val() || 'besar';
$('#op_adj_barcode').val(buildBarcodeValueById(jenisId, mode));
}
$('#op_adj_pos').on('change', function(){
syncOpAdjSelected();
});
syncOpAdjSelected();
$('#op_in_kode_barang').on('input', function(){ $('#op_in_kode_barang').on('input', function(){
if($('#op_in_pos').val() !== '__NEW__'){ return; } if($('#op_in_pos').val() !== '__NEW__'){ return; }
$(this).val(normalizeKode($(this).val())); $(this).val(normalizeKode($(this).val()));
@@ -1287,6 +1398,13 @@
$('#op_in_barcode').val(buildBarcodeValueById(jenisId, mode)); $('#op_in_barcode').val(buildBarcodeValueById(jenisId, mode));
}); });
$('#op_adj_satuan_transaksi').on('change', function(){
var selected = $('#op_adj_pos option:selected');
var jenisId = parseInt(selected.data('jenisid') || 0, 10);
var mode = $('#op_adj_satuan_transaksi').val() || 'besar';
$('#op_adj_barcode').val(buildBarcodeValueById(jenisId, mode));
});
$("#topbtntambahjenis").click(function(){ $("#topbtntambahjenis").click(function(){
$("#jenis_idne").val('new'); $("#jenis_idne").val('new');
$("#jenis_deskripsi").val(''); $("#jenis_deskripsi").val('');
@@ -1594,6 +1712,7 @@
$("#in_total").autoNumeric( 'init', {aSep: ',', mDec: '0', vMax: '99999999999999999999999999'} ); $("#in_total").autoNumeric( 'init', {aSep: ',', mDec: '0', vMax: '99999999999999999999999999'} );
$("#out_total").autoNumeric( 'init', {aSep: ',', mDec: '0', vMax: '99999999999999999999999999'} ); $("#out_total").autoNumeric( 'init', {aSep: ',', mDec: '0', vMax: '99999999999999999999999999'} );
$("#op_in_total").autoNumeric( 'init', {aSep: ',', mDec: '0', vMax: '99999999999999999999999999'} ); $("#op_in_total").autoNumeric( 'init', {aSep: ',', mDec: '0', vMax: '99999999999999999999999999'} );
$("#op_adj_total").autoNumeric( 'init', {aSep: ',', mDec: '0', vMax: '99999999999999999999999999'} );
function renderOpInLines(){ function renderOpInLines(){
if(!opInLines.length){ if(!opInLines.length){
@@ -1614,6 +1733,25 @@
$('#op_in_lines').html(html); $('#op_in_lines').html(html);
} }
function renderOpAdjLines(){
if(!opAdjLines.length){
$('#op_adj_lines').html('<tr><td colspan="6" class="text-center text-muted">Belum ada item.</td></tr>');
return;
}
var html = '';
opAdjLines.forEach(function(line, idx){
html += '<tr>' +
'<td class="text-center"><code>' + (line.barcode_value || line.kode || '') + '</code></td>' +
'<td>' + escapeHtml(line.jenis || '') + '</td>' +
'<td>' + escapeHtml(line.note || '-') + '</td>' +
'<td class="text-right">' + escapeHtml(line.qty || '') + '</td>' +
'<td class="text-center">' + escapeHtml(line.satuan_transaksi || '') + '</td>' +
'<td class="text-center"><button type="button" class="btn btn-sm btn-danger btn_op_adj_remove" data-index="' + idx + '">Hapus</button></td>' +
'</tr>';
});
$('#op_adj_lines').html(html);
}
function getSelectedKode(selectId){ function getSelectedKode(selectId){
var selected = $(selectId).find('option:selected'); var selected = $(selectId).find('option:selected');
return normalizeKode(selected.data('kodejenis') || ''); return normalizeKode(selected.data('kodejenis') || '');
@@ -1637,6 +1775,24 @@
} }
}); });
$('#op_adj_scan').on('keypress', function(e){
if(e.which === 13){
e.preventDefault();
var scanVal = $(this).val();
var ok = setSelectByKode('#op_adj_pos', scanVal);
$(this).val('');
if(ok){
if(ok.mode){
$('#op_adj_satuan_transaksi').val(ok.mode);
}
syncOpAdjSelected();
setTimeout(function(){ $('#op_adj_total').focus(); }, 100);
}else{
$.toast({ heading: 'Gagal', text: 'Kode barang tidak ditemukan', position: 'top-right', loaderBg: '#bf441d', icon: 'error', hideAfter: 3000, stack: 1 });
}
}
});
$('#btn_op_in_addline').on('click', function(){ $('#btn_op_in_addline').on('click', function(){
var jenisSelect = $('#op_in_pos').val(); var jenisSelect = $('#op_in_pos').val();
var jenis = jenisSelect; var jenis = jenisSelect;
@@ -1716,6 +1872,38 @@
if(!isNaN(idx)){ opInLines.splice(idx, 1); renderOpInLines(); } if(!isNaN(idx)){ opInLines.splice(idx, 1); renderOpInLines(); }
}); });
$('#btn_op_adj_addline').on('click', function(){
var jenis = $('#op_adj_pos').val();
var qty = $('#op_adj_total').val();
var satuanTransaksi = $('#op_adj_satuan_transaksi').val();
var note = ($('#op_adj_note').val() || '').toString().trim();
var kode = getSelectedKode('#op_adj_pos');
var selected = $('#op_adj_pos option:selected');
var jenisId = parseInt(selected.data('jenisid') || 0, 10);
var barcodeValue = buildBarcodeValueById(jenisId, satuanTransaksi);
if(!jenis || !qty){
$.toast({ heading: 'Gagal', text: 'Barang dan jumlah wajib diisi', position: 'top-right', loaderBg: '#bf441d', icon: 'error', hideAfter: 3000, stack: 1 });
return;
}
opAdjLines.push({
jenis: jenis,
kode: kode,
barcode_value: barcodeValue,
qty: qty,
satuan_transaksi: satuanTransaksi,
note: note
});
$('#op_adj_total').val('');
renderOpAdjLines();
});
$(document).on('click', '.btn_op_adj_remove', function(){
var idx = parseInt($(this).data('index'), 10);
if(!isNaN(idx)){ opAdjLines.splice(idx, 1); renderOpAdjLines(); }
});
function runBatchPost(lines, buildPayload, onDone){ function runBatchPost(lines, buildPayload, onDone){
var i = 0; var i = 0;
function next(){ function next(){
@@ -1835,7 +2023,68 @@
next(); next();
}); });
$('#btn_op_adj_commit').on('click', function(){
if(!opAdjLines.length){
$.toast({ heading: 'Info', text: 'Daftar pengurangan stok masih kosong', position: 'top-right', loaderBg: '#3b98b5', icon: 'info', hideAfter: 2500, stack: 1 });
return;
}
var tanggal = $('#op_adj_tanggal').val();
var $btn = $(this);
$btn.prop('disabled', true).text('Menyimpan...');
var i = 0;
function nextAdj(){
if(i >= opAdjLines.length){
$btn.prop('disabled', false).text('Simpan Semua Pengurangan Stok');
$.toast({ heading: 'Success', text: 'Pengurangan stok opname berhasil disimpan', position: 'top-right', loaderBg: '#5ba035', icon: 'success', hideAfter: 2500, stack: 1 });
opAdjLines = [];
renderOpAdjLines();
if(typeof window.gudangRefresh === 'function'){
window.gudangRefresh();
}
return;
}
var line = opAdjLines[i];
i++;
$.ajax({
url: 'simbhp/exaddbarang',
method: 'POST',
data: {
_token: token,
set01: 'hilang',
set02: line.jenis,
set03: tanggal,
set04: line.qty,
set05: 'opname_pengurangan',
set06: '',
set07: line.note,
set08: '',
set09: '',
set10: '',
set11: line.satuan_transaksi,
set12: ''
}
}).done(function(resp){
if(resp && resp.status && resp.status.toString().toLowerCase() !== 'success'){
$btn.prop('disabled', false).text('Simpan Semua Pengurangan Stok');
$.toast({ heading: 'Gagal', text: (resp && resp.message) ? resp.message : 'Gagal menyimpan', position: 'top-right', loaderBg: '#bf441d', icon: 'error', hideAfter: 4500, stack: 1 });
return;
}
nextAdj();
}).fail(function(){
$btn.prop('disabled', false).text('Simpan Semua Pengurangan Stok');
$.toast({ heading: 'Gagal', text: 'Request gagal', position: 'top-right', loaderBg: '#bf441d', icon: 'error', hideAfter: 4500, stack: 1 });
});
}
nextAdj();
});
renderOpInLines(); renderOpInLines();
renderOpAdjLines();
$('#btnexportreport').click(function(){ $('#btnexportreport').click(function(){
var bln = $('#cekbln').val(); var bln = $('#cekbln').val();
var thn = $('#cekthn').val(); var thn = $('#cekthn').val();
@@ -2624,10 +2624,13 @@
<option value="Proses identifikasi manual+ uji kepekaan vitek">Proses identifikasi manual+ uji kepekaan vitek</option> <option value="Proses identifikasi manual+ uji kepekaan vitek">Proses identifikasi manual+ uji kepekaan vitek</option>
<option value="Tidak Lanjut Identifikasi">Tidak Lanjut Identifikasi</option> <option value="Tidak Lanjut Identifikasi">Tidak Lanjut Identifikasi</option>
<option value="Menunggu Kultur yang Lain">Menunggu Kultur yang Lain</option> <option value="Menunggu Kultur yang Lain">Menunggu Kultur yang Lain</option>
<option value="ID/AST pending result">ID/AST pending result</option>
<option value="Menunggu kultur yg lain">Menunggu kultur yg lain</option>
</select> </select>
</div> </div>
<div class="form-group" id="id_keteranganmediabap"> <div class="form-group">
<textarea id="id_keteranganmediabap" name="id_keteranganmediabap" class="form-control ekspertiseteks" rows="5"></textarea> <p class="text-muted">*Isikan keterangan jika memilih status "Tidak Lanjut Identifikasi" atau "Menunggu kultur yg lain"</p>
<textarea id="id_keteranganmediabap" name="id_keteranganmediabap" class="form-control" rows="5"></textarea>
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
+97 -18
View File
@@ -2679,10 +2679,13 @@
<option value="Proses identifikasi malditof+ uji kepekaan manual">Proses identifikasi malditof+ uji kepekaan manual</option> <option value="Proses identifikasi malditof+ uji kepekaan manual">Proses identifikasi malditof+ uji kepekaan manual</option>
<option value="Proses identifikasi manual+ uji kepekaan vitek">Proses identifikasi manual+ uji kepekaan vitek</option> <option value="Proses identifikasi manual+ uji kepekaan vitek">Proses identifikasi manual+ uji kepekaan vitek</option>
<option value="Tidak Lanjut Identifikasi">Tidak Lanjut Identifikasi</option> <option value="Tidak Lanjut Identifikasi">Tidak Lanjut Identifikasi</option>
<option value="ID/AST pending result">ID/AST pending result</option>
<option value="Menunggu kultur yg lain">Menunggu kultur yg lain</option>
</select> </select>
</div> </div>
<div class="form-group" id="id_keteranganmediabap"> <div class="form-group">
<textarea id="id_keteranganmediabap" name="id_keteranganmediabap" class="form-control ekspertiseteks" rows="5"></textarea> <p class="text-muted">*Isikan keterangan jika memilih status "Tidak Lanjut Identifikasi" atau "Menunggu kultur yg lain"</p>
<textarea id="id_keteranganmediabap" name="id_keteranganmediabap" class="form-control" rows="5"></textarea>
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
@@ -2711,7 +2714,25 @@
</select> </select>
</div> </div>
<div class="form-group col-lg-6"> <div class="form-group col-lg-6">
<input type="text" id="sdar1_media" name="sdar1_media" class="form-control ekspertiseteks" placeholder="Masukkan Nama Yeast/Mold/Bakteri"> <select class="form-control select2" id="sdar1_media" name="sdar1_media" style="width: 100%;">
<option>Pilih Salah Satu</option>
@php
$keys = array_keys($organismes);
for($i = 0; $i < count($organismes); $i++) {
@endphp
<optgroup label="{{ $bacterycateggories[$i] }}">
@php
foreach($organismes[$keys[$i]] as $key => $value) {
@endphp
<option value="{{ $value['name'] }}">{!! $value['name'] !!}</option>
@php
}
@endphp
</optgroup>
@php
}
@endphp
</select>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@@ -2729,6 +2750,7 @@
<option value="Tidak Lanjut Identifikasi">Tidak Lanjut Identifikasi</option> <option value="Tidak Lanjut Identifikasi">Tidak Lanjut Identifikasi</option>
<option value="PATOGEN (Lanjut Identifikasi Vitek)">PATOGEN (Lanjut Identifikasi Vitek)</option> <option value="PATOGEN (Lanjut Identifikasi Vitek)">PATOGEN (Lanjut Identifikasi Vitek)</option>
<option value="PATOGEN (Lanjut Identifikasi Manual)">PATOGEN (Lanjut Identifikasi Manual)</option> <option value="PATOGEN (Lanjut Identifikasi Manual)">PATOGEN (Lanjut Identifikasi Manual)</option>
<option value="Subkultur">Subkultur</option>
</select> </select>
</div> </div>
</div> </div>
@@ -2758,7 +2780,25 @@
</select> </select>
</div> </div>
<div class="form-group col-lg-6"> <div class="form-group col-lg-6">
<input type="text" id="sdar2_media" name="sdar2_media" class="form-control ekspertiseteks" placeholder="Masukkan Nama Yeast/Mold/Bakteri"> <select class="form-control select2" id="sdar2_media" name="sdar2_media" style="width: 100%;">
<option>Pilih Salah Satu</option>
@php
$keys = array_keys($organismes);
for($i = 0; $i < count($organismes); $i++) {
@endphp
<optgroup label="{{ $bacterycateggories[$i] }}">
@php
foreach($organismes[$keys[$i]] as $key => $value) {
@endphp
<option value="{{ $value['name'] }}">{!! $value['name'] !!}</option>
@php
}
@endphp
</optgroup>
@php
}
@endphp
</select>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@@ -2776,6 +2816,7 @@
<option value="Tidak Lanjut Identifikasi">Tidak Lanjut Identifikasi</option> <option value="Tidak Lanjut Identifikasi">Tidak Lanjut Identifikasi</option>
<option value="PATOGEN (Lanjut Identifikasi Vitek)">PATOGEN (Lanjut Identifikasi Vitek)</option> <option value="PATOGEN (Lanjut Identifikasi Vitek)">PATOGEN (Lanjut Identifikasi Vitek)</option>
<option value="PATOGEN (Lanjut Identifikasi Manual)">PATOGEN (Lanjut Identifikasi Manual)</option> <option value="PATOGEN (Lanjut Identifikasi Manual)">PATOGEN (Lanjut Identifikasi Manual)</option>
<option value="Subkultur">Subkultur</option>
</select> </select>
</div> </div>
</div> </div>
@@ -2805,7 +2846,25 @@
</select> </select>
</div> </div>
<div class="form-group col-lg-6"> <div class="form-group col-lg-6">
<input type="text" id="sdai1_media" name="sdai1_media" class="form-control ekspertiseteks" placeholder="Masukkan Nama Yeast/Mold/Bakteri"> <select class="form-control select2" id="sdai1_media" name="sdai1_media" style="width: 100%;">
<option>Pilih Salah Satu</option>
@php
$keys = array_keys($organismes);
for($i = 0; $i < count($organismes); $i++) {
@endphp
<optgroup label="{{ $bacterycateggories[$i] }}">
@php
foreach($organismes[$keys[$i]] as $key => $value) {
@endphp
<option value="{{ $value['name'] }}">{!! $value['name'] !!}</option>
@php
}
@endphp
</optgroup>
@php
}
@endphp
</select>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@@ -2823,6 +2882,7 @@
<option value="Tidak Lanjut Identifikasi">Tidak Lanjut Identifikasi</option> <option value="Tidak Lanjut Identifikasi">Tidak Lanjut Identifikasi</option>
<option value="PATOGEN (Lanjut Identifikasi Vitek)">PATOGEN (Lanjut Identifikasi Vitek)</option> <option value="PATOGEN (Lanjut Identifikasi Vitek)">PATOGEN (Lanjut Identifikasi Vitek)</option>
<option value="PATOGEN (Lanjut Identifikasi Manual)">PATOGEN (Lanjut Identifikasi Manual)</option> <option value="PATOGEN (Lanjut Identifikasi Manual)">PATOGEN (Lanjut Identifikasi Manual)</option>
<option value="Subkultur">Subkultur</option>
</select> </select>
</div> </div>
</div> </div>
@@ -2852,7 +2912,25 @@
</select> </select>
</div> </div>
<div class="form-group col-lg-6"> <div class="form-group col-lg-6">
<input type="text" id="sdai2_media" name="sdai2_media" class="form-control ekspertiseteks" placeholder="Masukkan Nama Yeast/Mold/Bakteri"> <select class="form-control select2" id="sdai2_media" name="sdai2_media" style="width: 100%;">
<option>Pilih Salah Satu</option>
@php
$keys = array_keys($organismes);
for($i = 0; $i < count($organismes); $i++) {
@endphp
<optgroup label="{{ $bacterycateggories[$i] }}">
@php
foreach($organismes[$keys[$i]] as $key => $value) {
@endphp
<option value="{{ $value['name'] }}">{!! $value['name'] !!}</option>
@php
}
@endphp
</optgroup>
@php
}
@endphp
</select>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@@ -2870,6 +2948,7 @@
<option value="Tidak Lanjut Identifikasi">Tidak Lanjut Identifikasi</option> <option value="Tidak Lanjut Identifikasi">Tidak Lanjut Identifikasi</option>
<option value="PATOGEN (Lanjut Identifikasi Vitek)">PATOGEN (Lanjut Identifikasi Vitek)</option> <option value="PATOGEN (Lanjut Identifikasi Vitek)">PATOGEN (Lanjut Identifikasi Vitek)</option>
<option value="PATOGEN (Lanjut Identifikasi Manual)">PATOGEN (Lanjut Identifikasi Manual)</option> <option value="PATOGEN (Lanjut Identifikasi Manual)">PATOGEN (Lanjut Identifikasi Manual)</option>
<option value="Subkultur">Subkultur</option>
</select> </select>
</div> </div>
</div> </div>
@@ -4262,7 +4341,7 @@
var offset = $("#gridmediasdar1").offset(); var offset = $("#gridmediasdar1").offset();
var dataRecord = $("#gridmediasdar1").jqxGrid('getrowdata', editrowjabatan); var dataRecord = $("#gridmediasdar1").jqxGrid('getrowdata', editrowjabatan);
$('#idpertumbuhankoloni').val(dataRecord.id); $('#idpertumbuhankoloni').val(dataRecord.id);
$('#sdar1_media').val(dataRecord.kuman); $('#sdar1_media').select2('val', dataRecord.kuman).trigger('change');
$('#sdar1_pemeriksaanhemolisa').val(dataRecord.hemolisa); $('#sdar1_pemeriksaanhemolisa').val(dataRecord.hemolisa);
$('#sdar1_mediakuman').val(dataRecord.tindaklanjut); $('#sdar1_mediakuman').val(dataRecord.tindaklanjut);
$('#sdar1_status').val(dataRecord.status); $('#sdar1_status').val(dataRecord.status);
@@ -4310,7 +4389,7 @@
}) })
} else { } else {
$('#idpertumbuhankoloni').val('new'); $('#idpertumbuhankoloni').val('new');
$('#sdar1_media').val(dataRecord.kuman); $('#sdar1_media').select2('val', dataRecord.kuman).trigger('change');
$('#sdar1_mediakuman').val(dataRecord.tindaklanjut); $('#sdar1_mediakuman').val(dataRecord.tindaklanjut);
$('#sdar1_pemeriksaanhemolisa').val(dataRecord.hemolisa); $('#sdar1_pemeriksaanhemolisa').val(dataRecord.hemolisa);
$('#sdar1_status').val(dataRecord.status); $('#sdar1_status').val(dataRecord.status);
@@ -4343,7 +4422,7 @@
var offset = $("#gridmediasdar2").offset(); var offset = $("#gridmediasdar2").offset();
var dataRecord = $("#gridmediasdar2").jqxGrid('getrowdata', editrowjabatan); var dataRecord = $("#gridmediasdar2").jqxGrid('getrowdata', editrowjabatan);
$('#idpertumbuhankoloni').val(dataRecord.id); $('#idpertumbuhankoloni').val(dataRecord.id);
$('#sdar2_media').val(dataRecord.kuman); $('#sdar2_media').select2('val', dataRecord.kuman).trigger('change');
$('#sdar2_pemeriksaanhemolisa').val(dataRecord.hemolisa); $('#sdar2_pemeriksaanhemolisa').val(dataRecord.hemolisa);
$('#sdar2_mediakuman').val(dataRecord.tindaklanjut); $('#sdar2_mediakuman').val(dataRecord.tindaklanjut);
$('#sdar2_status').val(dataRecord.status); $('#sdar2_status').val(dataRecord.status);
@@ -4391,7 +4470,7 @@
}) })
} else { } else {
$('#idpertumbuhankoloni').val('new'); $('#idpertumbuhankoloni').val('new');
$('#sdar2_media').val(dataRecord.kuman); $('#sdar2_media').select2('val', dataRecord.kuman).trigger('change');
$('#sdar2_mediakuman').val(dataRecord.tindaklanjut); $('#sdar2_mediakuman').val(dataRecord.tindaklanjut);
$('#sdar2_pemeriksaanhemolisa').val(dataRecord.hemolisa); $('#sdar2_pemeriksaanhemolisa').val(dataRecord.hemolisa);
$('#sdar2_status').val(dataRecord.status); $('#sdar2_status').val(dataRecord.status);
@@ -4424,7 +4503,7 @@
var offset = $("#gridmediasdai1").offset(); var offset = $("#gridmediasdai1").offset();
var dataRecord = $("#gridmediasdai1").jqxGrid('getrowdata', editrowjabatan); var dataRecord = $("#gridmediasdai1").jqxGrid('getrowdata', editrowjabatan);
$('#idpertumbuhankoloni').val(dataRecord.id); $('#idpertumbuhankoloni').val(dataRecord.id);
$('#sdai1_media').val(dataRecord.kuman); $('#sdai1_media').select2().val(dataRecord.kuman).trigger('change');
$('#sdai1_pemeriksaanhemolisa').val(dataRecord.hemolisa); $('#sdai1_pemeriksaanhemolisa').val(dataRecord.hemolisa);
$('#sdai1_mediakuman').val(dataRecord.tindaklanjut); $('#sdai1_mediakuman').val(dataRecord.tindaklanjut);
$('#sdai1_status').val(dataRecord.status); $('#sdai1_status').val(dataRecord.status);
@@ -4472,7 +4551,7 @@
}) })
} else { } else {
$('#idpertumbuhankoloni').val('new'); $('#idpertumbuhankoloni').val('new');
$('#sdai1_media').val(dataRecord.kuman); $('#sdai1_media').select2('val', dataRecord.kuman).trigger('change');
$('#sdai1_mediakuman').val(dataRecord.tindaklanjut); $('#sdai1_mediakuman').val(dataRecord.tindaklanjut);
$('#sdai1_pemeriksaanhemolisa').val(dataRecord.hemolisa); $('#sdai1_pemeriksaanhemolisa').val(dataRecord.hemolisa);
$('#sdai1_status').val(dataRecord.status); $('#sdai1_status').val(dataRecord.status);
@@ -4505,7 +4584,7 @@
var offset = $("#gridmediasdai2").offset(); var offset = $("#gridmediasdai2").offset();
var dataRecord = $("#gridmediasdai2").jqxGrid('getrowdata', editrowjabatan); var dataRecord = $("#gridmediasdai2").jqxGrid('getrowdata', editrowjabatan);
$('#idpertumbuhankoloni').val(dataRecord.id); $('#idpertumbuhankoloni').val(dataRecord.id);
$('#sdai2_media').val(dataRecord.kuman); $('#sdai2_media').select2('val', dataRecord.kuman).trigger('change');
$('#sdai2_pemeriksaanhemolisa').val(dataRecord.hemolisa); $('#sdai2_pemeriksaanhemolisa').val(dataRecord.hemolisa);
$('#sdai2_mediakuman').val(dataRecord.tindaklanjut); $('#sdai2_mediakuman').val(dataRecord.tindaklanjut);
$('#sdai2_status').val(dataRecord.status); $('#sdai2_status').val(dataRecord.status);
@@ -4553,7 +4632,7 @@
}) })
} else { } else {
$('#idpertumbuhankoloni').val('new'); $('#idpertumbuhankoloni').val('new');
$('#sdai2_media').val(dataRecord.kuman); $('#sdai2_media').select2('val', dataRecord.kuman).trigger('change');
$('#sdai2_mediakuman').val(dataRecord.tindaklanjut); $('#sdai2_mediakuman').val(dataRecord.tindaklanjut);
$('#sdai2_pemeriksaanhemolisa').val(dataRecord.hemolisa); $('#sdai2_pemeriksaanhemolisa').val(dataRecord.hemolisa);
$('#sdai2_status').val(dataRecord.status); $('#sdai2_status').val(dataRecord.status);
@@ -6015,7 +6094,7 @@
var id = document.getElementById('periksa_id').value; var id = document.getElementById('periksa_id').value;
var idtabel = document.getElementById('idpertumbuhankoloni').value; var idtabel = document.getElementById('idpertumbuhankoloni').value;
var media = 'Media SDA R1'; var media = 'Media SDA R1';
var kuman = document.getElementById('sdar1_media').value; var kuman = $('#sdar1_media').val();
var hemolisa = document.getElementById('sdar1_pemeriksaanhemolisa').value; var hemolisa = document.getElementById('sdar1_pemeriksaanhemolisa').value;
var katalase = ''; var katalase = '';
var koagulase = ''; var koagulase = '';
@@ -6046,7 +6125,7 @@
var id = document.getElementById('periksa_id').value; var id = document.getElementById('periksa_id').value;
var idtabel = document.getElementById('idpertumbuhankoloni').value; var idtabel = document.getElementById('idpertumbuhankoloni').value;
var media = 'Media SDA R2'; var media = 'Media SDA R2';
var kuman = document.getElementById('sdar2_media').value; var kuman = $('#sdar2_media').val();
var hemolisa = document.getElementById('sdar2_pemeriksaanhemolisa').value; var hemolisa = document.getElementById('sdar2_pemeriksaanhemolisa').value;
var katalase = ''; var katalase = '';
var koagulase = ''; var koagulase = '';
@@ -6077,7 +6156,7 @@
var id = document.getElementById('periksa_id').value; var id = document.getElementById('periksa_id').value;
var idtabel = document.getElementById('idpertumbuhankoloni').value; var idtabel = document.getElementById('idpertumbuhankoloni').value;
var media = 'Media SDA I1'; var media = 'Media SDA I1';
var kuman = document.getElementById('sdai1_media').value; var kuman = $('#sdai1_media').val();
var hemolisa = document.getElementById('sdai1_pemeriksaanhemolisa').value; var hemolisa = document.getElementById('sdai1_pemeriksaanhemolisa').value;
var katalase = ''; var katalase = '';
var koagulase = ''; var koagulase = '';
@@ -6108,7 +6187,7 @@
var id = document.getElementById('periksa_id').value; var id = document.getElementById('periksa_id').value;
var idtabel = document.getElementById('idpertumbuhankoloni').value; var idtabel = document.getElementById('idpertumbuhankoloni').value;
var media = 'Media SDA I2'; var media = 'Media SDA I2';
var kuman = document.getElementById('sdai2_media').value; var kuman = $('#sdai2_media').val();
var hemolisa = document.getElementById('sdai2_pemeriksaanhemolisa').value; var hemolisa = document.getElementById('sdai2_pemeriksaanhemolisa').value;
var katalase = ''; var katalase = '';
var koagulase = ''; var koagulase = '';
@@ -2685,10 +2685,13 @@
<option value="Proses identifikasi malditof+ uji kepekaan manual">Proses identifikasi malditof+ uji kepekaan manual</option> <option value="Proses identifikasi malditof+ uji kepekaan manual">Proses identifikasi malditof+ uji kepekaan manual</option>
<option value="Proses identifikasi manual+ uji kepekaan vitek">Proses identifikasi manual+ uji kepekaan vitek</option> <option value="Proses identifikasi manual+ uji kepekaan vitek">Proses identifikasi manual+ uji kepekaan vitek</option>
<option value="Tidak Lanjut Identifikasi">Tidak Lanjut Identifikasi</option> <option value="Tidak Lanjut Identifikasi">Tidak Lanjut Identifikasi</option>
<option value="ID/AST pending result">ID/AST pending result</option>
<option value="Menunggu kultur yg lain">Menunggu kultur yg lain</option>
</select> </select>
</div> </div>
<div class="form-group" id="id_keteranganmediabap"> <div class="form-group">
<textarea id="id_keteranganmediabap" name="id_keteranganmediabap" class="form-control ekspertiseteks" rows="5"></textarea> <p class="text-muted">*Isikan keterangan jika memilih status "Tidak Lanjut Identifikasi" atau "Menunggu kultur yg lain"</p>
<textarea id="id_keteranganmediabap" name="id_keteranganmediabap" class="form-control" rows="5"></textarea>
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
@@ -101,6 +101,7 @@
<tr> <tr>
<th style="width: 110px">Kode</th> <th style="width: 110px">Kode</th>
<th>Barang</th> <th>Barang</th>
<th>Keterangan</th>
<th style="width: 90px">Qty</th> <th style="width: 90px">Qty</th>
<th style="width: 80px">Sat</th> <th style="width: 80px">Sat</th>
<th style="width: 60px">Aksi</th> <th style="width: 60px">Aksi</th>
@@ -111,6 +112,7 @@
<tr> <tr>
<td class="text-center"><code>{{ $line['kode'] }}</code></td> <td class="text-center"><code>{{ $line['kode'] }}</code></td>
<td>{{ $line['jenis'] }}</td> <td>{{ $line['jenis'] }}</td>
<td>{{ $line['keterangan'] ?: '-' }}</td>
<td class="text-right">{{ number_format((int) ($line['qty'] ?? 0), 0, '.', ',') }}</td> <td class="text-right">{{ number_format((int) ($line['qty'] ?? 0), 0, '.', ',') }}</td>
<td class="text-center">{{ strtoupper($line['satuan_transaksi'] ?? '-') }}</td> <td class="text-center">{{ strtoupper($line['satuan_transaksi'] ?? '-') }}</td>
<td class="text-center"> <td class="text-center">
@@ -118,7 +120,7 @@
</td> </td>
</tr> </tr>
@empty @empty
<tr><td colspan="5" class="text-center text-muted">Keranjang masih kosong.</td></tr> <tr><td colspan="6" class="text-center text-muted">Keranjang masih kosong.</td></tr>
@endforelse @endforelse
</tbody> </tbody>
</table> </table>
@@ -171,6 +173,10 @@
<label>Jumlah</label> <label>Jumlah</label>
<input id="gudangpos_qty" type="number" min="1" class="form-control" wire:model.live="qty" wire:keydown.enter.prevent="addSelected"> <input id="gudangpos_qty" type="number" min="1" class="form-control" wire:model.live="qty" wire:keydown.enter.prevent="addSelected">
</div> </div>
<div class="form-group m-t-10 m-b-0">
<label>Keterangan</label>
<input type="text" class="form-control" wire:model.live="keterangan" placeholder="opsional">
</div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Batal</button> <button type="button" class="btn btn-secondary" data-dismiss="modal">Batal</button>
@@ -107,7 +107,7 @@
<div class="form-group col-lg-12"> <div class="form-group col-lg-12">
<label for="id_mediatanam" class="col-form-label">Media Tanam Yang di gunakan <font color="red">*</font></label> <label for="id_mediatanam" class="col-form-label">Media Tanam Yang di gunakan <font color="red">*</font></label>
<select class="form-control select2" id="id_mediatanam" name="id_mediatanam[]" style="width: 100%;" multiple="multiple"> <select class="form-control select2" id="id_mediatanam" name="id_mediatanam[]" style="width: 100%;" multiple="multiple">
<option value="">Tidak Menggunakan Media</option> <option value="-">Tidak Menggunakan Media</option>
<option value="Media BAP">Media BAP</option> <option value="Media BAP">Media BAP</option>
<option value="Media CAP">Media CAP</option> <option value="Media CAP">Media CAP</option>
<option value="Media Mc Conkey">Media Mc Conkey</option> <option value="Media Mc Conkey">Media Mc Conkey</option>
@@ -259,29 +259,33 @@
var bulan = document.getElementById('id_bulan').value; var bulan = document.getElementById('id_bulan').value;
var sampleId = document.getElementById('id_sample_edit').value; var sampleId = document.getElementById('id_sample_edit').value;
var mediatanam = $('#id_mediatanam').val(); var mediatanam = $('#id_mediatanam').val();
if (jenis == ''){ if (mediatanam == null || mediatanam == '' || mediatanam.length === 0) {
$('#modaleditor').modal('hide'); $("#err_text").val('Media Tanam Yang di gunakan Wajib di Pilih');
$.post('{{ route("markPeriksa") }}', { id: sampleId, mediatanam: mediatanam, _token: '{{ csrf_token() }}'},function(data){ $("#modalerror").modal('show');
$('#gridkiriman').DataTable().ajax.reload();
});
} else { } else {
if (jenis != 'F' && bulan == ''){ if (jenis == ''){
$("#err_text").val('Jika Jenis Pengobatan Terduga/Pasien TBC bukan Follow Up, maka Bulan Ke harus diisi'); $('#modaleditor').modal('hide');
$("#modalerror").modal('show'); $.post('{{ route("markPeriksa") }}', { id: sampleId, mediatanam: mediatanam, _token: '{{ csrf_token() }}'},function(data){
} else {
$.post('{{ route("markPeriksa") }}', { id: 'ubahnomorlab', jenis: jenis, bulan: bulan, sampleId: sampleId, mediatanam: mediatanam, _token: '{{ csrf_token() }}'},function(data){
$('#gridkiriman').DataTable().ajax.reload(); $('#gridkiriman').DataTable().ajax.reload();
swal({
title: data.status || 'Sukses',
text: data.message || 'Data berhasil diperbarui.',
type: 'success',
}).then(function () {
$('#modaleditor').modal('hide');
});
}); });
} else {
if (jenis != 'F' && bulan == ''){
$("#err_text").val('Jika Jenis Pengobatan Terduga/Pasien TBC bukan Follow Up, maka Bulan Ke harus diisi');
$("#modalerror").modal('show');
} else {
$.post('{{ route("markPeriksa") }}', { id: 'ubahnomorlab', jenis: jenis, bulan: bulan, sampleId: sampleId, mediatanam: mediatanam, _token: '{{ csrf_token() }}'},function(data){
$('#gridkiriman').DataTable().ajax.reload();
swal({
title: data.status || 'Sukses',
text: data.message || 'Data berhasil diperbarui.',
type: 'success',
}).then(function () {
$('#modaleditor').modal('hide');
});
});
}
} }
} }
}); });
$("#btnpencarian").click(function() { $("#btnpencarian").click(function() {
var set01=document.getElementById('valcari').value; var set01=document.getElementById('valcari').value;