-- =============================================================================
-- Bitácora detallada de envío de recetas a sucursales.
--
-- A diferencia de `registro_de_envios` (que solo guarda tipo/id/fecha/sucursal),
-- esta tabla guarda, por cada ingrediente/preparado de la receta que se envió,
-- el id de origen (BD base = cat_tipo_sucursal), el id traducido en destino
-- (BD de la sucursal), y si tuvo que crearse porque no existía en destino.
--
-- INSTRUCCIONES:
-- Ejecutar este script UNA SOLA VEZ en la BD BASE (kapital_presto_ks), la
-- misma que usa `conect()` en catalogosAsucursales/funciones_php/acciones.php
-- (donde también vive `registro_de_envios`). NO se ejecuta en las BDs de las
-- sucursales.
-- =============================================================================

CREATE TABLE IF NOT EXISTS registro_de_envios_detalle (
  id INT(11) NOT NULL AUTO_INCREMENT,
  idSucursal INT(11) NOT NULL,
  idPlatillo INT(11) NOT NULL,
  fecha DATETIME NOT NULL,
  tipoItem VARCHAR(20) NOT NULL,          -- 'ingrediente' | 'preparado'
  idItemOrigen INT(11) NOT NULL,          -- id en la BD base (cat_tipo_sucursal)
  idItemDestino INT(11) NOT NULL,         -- id traducido en la BD de la sucursal
  codigo VARCHAR(50) NULL,
  nombre VARCHAR(255) NULL,
  cantidad DECIMAL(12,4) NOT NULL DEFAULT 0,
  costoUnitario DECIMAL(12,4) NOT NULL DEFAULT 0,
  creadoEnDestino TINYINT(1) NOT NULL DEFAULT 0,  -- 1 si no existía en destino y se creó
  emparejadoPor VARCHAR(20) NULL,         -- 'codigo' | 'nombre' | NULL (si se creó)
  PRIMARY KEY (id),
  KEY idx_sucursal_platillo_fecha (idSucursal, idPlatillo, fecha)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- Mostrar estructura final de la tabla
DESCRIBE registro_de_envios_detalle;
