This commit is contained in:
Dwi Swandhana
2026-02-21 06:06:56 +07:00
parent 5274d53681
commit 3c63cb5d22
6 changed files with 923 additions and 556 deletions

No files matched your search

+140 -17
View File
@@ -52,9 +52,9 @@
<div class="col-sm-4">
<div class="card-box bg-danger widget-flat border-info text-white">
<i class="icon-rocket"></i>
<h3 class="m-b-10">{{ $rusak ?? 0 }}</h3>
Barang Rusak/Hilang<br />
<!-- <a href="#" id="topbtnhapus"><span class="badge badge-primary pull-right"> Add</span></a> -->
<h3 class="m-b-10">{{ count($warningstok ?? []) }}</h3>
Warning Stok Menipis<br />
<a href="#stokWarningArea"><span class="badge badge-warning pull-right"> Lihat</span></a>
</div>
</div><!-- end col -->
</div>
@@ -63,6 +63,85 @@
</div>
</div>
</div>
<div class="row" id="stokWarningArea">
<div class="col-sm-12">
<div class="card-box">
<h4 class="m-t-0 m-b-15">Warning Barang Segera Habis</h4>
@if(isset($warningstok) && count($warningstok) > 0)
@foreach($warningstok as $w)
<div class="alert alert-warning m-b-10">
<b>{{ $w['jenis'] }}</b> tersisa {{ $w['saldo'] }}.
Stok minimum: {{ number_format($w['minimum'], 0, '.', ',') }} {{ $w['satuan_kecil'] }}.
</div>
@endforeach
@else
<div class="alert alert-success m-b-0">Semua stok masih aman.</div>
@endif
</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="card-box">
<h5 class="m-t-0">Statistik Harian (Base Unit)</h5>
<div>Masuk: <b>{{ number_format($stat_harian_masuk ?? 0, 0, '.', ',') }}</b></div>
<div>Keluar: <b>{{ number_format($stat_harian_keluar ?? 0, 0, '.', ',') }}</b></div>
<hr>
<div class="table-responsive">
<table class="table table-sm table-bordered m-b-0">
<thead><tr><th>Jenis</th><th>Masuk</th><th>Keluar</th></tr></thead>
<tbody>
@forelse($stat_perjenis_harian ?? [] as $row)
<tr><td>{{ $row['jenis'] }}</td><td class="text-right">{{ number_format($row['masuk'],0,'.',',') }}</td><td class="text-right">{{ number_format($row['keluar'],0,'.',',') }}</td></tr>
@empty
<tr><td colspan="3" class="text-center">Belum ada transaksi</td></tr>
@endforelse
</tbody>
</table>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card-box">
<h5 class="m-t-0">Statistik Bulanan (Base Unit)</h5>
<div>Masuk: <b>{{ number_format($stat_bulanan_masuk ?? 0, 0, '.', ',') }}</b></div>
<div>Keluar: <b>{{ number_format($stat_bulanan_keluar ?? 0, 0, '.', ',') }}</b></div>
<hr>
<div class="table-responsive">
<table class="table table-sm table-bordered m-b-0">
<thead><tr><th>Jenis</th><th>Masuk</th><th>Keluar</th></tr></thead>
<tbody>
@forelse($stat_perjenis_bulanan ?? [] as $row)
<tr><td>{{ $row['jenis'] }}</td><td class="text-right">{{ number_format($row['masuk'],0,'.',',') }}</td><td class="text-right">{{ number_format($row['keluar'],0,'.',',') }}</td></tr>
@empty
<tr><td colspan="3" class="text-center">Belum ada transaksi</td></tr>
@endforelse
</tbody>
</table>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card-box">
<h5 class="m-t-0">Statistik Tahunan (Base Unit)</h5>
<div>Masuk: <b>{{ number_format($stat_tahunan_masuk ?? 0, 0, '.', ',') }}</b></div>
<div>Keluar: <b>{{ number_format($stat_tahunan_keluar ?? 0, 0, '.', ',') }}</b></div>
<hr>
<div class="table-responsive">
<table class="table table-sm table-bordered m-b-0">
<thead><tr><th>Jenis</th><th>Masuk</th><th>Keluar</th></tr></thead>
<tbody>
@forelse($stat_perjenis_tahunan ?? [] as $row)
<tr><td>{{ $row['jenis'] }}</td><td class="text-right">{{ number_format($row['masuk'],0,'.',',') }}</td><td class="text-right">{{ number_format($row['keluar'],0,'.',',') }}</td></tr>
@empty
<tr><td colspan="3" class="text-center">Belum ada transaksi</td></tr>
@endforelse
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-8">
<div class="card-box ribbon-box">
@@ -134,6 +213,19 @@
<label>Satuan </label>
<input type="text" id="jenis_satuan" name="jenis_satuan" class="form-control">
</div>
<div class="form-group">
<label>Satuan Kecil (untuk pecah satuan)</label>
<input type="text" id="jenis_satuan_kecil" name="jenis_satuan_kecil" class="form-control" placeholder="contoh: strip / pcs / vial">
</div>
<div class="form-group">
<label>Konversi ke Satuan Kecil</label>
<input type="number" id="jenis_konversi_kecil" name="jenis_konversi_kecil" class="form-control" value="1" min="1">
<small class="text-muted">Contoh: 1 box = 100 strip, isi 100.</small>
</div>
<div class="form-group">
<label>Stok Minimum Warning (dalam satuan kecil/base)</label>
<input type="number" id="jenis_stok_minimum" name="jenis_stok_minimum" class="form-control" value="0" min="0">
</div>
<div class="form-group account-btn text-center m-t-10">
<div class="col-12">
<input type="hidden" id="jenis_idne" name="jenis_idne" class="form-control">
@@ -160,10 +252,17 @@
<label>Jenis Barang</label>
<select id="in_pos" name="in_pos" class="form-control" >
@foreach($jjenis as $rjenis)
<option value="{{ $rjenis['jenis'] }}">{{ $rjenis['jenis'] }} ( {{ $rjenis['satuan'] }} )</option>
<option value="{{ $rjenis['jenis'] }}" data-satuan="{{ $rjenis['satuan'] }}" data-satuan-kecil="{{ $rjenis['satuan_kecil'] ?? '' }}" data-konversi="{{ $rjenis['konversi_kecil'] ?? 1 }}">{{ $rjenis['jenis'] }} ( {{ $rjenis['satuan'] }} )</option>
@endforeach
</select>
</div>
<div class="form-group">
<label>Satuan Input</label>
<select id="in_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>Supplier</label>
<input type="text" id="in_deskripsi" name="in_deskripsi" class="form-control">
@@ -197,10 +296,17 @@
<label>Barang yang diminta</label>
<select id="out_pos" name="out_pos" class="form-control" >
@foreach($jjenis as $rjenis)
<option value="{{ $rjenis['jenis'] }}">{{ $rjenis['jenis'] }} ( {{ $rjenis['satuan'] }} )</option>
<option value="{{ $rjenis['jenis'] }}" data-satuan="{{ $rjenis['satuan'] }}" data-satuan-kecil="{{ $rjenis['satuan_kecil'] ?? '' }}" data-konversi="{{ $rjenis['konversi_kecil'] ?? 1 }}">{{ $rjenis['jenis'] }} ( {{ $rjenis['satuan'] }} )</option>
@endforeach
</select>
</div>
<div class="form-group">
<label>Satuan Pengeluaran</label>
<select id="out_satuan_transaksi" class="form-control">
<option value="kecil">Satuan Kecil (Pecah Satuan)</option>
<option value="besar">Satuan Besar</option>
</select>
</div>
<div class="form-group">
<label>Peminta</label>
<select id="out_deskripsi" name="out_deskripsi" class="form-control" >
@@ -358,13 +464,16 @@ $(document).ready(function() {
var val01=document.getElementById('jenis_idne').value;
var val02=document.getElementById('jenis_deskripsi').value;
var val03=document.getElementById('jenis_satuan').value;
var val04='';
var val04=document.getElementById('jenis_konversi_kecil').value;
var val05='jenis';
var val06='';
var val07='';
var val08='';
var val08=document.getElementById('jenis_satuan_kecil').value;
var val09=document.getElementById('jenis_konversi_kecil').value;
var val10=document.getElementById('jenis_stok_minimum').value;
var val11='besar';
$("#modaltambahjenisbrg").modal('hide');
$.post('simbhp/exaddbarang', { _token: token, set01: val01, set02: val02, set03: val03, set04: val04, set05: val05, set06: val06, set07: val07, set08: val08 },
$.post('simbhp/exaddbarang', { _token: token, set01: val01, set02: val02, set03: val03, set04: val04, set05: val05, set06: val06, set07: val07, set08: val08, set09: val09, set10: val10, set11: val11 },
function(data){
var status = data.status;
var message = data.message;
@@ -391,7 +500,10 @@ $(document).ready(function() {
var val06='';
var val07='';
var val08='';
$.post('simbhp/exaddbarang', { _token: token, set01: val01, set02: val02, set03: val03, set04: val04, set05: val05, set06: val06, set07: val07, set08: val08 },
var val09='';
var val10='';
var val11=document.getElementById('in_satuan_transaksi').value;
$.post('simbhp/exaddbarang', { _token: token, set01: val01, set02: val02, set03: val03, set04: val04, set05: val05, set06: val06, set07: val07, set08: val08, set09: val09, set10: val10, set11: val11 },
function(data){
$("#modalpemasukan").modal('hide');
var status = data.status;
@@ -422,7 +534,10 @@ $(document).ready(function() {
var val06='';
var val07='';
var val08='';
$.post('simbhp/exaddbarang', { _token: token, set01: val01, set02: val02, set03: val03, set04: val04, set05: val05, set06: val06, set07: val07, set08: val08 },
var val09='';
var val10='';
var val11=document.getElementById('out_satuan_transaksi').value;
$.post('simbhp/exaddbarang', { _token: token, set01: val01, set02: val02, set03: val03, set04: val04, set05: val05, set06: val06, set07: val07, set08: val08, set09: val09, set10: val10, set11: val11 },
function(data){
$("#modalpengeluaran").modal('hide');
var status = data.status;
@@ -444,7 +559,7 @@ $(document).ready(function() {
return false;
});
});
$("#btnsimpanedit").click(function(){
$("#btnsimpanedit").click(function(){
var val01=document.getElementById('edit_deskripsi').value;
var val02=document.getElementById('edit_pos').value;
var val03=document.getElementById('edit_tanggal').value;
@@ -453,7 +568,10 @@ $(document).ready(function() {
var val06=document.getElementById('edit_id').value;
var val07=document.getElementById('edit_alasan').value;
var val08='';
$.post('simbhp/exaddbarang', { _token: token, set01: val01, set02: val02, set03: val03, set04: val04, set05: val05, set06: val06, set07: val07, set08: val08 },
var val09='';
var val10='';
var val11='besar';
$.post('simbhp/exaddbarang', { _token: token, set01: val01, set02: val02, set03: val03, set04: val04, set05: val05, set06: val06, set07: val07, set08: val08, set09: val09, set10: val10, set11: val11 },
function(data){
$("#modaleditor").modal('hide');
var status = data.status;
@@ -475,7 +593,7 @@ $(document).ready(function() {
return false;
});
});
$("#btnsimpanhapus").click(function(){
$("#btnsimpanhapus").click(function(){
var val01=document.getElementById('edit_deskripsi').value;
var val02=document.getElementById('edit_pos').value;
var val03=document.getElementById('edit_tanggal').value;
@@ -484,7 +602,10 @@ $(document).ready(function() {
var val06=document.getElementById('edit_id').value;
var val07=document.getElementById('edit_alasan').value;
var val08='';
$.post('simbhp/exaddbarang', { _token: token, set01: val01, set02: val02, set03: val03, set04: val04, set05: val05, set06: val06, set07: val07, set08: val08 },
var val09='';
var val10='';
var val11='besar';
$.post('simbhp/exaddbarang', { _token: token, set01: val01, set02: val02, set03: val03, set04: val04, set05: val05, set06: val06, set07: val07, set08: val08, set09: val09, set10: val10, set11: val11 },
function(data){
$("#modaleditor").modal('hide');
var status = data.status;
@@ -518,7 +639,8 @@ $(document).ready(function() {
{ name: 'tlsjenis',type: 'text'},
{ name: 'jenis',type: 'text'},
{ name: 'saldo',type: 'text'},
{ name: 'satuan',type: 'text'},
{ name: 'satuan',type: 'text'},
{ name: 'warning',type: 'text'},
],
url: 'simbhp/rekapbhp',
cache: false,
@@ -535,7 +657,8 @@ $(document).ready(function() {
columns : [
{ text: 'Jenis', datafield: 'tlsjenis', width: '45%', cellsalign: 'left', align: 'center' },
{ text: 'Satuan', datafield: 'satuan', width: '20%', cellsalign: 'center', align: 'center' },
{ text: 'Sisa', datafield: 'saldo', width: '35%', cellsalign: 'right', align: 'center' },
{ text: 'Sisa', datafield: 'saldo', width: '25%', cellsalign: 'right', align: 'center' },
{ text: 'Warning', datafield: 'warning', width: '10%', cellsalign: 'center', align: 'center' },
],
});
$("#gridjenis").on('bindingcomplete', function (event) {
@@ -619,4 +742,4 @@ $(document).ready(function() {
});
});
</script>
@endpush
@endpush
@@ -66,7 +66,7 @@
<div id="navigation">
<ul class="navigation-menu">
@if(Session::get('previlage') == 'developer')
<li><a href="/modemobile"><i class="fa fa-h-square"></i></a></li>
<li><a href="/modemobile"><i class="fa fa-h-square"></i>Tab Mode</a></li>
<li><a href="/reportppds"><i class="fa fa-h-square"></i>SPV Verification</a></li>
<li><a href="/pendaftaran"><i class="fa fa-h-square"></i>Registration</a></li>
<li class="has-submenu">
@@ -92,6 +92,7 @@
<li><a href="/pasien"><i class="fa fa-wheelchair"></i>Patient</a></li>
<li><a href="/report"><i class="fa fa-hospital-o"></i>Report</a></li>
<li><a href="/biorepository"><i class="fa fa-archive"></i>Biorepository</a></li>
<li><a href="/gudang"><i class="fa fa-cubes"></i>Gudang</a></li>
<li><a href="/pengambilan"><i class="fa fa-stethoscope"></i>Pengambilan</a></li>
<li class="has-submenu">
<a href="#"><i class="fa fa-user-md"></i>Logbook</a>
@@ -108,7 +109,6 @@
<li><a href="/user">User Management</a></li>
<li><a href="/template">Expertise Template</a></li>
<li><a href="/sirab">Database Antibiotik</a></li>
<li><a href="/gudang">Gudang</a></li>
<li><a href="/backup">Backup</a></li>
</ul>
</li>
@@ -138,6 +138,7 @@
</li>
<li><a href="/pasien"><i class="fa fa-wheelchair"></i>Patient</a></li>
<li><a href="/report"><i class="fa fa-hospital-o"></i>Report</a></li>
<li><a href="/gudang"><i class="fa fa-cubes"></i>Gudang</a></li>
<li><a href="/pengambilan"><i class="fa fa-stethoscope"></i>Pengambilan</a></li>
<li class="has-submenu">
<a href="#"><i class="fa fa-user-md"></i>Logbook</a>
@@ -154,7 +155,6 @@
<li><a href="/user">User Management</a></li>
<li><a href="/template">Expertise Template</a></li>
<li><a href="/sirab">Database Antibiotik</a></li>
<li><a href="/gudang">Gudang</a></li>
</ul>
</li>
@elseif(Session::get('previlage') == 'ppds')
@@ -183,6 +183,7 @@
<li><a href="/poli"><i class="fa fa-hospital-o"></i>Room and Request List</a></li>
<li><a href="/pasien"><i class="fa fa-wheelchair"></i>Patient</a></li>
<li><a href="/report"><i class="fa fa-hospital-o"></i>Report</a></li>
<li><a href="/gudang"><i class="fa fa-cubes"></i>Gudang</a></li>
<li><a href="/pengambilan"><i class="fa fa-stethoscope"></i>Pengambilan</a></li>
<li class="has-submenu">
<a href="#"><i class="fa fa-medkit"></i>Settings</a>
@@ -217,6 +218,7 @@
<li><a href="/poli"><i class="fa fa-hospital-o"></i>Room and Request List</a></li>
<li><a href="/pasien"><i class="fa fa-wheelchair"></i>Patient</a></li>
<li><a href="/report"><i class="icon-book-open"></i>Report</a></li>
<li><a href="/gudang"><i class="fa fa-cubes"></i>Gudang</a></li>
<li><a href="/pengambilan"><i class="fa fa-stethoscope"></i>Pengambilan</a></li>
<li><a href="/template"><i class="fa fa-medkit"></i>Database</a></li>
@elseif(Session::get('previlage') == 'admin')
@@ -226,7 +228,6 @@
<li><a href="/user"><i class="icon-user"></i>User Management</a></li>
<li><a href="/pasien"><i class="fa fa-wheelchair"></i>Pasien</a></li>
<li><a href="/report"><i class="icon-book-open"></i>Laporan</a></li>
<li><a href="/gudang"><i class="fa fa-home"></i>Gudang</a></li>
@else
<li><a href="/login"><i class="icon-user"></i>Login</a></li>
@endif