刘光辉
7 小时以前 06f314545ac3514d7ce28939920866ae8188d31c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**
 * TMS(培训管理系统)业务服务层。
 *
 * <h2>主数据与表</h2>
 * <ul>
 *   <li>{@code tms_task} — 培训任务(草稿 TD / 已发布 TT)</li>
 *   <li>{@code tms_person_task} — 学员个人任务(发布时按 trainees 生成)</li>
 *   <li>{@code tms_record} — 培训记录壳(发布时创建,状态见 {@link jnpf.tmsEntity.enums.TmsArchiveStatus})</li>
 *   <li>{@code tms_exam} — 在线考试尝试/待考壳</li>
 *   <li>{@code tms_person_file} — 个人培训档案主档</li>
 *   <li>{@code tms_person_train} — 档案「培训目录」明细(仅归档时写入)</li>
 * </ul>
 *
 * <h2>主链路(按时间顺序)</h2>
 * <ol>
 *   <li>年/岗计划审批通过 → {@code createFromAnnual}/{@code createFromPost} → 草稿任务</li>
 *   <li>人工发布或送审通过后结束事件 → {@code publish} → person_task + record(+exam 壳)</li>
 *   <li>学员学完/签到/考试 → person_task 状态与成绩回写</li>
 *   <li>关闭时间到 → pending →(可选 ready)→ {@code archive}
 *       → upsert {@code tms_person_train},未完成人可生成再培训草稿</li>
 *   <li>个人培训档案 / 个人培训记录页只读 {@code tms_person_train}</li>
 * </ol>
 *
 * <p>网关前缀统一 {@code /api/tms/**},服务内路径见各 Controller 注释(StripPrefix=2)。</p>
 */
package jnpf.tmsService;