getZonesIn($warehouse); } elseif ($type === 'from') { // Stock_out source — filter by sku + lot + serial $output = $whMgmt->getZonesOut( $warehouse, $data['product_sku'] ?? '', $data['lot_number'] ?? null, $data['serial_number'] ?? null ); } else { // Admin / read-only — all zones in the warehouse $sth = $pdo2->prepare( "SELECT DISTINCT zone FROM md_rack WHERE company_id = :company_id AND warehouse = :warehouse ORDER BY CAST(zone AS UNSIGNED), zone" ); $sth->execute([':company_id' => $company_id, ':warehouse' => $warehouse]); $output = $sth->fetchAll(PDO::FETCH_ASSOC); } // Edit mode — return all zones regardless of occupancy if (!empty($data['id'])) { $sth = $pdo2->prepare( "SELECT DISTINCT zone FROM md_rack WHERE company_id = :company_id AND warehouse = :warehouse ORDER BY CAST(zone AS UNSIGNED), zone" ); $sth->execute([':company_id' => $company_id, ':warehouse' => $warehouse]); $output = $sth->fetchAll(PDO::FETCH_ASSOC); } $answer['output'] = $output; $answer['success'] = 1; exit(json_encode($answer)); ?>