get(); return response()->json([ 'message' => 'Data departemen berhasil diambil', 'data' => $data ]); } catch (\Exception $e) { return response()->json([ 'message' => 'Gagal ambil departemen', 'error' => $e->getMessage() ], 500); } } public function tambahDepartemen(Request $request) { DB::beginTransaction(); try { $validated = $request->validate([ 'nama_departemen' => 'required|string|max:100', ]); $data = Ms_Departemen::create([ 'nama_departemen' => $validated['nama_departemen'], 'statusenabled' => true ]); DB::commit(); return response()->json([ 'message' => 'Departemen berhasil ditambahkan', 'data' => $data ], 201); } catch (\Exception $e) { DB::rollBack(); return response()->json([ 'message' => 'Gagal tambah departemen', 'error' => $e->getMessage() ], 500); } } public function updateDepartemen(Request $request, $id) { DB::beginTransaction(); try { $validated = $request->validate([ 'nama_departemen' => 'required|string|max:100', ]); $departemen = Ms_Departemen::findOrFail($id); $departemen->update([ 'nama_departemen' => $validated['nama_departemen'], ]); DB::commit(); return response()->json([ 'message' => 'Departemen berhasil diperbarui', 'data' => $departemen ], 200); } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $e) { DB::rollBack(); return response()->json([ 'message' => 'Departemen tidak ditemukan' ], 404); } catch (\Exception $e) { DB::rollBack(); return response()->json([ 'message' => 'Terjadi kesalahan saat update departemen', 'error' => $e->getMessage() ], 500); } } public function hapusDepartemen($id) { DB::beginTransaction(); try { $departemen = Ms_Departemen::findOrFail($id); $departemen->statusenabled = false; $departemen->save(); DB::commit(); return response()->json([ 'message' => 'Departemen berhasil dinonaktifkan', 'data' => $departemen ], 200); } catch (\Exception $e) { DB::rollBack(); return response()->json([ 'message' => 'Gagal hapus departemen', 'error' => $e->getMessage() ], 500); } } }