false, 'message' => 'ID parsil tidak valid.', ]); } if ($namaPemilik === '' || !in_array($statusKepemilikan, $allowedStatus, true)) { json_response(422, [ 'success' => false, 'message' => 'Nama pemilik wajib diisi dan status harus SHM/HGB/HGU/HP.', ]); } if ($luasM2 <= 0) { json_response(422, [ 'success' => false, 'message' => 'Luas tanah harus lebih dari 0 m2.', ]); } $sql = 'UPDATE parsil_tanah SET nama_pemilik = :nama_pemilik, status_kepemilikan = :status_kepemilikan, luas_m2 = :luas_m2, geom = ST_GeomFromText(:wkt), updated_at = CURRENT_TIMESTAMP WHERE id = :id'; $stmt = $pdo->prepare($sql); $stmt->execute([ ':id' => $id, ':nama_pemilik' => $namaPemilik, ':status_kepemilikan' => $statusKepemilikan, ':luas_m2' => $luasM2, ':wkt' => $wkt, ]); if ($stmt->rowCount() < 1) { $checkStmt = $pdo->prepare('SELECT id FROM parsil_tanah WHERE id = :id LIMIT 1'); $checkStmt->execute([':id' => $id]); if (!$checkStmt->fetch()) { json_response(404, [ 'success' => false, 'message' => 'Data parsil tidak ditemukan.', ]); } } json_response(200, [ 'success' => true, 'message' => 'Data parsil tanah berhasil diperbarui.', ]);