04-02-2025
This commit is contained in:
@@ -160,69 +160,100 @@ class FrontpageController extends Controller
|
||||
}
|
||||
}
|
||||
public function viewMikro() {
|
||||
if (Session::get('previlage') == ''){
|
||||
// Cek previlage
|
||||
if (!Session::has('previlage')) {
|
||||
return redirect('/login');
|
||||
} else {
|
||||
$data = [];
|
||||
$dokters = User::where('previlage', 'supervisor')->get();
|
||||
$allppds = User::where('previlage', 'ppds')->get();
|
||||
$allanalis = User::where('previlage', 'analis')->get();
|
||||
$organismslis = Organisms::where('kelompok', 'biakankultur')->groupBy('category')->select('category')->get();
|
||||
$i = 0;
|
||||
foreach ($organismslis as $rorganisme) {
|
||||
$j = 0;
|
||||
$category = $rorganisme->category;
|
||||
$rooms = Organisms::where('kelompok', 'biakankultur')->where('category', $category)->orderBy('name', 'ASC')->get();
|
||||
foreach ($rooms as $room) {
|
||||
$data['organismes'][$i][$j]['id'] = $room->id;
|
||||
$data['organismes'][$i][$j]['name'] = $room->name;
|
||||
$j++;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
$x = 0;
|
||||
foreach ($organismslis as $rows) {
|
||||
$data['bacterycateggories'][$x] = $rows->category;
|
||||
$x++;
|
||||
}
|
||||
if ($x == 0){
|
||||
$data['organismes'][0][0]['id'] = 0;
|
||||
$data['organismes'][0][0]['name'] = 'No Data';
|
||||
$data['bacterycateggories'][0] = 'No Data';
|
||||
}
|
||||
$mikroorganismelist = Organisms::where('kelompok', 'mikroorganisme')->groupBy('category')->select('category')->get();
|
||||
$i = 0;
|
||||
foreach ($mikroorganismelist as $rorganisme) {
|
||||
$j = 0;
|
||||
$category = $rorganisme->category;
|
||||
$rooms = Organisms::where('kelompok', 'mikroorganisme')->where('category', $category)->orderBy('name', 'ASC')->get();
|
||||
foreach ($rooms as $room) {
|
||||
$data['mikroorganismes'][$i][$j]['id'] = $room->id;
|
||||
$data['mikroorganismes'][$i][$j]['name'] = $room->name;
|
||||
$j++;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
$x = 0;
|
||||
foreach ($mikroorganismelist as $rows) {
|
||||
$data['mikroorganismestlist'][$x] = $rows->category;
|
||||
$x++;
|
||||
}
|
||||
if ($x == 0){
|
||||
$data['mikroorganismes'][0][0]['id'] = 0;
|
||||
$data['mikroorganismes'][0][0]['name'] = 'No Data';
|
||||
$data['mikroorganismestlist'][0] = 'No Data';
|
||||
}
|
||||
$data['allppds'] = $allppds;
|
||||
$data['dokters'] = $dokters;
|
||||
$data['allanalis'] = $allanalis;
|
||||
$data['antrkrmsitu']= PeriksaSYNC::where('created_by', Session('username'))->where('status', '')->count();
|
||||
$data['lokasi'] = 'Lab Mikrobiologi';
|
||||
$data['master'] = 'mikro';
|
||||
$previlage = Session('previlage');
|
||||
return view('dokter.ppds', $data);
|
||||
}
|
||||
}
|
||||
|
||||
// Data umum
|
||||
$data = [
|
||||
'dokters' => User::where('previlage', 'supervisor')->get(),
|
||||
'allppds' => User::where('previlage', 'ppds')->get(),
|
||||
'allanalis' => User::where('previlage', 'analis')->get(),
|
||||
'lokasi' => 'Lab Mikrobiologi',
|
||||
'master' => 'mikro',
|
||||
'antrkrmsitu' => 0,
|
||||
];
|
||||
|
||||
// Ambil semua data organisme sekaligus
|
||||
$allOrganisms = Organisms::orderBy('name', 'ASC')->get();
|
||||
|
||||
// Fungsi helper untuk mengelompokkan data organisme
|
||||
$groupOrganisms = function ($kelompok) use ($allOrganisms) {
|
||||
$organisms = $allOrganisms->where('kelompok', $kelompok);
|
||||
|
||||
if ($organisms->isEmpty()) {
|
||||
return [
|
||||
'organismes' => [[['id' => 0, 'name' => 'No Data']]],
|
||||
'categories' => ['No Data'],
|
||||
];
|
||||
}
|
||||
|
||||
$grouped = $organisms->groupBy('category');
|
||||
|
||||
$organismes = [];
|
||||
$categories = [];
|
||||
$i = 0;
|
||||
|
||||
foreach ($grouped as $category => $items) {
|
||||
$categories[] = $category;
|
||||
$j = 0;
|
||||
foreach ($items as $item) {
|
||||
$organismes[$i][$j] = ['id' => $item->id, 'name' => $item->name];
|
||||
$j++;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
|
||||
return [
|
||||
'organismes' => $organismes,
|
||||
'categories' => $categories,
|
||||
];
|
||||
};
|
||||
|
||||
// Data untuk biakankultur dan mikroorganisme
|
||||
$biakankulturData = $groupOrganisms('biakankultur');
|
||||
$mikroorganismeData = $groupOrganisms('mikroorganisme');
|
||||
|
||||
// Gabungkan data
|
||||
$data = array_merge($data, [
|
||||
'organismes' => $biakankulturData['organismes'],
|
||||
'bacterycateggories' => $biakankulturData['categories'],
|
||||
'mikroorganismes' => $mikroorganismeData['organismes'],
|
||||
'mikroorganismestlist' => $mikroorganismeData['categories'],
|
||||
]);
|
||||
|
||||
// Mapping nama kelompok di array dengan nama kelompok di tabel database
|
||||
$kelompokMapping = [
|
||||
'jsonsputum' => 'Sputum',
|
||||
'jsonswabtenggorok' => 'Swab Tenggorok',
|
||||
'jsonurine' => 'Urine',
|
||||
'jsonswabperineum' => 'Swab perineum',
|
||||
'jsonselepitel' => 'Sel Epitel',
|
||||
'jsonselradang' => 'Sel Radang',
|
||||
'jsonmikroorganisme' => 'Q Mikroorganisme',
|
||||
'jsonjumlahlactobacillus' => 'Lactobacillus',
|
||||
'jsonjumlahgardnerella' => 'Gardnerella',
|
||||
'jsonjumlahmobiluncus' => 'Mobiluncus',
|
||||
'jsonpewarnaanziehlnielsen' => 'Pewarnaan Ziehl Nielsen',
|
||||
'jsonpewarnaanneisser' => 'Pewarnaan Neisser',
|
||||
'jsonpewarnaannegatif' => 'Pewarnaan Negatif',
|
||||
'jsonpewarnaanspora' => 'Pewarnaan Spora',
|
||||
'jsonmediabap' => 'Media BAP',
|
||||
'jsonmediacap' => 'Media CAP',
|
||||
'jsonmediamcconkey' => 'Media Mc Conkey',
|
||||
'jsonpemeriksaantl' => 'Pemeriksaan Tambahan Lainnya',
|
||||
'jsonbiakankultur' => 'Biakan Kultur',
|
||||
];
|
||||
|
||||
// Ambil data tambahan untuk kelompok organisme dari koleksi yang sudah diambil
|
||||
foreach ($kelompokMapping as $key => $kelompok) {
|
||||
$data[$key] = $allOrganisms->where('kelompok', $kelompok)->values();
|
||||
}
|
||||
|
||||
// Kembalikan view dengan data
|
||||
return view('dokter.ppds', $data);
|
||||
}
|
||||
public function pengambilan() {
|
||||
if (Session::get('previlage') == ''){
|
||||
return redirect('/login');
|
||||
|
||||
Reference in New Issue
Block a user