first(); // // Mendapatkan tahun saat ini // $currentYear = date("Y"); // // Menghitung nomor urut untuk kode barang // if ($latestAsset == null) { // // Kode pertama // $nomorUrut = 1; // } else { // // Kode berikutnya // $lastCode = substr($latestAsset->seri, 7); // $nomorUrut = intval($lastCode) + 1; // } // // Menggabungkan semua komponen kode barang // $seri = 'AST' . $currentYear . str_pad($nomorUrut, STR_PAD_LEFT); // // Validasi input // $request->validate([ // 'name' => 'required', // 'description' => 'required', // 'warehouse_id' => 'required', // 'date' => 'required', // 'qr_count' => '', // ]); // try { // $currentUser = Auth::user(); // // Menyiapkan data untuk disimpan // $validatedData = $request->except('_token'); // $validatedData['seri'] = $seri; // $validatedData['created_by'] = $currentUser->id; // Menambahkan ID pengguna sebagai created_by // $validatedData['updated_by'] = $currentUser->id; // Menambahkan ID pengguna sebagai updated_by // // Menyimpan data ke dalam database // $newAsset = \App\Models\m_asset::create($validatedData); // // Membuat QR code dan menyimpannya ke dalam basis data // $dataForQR = [ // 'seri' => $newAsset->seri, // 'name' => $newAsset->name, // // ... tambahkan lebih banyak data sesuai kebutuhan ... // ]; // $qrCode = QrCode::size(300)->generate(json_encode($dataForQR)); // // Menyimpan QR code ke dalam kolom 'qr_code' di tabel asset (perbaikan) // $newAsset->update(['qr_count' => $qrCode]); // return redirect()->back()->with('success', 'Data asset berhasil ditambah.'); // } catch (\Throwable $th) { // return redirect()->back()->with('error', 'Data asset gagal ditambah.'); // } // } // public function store(Request $request) // { // $latestAsset = \App\Models\m_asset::latest()->first(); // // Mendapatkan tahun saat ini // $currentYear = date("Y"); // // Menghitung nomor urut untuk kode barang // if ($latestAsset == null) { // // Kode pertama // $nomorUrut = 1; // } else { // // Kode berikutnya // $lastCode = substr($latestAsset->seri, 7); // $nomorUrut = intval($lastCode) + 1; // } // // Menggabungkan semua komponen kode barang // $seri = 'AST' . $currentYear . str_pad($nomorUrut, STR_PAD_LEFT); // // Validasi input // $request->validate([ // 'name' => 'required', // 'description' => 'required', // 'warehouse_id' => 'required', // 'date' => 'required', // 'qr_count' => '', // ]); // try { // $currentUser = Auth::user(); // // Menyiapkan data untuk disimpan // $validatedData = $request->except('_token'); // $validatedData['seri'] = $seri; // $validatedData['created_by'] = $currentUser->id; // Menambahkan ID pengguna sebagai created_by // $validatedData['updated_by'] = $currentUser->id; // Menambahkan ID pengguna sebagai updated_by // // Menyimpan data ke dalam database // $newAsset = \App\Models\m_asset::create($validatedData); // // Generate QR code and save it as an image in the public directory // $dataForQR = [ // 'seri' => $newAsset->seri, // 'name' => $newAsset->name, // // ... tambahkan lebih banyak data sesuai kebutuhan ... // ]; // $qrCode = QrCode::format('png')->size(300)->generate(json_encode($dataForQR)); // // Menyimpan QR code sebagai gambar di direktori penyimpanan publik // $qrCodePath = 'qr_codes/' . $seri . '.png'; // Storage::disk('public')->put($qrCodePath, $qrCode); // // Menyimpan URL gambar QR code ke dalam kolom 'qr_count' // $newAsset->update(['qr_count' => $qrCodePath]); // return redirect()->back()->with('success', 'Data asset berhasil ditambah.'); // } catch (\Throwable $th) { // return redirect()->back()->with('error', 'Data asset gagal ditambah.'); // } // } public function store(Request $request) { // dd($request); $latestAsset = \App\Models\m_asset::latest()->first(); // Mendapatkan tahun saat ini $currentYear = date("Y"); // Menghitung nomor urut untuk kode barang if ($latestAsset == null) { // Kode pertama $nomorUrut = 1; } else { // Kode berikutnya $lastCode = substr($latestAsset->seri, 7); $nomorUrut = intval($lastCode) + 1; } // Menggabungkan semua komponen kode barang $seri = 'AST' . $currentYear . str_pad($nomorUrut, STR_PAD_LEFT); // Validasi input $request->validate([ 'name' => 'required', 'description' => 'required', 'warehouse_id' => 'required', 'date' => 'required', ]); try { $currentUser = Auth::user(); // Menyiapkan data untuk disimpan $validatedData = $request->except('_token'); $validatedData['seri'] = $seri; $validatedData['created_by'] = $currentUser->id; // Menambahkan ID pengguna sebagai created_by $validatedData['updated_by'] = $currentUser->id; // Menambahkan ID pengguna sebagai updated_by // dd($validatedData); // Menyimpan data ke dalam database \App\Models\m_asset::create($validatedData); return redirect()->back()->with('success', 'Data asset berhasil ditambah.'); } catch (\Throwable $th) { // dd($th); return redirect()->back()->with('error', 'Data asset gagal ditambah.'); } } /** * Display the specified resource. */ public function show($id) { // dd('oke'); $asset = m_asset::find($id); $warehouse = m_warehouse::all(); return view('MasterData.asset.show', compact('asset', 'warehouse')); } // Menampilkan data QR public function QR($id) { $asset = m_asset::find($id); return QrCode::generate( 'Hello, World!', ); } /** * Show the form for editing the specified resource. */ public function edit() { // dd('oke'); } /** * Update the specified resource in storage. */ public function update(Request $request, $id) { // dd('oke'); $request->validate([ 'name' => 'required', 'description' => 'required', 'warehouse_id' => 'required', 'date' => 'required', 'qr_count' => 'required', ]); try { $asset = m_asset::findOrFail($id); $asset->update($request->all()); return redirect()->back()->with('success', 'Data asset berhasil diperbaharui'); } catch (\Throwable $th) { return redirect()->back()->with('error', 'Data asset gagal diperbaharui'); } } /** * Remove the specified resource from storage. */ public function destroy($id) { // dd("oke"); try { $asset = m_asset::findOrFail($id); $asset->delete(); return redirect()->back()->with('success', 'Data asset berhasil dihapus'); } catch (\Throwable $th) { return redirect()->back()->with('error', 'Data asset gagal dihapus'); } } /** * Cetak PDF. */ public function cetakpdf() { // dd('oke'); $asset = m_asset::all(); // Buat objek Dompdf $dompdf = new Dompdf(); // Render tampilan ke PDF $html = view('MasterData.asset_pdf', compact('asset'))->render(); // Muat HTML ke Dompdf $dompdf->loadHtml($html); // Atur ukuran dan orientasi kertas $dompdf->setPaper('A4', 'portrait'); // Render PDF $dompdf->render(); // Tampilkan PDF di browser return $dompdf->stream('Laporan Assets'); } /** * Cetak Exel. */ public function export() { return Excel::download(new AssetExport, 'Laporan Assets.xlsx'); } }