564 lines
26 KiB
HTML
564 lines
26 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>业务模块清单 (14大模块) - RailwaySystem 铁路智慧培训管理系统</title>
|
||
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%231d4ed8' d='M12 2c-4 0-8 .5-8 4v9.5C4 17.43 5.57 19 7.5 19L6 20.5v.5h2.23l2-2H14l2 2h2v-.5L16.5 19c1.93 0 3.5-1.57 3.5-3.5V6c0-3.5-3.58-4-8-4z'/></svg>">
|
||
<link rel="stylesheet" href="assets/docs.css">
|
||
<style>
|
||
/* 模块分类卡片样式 */
|
||
.module-group-section {
|
||
margin-bottom: 2.75rem;
|
||
}
|
||
.group-header-badge {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
gap: 0.4rem;
|
||
font-size: 0.78rem;
|
||
font-weight: 700;
|
||
padding: 0.2rem 0.6rem;
|
||
border-radius: var(--radius-sm);
|
||
margin-bottom: 0.5rem;
|
||
}
|
||
.module-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
|
||
gap: 1.25rem;
|
||
margin-top: 1rem;
|
||
}
|
||
@media (max-width: 768px) {
|
||
.module-grid { grid-template-columns: 1fr; }
|
||
}
|
||
|
||
.module-card {
|
||
background: #ffffff;
|
||
border: 1px solid var(--border-light);
|
||
border-radius: var(--radius-md);
|
||
padding: 1.25rem 1.35rem;
|
||
box-shadow: var(--shadow-card);
|
||
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
||
display: flex;
|
||
flex-direction: column;
|
||
}
|
||
.module-card:hover {
|
||
border-color: var(--border-medium);
|
||
box-shadow: var(--shadow-card-hover);
|
||
}
|
||
.module-header {
|
||
display: flex;
|
||
justify-content: space-between;
|
||
align-items: flex-start;
|
||
margin-bottom: 0.65rem;
|
||
}
|
||
.module-title-box {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 0.65rem;
|
||
}
|
||
.module-icon {
|
||
width: 38px;
|
||
height: 38px;
|
||
border-radius: var(--radius-sm);
|
||
background: var(--rail-blue-subtle);
|
||
color: var(--rail-blue);
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
font-weight: 700;
|
||
font-size: 1.1rem;
|
||
flex-shrink: 0;
|
||
}
|
||
.module-name-zh {
|
||
font-size: 1.05rem;
|
||
font-weight: 600;
|
||
color: var(--navy-900);
|
||
}
|
||
.module-name-en {
|
||
font-family: var(--font-mono);
|
||
font-size: 0.75rem;
|
||
color: var(--text-muted);
|
||
}
|
||
.module-summary {
|
||
font-size: 0.88rem;
|
||
color: var(--text-secondary);
|
||
line-height: 1.65;
|
||
margin-bottom: 0.85rem;
|
||
flex: 1;
|
||
}
|
||
|
||
/* 规则详情折叠器 (HTML5 details) */
|
||
details.rule-collapse {
|
||
border-top: 1px dashed var(--border-light);
|
||
padding-top: 0.65rem;
|
||
margin-top: auto;
|
||
}
|
||
details.rule-collapse summary {
|
||
cursor: pointer;
|
||
font-size: 0.8rem;
|
||
font-weight: 600;
|
||
color: var(--rail-blue);
|
||
user-select: none;
|
||
outline: none;
|
||
list-style: none;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
}
|
||
details.rule-collapse summary::-webkit-details-marker {
|
||
display: none;
|
||
}
|
||
details.rule-collapse summary::after {
|
||
content: '▾';
|
||
font-size: 0.9rem;
|
||
transition: transform 0.2s ease;
|
||
}
|
||
details.rule-collapse[open] summary::after {
|
||
transform: rotate(180deg);
|
||
}
|
||
.rule-content {
|
||
padding: 0.75rem 0 0.25rem;
|
||
font-size: 0.82rem;
|
||
line-height: 1.7;
|
||
color: var(--text-secondary);
|
||
}
|
||
.rule-item {
|
||
margin-bottom: 0.4rem;
|
||
}
|
||
.rule-item strong {
|
||
color: var(--navy-900);
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
|
||
<!-- 顶部主导航 -->
|
||
<nav class="navbar">
|
||
<div class="nav-brand-wrap">
|
||
<a href="index.html" class="nav-brand">
|
||
<svg viewBox="0 0 24 24"><path d="M12 2c-4 0-8 .5-8 4v9.5C4 17.43 5.57 19 7.5 19L6 20.5v.5h2.23l2-2H14l2 2h2v-.5L16.5 19c1.93 0 3.5-1.57 3.5-3.5V6c0-3.5-3.58-4-8-4zM7.5 17c-.83 0-1.5-.67-1.5-1.5S6.67 14 7.5 14s1.5.67 1.5 1.5S8.33 17 7.5 17zm9 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm1.5-6H6V6h12v5z"/></svg>
|
||
<div>
|
||
<div class="brand-title">RailwaySystem</div>
|
||
<div class="brand-sub">铁路智慧培训管理系统</div>
|
||
</div>
|
||
</a>
|
||
<span class="brand-pill">Final Candidate · 待正式部署</span>
|
||
</div>
|
||
|
||
<ul class="nav-menu">
|
||
<li><a href="index.html" class="nav-link">首页</a></li>
|
||
<li><a href="business-flow.html" class="nav-link">业务</a></li>
|
||
<li><a href="architecture.html" class="nav-link">系统</a></li>
|
||
<li><a href="testing.html" class="nav-link">质量</a></li>
|
||
<li><a href="release-status.html" class="nav-link">发布</a></li>
|
||
<li><a href="modules.html" class="nav-link active">14大业务模块清单</a></li>
|
||
<li><a href="data-model.html" class="nav-link">实体关系模型(ER)</a></li>
|
||
<li><a href="deployment.html" class="nav-link">部署拓扑与脚本Delta</a></li>
|
||
<li><a href="http://192.168.139.218:9980/sict/railwaysystem/-/blob/feat/cicd-pipeline/docs/handbook/08-deployment-and-release.md" target="_blank" rel="noopener noreferrer" class="nav-handbook-link">> 查阅部署发布手册</a></li>
|
||
<li><a href="http://192.168.139.218:9980/sict/railwaysystem/-/blob/feat/cicd-pipeline/docs/README.md" target="_blank" rel="noopener noreferrer" class="nav-back-link">← 文档中心</a></li>
|
||
</ul>
|
||
</nav>
|
||
|
||
<!-- 页面主体容器 -->
|
||
<main class="page-container">
|
||
|
||
<header class="page-hero">
|
||
<div class="hero-pretitle">Functional Domain Architecture</div>
|
||
<h1 class="hero-title-main">14 大核心业务模块清单</h1>
|
||
<p class="hero-lead-text">
|
||
按照能力域严格分为培训资源、教务编排、现场执行与数据分析 4 大分组。默认仅呈现模块标识与一句话作用,点击可展开详细业务规则与物理表。
|
||
</p>
|
||
</header>
|
||
|
||
<!-- 分组 1: 培训资源 (6个模块) -->
|
||
<section class="module-group-section" id="group-resource">
|
||
<div class="section-header">
|
||
<div>
|
||
<span class="group-header-badge" style="background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe;">Domain 1</span>
|
||
<h2 class="section-title">培训资源域 (Master Data)</h2>
|
||
<p class="section-subtitle">支撑智慧培训基地的基础人、货、场与生活主数据设施。</p>
|
||
</div>
|
||
<span class="badge badge-pass">6 模块全部实现</span>
|
||
</div>
|
||
|
||
<div class="module-grid">
|
||
<!-- 1. Teacher -->
|
||
<div class="module-card">
|
||
<div class="module-header">
|
||
<div class="module-title-box">
|
||
<div class="module-icon">师</div>
|
||
<div>
|
||
<div class="module-name-zh">教师管理</div>
|
||
<div class="module-name-en">Teacher</div>
|
||
</div>
|
||
</div>
|
||
<span class="badge badge-pass">IMPLEMENTED</span>
|
||
</div>
|
||
<p class="module-summary">维护培训师资档案、所属专业领域、职称与联系方式,支撑课程主讲人指派。</p>
|
||
<details class="rule-collapse">
|
||
<summary>查看详细规则与模型</summary>
|
||
<div class="rule-content">
|
||
<div class="rule-item"><strong>唯一性规则</strong>:教师手机号全局唯一,重复录入强行拦截 (40001)。</div>
|
||
<div class="rule-item"><strong>物理表名</strong>:<code>train_teacher</code> (主键 <code>t_id</code>)</div>
|
||
<div class="rule-item"><strong>实测结论</strong>:页面访问、列表查询、手机号防重复验证通过。</div>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
|
||
<!-- 2. Student -->
|
||
<div class="module-card">
|
||
<div class="module-header">
|
||
<div class="module-title-box">
|
||
<div class="module-icon">学</div>
|
||
<div>
|
||
<div class="module-name-zh">学员档案</div>
|
||
<div class="module-name-en">Student</div>
|
||
</div>
|
||
</div>
|
||
<span class="badge badge-pass">IMPLEMENTED</span>
|
||
</div>
|
||
<p class="module-summary">统一管理铁路职工参训人员主档,维护所属铁路局、站段、工种及敏感身份证安全脱敏。</p>
|
||
<details class="rule-collapse">
|
||
<summary>查看详细规则与模型</summary>
|
||
<div class="rule-content">
|
||
<div class="rule-item"><strong>脱敏与安全</strong>:身份证散列存盘,对外接口仅返回末4位脱敏掩码,杜绝明文暴露。</div>
|
||
<div class="rule-item"><strong>主档状态</strong>:维护 <code>status=1:正常</code> 与 <code>status=0:停用</code>,停用学员严禁报名。</div>
|
||
<div class="rule-item"><strong>物理表名</strong>:<code>train_student</code> (主键 <code>s_id</code> 为 32 位 UUID)</div>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
|
||
<!-- 3. Course -->
|
||
<div class="module-card">
|
||
<div class="module-header">
|
||
<div class="module-title-box">
|
||
<div class="module-icon">课</div>
|
||
<div>
|
||
<div class="module-name-zh">课程管理</div>
|
||
<div class="module-name-en">Course</div>
|
||
</div>
|
||
</div>
|
||
<span class="badge badge-pass">IMPLEMENTED</span>
|
||
</div>
|
||
<p class="module-summary">标准化课程库管理,定义课程编码、理论与实操学时、课程类别及教材大纲。</p>
|
||
<details class="rule-collapse">
|
||
<summary>查看详细规则与模型</summary>
|
||
<div class="rule-content">
|
||
<div class="rule-item"><strong>业务约束</strong>:课程编码全局唯一;学时 <code>c_duration</code> 必须大于 0。</div>
|
||
<div class="rule-item"><strong>物理表名</strong>:<code>train_course</code> (主键 <code>c_id</code>)</div>
|
||
<div class="rule-item"><strong>实测结论</strong>:课程建档、课时汇总与状态维护通过。</div>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
|
||
<!-- 4. Classroom -->
|
||
<div class="module-card">
|
||
<div class="module-header">
|
||
<div class="module-title-box">
|
||
<div class="module-icon">室</div>
|
||
<div>
|
||
<div class="module-name-zh">理论教室</div>
|
||
<div class="module-name-en">Classroom</div>
|
||
</div>
|
||
</div>
|
||
<span class="badge badge-pass">IMPLEMENTED</span>
|
||
</div>
|
||
<p class="module-summary">管理基地理论教学教室,设定容纳人数、楼层门牌号并关联挂载电子班牌终端。</p>
|
||
<details class="rule-collapse">
|
||
<summary>查看详细规则与模型</summary>
|
||
<div class="rule-content">
|
||
<div class="rule-item"><strong>容量约束</strong>:容量非空且大于 0,作为排课选址基础参考。</div>
|
||
<div class="rule-item"><strong>班牌绑定</strong>:支持绑定 0/1/N 块电子班牌,详情接口实时映射。</div>
|
||
<div class="rule-item"><strong>物理表名</strong>:<code>train_classroom_info</code> (主键 <code>class_room_id</code>)</div>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
|
||
<!-- 5. Site -->
|
||
<div class="module-card">
|
||
<div class="module-header">
|
||
<div class="module-title-box">
|
||
<div class="module-icon">场</div>
|
||
<div>
|
||
<div class="module-name-zh">实训场地</div>
|
||
<div class="module-name-en">Training Site</div>
|
||
</div>
|
||
</div>
|
||
<span class="badge badge-pass">IMPLEMENTED</span>
|
||
</div>
|
||
<p class="module-summary">管理机务、电务、工务、供电等室外实训演练基地,支持大型特种设备实训排产。</p>
|
||
<details class="rule-collapse">
|
||
<summary>查看详细规则与模型</summary>
|
||
<div class="rule-content">
|
||
<div class="rule-item"><strong>互斥规则</strong>:在排课中与理论教室满足严格 XOR 互斥逻辑。</div>
|
||
<div class="rule-item"><strong>物理表名</strong>:<code>train_training_site</code> (主键 <code>site_id</code> 为 32 位 UUID)</div>
|
||
<div class="rule-item"><strong>实测结论</strong>:场地创建、容量校验与排课占用预警验证通过。</div>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
|
||
<!-- 6. Dormitory -->
|
||
<div class="module-card">
|
||
<div class="module-header">
|
||
<div class="module-title-box">
|
||
<div class="module-icon">宿</div>
|
||
<div>
|
||
<div class="module-name-zh">后勤宿舍</div>
|
||
<div class="module-name-en">Dormitory</div>
|
||
</div>
|
||
</div>
|
||
<span class="badge badge-pass">IMPLEMENTED</span>
|
||
</div>
|
||
<p class="module-summary">提供基地学员宿舍楼栋、房号与床位分配管理,联动学员报名中的住宿需求。</p>
|
||
<details class="rule-collapse">
|
||
<summary>查看详细规则与模型</summary>
|
||
<div class="rule-content">
|
||
<div class="rule-item"><strong>业务联动</strong>:由报名表 <code>accommodation_required = 1</code> 驱动床位分配。</div>
|
||
<div class="rule-item"><strong>物理表名</strong>:<code>train_dormitory_info</code> (主键 <code>dorm_id</code>), <code>train_accommodation</code></div>
|
||
<div class="rule-item"><strong>实测结论</strong>:宿舍主数据维护及入住状态管理正常。</div>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 分组 2: 教务编排 (4个模块) -->
|
||
<section class="module-group-section" id="group-scheduling">
|
||
<div class="section-header">
|
||
<div>
|
||
<span class="group-header-badge" style="background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0;">Domain 2</span>
|
||
<h2 class="section-title">教务编排域 (Scheduling Core)</h2>
|
||
<p class="section-subtitle">负责计划拟定、课程师资绑定、参训名单导入及四维排课防重叠调度。</p>
|
||
</div>
|
||
<span class="badge badge-pass">4 模块全部实现</span>
|
||
</div>
|
||
|
||
<div class="module-grid">
|
||
<!-- 7. Plan -->
|
||
<div class="module-card">
|
||
<div class="module-header">
|
||
<div class="module-title-box">
|
||
<div class="module-icon">计</div>
|
||
<div>
|
||
<div class="module-name-zh">培训计划</div>
|
||
<div class="module-name-en">Training Plan</div>
|
||
</div>
|
||
</div>
|
||
<span class="badge badge-pass">IMPLEMENTED</span>
|
||
</div>
|
||
<p class="module-summary">拟定培训班方案,维护班级周期、报到截止日、计划招生人数上限及全生命周期状态流转。</p>
|
||
<details class="rule-collapse">
|
||
<summary>查看详细规则与模型</summary>
|
||
<div class="rule-content">
|
||
<div class="rule-item"><strong>状态流转</strong>:<code>0:草稿</code> → <code>1:进行中</code> → <code>2:已结束</code>。</div>
|
||
<div class="rule-item"><strong>结训保护</strong>:结训时 Plan 置为 2,锁定排课变更,批量完成活动学员。</div>
|
||
<div class="rule-item"><strong>物理表名</strong>:<code>train_class_plan</code> (主键 <code>plan_id</code> 32 位 UUID)</div>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
|
||
<!-- 8. PlanCourse -->
|
||
<div class="module-card">
|
||
<div class="module-header">
|
||
<div class="module-title-box">
|
||
<div class="module-icon">纲</div>
|
||
<div>
|
||
<div class="module-name-zh">计划课程</div>
|
||
<div class="module-name-en">Plan Course</div>
|
||
</div>
|
||
</div>
|
||
<span class="badge badge-pass">IMPLEMENTED</span>
|
||
</div>
|
||
<p class="module-summary">构建培训计划与课程的关联映射,指派授课教师,自动汇总开班总学时。</p>
|
||
<details class="rule-collapse">
|
||
<summary>查看详细规则与模型</summary>
|
||
<div class="rule-content">
|
||
<div class="rule-item"><strong>关联一致性</strong>:作为排课 Lesson 的外键依赖,禁止跨计划引用。</div>
|
||
<div class="rule-item"><strong>物理表名</strong>:<code>train_plan_course</code> (主键 <code>plan_course_id</code>)</div>
|
||
<div class="rule-item"><strong>实测结论</strong>:课程批量绑定与学时自动联动通过。</div>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
|
||
<!-- 9. Enrollment -->
|
||
<div class="module-card">
|
||
<div class="module-header">
|
||
<div class="module-title-box">
|
||
<div class="module-icon">名</div>
|
||
<div>
|
||
<div class="module-name-zh">参训管理</div>
|
||
<div class="module-name-en">Enrollment</div>
|
||
</div>
|
||
</div>
|
||
<span class="badge badge-pass">IMPLEMENTED</span>
|
||
</div>
|
||
<p class="module-summary">管理学员入班名单、招生容量防超额守卫,并维护学员在班级的参训状态流转。</p>
|
||
<details class="rule-collapse">
|
||
<summary>查看详细规则与模型</summary>
|
||
<div class="rule-content">
|
||
<div class="rule-item"><strong>双重硬拦截</strong>:重复报名拦截 (40030);招生容量上限拦截 (40031)。</div>
|
||
<div class="rule-item"><strong>参训状态机</strong>:<code>0:待报到</code> → <code>1:已报到</code> → <code>2:请假</code> → <code>3:退训</code> → <code>4:已完成</code>。</div>
|
||
<div class="rule-item"><strong>物理表名</strong>:<code>train_enrollment</code> (主键 <code>enrollment_id</code>)</div>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
|
||
<!-- 10. Scheduling -->
|
||
<div class="module-card">
|
||
<div class="module-header">
|
||
<div class="module-title-box">
|
||
<div class="module-icon">排</div>
|
||
<div>
|
||
<div class="module-name-zh">排课调度</div>
|
||
<div class="module-name-en">Scheduling</div>
|
||
</div>
|
||
</div>
|
||
<span class="badge badge-pass">VERIFIED</span>
|
||
</div>
|
||
<p class="module-summary">编制每日具体课次,集成四维冲突预检机制,输出可视化聚合日课表视图。</p>
|
||
<details class="rule-collapse">
|
||
<summary>查看详细规则与模型</summary>
|
||
<div class="rule-content">
|
||
<div class="rule-item"><strong>四维冲突预检</strong>:教师冲突硬检;教室/场地/班级重叠 Warning 提示并允许确认保存。</div>
|
||
<div class="rule-item"><strong>合规要求</strong>:严格禁止任何 force / override 违规旁路参数。</div>
|
||
<div class="rule-item"><strong>物理表名</strong>:<code>train_lesson</code> (主键 <code>lesson_id</code>)</div>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 分组 3: 现场执行 (3个模块) -->
|
||
<section class="module-group-section" id="group-execution">
|
||
<div class="section-header">
|
||
<div>
|
||
<span class="group-header-badge" style="background: #fefce8; color: #854d0e; border: 1px solid #fef08a;">Domain 3</span>
|
||
<h2 class="section-title">现场执行域 (Execution & IoT)</h2>
|
||
<p class="section-subtitle">支撑学员现场核验报到、课堂考勤打卡留痕与电子班牌终端信息交互。</p>
|
||
</div>
|
||
<span class="badge badge-pass">3 模块全部通过验证</span>
|
||
</div>
|
||
|
||
<div class="module-grid">
|
||
<!-- 11. Report -->
|
||
<div class="module-card">
|
||
<div class="module-header">
|
||
<div class="module-title-box">
|
||
<div class="module-icon">到</div>
|
||
<div>
|
||
<div class="module-name-zh">开班报到</div>
|
||
<div class="module-name-en">Class Report</div>
|
||
</div>
|
||
</div>
|
||
<span class="badge badge-pass">VERIFIED</span>
|
||
</div>
|
||
<p class="module-summary">学员到校开班报到身份核验,强事务联动流转报名状态至已报到,防重复报到。</p>
|
||
<details class="rule-collapse">
|
||
<summary>查看详细规则与模型</summary>
|
||
<div class="rule-content">
|
||
<div class="rule-item"><strong>强事务联动</strong>:报到写入 <code>train_class_report</code>,同时联动更新 <code>enrollment_status = 1</code> 且记录 <code>join_time</code>。</div>
|
||
<div class="rule-item"><strong>重复报到防范</strong>:已报到学员再次报到触发拦截 (40050)。</div>
|
||
<div class="rule-item"><strong>物理表名</strong>:<code>train_class_report</code> (主键 <code>report_id</code>)</div>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
|
||
<!-- 12. Attendance -->
|
||
<div class="module-card">
|
||
<div class="module-header">
|
||
<div class="module-title-box">
|
||
<div class="module-icon">勤</div>
|
||
<div>
|
||
<div class="module-name-zh">课次考勤</div>
|
||
<div class="module-name-en">Attendance</div>
|
||
</div>
|
||
</div>
|
||
<span class="badge badge-pass">VERIFIED</span>
|
||
</div>
|
||
<p class="module-summary">处理课次签到与签退打卡,保证首次打卡时间幂等性,支持人工代签审计留痕。</p>
|
||
<details class="rule-collapse">
|
||
<summary>查看详细规则与模型</summary>
|
||
<div class="rule-content">
|
||
<div class="rule-item"><strong>打卡幂等性</strong>:重复调用签到或签退时,严格保持首次 <code>signInTime/signOutTime</code> 不变。</div>
|
||
<div class="rule-item"><strong>人工代签留痕</strong>:后台调整考勤自动置 <code>manual_flag = 1</code>,记录调整人与备注。</div>
|
||
<div class="rule-item"><strong>物理表名</strong>:<code>train_student_checkin</code> (主键 <code>checkin_id</code>)</div>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
|
||
<!-- 13. Board -->
|
||
<div class="module-card">
|
||
<div class="module-header">
|
||
<div class="module-title-box">
|
||
<div class="module-icon">牌</div>
|
||
<div>
|
||
<div class="module-name-zh">电子班牌</div>
|
||
<div class="module-name-en">Electronic Board</div>
|
||
</div>
|
||
</div>
|
||
<span class="badge badge-pass">VERIFIED</span>
|
||
</div>
|
||
<p class="module-summary">管理挂载在教室的电子显示终端,在课表中提供智能降级映射与物联页面呈现。</p>
|
||
<details class="rule-collapse">
|
||
<summary>查看详细规则与模型</summary>
|
||
<div class="rule-content">
|
||
<div class="rule-item"><strong>课表降级规则</strong>:0 块板为 null,恰好 1 块板为对应 SN,>1 块板降级为 null。</div>
|
||
<div class="rule-item"><strong>前端路由</strong>:前端正式路由为 <code>/equip/board</code>,对应后端接口 <code>/train/board</code>。</div>
|
||
<div class="rule-item"><strong>物理表名</strong>:<code>train_electronic_board</code> (主键 <code>board_id</code> 32 位 UUID)</div>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 分组 4: 统计分析 (1个模块/4个子视图) -->
|
||
<section class="module-group-section" id="group-analytics" style="margin-bottom: 0;">
|
||
<div class="section-header">
|
||
<div>
|
||
<span class="group-header-badge" style="background: #fdf4ff; color: #86198f; border: 1px solid #f5d0fe;">Domain 4</span>
|
||
<h2 class="section-title">数据分析域 (Analytics & Reports)</h2>
|
||
<p class="section-subtitle">聚合教务执行过程数据,提供只读统计报表与画像导出,保持架构隔离。</p>
|
||
</div>
|
||
<span class="badge badge-pass">V2 READ MODEL · PASS</span>
|
||
</div>
|
||
|
||
<div class="module-grid">
|
||
<!-- 14. Analytics -->
|
||
<div class="module-card">
|
||
<div class="module-header">
|
||
<div class="module-title-box">
|
||
<div class="module-icon" style="background: #fdf4ff; color: #86198f;">析</div>
|
||
<div>
|
||
<div class="module-name-zh">统计分析与报表</div>
|
||
<div class="module-name-en">Analytics</div>
|
||
</div>
|
||
</div>
|
||
<span class="badge badge-pass">V2 READ MODEL · PASS</span>
|
||
</div>
|
||
<p class="module-summary">涵盖报到率统计、考勤打卡统计、学员课时完成度及综合画像等只读报表展示与数据导出。</p>
|
||
<details class="rule-collapse">
|
||
<summary>查看详细规则与模型</summary>
|
||
<div class="rule-content">
|
||
<div class="rule-item"><strong>架构隔离</strong>:当前版本已完成 V2 Read Model 接入,提供稳定的只读查询与导出能力,保持数据库单向读取。</div>
|
||
<div class="rule-item"><strong>涵盖视图</strong>:Report 报到报表、Checkin 考勤报表、Duration 学时统计、Portrait 画像表 4 个视图均通过验收。</div>
|
||
<div class="rule-item"><strong>演进规划</strong>:高级画像算法模型与多维统计扩展标为 <code>RESERVED / FUTURE EXTENSION</code>。</div>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
</main>
|
||
|
||
<!-- 页脚 -->
|
||
<footer class="site-footer">
|
||
<p>RailwaySystem 铁路智慧培训管理系统 · 交付候选版 (Final Candidate)</p>
|
||
<p style="margin-top: 0.35rem; color: var(--text-muted);">
|
||
模块架构指南 · <a href="http://192.168.139.218:9980/sict/railwaysystem/-/blob/feat/cicd-pipeline/docs/handbook/05-module-guide.md" target="_blank" rel="noopener noreferrer">查阅模块详细指南手册</a>
|
||
</p>
|
||
</footer>
|
||
|
||
<script src="assets/docs.js"></script>
|
||
</body>
|
||
</html>
|