/**
* TMS(培训管理系统)业务服务层。
*
*
主数据与表
*
* - {@code tms_task} — 培训任务(草稿 TD / 已发布 TT)
* - {@code tms_person_task} — 学员个人任务(发布时按 trainees 生成)
* - {@code tms_record} — 培训记录壳(发布时创建,状态见 {@link jnpf.tmsEntity.enums.TmsArchiveStatus})
* - {@code tms_exam} — 在线考试尝试/待考壳
* - {@code tms_person_file} — 个人培训档案主档
* - {@code tms_person_train} — 档案「培训目录」明细(仅归档时写入)
*
*
* 主链路(按时间顺序)
*
* - 年/岗计划审批通过 → {@code createFromAnnual}/{@code createFromPost} → 草稿任务
* - 人工发布或送审通过后结束事件 → {@code publish} → person_task + record(+exam 壳)
* - 学员学完/签到/考试 → person_task 状态与成绩回写
* - 关闭时间到 → pending →(可选 ready)→ {@code archive}
* → upsert {@code tms_person_train},未完成人可生成再培训草稿
* - 个人培训档案 / 个人培训记录页只读 {@code tms_person_train}
*
*
* 网关前缀统一 {@code /api/tms/**},服务内路径见各 Controller 注释(StripPrefix=2)。
*/
package jnpf.tmsService;