-- 表:wms_inbound_qc -- 用途:入库质检。按收货结果做的质检记录。 -- 约定:InnoDB / utf8mb4 / 无外键,表间按业务编码关联。详见 docs/database/00-conventions.md -- 说明:不合格数量从收货库位的 available 转入 damaged,并写流水。合格数量等待上架。 CREATE TABLE `wms_inbound_qc` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '内部主键', `tenant_code` VARCHAR(32) NOT NULL COMMENT '租户编码', `qc_no` VARCHAR(64) NOT NULL COMMENT '质检单号,租户内唯一', `inbound_no` VARCHAR(64) NOT NULL COMMENT '入库单号', `receipt_no` VARCHAR(64) NOT NULL COMMENT '收货单号', `inbound_line_no` INT UNSIGNED NOT NULL COMMENT '入库明细行号', `sku_code` VARCHAR(64) NOT NULL COMMENT 'SKU 编码', `batch_no` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '批次号,可空', `inspect_qty` DECIMAL(16,4) NOT NULL DEFAULT 0.0000 COMMENT '送检数量', `pass_qty` DECIMAL(16,4) NOT NULL DEFAULT 0.0000 COMMENT '合格数量', `fail_qty` DECIMAL(16,4) NOT NULL DEFAULT 0.0000 COMMENT '不合格数量', `result` VARCHAR(32) NOT NULL COMMENT 'pass 全部合格,partial 部分合格,fail 全部不合格', `fail_reason` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '不合格原因', `qc_by` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '质检人 user_code', `qc_at` DATETIME(3) NOT NULL COMMENT '质检时间', `created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间', `updated_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '更新时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_tenant_qc_no` (`tenant_code`, `qc_no`), KEY `idx_tenant_inbound` (`tenant_code`, `inbound_no`), CONSTRAINT `chk_qc_qty` CHECK (`inspect_qty` > 0 AND `pass_qty` >= 0 AND `fail_qty` >= 0 AND `pass_qty` + `fail_qty` = `inspect_qty`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='入库质检';