This commit is contained in:
Dwi Swandhana
2026-03-08 18:35:58 +07:00
parent f7bf4ddf1a
commit a1ac1f888b
2 changed files with 94 additions and 7 deletions
@@ -25,7 +25,18 @@ class ReportController extends Controller
if (Session::get('previlage') == ''){
return redirect('/login');
} else {
return view('admin.report');
$dokterOptions = Periksa::select('dokter_id', 'nmdokter')
->whereNotNull('dokter_id')
->where('dokter_id', '<>', 0)
->whereNotNull('nmdokter')
->where('nmdokter', '<>', '')
->groupBy('dokter_id', 'nmdokter')
->orderBy('nmdokter', 'ASC')
->get();
return view('admin.report', [
'dokterOptions' => $dokterOptions
]);
}
}
public function rekapPeriksa(Request $request) {
@@ -316,6 +327,7 @@ class ReportController extends Controller
$bulan = $request->input('bulan');
$tahun = $request->input('tahun');
$jenisreport = $request->input('jenisreport');
$dokterId = $request->input('dokter_id');
$homebase = url("/");
$arraylist = [];
$limit = $request->input('limit') ?? 500;
@@ -324,7 +336,7 @@ class ReportController extends Controller
$filterscount = $request->input('filterscount') ?? 0;
if ($jenisreport == 'biorepository'){
if ($bulan == 'ALL'){
$lists = DB::table('db_komponenjawaban')
$queryBiorepo = DB::table('db_komponenjawaban')
->select('db_komponenjawaban.*',
'periksa.nofoto',
'periksa.noregister',
@@ -338,9 +350,13 @@ class ReportController extends Controller
->leftJoin('periksa', 'db_komponenjawaban.accnumber', 'periksa.nofoto')
->whereIn('db_komponenjawaban.komponen', ['id_bakteri01', 'id_bakteri02', 'bakteri'])
->where('db_komponenjawaban.isidata', '!=', '')
->where('periksa.daftar', 'LIKE', $tahun.'-%')->orderBy('periksa.id', 'DESC')->get();
->where('periksa.daftar', 'LIKE', $tahun.'-%');
if (!empty($dokterId) && $dokterId != 'ALL' && $dokterId != '0') {
$queryBiorepo->where('periksa.dokter_id', $dokterId);
}
$lists = $queryBiorepo->orderBy('periksa.id', 'DESC')->get();
} else {
$lists = DB::table('db_komponenjawaban')
$queryBiorepo = DB::table('db_komponenjawaban')
->select('db_komponenjawaban.*',
'periksa.nofoto',
'periksa.noregister',
@@ -354,7 +370,11 @@ class ReportController extends Controller
->leftJoin('periksa', 'db_komponenjawaban.accnumber', 'periksa.nofoto')
->whereIn('db_komponenjawaban.komponen', ['id_bakteri01', 'id_bakteri02', 'bakteri'])
->where('db_komponenjawaban.isidata', '!=', '')
->where('periksa.daftar', 'LIKE', $tahun.'-'.$bulan.'-%')->orderBy('periksa.id', 'DESC')->get();
->where('periksa.daftar', 'LIKE', $tahun.'-'.$bulan.'-%');
if (!empty($dokterId) && $dokterId != 'ALL' && $dokterId != '0') {
$queryBiorepo->where('periksa.dokter_id', $dokterId);
}
$lists = $queryBiorepo->orderBy('periksa.id', 'DESC')->get();
}
echo json_encode($lists);
} else {
@@ -363,6 +383,9 @@ class ReportController extends Controller
if ($bulan !== 'ALL') {
$query->whereMonth('mulai', $bulan);
}
if (!empty($dokterId) && $dokterId != 'ALL' && $dokterId != '0') {
$query->where('dokter_id', $dokterId);
}
/**
* CURSOR → Streaming data, tidak boros memori