-- ============================================= -- 功能:领料单库存快照功能 -- 版本:v1.6.037 -- 日期:2026-02-04 -- 作者:周启威 -- 说明:为领料单明细表添加库存快照相关字段,用于记录领料时的库存状态 -- ============================================= -- 1. 为领料单明细表添加库存快照相关字段 ALTER TABLE wm_production_pick_entry ADD COLUMN inventory_snapshot DECIMAL(18,6) DEFAULT NULL COMMENT '领料时库存快照', ADD COLUMN snapshot_time DATETIME DEFAULT NULL COMMENT '快照记录时间', ADD COLUMN snapshot_warehouse_id BIGINT DEFAULT NULL COMMENT '快照来源仓库ID', ADD COLUMN snapshot_batch_number VARCHAR(100) DEFAULT NULL COMMENT '快照来源批次号'; -- 2. 添加索引以优化查询性能 -- 用于快速查询指定物料的最新库存快照 CREATE INDEX idx_material_snapshot_time ON wm_production_pick_entry(material_id, snapshot_time DESC); -- 3. 添加字段说明注释 ALTER TABLE wm_production_pick_entry MODIFY COLUMN inventory_snapshot DECIMAL(18,6) DEFAULT NULL COMMENT '领料时库存快照(记录领料时该物料的实时库存总量)', MODIFY COLUMN snapshot_time DATETIME DEFAULT NULL COMMENT '快照记录时间(领料单创建时间)', MODIFY COLUMN snapshot_warehouse_id BIGINT DEFAULT NULL COMMENT '快照来源仓库ID(领料单关联的仓库)', MODIFY COLUMN snapshot_batch_number VARCHAR(100) DEFAULT NULL COMMENT '快照来源批次号(如有多个批次,记录第一个)'; -- 4. 验证字段是否添加成功 SELECT COLUMN_NAME AS '字段名', COLUMN_TYPE AS '字段类型', IS_NULLABLE AS '是否可空', COLUMN_DEFAULT AS '默认值', COLUMN_COMMENT AS '字段说明' FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'wm_production_pick_entry' AND COLUMN_NAME IN ('inventory_snapshot', 'snapshot_time', 'snapshot_warehouse_id', 'snapshot_batch_number') ORDER BY ORDINAL_POSITION; -- 5. 验证索引是否创建成功 SHOW INDEX FROM wm_production_pick_entry WHERE Key_name = 'idx_material_snapshot_time'; -- ============================================= -- 回滚脚本(如需回滚,请执行以下语句) -- ============================================= -- ALTER TABLE wm_production_pick_entry -- DROP COLUMN inventory_snapshot, -- DROP COLUMN snapshot_time, -- DROP COLUMN snapshot_warehouse_id, -- DROP COLUMN snapshot_batch_number; -- -- DROP INDEX idx_material_snapshot_time ON wms_pro_pick_entry; -- =============================================