Files
zkxw/docs/sql/production_material_inventory.sql
T
2026-05-23 12:51:22 +08:00

81 lines
5.2 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ============================================================
-- 生产物料库存管理 - 数据库迁移脚本
-- 变更: production-material-inventory
-- ============================================================
-- 1. biz_consumable 新增库存字段
ALTER TABLE `biz_consumable`
ADD COLUMN `stock_qty` DECIMAL(18,4) NOT NULL DEFAULT 0.0000 COMMENT '当前库存量' AFTER `description`,
ADD COLUMN `warning_qty` DECIMAL(18,4) NOT NULL DEFAULT 0.0000 COMMENT '预警库存量' AFTER `stock_qty`,
ADD COLUMN `status` CHAR(1) NOT NULL DEFAULT '1' COMMENT '1-启用 0-停用' AFTER `warning_qty`;
-- 2. biz_reagent 新增库存字段
ALTER TABLE `biz_reagent`
ADD COLUMN `stock_qty` DECIMAL(18,4) NOT NULL DEFAULT 0.0000 COMMENT '当前库存量' AFTER `description`,
ADD COLUMN `warning_qty` DECIMAL(18,4) NOT NULL DEFAULT 0.0000 COMMENT '预警库存量' AFTER `stock_qty`,
ADD COLUMN `status` CHAR(1) NOT NULL DEFAULT '1' COMMENT '1-启用 0-停用' AFTER `warning_qty`;
-- 3. 耗材变动记录表
CREATE TABLE `biz_consumable_stock_log` (
`id` VARCHAR(64) NOT NULL COMMENT '主键ID',
`material_id` VARCHAR(64) NOT NULL COMMENT '耗材ID',
`material_code` VARCHAR(64) DEFAULT NULL COMMENT '耗材编码快照',
`material_name` VARCHAR(200) DEFAULT NULL COMMENT '耗材名称快照',
`change_type` VARCHAR(16) NOT NULL COMMENT '变动类型:in入库 / use使用出库',
`change_qty` DECIMAL(18,4) NOT NULL COMMENT '变动数量(入库正数,出库负数)',
`stock_before` DECIMAL(18,4) NOT NULL COMMENT '变动前库存',
`stock_after` DECIMAL(18,4) NOT NULL COMMENT '变动后库存',
`source_type` VARCHAR(16) NOT NULL COMMENT '来源:manual_in / manual_out / step_save',
`step_id` VARCHAR(64) DEFAULT NULL COMMENT '生产任务步骤ID(step_save时有值)',
`task_id` VARCHAR(64) DEFAULT NULL COMMENT '生产任务ID(step_save时有值)',
`task_no` VARCHAR(32) DEFAULT NULL COMMENT '生产任务编号快照',
`receiver` VARCHAR(64) DEFAULT NULL COMMENT '领用人(手动出库时)',
`purpose` VARCHAR(512) DEFAULT NULL COMMENT '用途/事由(手动出库时)',
`tenant_no` VARCHAR(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
`remark` VARCHAR(512) DEFAULT NULL COMMENT '备注',
`create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建人id',
`create_dept_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新人id',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` SMALLINT NOT NULL DEFAULT 0 COMMENT '删除标记',
PRIMARY KEY (`id`),
INDEX `idx_csl_material` (`material_id`, `del_flag`),
INDEX `idx_csl_step` (`step_id`, `del_flag`),
INDEX `idx_csl_task` (`task_id`, `del_flag`),
INDEX `idx_csl_tenant_time` (`tenant_no`, `change_type`, `create_time`),
INDEX `idx_csl_source` (`source_type`, `del_flag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='耗材变动记录';
-- 4. 试剂变动记录表
CREATE TABLE `biz_reagent_stock_log` (
`id` VARCHAR(64) NOT NULL COMMENT '主键ID',
`material_id` VARCHAR(64) NOT NULL COMMENT '试剂ID',
`material_code` VARCHAR(64) DEFAULT NULL COMMENT '试剂编码快照',
`material_name` VARCHAR(200) DEFAULT NULL COMMENT '试剂名称快照',
`change_type` VARCHAR(16) NOT NULL COMMENT '变动类型:in入库 / use使用出库',
`change_qty` DECIMAL(18,4) NOT NULL COMMENT '变动数量(入库正数,出库负数)',
`stock_before` DECIMAL(18,4) NOT NULL COMMENT '变动前库存',
`stock_after` DECIMAL(18,4) NOT NULL COMMENT '变动后库存',
`source_type` VARCHAR(16) NOT NULL COMMENT '来源:manual_in / manual_out / step_save',
`step_id` VARCHAR(64) DEFAULT NULL COMMENT '生产任务步骤ID(step_save时有值)',
`task_id` VARCHAR(64) DEFAULT NULL COMMENT '生产任务ID(step_save时有值)',
`task_no` VARCHAR(32) DEFAULT NULL COMMENT '生产任务编号快照',
`receiver` VARCHAR(64) DEFAULT NULL COMMENT '领用人(手动出库时)',
`purpose` VARCHAR(512) DEFAULT NULL COMMENT '用途/事由(手动出库时)',
`tenant_no` VARCHAR(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
`remark` VARCHAR(512) DEFAULT NULL COMMENT '备注',
`create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建人id',
`create_dept_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新人id',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` SMALLINT NOT NULL DEFAULT 0 COMMENT '删除标记',
PRIMARY KEY (`id`),
INDEX `idx_rsl_material` (`material_id`, `del_flag`),
INDEX `idx_rsl_step` (`step_id`, `del_flag`),
INDEX `idx_rsl_task` (`task_id`, `del_flag`),
INDEX `idx_rsl_tenant_time` (`tenant_no`, `change_type`, `create_time`),
INDEX `idx_rsl_source` (`source_type`, `del_flag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='试剂变动记录';