Files
railwaysystem/RuoYi-Vue/sql/train/v2/018_common_api_test_data.sql
T

58 lines
3.8 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ============================================================
-- 018_common_api_test_data.sql
-- 配套 TrainCommonApiController 的 5 个通用数据接口(/api/common/v1)的测试种子数据
-- 用途:让 student/list、plan/list、course/list 返回真实数据,
-- 并使 checkin/upload、score/upload 的外键(student / course / plan)成立。
-- 说明:仅 INSERT,可重复执行;PK 表用 ON CONFLICT DO NOTHING,
-- train_plan_course 无唯一约束,故先按组合清理再插(测试数据幂等)。
-- 前置:train_teacher / train_course / train_student / train_class_plan /
-- train_plan_course 表已存在(V2 基线 000 / 002)。
-- 与 015_train_test_data.sql(阅读机 7 张表)互补,互不影响。
-- ============================================================
-- 1) 教师(train_class_plan.t_id 外键依赖)
INSERT INTO train_teacher (t_id, t_name, t_gender, t_department, t_title, create_user)
VALUES ('T0001', '李教员', '男', '职工培训部', '高级讲师', 'system')
ON CONFLICT (t_id) DO NOTHING;
-- 2) 课程(train_class_plan.c_id 外键依赖;也是 course/list 的来源之一)
INSERT INTO train_course (c_id, c_name, c_type, c_duration, teaching_objective, create_user)
VALUES ('C0001', '接触网安全规程', '理论', 4, '掌握接触网作业安全规程与事故防范', 'system')
ON CONFLICT (c_id) DO NOTHING;
-- 3) 学员(checkin/upload、score/upload 的 student_id 外键依赖)
INSERT INTO train_student (s_id, s_name, s_gender, s_birth, s_department, s_major, s_class, s_phone, create_user)
VALUES ('S20260001', '张三', '男', '1998-05-12', '供电段', '接触网工', '接触网工班', '13800000001', 'system')
ON CONFLICT (s_id) DO NOTHING;
-- 4) 班级(培训计划):plan/list 来源
INSERT INTO train_class_plan (plan_id, plan_name, c_id, start_time, end_time, train_address, t_id, recruit_num, plan_status, create_user)
VALUES ('P2026001', '2026年第1期接触网工培训班', 'C0001', '2026-10-01 09:00:00', '2026-10-30 18:00:00', '实训基地', 'T0001', 30, 1, 'system')
ON CONFLICT (plan_id) DO NOTHING;
-- 5) 班级课程关联:course/list 依赖 train_plan_course(plan_id + c_id)
-- 显式指定 plan_course_id=90001,供下面的课次(lesson)外键关联
DELETE FROM train_plan_course WHERE plan_id = 'P2026001' AND c_id = 'C0001';
INSERT INTO train_plan_course (plan_course_id, plan_id, c_id, sort_no, create_by)
VALUES (90001, 'P2026001', 'C0001', 1, 'system');
-- 6) 教室(train_lesson 场地依赖,venue_type=1 时必填 class_room_id)
DELETE FROM train_classroom_info WHERE class_room_id = 'CR-001';
INSERT INTO train_classroom_info (class_room_id, room_name, room_location, capacity, create_user)
VALUES ('CR-001', '第一理论教室', '实训基地A栋201', 40, 'system');
-- 7) 参训记录(checkin / score 上传的 enrollment_id 来源)
DELETE FROM train_enrollment WHERE enrollment_id = 900001;
INSERT INTO train_enrollment (enrollment_id, plan_id, student_id, source_type, enrollment_status, accommodation_required, create_by)
VALUES (900001, 'P2026001', 'S20260001', 1, 1, 0, 'system');
-- 8) 课次(checkin 上传的 lesson_id 来源;需绑定 plan_course 与 教室)
DELETE FROM train_lesson WHERE lesson_id = 9000001;
INSERT INTO train_lesson (lesson_id, plan_course_id, t_id, start_time, end_time, venue_type, class_room_id, create_by)
VALUES (9000001, 90001, 'T0001', '2026-10-08 09:00:00', '2026-10-08 11:00:00', 1, 'CR-001', 'system');
-- 9) 成绩项(score/upload 的 score_item_id 来源;train_student_score.score_item_id 为 NOT NULL)
DELETE FROM train_score_item WHERE score_item_id = 90001;
INSERT INTO train_score_item (score_item_id, plan_id, plan_course_id, item_name, item_type, weight, full_score, create_by)
VALUES (90001, 'P2026001', 90001, '综合成绩', 4, 100.00, 100.00, 'system');