-- Tabla para movimientos de inventario en ALMACENES (DEPOSITS)
-- Registra cada entrada/salida de productos en los almacenes
CREATE TABLE `kardex_deposits` (
  `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  `id_deposit` bigint(20) UNSIGNED NOT NULL COMMENT 'ID del almacén',
  `id_input` bigint(20) UNSIGNED NOT NULL COMMENT 'ID del producto',
  `tipo_movimiento` enum('entrada','salida') NOT NULL COMMENT 'Tipo de movimiento',
  `documento_tipo` varchar(50) NOT NULL COMMENT 'buy_receipt o sales_guide',
  `documento_id` bigint(20) UNSIGNED NOT NULL COMMENT 'ID del documento origen',
  `cantidad` decimal(10,2) NOT NULL COMMENT 'Cantidad del movimiento',
  `stock_anterior` decimal(10,2) NOT NULL COMMENT 'Stock antes del movimiento',
  `stock_actual` decimal(10,2) NOT NULL COMMENT 'Stock después del movimiento',
  `fecha` datetime NOT NULL COMMENT 'Fecha del movimiento',
  `observacion` text DEFAULT NULL COMMENT 'Observaciones adicionales',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_deposit` (`id_deposit`),
  KEY `idx_input` (`id_input`),
  KEY `idx_fecha` (`fecha`),
  KEY `idx_documento` (`documento_tipo`, `documento_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Tabla para movimientos de inventario en TIENDAS (STORES)
-- Registra cuando los productos llegan a las tiendas por ventas
CREATE TABLE `kardex_stores` (
  `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  `id_store` bigint(20) UNSIGNED NOT NULL COMMENT 'ID de la tienda',
  `id_input` bigint(20) UNSIGNED NOT NULL COMMENT 'ID del producto',
  `tipo_movimiento` enum('entrada','salida') NOT NULL COMMENT 'Tipo de movimiento',
  `documento_tipo` varchar(50) NOT NULL COMMENT 'sales_guide u otro',
  `documento_id` bigint(20) UNSIGNED NOT NULL COMMENT 'ID del documento origen',
  `cantidad` decimal(10,2) NOT NULL COMMENT 'Cantidad del movimiento',
  `stock_anterior` decimal(10,2) NOT NULL COMMENT 'Stock antes del movimiento',
  `stock_actual` decimal(10,2) NOT NULL COMMENT 'Stock después del movimiento',
  `fecha` datetime NOT NULL COMMENT 'Fecha del movimiento',
  `observacion` text DEFAULT NULL COMMENT 'Observaciones adicionales',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_store` (`id_store`),
  KEY `idx_input` (`id_input`),
  KEY `idx_fecha` (`fecha`),
  KEY `idx_documento` (`documento_tipo`, `documento_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
