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

57 lines
3.8 KiB
SQL
Raw Normal View History

-- ============================================================
-- 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');