Files
zkxw/docs/sql/migrations/2026-06-11-qc-material-batch.sql
T
2026-06-11 15:42:58 +08:00

49 lines
3.0 KiB
SQL

-- 质检物料库 · 入库批次管理 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`);