-- ============================================================ -- 库位占用记录功能迁移 -- 日期: 2026-05-22 -- ============================================================ -- 1. 新增:库位占用记录表 CREATE TABLE biz_storage_slot_occupancy ( id VARCHAR(64) NOT NULL COMMENT '主键ID', slot_id VARCHAR(64) NOT NULL COMMENT '储物格ID (FK → biz_storage_facility_slot)', item_type VARCHAR(32) NOT NULL COMMENT '物品类型: cell_product=细胞产品, other=其他', item_id VARCHAR(64) NOT NULL COMMENT '物品ID (指向对应业务表主键)', item_code VARCHAR(64) NULL COMMENT '物品编码 (冗余展示)', item_name VARCHAR(200) NULL COMMENT '物品名称 (冗余展示)', item_source VARCHAR(32) NULL COMMENT '来源: production=生产入库, manual=手动入库, transfer=转移', stored_at DATETIME NULL COMMENT '入库时间', removed_at DATETIME NULL COMMENT '出库时间 (NULL=当前在库)', occupancy_status VARCHAR(16) NOT NULL DEFAULT 'stored' COMMENT 'stored=在库, removed=已出库', tenant_no VARCHAR(64) NULL COMMENT '租户编号', order_num INT DEFAULT 0 COMMENT '排序', remark VARCHAR(500) NULL COMMENT '备注', create_by VARCHAR(64) NULL COMMENT '创建者', create_dept_id VARCHAR(64) NULL COMMENT '创建部门', create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_by VARCHAR(64) NULL COMMENT '更新者', update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)', PRIMARY KEY (id), INDEX idx_sso_slot (slot_id, occupancy_status, del_flag), INDEX idx_sso_item (item_type, item_id, del_flag), INDEX idx_sso_tenant (tenant_no, del_flag) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='库位占用记录表'; -- 2. 增强:biz_storage_facility_slot 增加缓存字段 ALTER TABLE biz_storage_facility_slot ADD COLUMN occupied_count INT DEFAULT 0 COMMENT '当前占用数量', ADD COLUMN last_item_type VARCHAR(32) NULL COMMENT '最近存储物品类型', ADD COLUMN last_stored_at DATETIME NULL COMMENT '最近入库时间';