-- wms_material_coil_change_log: 钢卷变更日志表
-- 记录 wms_material_coil 的所有修改操作（普通修改 + 加工变换），用于追溯变更链

DROP TABLE IF EXISTS `wms_coil_change_log`;
CREATE TABLE `wms_coil_change_log` (
    `log_id`          BIGINT        NOT NULL AUTO_INCREMENT   COMMENT '主键ID',
    `change_type`     VARCHAR(32)   DEFAULT NULL              COMMENT '变更类型: UPDATE/INSERT/PROCESS/SPLIT/MERGE/DELETE/ROLLBACK/EXPORT/QUALITY_CHANGE',
    `old_coil_id`     BIGINT        DEFAULT NULL              COMMENT '变更前钢卷ID',
    `new_coil_id`     BIGINT        DEFAULT NULL              COMMENT '变更后钢卷ID（纯删除时为NULL）',
    `old_coil_no`     VARCHAR(64)   DEFAULT NULL              COMMENT '变更前钢卷号（冗余，方便查看）',
    `new_coil_no`     VARCHAR(64)   DEFAULT NULL              COMMENT '变更后钢卷号',
    `changed_fields`  TEXT                                    COMMENT '变更字段差异 JSON: {"fieldName":{"old":"旧值","new":"新值"},...}',
    `operation_desc`  VARCHAR(255)  DEFAULT NULL              COMMENT '操作描述',
    `create_by`       VARCHAR(64)   DEFAULT NULL              COMMENT '操作人',
    `create_time`     DATETIME      DEFAULT NULL              COMMENT '操作时间',
    `update_by`       VARCHAR(64)   DEFAULT NULL              COMMENT '更新者',
    `update_time`     DATETIME      DEFAULT NULL              COMMENT '更新时间',
    `del_flag`        INT           DEFAULT 0                 COMMENT '删除标志（0=正常，1=已删除）',
     remark               VARCHAR(255)                             NULL COMMENT '备注',
    PRIMARY KEY (`log_id`),
    INDEX `idx_old_coil_id` (`old_coil_id`),
    INDEX `idx_new_coil_id` (`new_coil_id`),
    INDEX `idx_change_type` (`change_type`),
    INDEX `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='钢卷变更日志表';
