input('query'); $penduduks = Penduduk::where('nik', 'LIKE', "%{$query}%") ->orWhere('nama', 'LIKE', "%{$query}%") ->get(); return view('pages.daftarNama', compact('penduduks')); } public function store(Request $request) { $validatedData = $request->validate([ 'kode' => 'required|unique:penduduks', 'nik' => 'required|unique:penduduks', 'nama' => 'required', 'jeniskelamin' => 'required', 'desa' => 'required', 'dusun' => 'required', 'rw' => 'required', 'rt' => 'required', ], [ 'nik.unique' => 'Nomor Induk Keluarga sudah pernah digunakan', 'kode.unique' => 'Kode sudah pernah digunakan', ]); $penduduks = new penduduk(); $penduduks->kode = $validatedData['kode']; $penduduks->nik = $validatedData['nik']; $penduduks->nama = $validatedData['nama']; $penduduks->jenis_kelamin = $validatedData['jeniskelamin']; $penduduks->desa = $request->input('desa'); $penduduks->dusun = $request->input('dusun'); $penduduks->rw = $request->input('rw'); $penduduks->rt = $request->input('rt'); $penduduks->save(); return redirect('/daftarnama')->with('success', 'Data Penduduk berhasil disimpan.'); } public function edit($id) { $penduduks = penduduk::find($id); return view('pages.ependuduk', compact('penduduks')); } public function hapus($id) { $penduduks = penduduk::find($id); if ($penduduks) { $penduduks->delete(); return redirect()->back()->with('success', 'Data berhasil dihapus.'); } else { return redirect()->back()->with('error', ' Data gagal dihapus'); } } public function update(Request $request, $id) { $penduduks = penduduk::find($id); $penduduks->nik = $request->input('nik'); $penduduks->nama = $request->input('nama'); $penduduks->jenis_kelamin = $request->input('jeniskelamin'); $penduduks->desa = $request->input('desa'); $penduduks->dusun = $request->input('dusun'); $penduduks->rw = $request->input('rw'); $penduduks->rt = $request->input('rt'); $penduduks->save(); // Redirect kembali ke daftar kriteria atau tampilkan pesan sukses return redirect()->route('daftarnama')->with('success', 'Data Penduduk berhasil diperbarui.'); } public function cetak() { $judul = 'Laporan Data Sub Kriteria'; $penduduks = penduduk::all(); return view('pages.print2', compact('judul', 'penduduks')); } public function generateKode(Request $request) { // Logika untuk menghasilkan kode baru $kode = $this->generateUniqueKode(); return response()->json(['kode' => $kode]); } private function generateUniqueKode() { $kode = $this->generateRandomKode(); while ($this->isKodeAlreadyUsed($kode)) { $kode = $this->generateRandomKode(); } return $kode; } private function generateRandomKode() { $prefix = 'ALT'; $number = 1; do { $kode = $prefix . $number; $number++; } while ($this->isKodeAlreadyUsed($kode)); return $kode; } private function isKodeAlreadyUsed($kode) { // Logika untuk memeriksa apakah kode sudah digunakan di database return penduduk::where('kode', $kode)->exists(); } }