feat: initialize inventory profit and loss adjustment module

This commit is contained in:
DXC
2026-03-19 12:06:32 +08:00
parent 7a4717ce21
commit d8a57ab66e
6 changed files with 634 additions and 1 deletions

25
stock_adjustment.sql Normal file
View File

@ -0,0 +1,25 @@
-- 盘盈盘亏调整表
-- 用于记录财务/主管手动发起的库存修正
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='盘盈盘亏调整表';