-- Скрипт для очистки витринных комплектов без резервов
-- Используется для схемы tenant: anatol

-- Переключаемся на схему anatol
SET search_path TO anatol;

-- 1. Проверяем проблемные комплекты (READ ONLY)
-- Витринные комплекты без зарезервированных компонентов

SELECT 
    pk.id,
    pk.name,
    s.name as showcase_name,
    pk.status,
    pk.is_temporary,
    (SELECT COUNT(*) FROM inventory_reservation r 
     WHERE r.product_kit_id = pk.id 
     AND r.showcase_id = pk.showcase_id 
     AND r.status = 'reserved') as reserved_count
FROM products_productkit pk
INNER JOIN inventory_showcase s ON pk.showcase_id = s.id
WHERE pk.is_temporary = TRUE
  AND pk.showcase_id IS NOT NULL
  AND pk.status = 'active'
  AND NOT EXISTS (
      SELECT 1 FROM inventory_reservation r
      WHERE r.product_kit_id = pk.id
        AND r.showcase_id = pk.showcase_id
        AND r.status = 'reserved'
  );

-- 2. Удалить проблемные комплекты (ОПАСНО! Сначала проверьте результат выше)
-- Раскомментируйте следующие строки для удаления:

/*
DELETE FROM products_productkit
WHERE id IN (
    SELECT pk.id
    FROM products_productkit pk
    WHERE pk.is_temporary = TRUE
      AND pk.showcase_id IS NOT NULL
      AND pk.status = 'active'
      AND NOT EXISTS (
          SELECT 1 FROM inventory_reservation r
          WHERE r.product_kit_id = pk.id
            AND r.showcase_id = pk.showcase_id
            AND r.status = 'reserved'
      )
);
*/
