checkpion
This commit is contained in:
parent
9f467b7dab
commit
d49d88e122
|
|
@ -8,6 +8,7 @@
|
|||
use App\Models\HasilKarya;
|
||||
use App\Models\Penjemputan;
|
||||
use App\Models\PenilaianCeklis;
|
||||
use App\Models\Siswa;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class GuruController extends Controller
|
||||
|
|
@ -31,6 +32,13 @@ public function storeAnekdot(Request $request)
|
|||
return response()->json(['success' => true, 'message' => 'Anekdot berhasil disimpan']);
|
||||
}
|
||||
|
||||
// Ambil Riwayat Anekdot yang dibuat oleh Guru yang login
|
||||
public function getAnekdot(Request $request)
|
||||
{
|
||||
$data = Anekdot::with('siswa')->where('guru_id', $request->user()->id)->latest()->get();
|
||||
return response()->json(['success' => true, 'data' => $data]);
|
||||
}
|
||||
|
||||
// 2. Input Hasil Karya (Upload Foto)
|
||||
public function storeKarya(Request $request)
|
||||
{
|
||||
|
|
@ -112,4 +120,38 @@ public function storePenjemputan(Request $request)
|
|||
|
||||
return response()->json(['success' => true, 'message' => 'Data penjemputan tercatat']);
|
||||
}
|
||||
|
||||
// 4. Scan QR Penjemputan
|
||||
public function scanJemput(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'qr_code' => 'required',
|
||||
]);
|
||||
|
||||
// Cari siswa berdasarkan qr_code (Biasanya NIS atau ID Siswa)
|
||||
$siswa = Siswa::where('nis', $request->qr_code)
|
||||
->orWhere('id', $request->qr_code)
|
||||
->first();
|
||||
|
||||
if (!$siswa) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => 'QR Code tidak valid! Data siswa tidak ditemukan.'
|
||||
], 404);
|
||||
}
|
||||
|
||||
// Catat Penjemputan
|
||||
// Kita bisa atur default nama penjemput "Orang Tua/Wali"
|
||||
Penjemputan::create([
|
||||
'siswa_id' => $siswa->id,
|
||||
'nama_penjemput' => 'Orang Tua / Wali',
|
||||
'status_hubungan' => 'Orang Tua',
|
||||
'waktu_jemput' => now(),
|
||||
]);
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'message' => 'Berhasil mencatat penjemputan untuk ' . $siswa->nama_lengkap
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
@ -9,12 +9,11 @@ class PengumumanController extends Controller
|
|||
{
|
||||
public function index()
|
||||
{
|
||||
// Sementara kita return array kosong dulu atau contoh data
|
||||
$data = \App\Models\Pengumuman::where('status', true)->latest()->get();
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'data' => [
|
||||
['judul' => 'Libur Nasional', 'isi' => 'Besok sekolah libur ya bunda.'],
|
||||
]
|
||||
'data' => $data
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
@ -19,7 +19,7 @@ public function index()
|
|||
if ($user->role == 'guru') {
|
||||
// --- JIKA GURU ---
|
||||
// Ambil SEMUA data siswa (untuk menu "Data Kelas")
|
||||
$siswa = Siswa::with(['wali_murid', 'kelompok'])->latest()->get();
|
||||
$siswa = Siswa::with(['wali_murid', 'kelompok', 'anekdots'])->latest()->get();
|
||||
|
||||
} else {
|
||||
// --- JIKA WALI MURID ---
|
||||
|
|
|
|||
|
|
@ -22,4 +22,9 @@ class Anekdot extends Model
|
|||
'analisis_capaian',
|
||||
'foto',
|
||||
];
|
||||
|
||||
public function siswa()
|
||||
{
|
||||
return $this->belongsTo(Siswa::class);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,15 +33,15 @@
|
|||
<tr class="hover:bg-blue-50 transition duration-150 group">
|
||||
<td class="p-4 whitespace-nowrap">
|
||||
<div class="text-gray-800 font-semibold">
|
||||
{{ \Carbon\Carbon::parse($log->waktu_jemput)->format('H:i') }} WIB
|
||||
{{ \Carbon\Carbon::parse($log->waktu_jemput)->timezone('Asia/Jakarta')->format('H:i') }} WIB
|
||||
</div>
|
||||
<div class="text-xs text-gray-500">
|
||||
{{ \Carbon\Carbon::parse($log->waktu_jemput)->format('d M Y') }}
|
||||
{{ \Carbon\Carbon::parse($log->waktu_jemput)->timezone('Asia/Jakarta')->format('d M Y') }}
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<td class="p-4">
|
||||
<div class="font-bold text-gray-800">{{ $log->siswa->nama ?? 'Siswa Terhapus' }}</div>
|
||||
<div class="font-bold text-gray-800">{{ $log->siswa->nama_siswa ?? 'Siswa Terhapus' }}</div>
|
||||
<div class="text-xs text-gray-500">NIS: {{ $log->siswa->nis ?? '-' }}</div>
|
||||
</td>
|
||||
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@
|
|||
|
||||
// --- KHUSUS GURU (Input Data) ---
|
||||
// Nanti kalau Guru login di HP untuk input data:
|
||||
Route::get('/guru/anekdot', [GuruController::class, 'getAnekdot']); // TAMBAHAN INI
|
||||
Route::post('/guru/anekdot', [GuruController::class, 'storeAnekdot']);
|
||||
Route::post('/guru/karya', [GuruController::class, 'storeKarya']);
|
||||
Route::post('/guru/penjemputan', [GuruController::class, 'storePenjemputan']);
|
||||
|
|
@ -55,6 +56,7 @@
|
|||
|
||||
// RUTE PENJEMPUTAN BARU
|
||||
Route::post('/penjemputan', [PenjemputanController::class, 'store']);
|
||||
Route::post('/guru/scan-jemput', [GuruController::class, 'scanJemput']);
|
||||
|
||||
Route::get('/rute-astar', [AStarController::class, 'cariRute']);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue