-- Query: Productos con ubicación en bodega (sucursal 2)
-- Fecha: 2025-12-11
-- Descripción: Lista productos tipo 1 con su ubicación (rack y repisa) en sucursal 2

USE fotosimp_wcommerce;

-- Query completa: Productos con ubicación en bodega (sucursal 2)
SELECT 
    p.ID as producto_id,
    p.post_title as nombre_producto,
    pm_sku.meta_value as SKU,
    u.ubicacion_sucursal,
    COALESCE(u.rack, 'SIN RACK') as rack,
    COALESCE(u.repisa, 'SIN REPISA') as repisa,
    CONCAT(COALESCE(u.rack, 'SIN RACK'), ' - ', COALESCE(u.repisa, 'SIN REPISA')) as ubicacion_completa
FROM wp_posts p
INNER JOIN wp_postmeta pm_tipo ON pm_tipo.post_id = p.ID 
    AND pm_tipo.meta_key = '_producto_tipo' 
    AND pm_tipo.meta_value = '1'
LEFT JOIN wp_postmeta pm_sku ON pm_sku.post_id = p.ID 
    AND pm_sku.meta_key = '_sku'
LEFT JOIN fs_ubicacion u ON u.producto_id = p.ID 
    AND u.ubicacion_sucursal = 2
WHERE p.post_type = 'product'
    AND p.post_status = 'publish'
ORDER BY 
    CASE WHEN u.rack IS NULL THEN 0 ELSE 1 END,
    u.rack,
    u.repisa,
    p.post_title;

-- Query solo productos CON ubicación en bodega
SELECT 
    p.ID as producto_id,
    p.post_title as nombre_producto,
    pm_sku.meta_value as SKU,
    u.ubicacion_sucursal,
    u.rack,
    u.repisa,
    CONCAT(u.rack, ' - ', u.repisa) as ubicacion_completa
FROM wp_posts p
INNER JOIN wp_postmeta pm_tipo ON pm_tipo.post_id = p.ID 
    AND pm_tipo.meta_key = '_producto_tipo' 
    AND pm_tipo.meta_value = '1'
LEFT JOIN wp_postmeta pm_sku ON pm_sku.post_id = p.ID 
    AND pm_sku.meta_key = '_sku'
INNER JOIN fs_ubicacion u ON u.producto_id = p.ID 
    AND u.ubicacion_sucursal = 2
WHERE p.post_type = 'product'
    AND p.post_status = 'publish'
ORDER BY u.rack, u.repisa, p.post_title;

-- Query solo productos SIN ubicación en bodega
SELECT 
    p.ID as producto_id,
    p.post_title as nombre_producto,
    pm_sku.meta_value as SKU
FROM wp_posts p
INNER JOIN wp_postmeta pm_tipo ON pm_tipo.post_id = p.ID 
    AND pm_tipo.meta_key = '_producto_tipo' 
    AND pm_tipo.meta_value = '1'
LEFT JOIN wp_postmeta pm_sku ON pm_sku.post_id = p.ID 
    AND pm_sku.meta_key = '_sku'
LEFT JOIN fs_ubicacion u ON u.producto_id = p.ID 
    AND u.ubicacion_sucursal = 2
WHERE p.post_type = 'product'
    AND p.post_status = 'publish'
    AND u.producto_id IS NULL
ORDER BY p.post_title;

-- Resumen: Cantidad de productos con y sin ubicación en bodega
SELECT 
    COUNT(DISTINCT p.ID) as total_productos,
    SUM(CASE WHEN u.rack IS NOT NULL THEN 1 ELSE 0 END) as con_ubicacion,
    SUM(CASE WHEN u.rack IS NULL THEN 1 ELSE 0 END) as sin_ubicacion
FROM wp_posts p
INNER JOIN wp_postmeta pm_tipo ON pm_tipo.post_id = p.ID 
    AND pm_tipo.meta_key = '_producto_tipo' 
    AND pm_tipo.meta_value = '1'
LEFT JOIN fs_ubicacion u ON u.producto_id = p.ID 
    AND u.ubicacion_sucursal = 2
WHERE p.post_type = 'product'
    AND p.post_status = 'publish';
