This commit is contained in:
Dwi Swandhana
2026-04-23 13:55:32 +07:00
parent 1b41f3e6ee
commit 1a1d58e60a
6 changed files with 74 additions and 23 deletions
@@ -845,10 +845,12 @@ class GudangController extends Controller
$rows = $query->get();
$grouped = [];
$jenisNames = [];
foreach ($rows as $row) {
$jenis = $row->jenis ?: 'Tidak Diketahui';
if (!isset($grouped[$jenis])) {
$grouped[$jenis] = ['jenis' => $jenis, 'masuk' => 0, 'keluar' => 0];
$grouped[$jenis] = ['jenis' => $jenis, 'masuk' => 0, 'keluar' => 0, 'sisa' => 0];
$jenisNames[] = $jenis;
}
if (!is_null($row->pemasukan) && (int)$row->pemasukan > 0) {
$grouped[$jenis]['masuk'] += $this->extractBaseQty($row, 'pemasukan');
@@ -858,6 +860,14 @@ class GudangController extends Controller
}
}
if (!empty($jenisNames)) {
$stockMap = app(SimbhpStockService::class)->getStockBaseByJenisMany($jenisNames);
foreach ($grouped as $jenis => &$item) {
$item['sisa'] = (int) ($stockMap[$jenis] ?? 0);
}
unset($item);
}
return array_values($grouped);
}
@@ -868,14 +868,10 @@ class ReportController extends Controller
$bulan = str_replace('bulan=', '', $bulan);
$tahun = str_replace('tahun=', '', $tahun);
}
// Query Periksa
$query = Periksa::query()->where('dlp', 'Kultur')->whereNotNull('dokter_id')->whereYear('daftar', $tahun);
if ($bulan != 'ALL' && $bulan != 'Pick Month') {
$query->whereMonth('daftar', $bulan);
}
// Preview dibuat paginated agar aman saat filter setahun.
$orderbydate = $query->orderBy('daftar', 'ASC')->orderBy('id', 'ASC')->paginate(50);
$orderbydate->appends(['bulan' => $bulan, 'tahun' => $tahun]);