-- 质检物料库 · 入库批次管理 DDL -- 执行顺序:本脚本 → 部署代码 → clear-data → test-data -- 1. 入库批次表 CREATE TABLE IF NOT EXISTS `biz_qc_material_stock_batch` ( `id` varchar(64) NOT NULL COMMENT '主键ID', `material_id` varchar(64) NOT NULL COMMENT '关联 biz_qc_material.id', `material_code` varchar(64) DEFAULT NULL COMMENT '物料编码快照', `material_name` varchar(200) DEFAULT NULL COMMENT '物料名称快照', `spec_model` varchar(200) DEFAULT NULL COMMENT '规格型号快照', `unit` varchar(32) DEFAULT NULL COMMENT '单位快照', `stock_in_no` varchar(64) NOT NULL COMMENT '入库编号(用户录入,租户内唯一)', `stock_in_date` date NOT NULL COMMENT '入库日期', `catalog_no` varchar(128) NOT NULL COMMENT '货号', `batch_no` varchar(128) NOT NULL COMMENT '批号', `manufacturer` varchar(200) NOT NULL COMMENT '厂家', `unit_price` decimal(18,2) NOT NULL COMMENT '单价(元)', `amount` decimal(18,2) NOT NULL COMMENT '金额(元)', `in_qty` decimal(18,4) NOT NULL COMMENT '入库数量', `remaining_qty` decimal(18,4) NOT NULL COMMENT '剩余数量', `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', `order_num` int(11) DEFAULT NULL 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` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', PRIMARY KEY (`id`), UNIQUE KEY `uk_qc_batch_tenant_stock_in_no` (`tenant_no`,`stock_in_no`,`del_flag`), KEY `idx_qc_batch_material` (`material_id`,`del_flag`), KEY `idx_qc_batch_tenant_date` (`tenant_no`,`stock_in_date`,`del_flag`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='质检物料入库批次'; -- 2. 扩展变动记录表 ALTER TABLE `biz_qc_material_usage` ADD COLUMN `batch_id` varchar(64) DEFAULT NULL COMMENT '关联入库批次ID' AFTER `material_name`, ADD COLUMN `stock_in_no` varchar(64) DEFAULT NULL COMMENT '入库编号快照' AFTER `batch_id`, ADD COLUMN `catalog_no` varchar(128) DEFAULT NULL COMMENT '货号快照' AFTER `stock_in_no`, ADD COLUMN `batch_no` varchar(128) DEFAULT NULL COMMENT '批号快照' AFTER `catalog_no`, ADD COLUMN `manufacturer` varchar(200) DEFAULT NULL COMMENT '厂家快照' AFTER `batch_no`, ADD COLUMN `unit_price` decimal(18,2) DEFAULT NULL COMMENT '单价快照(元)' AFTER `manufacturer`, ADD COLUMN `amount` decimal(18,2) DEFAULT NULL COMMENT '金额快照(元)' AFTER `unit_price`, ADD COLUMN `stock_before` decimal(18,4) DEFAULT NULL COMMENT '变动前物资汇总库存' AFTER `change_qty`; ALTER TABLE `biz_qc_material_usage` ADD KEY `idx_qc_mu_batch` (`batch_id`,`del_flag`);