where('statusenabled', true)->get(); return response()->json([ 'message' => 'Data ruang pelayanan berhasil diambil', 'data' => $data ]); } catch (\Exception $e) { return response()->json([ 'message' => 'Gagal ambil data ruang', 'error' => $e->getMessage() ], 500); } } public function getDetailRuangPelayanan($id) { try { $ruang = Ms_RuangPelayanan::with('departemen')->where('statusenabled', true)->findOrFail($id); return response()->json([ 'message' => 'Data ruang ditemukan', 'data' => $ruang ]); } catch (\Exception $e) { return response()->json([ 'message' => 'Ruang tidak ditemukan', 'error' => $e->getMessage() ], 404); } } public function tambahRuangPelayanan(Request $request) { DB::beginTransaction(); try { $validated = $request->validate([ 'NamaRuangPelayanan' => 'required|string|max:100', 'departemen_id' => 'required', ]); $ruang = Ms_RuangPelayanan::create([ 'NamaRuangPelayanan' => $validated['NamaRuangPelayanan'], 'departemen_id' => $validated['departemen_id'], 'statusenabled' => true, ]); DB::commit(); return response()->json([ 'message' => 'Ruang pelayanan berhasil ditambahkan', 'data' => $ruang ], 201); } catch (\Exception $e) { DB::rollBack(); return response()->json([ 'message' => 'Gagal tambah ruang', 'error' => $e->getMessage() ], 500); } } public function updateRuangPelayanan(Request $request, $id) { DB::beginTransaction(); try { $validated = $request->validate([ 'NamaRuangPelayanan' => 'required|string|max:100', 'departemen_id' => 'required', ]); $ruang = Ms_RuangPelayanan::findOrFail($id); $ruang->update([ 'NamaRuangPelayanan' => $validated['NamaRuangPelayanan'], 'departemen_id' => $validated['departemen_id'], ]); DB::commit(); return response()->json([ 'message' => 'Ruang pelayanan berhasil diperbarui', 'data' => $ruang ]); } catch (\Exception $e) { DB::rollBack(); return response()->json([ 'message' => 'Gagal update ruang', 'error' => $e->getMessage() ], 500); } } public function hapusRuangPelayanan($id) { DB::beginTransaction(); try { $ruang = Ms_RuangPelayanan::findOrFail($id); $ruang->statusenabled = false; $ruang->save(); DB::commit(); return response()->json([ 'message' => 'Ruang pelayanan berhasil dinonaktifkan', 'data' => $ruang ]); } catch (\Exception $e) { DB::rollBack(); return response()->json([ 'message' => 'Gagal hapus ruang', 'error' => $e->getMessage() ], 500); } } public function getRuanganRegistrasi(Request $request) { $jenisRawat = $request->jenis; $departemenId = []; if ($jenisRawat === 'rawat_jalan') { $departemenId = [1, 3]; } elseif ($jenisRawat === 'rawat_inap') { $departemenId = [2]; } else { return response()->json([ 'message' => 'Jenis rawat tidak valid', ], 400); } $data = \App\Models\Ms_RuangPelayanan::where('statusenabled', true) ->whereIn('departemen_id', $departemenId) ->get(); return response()->json([ 'message' => 'Data ruangan berhasil diambil', 'data' => $data, ]); } }