diff --git a/app/Exports/SantrisExport.php b/app/Exports/SantrisExport.php
new file mode 100644
index 0000000..50d10cf
--- /dev/null
+++ b/app/Exports/SantrisExport.php
@@ -0,0 +1,46 @@
+map(function ($trainData) {
+ return [
+ 'Nama' => $trainData->nama,
+ 'Jenis Kelamin' => $trainData->jenis_kelamin,
+ 'NIS' => $trainData->nis,
+ 'Asal Daerah' => $trainData->asal_daerah,
+ 'Tahun Angkatan' => $trainData->tahun_angkatan,
+ 'Capaian Al Qur\'an' => $trainData->alquran,
+ 'Capaian Hadis' => $trainData->alhadis,
+ 'Status' => $trainData->status,
+ ];
+ });
+ }
+
+ public function headings(): array
+ {
+ return [
+ 'Nama',
+ 'Jenis Kelamin',
+ 'NIS',
+ 'Asal Daerah',
+ 'Tahun Angkatan',
+ 'Capaian Al Qur\'an',
+ 'Capaian Hadis',
+ 'Target'
+ ];
+ }
+}
diff --git a/app/Http/Controllers/ClassifiactionController.php b/app/Http/Controllers/ClassifiactionController.php
deleted file mode 100644
index 7eb982e..0000000
--- a/app/Http/Controllers/ClassifiactionController.php
+++ /dev/null
@@ -1,48 +0,0 @@
-resetTrainData();
+ }
+
+ $santris = TrainData::orderBy('created_at', 'desc')->get();
+ return view('pages.admin.train-data', compact('santris'));
+ }
+
+ public function importExcel(Request $request)
+ {
+ $request->validate([
+ 'file' => 'required|file|mimes:xlsx,csv'
+ ]);
+
+ Excel::import(new SantrisImport, $request->file('file'));
+
+ return back()->with('success', 'Data latih berhasil diimpor!');
+ }
+
+ public function exportExcel()
+ {
+ return Excel::download(new SantrisExport, 'data-latih.xlsx');
+ }
+
+ public function deleteTrainData($id)
+ {
+ TrainData::findOrFail($id)->delete();
+ return response()->json(['success' => 'Data berhasil dihapus dari tampilan halaman ini.']);
+ }
+
+ public function resetTrainData()
+ {
+ // Hapus semua data train_data
+ TrainData::truncate();
+
+ // Ambil data dari riwayats dan simpan ke train_data
+ $riwayats = Riwayat::with('user')->get();
+
+ foreach ($riwayats as $riwayat) {
+ TrainData::create([
+ 'nama' => $riwayat->user->name ?? '—',
+ 'jenis_kelamin' => $riwayat->user->jenis_kelamin ?? '—',
+ 'nis' => $riwayat->user->nis ?? '—',
+ 'asal_daerah' => $riwayat->user->asal_daerah ?? '—',
+ 'tahun_angkatan' => $riwayat->tahun_angkatan,
+ 'alquran' => $riwayat->alquran,
+ 'alhadis' => $riwayat->alhadis,
+ 'status' => $riwayat->status,
+ ]);
+ }
+
+ return back()->with('success', 'Data latih direset!');
+ }
+
+
+ /**
+ * Menampilkan hasil klasifikasi (classificationResult)
+ *
+ * @return \Illuminate\View\View
+ */
+ public function classificationResult()
+ {
+ // Tambahkan logika untuk mengolah dan menampilkan hasil klasifikasi
+ // Misalnya, menjalankan algoritma atau mengambil data dari model
+
+ return view('pages.admin.class-result'); // Pastikan view ini telah dibuat
+ }
+}
diff --git a/app/Http/Controllers/MunaqosahController.php b/app/Http/Controllers/MunaqosahController.php
index 6cd3548..f0b8213 100644
--- a/app/Http/Controllers/MunaqosahController.php
+++ b/app/Http/Controllers/MunaqosahController.php
@@ -12,7 +12,7 @@ public function destroy($id)
{
$riwayat = Riwayat::findOrFail($id);
$riwayat->delete();
- return redirect()->back()->with('success', 'Data riwayat berhasil dihapus.');
+ return redirect()->back()->with('success', 'Data Munaqosah berhasil dihapus.');
}
/**
@@ -37,10 +37,10 @@ public function send(Request $request, $id)
/**
* Tampilkan data munaqosah untuk admin.
*/
- public function showMunaqosah()
+ public function showMunaqosah()
{
$riwayat = Riwayat::whereNotNull('sent_at')
- ->where('admin_id', auth()->id()) // hanya data untuk admin yang sedang login
+ ->where('admin_id', auth()->id()) // hanya data untuk admin yang sedang login
->orderBy('created_at', 'desc')
->get();
diff --git a/app/Imports/SantrisImport.php b/app/Imports/SantrisImport.php
new file mode 100644
index 0000000..dc407e4
--- /dev/null
+++ b/app/Imports/SantrisImport.php
@@ -0,0 +1,26 @@
+ $row['nis']], // Jika NIS sudah ada, perbarui data
+ [
+ 'nama' => $row['nama'],
+ 'jenis_kelamin' => $row['jenis_kelamin'],
+ 'asal_daerah' => $row['asal_daerah'],
+ 'tahun_angkatan' => $row['tahun_angkatan'],
+ 'alquran' => $row['capaian_al_quran'],
+ 'alhadis' => $row['capaian_hadis'],
+ 'status' => $row['status']
+ ]
+ );
+ }
+}
diff --git a/app/Models/Riwayat.php b/app/Models/Riwayat.php
index 768843c..1816e07 100644
--- a/app/Models/Riwayat.php
+++ b/app/Models/Riwayat.php
@@ -19,15 +19,12 @@ class Riwayat extends Model
'nilai_n',
'status',
'sent_at',
- 'admin_id',
- 'munaqosah_status',
+ 'admin_id',
+ 'munaqosah_status',
];
-
- /**
- * Relasi ke model User (jika diperlukan)
- */
public function user()
{
- return $this->belongsTo(User::class, 'user_id');
+ return $this->belongsTo(User::class, 'user_id')
+ ->select(['id', 'name', 'jenis_kelamin', 'nis', 'asal_daerah']);
}
}
diff --git a/app/Models/TrainData.php b/app/Models/TrainData.php
new file mode 100644
index 0000000..dec34f6
--- /dev/null
+++ b/app/Models/TrainData.php
@@ -0,0 +1,24 @@
+id();
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('santris');
- }
-};
diff --git a/database/migrations/2025_02_08_170651_create_train_data_table.php b/database/migrations/2025_02_08_170651_create_train_data_table.php
new file mode 100644
index 0000000..3a6432b
--- /dev/null
+++ b/database/migrations/2025_02_08_170651_create_train_data_table.php
@@ -0,0 +1,28 @@
+id();
+ $table->string('nama');
+ $table->string('jenis_kelamin');
+ $table->string('nis')->unique();
+ $table->string('asal_daerah');
+ $table->string('tahun_angkatan');
+ $table->string('alquran')->nullable();
+ $table->string('alhadis')->nullable();
+ $table->string('status')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ public function down()
+ {
+ Schema::dropIfExists('train_data');
+ }
+};
diff --git a/resources/views/pages/admin/add-admin.blade.php b/resources/views/pages/admin/add-admin.blade.php
index 1f5d68e..e532464 100644
--- a/resources/views/pages/admin/add-admin.blade.php
+++ b/resources/views/pages/admin/add-admin.blade.php
@@ -23,66 +23,75 @@
Data Admin
@if(session('success'))
-
- {{ session('success') }}
-
- @endif
+
+ {{ session('success') }}
+
+ @endif
{{-- Tabel Admin --}}
-
-
-
- No |
- Email |
- Aksi |
-
-
-
- @foreach($admins as $index => $admin)
-
- {{ $index+1 }} |
- {{ $admin->email }} |
-
-
- |
-
-
-
- @endforeach
-
-
+
+
+
+
+ No |
+ Email |
+ Aksi |
+
+
+
+ @foreach($admins as $index => $admin)
+
+ {{ $index+1 }} |
+ {{ $admin->email }} |
+
+
+ |
+
+
+
+ @endforeach
+
+
+
-
-
+
+
+
+
@@ -73,6 +77,9 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ @endforeach
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
@endsection
\ No newline at end of file
diff --git a/resources/views/pages/santri/history.blade.php b/resources/views/pages/santri/history.blade.php
index ffc3072..e2885d9 100644
--- a/resources/views/pages/santri/history.blade.php
+++ b/resources/views/pages/santri/history.blade.php
@@ -83,7 +83,8 @@
- @if($loop->first)
+ @if($loop->first && ($item->munaqosah_status === null ||
+ $item->munaqosah_status === 'Belum Diverifikasi'))