-- 修改质控任务表，添加选中的检查数据ID列表字段
ALTER TABLE `qc_task`
ADD COLUMN `exam_ids` TEXT COMMENT '选中的检查数据ID列表（JSON数组）' AFTER `patient_ids`;

-- 添加质控结果表
CREATE TABLE IF NOT EXISTS `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) COMMENT '因子名称',
  `factor_value` TEXT COMMENT '因子值',
  `is_pass` TINYINT DEFAULT 0 COMMENT '是否通过：1通过 0不通过',
  `score` DECIMAL(5,2) COMMENT '得分',
  `remark` VARCHAR(500) COMMENT '备注',
  `create_time` DATETIME 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='质控结果明细表';

-- 添加质控总评表
CREATE TABLE IF NOT EXISTS `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) COMMENT '总分',
  `pass_count` INT DEFAULT 0 COMMENT '通过因子数',
  `fail_count` INT DEFAULT 0 COMMENT '不通过因子数',
  `quality_level` VARCHAR(20) COMMENT '质控等级',
  `is_qualified` TINYINT DEFAULT 0 COMMENT '是否合格：1合格 0不合格',
  `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_task_exam` (`task_id`, `exam_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='质控结果总评表';
