-- 盘盈盘亏调整表 -- 用于记录财务/主管手动发起的库存修正 CREATE TABLE IF NOT EXISTS `stock_adjustment` ( `id` INT NOT NULL AUTO_INCREMENT COMMENT '主键', `order_no` VARCHAR(50) NOT NULL COMMENT '单号,如 ADJ-YYYYMMDD-XXXX', `base_id` INT DEFAULT NULL COMMENT '关联物料基础表', `stock_id` INT DEFAULT NULL COMMENT '关联具体库存行ID', `source_table` VARCHAR(50) DEFAULT NULL COMMENT '库存类型 (stock_buy/stock_semi/stock_product)', `sku` VARCHAR(100) DEFAULT NULL COMMENT '物料SKU', `material_name` VARCHAR(255) DEFAULT NULL COMMENT '物料名称', `spec_model` VARCHAR(255) DEFAULT NULL COMMENT '规格型号', `warehouse_location` VARCHAR(100) DEFAULT NULL COMMENT '库位', `adjust_type` VARCHAR(20) NOT NULL COMMENT '调整类型:profit 盘盈 / loss 盘亏', `adjust_quantity` DECIMAL(19,4) NOT NULL COMMENT '调整数量(绝对值)', `reason` VARCHAR(500) NOT NULL COMMENT '原因说明(必填)', `status` VARCHAR(20) DEFAULT 'pending' COMMENT '状态:pending 待处理 / completed 已完成 / cancelled 已取消', `operator` VARCHAR(100) DEFAULT NULL COMMENT '操作人/经办人', `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_order_no` (`order_no`), KEY `idx_create_time` (`create_time`), KEY `idx_adjust_type` (`adjust_type`), KEY `idx_status` (`status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='盘盈盘亏调整表';