-- 完整修复 qc_result 和 qc_result_summary 表
USE `pacsonline_new`;

-- 删除旧表（如果存在）
DROP TABLE IF EXISTS `qc_result`;
DROP TABLE IF EXISTS `qc_result_summary`;

-- 创建 qc_result 表
CREATE TABLE `qc_result` (
  `id` VARCHAR(32) NOT NULL COMMENT '主键ID',
  `task_id` VARCHAR(32) NOT NULL COMMENT '质控任务ID',
  `exam_id` VARCHAR(32) NOT NULL COMMENT '检查ID',
  `factor_id` VARCHAR(32) NOT NULL COMMENT '质控因子ID',
  `factor_name` VARCHAR(100) DEFAULT NULL COMMENT '因子名称',
  `factor_value` VARCHAR(200) DEFAULT NULL COMMENT '因子值',
  `is_pass` TINYINT DEFAULT 0 COMMENT '是否通过：0否 1是',
  `score` DECIMAL(5,2) DEFAULT 0.00 COMMENT '得分',
  `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`id`),
  KEY `idx_task_id` (`task_id`),
  KEY `idx_exam_id` (`exam_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='质控结果明细表';

-- 创建 qc_result_summary 表
CREATE TABLE `qc_result_summary` (
  `id` VARCHAR(32) NOT NULL COMMENT '主键ID',
  `task_id` VARCHAR(32) NOT NULL COMMENT '质控任务ID',
  `exam_id` VARCHAR(32) NOT NULL COMMENT '检查ID',
  `total_score` DECIMAL(5,2) DEFAULT 0.00 COMMENT '总得分',
  `pass_count` INT DEFAULT 0 COMMENT '通过因子数',
  `fail_count` INT DEFAULT 0 COMMENT '不通过因子数',
  `quality_level` VARCHAR(20) DEFAULT NULL COMMENT '质控等级',
  `is_qualified` TINYINT DEFAULT 0 COMMENT '是否合格：0否 1是',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`id`),
  KEY `idx_task_id` (`task_id`),
  KEY `idx_exam_id` (`exam_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='质控结果汇总表';

-- 验证表结构
SELECT 'qc_result 表结构' as '';
DESCRIBE `qc_result`;

SELECT 'qc_result_summary 表结构' as '';
DESCRIBE `qc_result_summary`;
