-- ============================================================
--  Migración 2026-09-25_03 · Estado final "Cerrada" en orden de compra
-- ------------------------------------------------------------
--  Agrega un último estado, terminal, para dar por concluida una orden
--  ya totalmente recibida (y sin pagos pendientes) — a partir de ahí no
--  se le vuelve a tocar: sin nuevas recepciones, devoluciones ni
--  garantías (todo eso ya solo acepta 'recibida'/'recibida_parcial').
--  Solo se puede cerrar desde 'recibida' — OrdenCompraController::cerrar()
--  además exige que ninguna recepción de la orden tenga estado_pago
--  'pendiente'.
-- ============================================================
USE tinsa_db;

ALTER TABLE orden_compra
  MODIFY COLUMN estado enum('borrador','pendiente_aprobacion','aprobada','rechazada','con_observaciones','enviada','confirmada','recibida_parcial','recibida','cancelada','cerrada') NOT NULL DEFAULT 'borrador',
  ADD COLUMN fecha_cierre datetime DEFAULT NULL AFTER fecha_recepcion;
