false, 'message' => implode(' ', $errors)]); exit; } try { $pdo = getDbConnection(); // --- Generate Asset Code --- $stmt = $pdo->prepare("SELECT kode_kategori FROM kategori_aset WHERE id = ?"); $stmt->execute([$_POST['id_kategori']]); $kode_kategori = $stmt->fetchColumn(); $tahun = date('Y'); $stmt = $pdo->prepare("SELECT COUNT(*) FROM aset WHERE kode_aset LIKE ?"); $stmt->execute([$kode_kategori . '-' . $tahun . '%']); $nomor_urut = $stmt->fetchColumn() + 1; $kode_aset = $kode_kategori . '-' . $tahun . '-' . str_pad($nomor_urut, 4, '0', STR_PAD_LEFT); // --- Insert into Database --- $sql = "INSERT INTO aset (kode_aset, nama_aset, id_kategori, id_kantor_lokasi, spesifikasi, tanggal_pembelian, harga_pembelian, vendor, status) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"; $stmt = $pdo->prepare($sql); $stmt->execute([ $kode_aset, $_POST['nama_aset'], $_POST['id_kategori'], $_POST['id_kantor_lokasi'], $_POST['spesifikasi'] ?? null, $_POST['tanggal_pembelian'], $_POST['harga_pembelian'], $_POST['vendor'] ?? null, $_POST['status'] ?? 'Tersedia' ]); echo json_encode(['success' => true, 'message' => 'Aset berhasil ditambahkan.', 'new_asset_id' => $pdo->lastInsertId()]); } catch (Exception $e) { http_response_code(500); echo json_encode(['success' => false, 'message' => 'Database error: ' . $e->getMessage()]); } ?>