-- =============================================================================
-- XPERT SAP B1 - Migracion 056
-- item_picking_targets: minimo/objetivo de reposicion POR ITEM (no por bin).
-- Complementa a item_picking_levels (que sigue siendo, sin cambios, el bin
-- hogar fijo y exclusivo de un item -- eso no se toca).
--
-- Esta tabla nueva sirve para el modelo alternativo de "pool de bines
-- compartido por familia": un item que NO tiene fila en item_picking_levels
-- pero cuya categoria mapea (via zone_category_rules) a una zona de Picking
-- puede reponerse ahi, mezclado con sus hermanos de la misma categoria,
-- pero el control de minimo/objetivo sigue siendo por SKU individual -- de
-- ahi que el minimo/objetivo tenga que vivir a nivel item, no atado a un
-- bin puntual (ver ReplenishmentService).
--
-- No se le saca min_qty/target_qty a item_picking_levels -- los items con
-- bin fijo siguen funcionando exactamente igual que hoy, sin migrar nada.
-- =============================================================================

CREATE TABLE IF NOT EXISTS `item_picking_targets` (
    `id`           INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    `company_id`   INT UNSIGNED NOT NULL,
    `item_id`      INT UNSIGNED NOT NULL,
    `min_qty`      DECIMAL(15,4) NOT NULL,
    `target_qty`   DECIMAL(15,4) NOT NULL,
    `is_active`    TINYINT(1) NOT NULL DEFAULT 1,
    `created_by`   INT UNSIGNED NULL,
    `created_at`   DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `updated_at`   DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    UNIQUE KEY `uq_pickingtargets_item` (`item_id`),
    KEY `idx_pickingtargets_company` (`company_id`),
    CONSTRAINT `fk_pickingtargets_item`    FOREIGN KEY (`item_id`)    REFERENCES `items`(`id`),
    CONSTRAINT `fk_pickingtargets_company` FOREIGN KEY (`company_id`) REFERENCES `companies`(`id`),
    CONSTRAINT `fk_pickingtargets_user`    FOREIGN KEY (`created_by`) REFERENCES `users`(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
