295 lines
29 KiB
PL/PgSQL
295 lines
29 KiB
PL/PgSQL
-- ==============================================================================
|
|
-- RailwaySystem Clean Demo 资产: 003_demo_business_data.sql
|
|
-- 适用数据库: KingbaseES V009R003C018 (schema: public)
|
|
-- ==============================================================================
|
|
|
|
BEGIN;
|
|
|
|
-- 1. 开班计划
|
|
INSERT INTO public.train_class_plan (plan_id, plan_name, start_time, end_time, report_deadline, train_address, recruit_num, apply_condition, plan_status, create_by, create_time, del_flag, remark)
|
|
VALUES
|
|
('PLAN-2026-01', '2026年秋季高铁房建设施高级研修班', '2026-09-15 08:30:00', '2026-09-30 17:30:00', '2026-09-14 18:00:00', '沈阳房建综合实训园区', 30, '沈阳段各车间从事高铁站房设备检修2年以上技术骨干', 1, 'admin', CURRENT_TIMESTAMP, '0', '核心演示班级(进行中)'),
|
|
('PLAN-2026-02', '2026年铁路营业线安全施工与应急处置实训班', '2026-10-10 08:30:00', '2026-10-25 17:30:00', '2026-10-09 18:00:00', '教学楼101多功能多媒体教室', 40, '营业线施工现场防护员及施工负责人', 0, 'admin', CURRENT_TIMESTAMP, '0', '即将开班班级(未开始)'),
|
|
('PLAN-2026-03', '2026年夏季铁路给排水设备技术比武集训班', '2026-08-01 08:30:00', '2026-08-15 17:30:00', '2026-07-31 18:00:00', '高铁给排水检修实作工场', 25, '全段给排水与暖通特级技师与高级工选拔参赛人员', 2, 'admin', CURRENT_TIMESTAMP, '0', '历史结训班级(已结束)'),
|
|
('PLAN-2026-04', '2026年智能门禁与数字化后勤储备干部培训班', '2026-11-01 08:30:00', '2026-11-15 17:30:00', '2026-10-31 18:00:00', '综合楼305智慧学术报告厅', 30, '公寓管理人员及信息化骨干', 3, 'admin', CURRENT_TIMESTAMP, '0', '计划筹备班级(草稿/未发布)')
|
|
ON CONFLICT (plan_id) DO UPDATE SET
|
|
plan_name = EXCLUDED.plan_name, start_time = EXCLUDED.start_time, end_time = EXCLUDED.end_time, plan_status = EXCLUDED.plan_status, del_flag = '0';
|
|
|
|
-- 2. 计划绑定课程
|
|
INSERT INTO public.train_plan_course (plan_course_id, plan_id, c_id, sort_no, create_by, create_time)
|
|
VALUES
|
|
(1, 'PLAN-2026-01', 'C001', 1, 'admin', CURRENT_TIMESTAMP),
|
|
(2, 'PLAN-2026-01', 'C003', 2, 'admin', CURRENT_TIMESTAMP),
|
|
(3, 'PLAN-2026-01', 'C004', 3, 'admin', CURRENT_TIMESTAMP),
|
|
(4, 'PLAN-2026-01', 'C008', 4, 'admin', CURRENT_TIMESTAMP),
|
|
(5, 'PLAN-2026-02', 'C002', 1, 'admin', CURRENT_TIMESTAMP),
|
|
(6, 'PLAN-2026-02', 'C005', 2, 'admin', CURRENT_TIMESTAMP),
|
|
(7, 'PLAN-2026-02', 'C007', 3, 'admin', CURRENT_TIMESTAMP),
|
|
(8, 'PLAN-2026-03', 'C004', 1, 'admin', CURRENT_TIMESTAMP),
|
|
(9, 'PLAN-2026-03', 'C006', 2, 'admin', CURRENT_TIMESTAMP)
|
|
ON CONFLICT (plan_id, c_id) DO UPDATE SET
|
|
sort_no = EXCLUDED.sort_no;
|
|
|
|
-- 3. 参训名单
|
|
INSERT INTO public.train_enrollment (enrollment_id, plan_id, student_id, enrollment_status, source_type, accommodation_required, join_time, create_by, create_time)
|
|
VALUES
|
|
(101, 'PLAN-2026-01', 'S101', 1, 2, 1, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(102, 'PLAN-2026-01', 'S102', 1, 2, 1, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(103, 'PLAN-2026-01', 'S103', 1, 2, 1, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(104, 'PLAN-2026-01', 'S104', 1, 2, 1, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(105, 'PLAN-2026-01', 'S105', 1, 2, 1, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(106, 'PLAN-2026-01', 'S106', 1, 2, 1, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(107, 'PLAN-2026-01', 'S107', 1, 2, 1, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(108, 'PLAN-2026-01', 'S108', 1, 2, 1, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(109, 'PLAN-2026-01', 'S109', 1, 2, 1, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(110, 'PLAN-2026-01', 'S110', 1, 2, 1, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(111, 'PLAN-2026-01', 'S111', 1, 2, 1, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(112, 'PLAN-2026-01', 'S112', 1, 2, 1, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(113, 'PLAN-2026-01', 'S113', 1, 2, 1, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(114, 'PLAN-2026-01', 'S114', 1, 2, 1, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(115, 'PLAN-2026-01', 'S115', 1, 2, 1, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(116, 'PLAN-2026-01', 'S116', 1, 2, 1, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(117, 'PLAN-2026-01', 'S117', 0, 2, 1, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(118, 'PLAN-2026-01', 'S118', 0, 2, 1, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(119, 'PLAN-2026-01', 'S119', 2, 2, 0, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(120, 'PLAN-2026-01', 'S120', 3, 2, 0, '2026-09-10 10:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(201, 'PLAN-2026-02', 'S121', 0, 1, 1, '2026-09-20 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(202, 'PLAN-2026-02', 'S122', 0, 1, 1, '2026-09-20 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(203, 'PLAN-2026-02', 'S123', 0, 1, 1, '2026-09-20 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(204, 'PLAN-2026-02', 'S124', 0, 1, 1, '2026-09-20 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(205, 'PLAN-2026-02', 'S125', 0, 1, 1, '2026-09-20 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(206, 'PLAN-2026-02', 'S126', 0, 1, 1, '2026-09-20 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(207, 'PLAN-2026-02', 'S127', 0, 1, 1, '2026-09-20 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(208, 'PLAN-2026-02', 'S128', 0, 1, 1, '2026-09-20 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(209, 'PLAN-2026-02', 'S129', 0, 1, 1, '2026-09-20 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(210, 'PLAN-2026-02', 'S130', 0, 1, 1, '2026-09-20 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(301, 'PLAN-2026-03', 'S101', 4, 3, 1, '2026-07-25 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(302, 'PLAN-2026-03', 'S102', 4, 3, 1, '2026-07-25 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(303, 'PLAN-2026-03', 'S103', 4, 3, 1, '2026-07-25 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(304, 'PLAN-2026-03', 'S104', 4, 3, 1, '2026-07-25 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(305, 'PLAN-2026-03', 'S105', 4, 3, 1, '2026-07-25 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(306, 'PLAN-2026-03', 'S106', 4, 3, 1, '2026-07-25 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(307, 'PLAN-2026-03', 'S107', 4, 3, 1, '2026-07-25 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(308, 'PLAN-2026-03', 'S108', 4, 3, 1, '2026-07-25 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(309, 'PLAN-2026-03', 'S109', 4, 3, 1, '2026-07-25 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(310, 'PLAN-2026-03', 'S110', 4, 3, 1, '2026-07-25 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(311, 'PLAN-2026-03', 'S111', 4, 3, 1, '2026-07-25 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(312, 'PLAN-2026-03', 'S112', 4, 3, 1, '2026-07-25 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(313, 'PLAN-2026-03', 'S113', 4, 3, 1, '2026-07-25 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(314, 'PLAN-2026-03', 'S114', 4, 3, 1, '2026-07-25 09:00:00', 'admin', CURRENT_TIMESTAMP),
|
|
(315, 'PLAN-2026-03', 'S115', 4, 3, 1, '2026-07-25 09:00:00', 'admin', CURRENT_TIMESTAMP)
|
|
ON CONFLICT (plan_id, student_id) DO UPDATE SET
|
|
enrollment_status = EXCLUDED.enrollment_status, accommodation_required = EXCLUDED.accommodation_required;
|
|
|
|
-- 4. 报到确认流水
|
|
INSERT INTO public.train_class_report (report_id, enrollment_id, report_way, report_device_sn, report_time, verify_result, verify_note, create_by, create_time, remark)
|
|
VALUES
|
|
(101, 101, 1, 'DEV-SN-001', '2026-09-14 09:13:00', 1, '现场人脸核验通过', 'admin', CURRENT_TIMESTAMP, '按期现场报到'),
|
|
(102, 102, 3, 'DEV-SN-001', '2026-09-14 10:16:00', 1, '现场人脸核验通过', 'admin', CURRENT_TIMESTAMP, '按期现场报到'),
|
|
(103, 103, 2, 'DEV-SN-001', '2026-09-14 11:19:00', 1, '现场人脸核验通过', 'admin', CURRENT_TIMESTAMP, '按期现场报到'),
|
|
(104, 104, 1, 'DEV-SN-001', '2026-09-14 08:22:00', 1, '现场人脸核验通过', 'admin', CURRENT_TIMESTAMP, '按期现场报到'),
|
|
(105, 105, 3, 'DEV-SN-001', '2026-09-14 09:25:00', 1, '现场人脸核验通过', 'admin', CURRENT_TIMESTAMP, '按期现场报到'),
|
|
(106, 106, 2, 'DEV-SN-001', '2026-09-14 10:28:00', 1, '现场人脸核验通过', 'admin', CURRENT_TIMESTAMP, '按期现场报到'),
|
|
(107, 107, 1, 'DEV-SN-001', '2026-09-14 11:31:00', 1, '现场人脸核验通过', 'admin', CURRENT_TIMESTAMP, '按期现场报到'),
|
|
(108, 108, 3, 'DEV-SN-001', '2026-09-14 08:34:00', 1, '现场人脸核验通过', 'admin', CURRENT_TIMESTAMP, '按期现场报到'),
|
|
(109, 109, 2, 'DEV-SN-001', '2026-09-14 09:37:00', 1, '现场人脸核验通过', 'admin', CURRENT_TIMESTAMP, '按期现场报到'),
|
|
(110, 110, 1, 'DEV-SN-001', '2026-09-14 10:40:00', 1, '现场人脸核验通过', 'admin', CURRENT_TIMESTAMP, '按期现场报到'),
|
|
(111, 111, 3, 'DEV-SN-001', '2026-09-14 11:43:00', 1, '现场人脸核验通过', 'admin', CURRENT_TIMESTAMP, '按期现场报到'),
|
|
(112, 112, 2, 'DEV-SN-001', '2026-09-14 08:46:00', 1, '现场人脸核验通过', 'admin', CURRENT_TIMESTAMP, '按期现场报到'),
|
|
(113, 113, 1, 'DEV-SN-001', '2026-09-14 09:49:00', 1, '现场人脸核验通过', 'admin', CURRENT_TIMESTAMP, '按期现场报到'),
|
|
(114, 114, 3, 'DEV-SN-001', '2026-09-14 10:52:00', 1, '现场人脸核验通过', 'admin', CURRENT_TIMESTAMP, '按期现场报到'),
|
|
(115, 115, 2, 'DEV-SN-001', '2026-09-14 11:55:00', 1, '现场人脸核验通过', 'admin', CURRENT_TIMESTAMP, '按期现场报到'),
|
|
(116, 116, 1, 'DEV-SN-001', '2026-09-14 08:58:00', 1, '现场人脸核验通过', 'admin', CURRENT_TIMESTAMP, '按期现场报到')
|
|
ON CONFLICT (enrollment_id) DO UPDATE SET
|
|
report_time = EXCLUDED.report_time, report_way = EXCLUDED.report_way;
|
|
|
|
-- 5. 住宿安排 (0:预分配, 1:在住, 2:已退宿)
|
|
INSERT INTO public.train_accommodation (accommodation_id, enrollment_id, dorm_id, bed_no, assigned_time, accommodation_status, create_by, create_time, remark)
|
|
VALUES
|
|
(101, 101, 'DORM-ZY-101', '1号床', '2026-09-14 10:00:00', 1, 'admin', CURRENT_TIMESTAMP, '正常在住'),
|
|
(102, 102, 'DORM-ZY-101', '2号床', '2026-09-14 10:00:00', 1, 'admin', CURRENT_TIMESTAMP, '正常在住'),
|
|
(103, 103, 'DORM-ZY-101', '3号床', '2026-09-14 10:00:00', 1, 'admin', CURRENT_TIMESTAMP, '正常在住'),
|
|
(104, 104, 'DORM-ZY-101', '4号床', '2026-09-14 10:00:00', 1, 'admin', CURRENT_TIMESTAMP, '正常在住'),
|
|
(105, 105, 'DORM-ZY-102', '1号床', '2026-09-14 10:00:00', 1, 'admin', CURRENT_TIMESTAMP, '正常在住'),
|
|
(106, 106, 'DORM-ZY-102', '2号床', '2026-09-14 10:00:00', 1, 'admin', CURRENT_TIMESTAMP, '正常在住'),
|
|
(107, 107, 'DORM-ZY-102', '3号床', '2026-09-14 10:00:00', 1, 'admin', CURRENT_TIMESTAMP, '正常在住'),
|
|
(108, 108, 'DORM-ZY-102', '4号床', '2026-09-14 10:00:00', 1, 'admin', CURRENT_TIMESTAMP, '正常在住'),
|
|
(109, 109, 'DORM-ZY-103', '1号床', '2026-09-14 10:00:00', 0, 'admin', CURRENT_TIMESTAMP, '预分配待办理入住(现场演示)'),
|
|
(110, 110, 'DORM-ZY-103', '2号床', '2026-09-14 10:00:00', 0, 'admin', CURRENT_TIMESTAMP, '预分配待办理入住(现场演示)'),
|
|
(111, 111, 'DORM-ZY-103', '3号床', '2026-09-14 10:00:00', 1, 'admin', CURRENT_TIMESTAMP, '正常在住'),
|
|
(112, 112, 'DORM-ZY-103', '4号床', '2026-09-14 10:00:00', 1, 'admin', CURRENT_TIMESTAMP, '正常在住'),
|
|
(113, 113, 'DORM-ZY-104', '1号床', '2026-09-14 10:00:00', 1, 'admin', CURRENT_TIMESTAMP, '正常在住'),
|
|
(114, 114, 'DORM-ZY-104', '2号床', '2026-09-14 10:00:00', 1, 'admin', CURRENT_TIMESTAMP, '正常在住'),
|
|
(115, 115, 'DORM-ZY-104', '3号床', '2026-09-14 10:00:00', 2, 'admin', CURRENT_TIMESTAMP, '因车间抢险提前退宿'),
|
|
(116, 116, 'DORM-ZY-104', '4号床', '2026-09-14 10:00:00', 2, 'admin', CURRENT_TIMESTAMP, '因病提前退宿')
|
|
ON CONFLICT (accommodation_id) DO UPDATE SET
|
|
accommodation_status = EXCLUDED.accommodation_status, dorm_id = EXCLUDED.dorm_id, bed_no = EXCLUDED.bed_no;
|
|
|
|
-- 门禁凭据与授权
|
|
INSERT INTO public.train_dorm_auth (auth_id, accommodation_id, auth_start, auth_end, face_sync_status, credential_type, auth_status, create_by, create_time, remark)
|
|
VALUES
|
|
(101, 101, '2026-09-14 00:00:00', '2026-09-30 23:59:59', 1, 'ONLINE_PASSWORD', 'ACTIVE', 'admin', CURRENT_TIMESTAMP, '[DEMO MOCK] 智能门禁凭据已下发'),
|
|
(102, 102, '2026-09-14 00:00:00', '2026-09-30 23:59:59', 1, 'ONLINE_PASSWORD', 'ACTIVE', 'admin', CURRENT_TIMESTAMP, '[DEMO MOCK] 智能门禁凭据已下发'),
|
|
(103, 103, '2026-09-14 00:00:00', '2026-09-30 23:59:59', 1, 'ONLINE_PASSWORD', 'ACTIVE', 'admin', CURRENT_TIMESTAMP, '[DEMO MOCK] 智能门禁凭据已下发'),
|
|
(104, 104, '2026-09-14 00:00:00', '2026-09-30 23:59:59', 1, 'ONLINE_PASSWORD', 'ACTIVE', 'admin', CURRENT_TIMESTAMP, '[DEMO MOCK] 智能门禁凭据已下发'),
|
|
(105, 105, '2026-09-14 00:00:00', '2026-09-30 23:59:59', 1, 'ONLINE_PASSWORD', 'ACTIVE', 'admin', CURRENT_TIMESTAMP, '[DEMO MOCK] 智能门禁凭据已下发'),
|
|
(106, 106, '2026-09-14 00:00:00', '2026-09-30 23:59:59', 1, 'ONLINE_PASSWORD', 'ACTIVE', 'admin', CURRENT_TIMESTAMP, '[DEMO MOCK] 智能门禁凭据已下发'),
|
|
(107, 107, '2026-09-14 00:00:00', '2026-09-30 23:59:59', 1, 'ONLINE_PASSWORD', 'ACTIVE', 'admin', CURRENT_TIMESTAMP, '[DEMO MOCK] 智能门禁凭据已下发'),
|
|
(108, 108, '2026-09-14 00:00:00', '2026-09-30 23:59:59', 1, 'ONLINE_PASSWORD', 'ACTIVE', 'admin', CURRENT_TIMESTAMP, '[DEMO MOCK] 智能门禁凭据已下发'),
|
|
(109, 109, '2026-09-14 00:00:00', '2026-09-30 23:59:59', 1, 'ONLINE_PASSWORD', 'ACTIVE', 'admin', CURRENT_TIMESTAMP, '[DEMO MOCK] 智能门禁凭据已下发'),
|
|
(110, 110, '2026-09-14 00:00:00', '2026-09-30 23:59:59', 1, 'ONLINE_PASSWORD', 'ACTIVE', 'admin', CURRENT_TIMESTAMP, '[DEMO MOCK] 智能门禁凭据已下发'),
|
|
(111, 111, '2026-09-14 00:00:00', '2026-09-30 23:59:59', 1, 'ONLINE_PASSWORD', 'ACTIVE', 'admin', CURRENT_TIMESTAMP, '[DEMO MOCK] 智能门禁凭据已下发'),
|
|
(112, 112, '2026-09-14 00:00:00', '2026-09-30 23:59:59', 1, 'ONLINE_PASSWORD', 'ACTIVE', 'admin', CURRENT_TIMESTAMP, '[DEMO MOCK] 智能门禁凭据已下发'),
|
|
(113, 113, '2026-09-14 00:00:00', '2026-09-30 23:59:59', 1, 'ONLINE_PASSWORD', 'ACTIVE', 'admin', CURRENT_TIMESTAMP, '[DEMO MOCK] 智能门禁凭据已下发'),
|
|
(114, 114, '2026-09-14 00:00:00', '2026-09-30 23:59:59', 1, 'ONLINE_PASSWORD', 'ACTIVE', 'admin', CURRENT_TIMESTAMP, '[DEMO MOCK] 智能门禁凭据已下发')
|
|
ON CONFLICT (accommodation_id) DO UPDATE SET
|
|
auth_status = EXCLUDED.auth_status, face_sync_status = EXCLUDED.face_sync_status;
|
|
|
|
-- 6. 排课日程 (教室与场地互斥,包含确定性冲突用例)
|
|
INSERT INTO public.train_lesson (lesson_id, plan_course_id, t_id, venue_type, class_room_id, site_id, start_time, end_time, create_by, create_time, remark)
|
|
VALUES
|
|
(101, 1, 'T101', 1, 'CR01', NULL, '2026-09-16 09:00:00', '2026-09-16 11:30:00', 'admin', CURRENT_TIMESTAMP, '已结课:高铁站房巡检理论'),
|
|
(102, 1, 'T101', 1, 'CR01', NULL, '2026-09-17 14:00:00', '2026-09-17 16:30:00', 'admin', CURRENT_TIMESTAMP, '已结课:雨棚构件防脱专项理论'),
|
|
(103, 3, 'T102', 2, NULL, 'SITE02', '2026-09-18 09:00:00', '2026-09-18 12:00:00', 'admin', CURRENT_TIMESTAMP, '已结课:给排水变频调速泵组实作演练'),
|
|
(104, 2, 'T103', 1, 'CR02', NULL, '2026-09-19 14:00:00', '2026-09-19 17:00:00', 'admin', CURRENT_TIMESTAMP, '已结课:智能公寓门禁联动实演'),
|
|
(105, 1, 'T101', 1, 'CR01', NULL, '2026-09-24 09:00:00', '2026-09-24 11:30:00', 'admin', CURRENT_TIMESTAMP, '今日核心课次:站台沉降观测技术(预留演示排课四维冲突拦截)'),
|
|
(106, 3, 'T102', 2, NULL, 'SITE01', '2026-09-25 09:00:00', '2026-09-25 12:00:00', 'admin', CURRENT_TIMESTAMP, '待上课:实训场结构探伤实作'),
|
|
(107, 4, 'T104', 1, 'CR01', NULL, '2026-09-26 14:00:00', '2026-09-26 16:30:00', 'admin', CURRENT_TIMESTAMP, '待上课:电子班牌数字化实务'),
|
|
(108, 1, 'T101', 1, 'CR01', NULL, '2026-09-28 09:00:00', '2026-09-28 11:30:00', 'admin', CURRENT_TIMESTAMP, '待上课:研修班综合答辩与结业')
|
|
ON CONFLICT (lesson_id) DO UPDATE SET
|
|
start_time = EXCLUDED.start_time, end_time = EXCLUDED.end_time, t_id = EXCLUDED.t_id;
|
|
|
|
-- 7. 考勤签到流水 (包含缺勤0、正常1、迟到2、早退3、请假4)
|
|
INSERT INTO public.train_student_checkin (checkin_id, enrollment_id, lesson_id, board_id, checkin_way, sign_in_time, sign_out_time, attendance_status, manual_flag, create_by, create_time, remark)
|
|
VALUES
|
|
(1, 101, 101, 'BP001', 1, '2026-09-16 08:52:00', '2026-09-16 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(2, 102, 101, 'BP001', 1, '2026-09-16 08:52:00', '2026-09-16 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(3, 103, 101, 'BP001', 1, '2026-09-16 08:52:00', '2026-09-16 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(4, 104, 101, 'BP001', 1, '2026-09-16 08:52:00', '2026-09-16 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(5, 105, 101, 'BP001', 1, '2026-09-16 09:12:00', '2026-09-16 11:32:00', 2, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(6, 106, 101, 'BP001', 1, '2026-09-16 08:52:00', '2026-09-16 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(7, 107, 101, 'BP001', 1, '2026-09-16 08:52:00', '2026-09-16 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(8, 108, 101, 'BP001', 1, '2026-09-16 08:52:00', '2026-09-16 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(9, 109, 101, 'BP001', 1, '2026-09-16 08:52:00', '2026-09-16 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(10, 110, 101, 'BP001', 1, '2026-09-16 08:52:00', '2026-09-16 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(11, 111, 101, 'BP001', 1, '2026-09-16 08:52:00', '2026-09-16 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(12, 112, 101, 'BP001', 1, '2026-09-16 08:52:00', '2026-09-16 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(13, 113, 101, 'BP001', 1, '2026-09-16 08:52:00', '2026-09-16 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(14, 114, 101, 'BP001', 1, '2026-09-16 08:52:00', '2026-09-16 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(15, 115, 101, 'BP001', 1, '2026-09-16 08:52:00', '2026-09-16 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(16, 116, 101, 'BP001', 1, '2026-09-16 08:52:00', '2026-09-16 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(17, 101, 102, 'BP001', 1, '2026-09-17 08:52:00', '2026-09-17 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(18, 102, 102, 'BP001', 1, '2026-09-17 08:52:00', '2026-09-17 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(19, 103, 102, 'BP001', 1, '2026-09-17 08:52:00', '2026-09-17 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(20, 104, 102, 'BP001', 1, '2026-09-17 08:52:00', '2026-09-17 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(21, 105, 102, 'BP001', 1, '2026-09-17 08:52:00', '2026-09-17 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(22, 106, 102, 'BP001', 1, '2026-09-17 08:52:00', '2026-09-17 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(23, 107, 102, 'BP001', 1, '2026-09-17 08:52:00', '2026-09-17 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(24, 108, 102, 'BP001', 1, NULL, NULL, 0, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(25, 109, 102, 'BP001', 1, '2026-09-17 08:52:00', '2026-09-17 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(26, 110, 102, 'BP001', 1, '2026-09-17 08:52:00', '2026-09-17 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(27, 111, 102, 'BP001', 1, '2026-09-17 08:52:00', '2026-09-17 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(28, 112, 102, 'BP001', 1, '2026-09-17 08:52:00', '2026-09-17 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(29, 113, 102, 'BP001', 1, '2026-09-17 08:52:00', '2026-09-17 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(30, 114, 102, 'BP001', 1, '2026-09-17 08:52:00', '2026-09-17 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(31, 115, 102, 'BP001', 1, '2026-09-17 08:52:00', '2026-09-17 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(32, 116, 102, 'BP001', 1, '2026-09-17 08:52:00', '2026-09-17 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(33, 101, 103, 'BP001', 1, '2026-09-18 08:52:00', '2026-09-18 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(34, 102, 103, 'BP001', 1, '2026-09-18 08:52:00', '2026-09-18 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(35, 103, 103, 'BP001', 1, '2026-09-18 08:52:00', '2026-09-18 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(36, 104, 103, 'BP001', 1, '2026-09-18 08:52:00', '2026-09-18 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(37, 105, 103, 'BP001', 1, '2026-09-18 08:52:00', '2026-09-18 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(38, 106, 103, 'BP001', 1, '2026-09-18 08:52:00', '2026-09-18 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(39, 107, 103, 'BP001', 1, '2026-09-18 08:52:00', '2026-09-18 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(40, 108, 103, 'BP001', 1, '2026-09-18 08:52:00', '2026-09-18 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(41, 109, 103, 'BP001', 1, '2026-09-18 08:52:00', '2026-09-18 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(42, 110, 103, 'BP001', 1, '2026-09-18 08:52:00', '2026-09-18 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(43, 111, 103, 'BP001', 1, '2026-09-18 08:52:00', '2026-09-18 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(44, 112, 103, 'BP001', 4, '2026-09-18 09:00:00', '2026-09-18 11:30:00', 4, 1, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(45, 113, 103, 'BP001', 1, '2026-09-18 08:52:00', '2026-09-18 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(46, 114, 103, 'BP001', 1, '2026-09-18 08:52:00', '2026-09-18 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(47, 115, 103, 'BP001', 1, '2026-09-18 08:52:00', '2026-09-18 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(48, 116, 103, 'BP001', 1, '2026-09-18 08:52:00', '2026-09-18 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(49, 101, 104, 'BP001', 1, '2026-09-19 08:52:00', '2026-09-19 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(50, 102, 104, 'BP001', 1, '2026-09-19 08:52:00', '2026-09-19 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(51, 103, 104, 'BP001', 1, '2026-09-19 08:52:00', '2026-09-19 16:10:00', 3, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(52, 104, 104, 'BP001', 1, '2026-09-19 08:52:00', '2026-09-19 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(53, 105, 104, 'BP001', 1, '2026-09-19 08:52:00', '2026-09-19 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(54, 106, 104, 'BP001', 1, '2026-09-19 08:52:00', '2026-09-19 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(55, 107, 104, 'BP001', 1, '2026-09-19 08:52:00', '2026-09-19 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(56, 108, 104, 'BP001', 1, '2026-09-19 08:52:00', '2026-09-19 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(57, 109, 104, 'BP001', 1, '2026-09-19 08:52:00', '2026-09-19 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(58, 110, 104, 'BP001', 1, '2026-09-19 08:52:00', '2026-09-19 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(59, 111, 104, 'BP001', 1, '2026-09-19 08:52:00', '2026-09-19 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(60, 112, 104, 'BP001', 1, '2026-09-19 08:52:00', '2026-09-19 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(61, 113, 104, 'BP001', 1, '2026-09-19 08:52:00', '2026-09-19 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(62, 114, 104, 'BP001', 1, '2026-09-19 08:52:00', '2026-09-19 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(63, 115, 104, 'BP001', 1, '2026-09-19 08:52:00', '2026-09-19 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水'),
|
|
(64, 116, 104, 'BP001', 1, '2026-09-19 08:52:00', '2026-09-19 11:32:00', 1, 0, 'admin', CURRENT_TIMESTAMP, '课次签到流水')
|
|
ON CONFLICT (enrollment_id, lesson_id) DO UPDATE SET
|
|
attendance_status = EXCLUDED.attendance_status, sign_in_time = EXCLUDED.sign_in_time, sign_out_time = EXCLUDED.sign_out_time;
|
|
|
|
-- 8. Score V2 成绩
|
|
INSERT INTO public.train_score_item (score_item_id, plan_id, plan_course_id, item_name, item_type, weight, full_score, sort_no, create_by, create_time, remark)
|
|
VALUES
|
|
(1, 'PLAN-2026-01', 1, '高铁房建检修规范-期末笔试', 1, 40.00, 100.00, 1, 'admin', CURRENT_TIMESTAMP, '闭卷理论测试'),
|
|
(2, 'PLAN-2026-01', 3, '给排水设备标准化操作考核', 2, 40.00, 100.00, 2, 'admin', CURRENT_TIMESTAMP, '实操工场考核'),
|
|
(3, 'PLAN-2026-01', 1, '课堂考勤与平时研讨成绩', 1, 20.00, 100.00, 3, 'admin', CURRENT_TIMESTAMP, '平时出勤与课堂提问')
|
|
ON CONFLICT (score_item_id) DO UPDATE SET
|
|
item_name = EXCLUDED.item_name, weight = EXCLUDED.weight, full_score = EXCLUDED.full_score;
|
|
|
|
INSERT INTO public.train_student_score (score_id, enrollment_id, score_item_id, score, source_type, import_time, create_by, create_time, remark)
|
|
VALUES
|
|
(1, 101, 1, 92.50, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(2, 101, 2, 95.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(3, 101, 3, 98.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(4, 102, 1, 88.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(5, 102, 2, 86.50, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(6, 102, 3, 92.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(7, 103, 1, 95.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(8, 103, 2, 91.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(9, 103, 3, 96.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(10, 104, 1, 78.50, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(11, 104, 2, 82.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(12, 104, 3, 85.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(13, 105, 1, 84.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(14, 105, 2, 80.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(15, 105, 3, 88.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(16, 106, 1, 68.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(17, 106, 2, 72.50, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(18, 106, 3, 75.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(19, 107, 1, 90.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(20, 107, 2, 94.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(21, 107, 3, 95.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(22, 108, 1, 58.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(23, 108, 2, 65.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(24, 108, 3, 70.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(25, 109, 1, 85.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(26, 109, 2, 88.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(27, 109, 3, 90.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(28, 110, 1, 82.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(29, 110, 2, 84.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(30, 110, 3, 86.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(31, 111, 1, 91.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(32, 111, 2, 93.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(33, 111, 3, 95.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(34, 112, 1, 75.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(35, 112, 2, 78.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(36, 112, 3, 80.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(37, 113, 1, 88.50, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(38, 113, 2, 90.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(39, 113, 3, 92.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(40, 114, 1, 86.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(41, 114, 2, 89.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(42, 114, 3, 91.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(43, 115, 1, 80.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(44, 115, 2, 83.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(45, 115, 3, 85.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(46, 116, 1, 83.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(47, 116, 2, 85.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入'),
|
|
(48, 116, 3, 87.00, 1, CURRENT_TIMESTAMP, 'admin', CURRENT_TIMESTAMP, '正式考评录入')
|
|
ON CONFLICT (enrollment_id, score_item_id) DO UPDATE SET
|
|
score = EXCLUDED.score;
|
|
|
|
COMMIT;
|