where('statusenabled', true) ->get(); return response()->json([ 'message' => 'Data pegawai berhasil diambil', 'data' => $data ], 200); } catch (\Exception $e) { return response()->json([ 'message' => 'Terjadi kesalahan saat mengambil data pegawai', 'error' => $e->getMessage() ], 500); } } public function getDetailPegawai($id) { try { $pegawai = Ms_Pegawai::where('statusenabled', true)->findOrFail($id); return response()->json([ 'message' => 'Data pegawai ditemukan', 'data' => $pegawai ], 200); } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $e) { return response()->json([ 'message' => 'Pegawai tidak ditemukan' ], 404); } catch (\Exception $e) { return response()->json([ 'message' => 'Terjadi kesalahan saat mengambil data pegawai', 'error' => $e->getMessage() ], 500); } } public function pegawaiBaru(Request $request) { DB::beginTransaction(); try { $validated = $request->validate([ 'NamaPegawai' => 'required|string|max:100', 'id_jenis_pegawai' => 'required', ]); $pegawai = Ms_Pegawai::create([ 'NamaPegawai' => $validated['NamaPegawai'], 'id_jenis_pegawai' => $validated['id_jenis_pegawai'], 'statusenabled' => true, ]); DB::commit(); return response()->json([ 'message' => 'Pegawai berhasil ditambahkan', 'data' => $pegawai ], 201); } catch (\Exception $e) { DB::rollBack(); return response()->json([ 'message' => 'Terjadi kesalahan saat menyimpan pegawai', 'error' => $e->getMessage() ], 500); } } public function updatePegawai(Request $request, $id) { DB::beginTransaction(); try { $validated = $request->validate([ 'NamaPegawai' => 'required|string|max:100', ]); $pegawai = Ms_Pegawai::findOrFail($id); $pegawai->update([ 'NamaPegawai' => $validated['NamaPegawai'], ]); DB::commit(); return response()->json([ 'message' => 'Pegawai berhasil diperbarui', 'data' => $pegawai ], 200); } catch (\Exception $e) { DB::rollBack(); return response()->json([ 'message' => 'Terjadi kesalahan saat memperbarui pegawai', 'error' => $e->getMessage() ], 500); } } public function hapusPegawai($id) { DB::beginTransaction(); try { $pegawai = Ms_Pegawai::findOrFail($id); $pegawai->statusenabled = false; $pegawai->save(); DB::commit(); return response()->json([ 'message' => 'Pegawai berhasil di-nonaktifkan', 'data' => $pegawai ], 200); } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $e) { DB::rollBack(); return response()->json([ 'message' => 'Pegawai tidak ditemukan' ], 404); } catch (\Exception $e) { DB::rollBack(); return response()->json([ 'message' => 'Terjadi kesalahan saat menghapus pegawai', 'error' => $e->getMessage() ], 500); } } }