-- pbl_assessment 表 DDL(自动生成,与 apps/pbls/scripts/ddl/pbls_tables.sql 同源) CREATE TABLE IF NOT EXISTS `pbl_rubric` ( `tenant_id` VARCHAR(32) NOT NULL NOT NULL COMMENT 租户ID(强制打头), `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键, `code` VARCHAR(64) NOT NULL COMMENT "编码", `title` VARCHAR(128) NOT NULL COMMENT "标题", `blueprint_id` BIGINT UNSIGNED NOT NULL COMMENT "蓝图", `criteria_json` LONGTEXT NULL COMMENT "准则数组(含 learning_goal_id/weight)", `total_weight` DECIMAL(18,2) NOT NULL DEFAULT 0 COMMENT "权重合计", `version_no` INT NOT NULL DEFAULT 0 COMMENT "版本", `status` VARCHAR(64) NOT NULL COMMENT "状态", `approval_id` BIGINT UNSIGNED NOT NULL COMMENT "变更审批单", `created_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "创建时间(应用层写入)", `updated_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "更新时间(应用层写入)", PRIMARY KEY (`id`), UNIQUE KEY `uk_ru_code` (`tenant_id`, `code`, `version_no`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT="Rubric(准则内联 criteria_json,权重合计=100%)"; CREATE TABLE IF NOT EXISTS `pbl_assessment_record` ( `tenant_id` VARCHAR(32) NOT NULL NOT NULL COMMENT 租户ID(强制打头), `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键, `record_uid` VARCHAR(32) NOT NULL COMMENT "记录UID", `learner_id` VARCHAR(32) NOT NULL COMMENT "学习者", `session_id` BIGINT UNSIGNED NOT NULL COMMENT "会话", `blueprint_id` BIGINT UNSIGNED NOT NULL COMMENT "蓝图", `artifact_id` BIGINT UNSIGNED NOT NULL COMMENT "产出物", `evidence_id` BIGINT UNSIGNED NOT NULL COMMENT "主证据", `rubric_id` BIGINT UNSIGNED NOT NULL COMMENT "Rubric", `scores_json` LONGTEXT NULL COMMENT "逐准则得分", `total_score` DECIMAL(18,2) NOT NULL DEFAULT 0 COMMENT "加权总分", `max_score` DECIMAL(18,2) NOT NULL DEFAULT 0 COMMENT "满分", `band` VARCHAR(64) NOT NULL COMMENT "等级", `alignment_json` LONGTEXT NULL COMMENT "与学习目标对齐", `feedback_txt` TEXT NULL COMMENT "反馈", `assessor_type` VARCHAR(64) NOT NULL COMMENT "评估者类型", `assessor_id` VARCHAR(32) NOT NULL COMMENT "评估者", `created_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "创建时间(应用层写入)", `updated_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "更新时间(应用层写入)", PRIMARY KEY (`id`), UNIQUE KEY `uk_ar_uid` (`tenant_id`, `record_uid`), KEY `idx_ar_learner` (`tenant_id`, `learner_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT="评估记录(total_score 派生 + 对齐判定)";