ADDED Requirements
Requirement: 同步任务管理提供任务配置能力
系统SHALL提供同步任务配置功能,允许管理员通过前端界面或后端API配置同步任务参数,包括:
- 任务名称
- 同步类型(full/incremental)
- 增量同步的回溯天数(默认3天)
- 定时同步的Cron表达式或固定间隔(如每30分钟)
- 是否启用该任务
配置信息SHALL持久化存储在IRIS全局变量^DRG.HIS.SyncConfig中。
Scenario: 创建新的增量同步任务
- WHEN 管理员通过前端界面创建一条新的同步任务,设置任务名称为
"日常增量同步",同步类型为incremental,回溯天数为3,定时间隔为30分钟,启用状态为true
- THEN 系统SHALL将配置信息存入
^DRG.HIS.SyncConfig,任务立即生效,按照30分钟间隔自动执行
Scenario: 修改已有同步任务的配置
- WHEN 管理员修改已有同步任务的定时间隔从
30分钟改为60分钟
- THEN 系统SHALL更新
^DRG.HIS.SyncConfig中的配置,下一次定时触发按照新的间隔执行
Requirement: 同步任务管理提供手动触发同步能力
系统SHALL提供手动触发同步的接口,允许管理员在前端界面点击「立即同步」按钮,触发指定类型的同步任务(全量或增量)。
Scenario: 管理员手动触发增量同步
- WHEN 管理员在前端
DataSync.tsx页面点击某条增量同步任务的「启动」按钮
- THEN 系统SHALL立即执行一次增量同步,并在前端页面实时更新任务状态(running → success/failed)
Scenario: 管理员手动触发全量同步并指定日期范围
- WHEN 管理员在前端界面触发全量同步,并指定日期范围为
2026-01-01到2026-06-14
- THEN 系统SHALL按照指定日期范围执行全量同步,并在前端展示同步进度(如
"正在处理:第3段/共26段")
Requirement: 同步任务管理提供同步状态监控能力
系统SHALL在前端DataSync.tsx页面展示同步任务的实时状态,包括:
- 任务名称、同步类型、状态(running/success/failed/stopped)
- 最后一次同步时间、下一次预计同步时间
- 最近一次同步的成功/失败记录数
- 同步进度(如增量同步正在进行中,显示已处理数量)
Scenario: 前端页面展示同步任务列表
- WHEN 管理员访问
DataSync.tsx页面
- THEN 系统SHALL从后端API(
GET /api/his-sync/tasks)获取所有同步任务的配置和状态,并以表格形式展示
Scenario: 同步任务正在运行中,前端页面显示进度
- WHEN 增量同步任务正在执行,已处理30条数据,总共预估100条
- THEN 前端页面SHALL显示该任务状态为
running,进度条显示30%,并定期自动刷新状态(每5秒)
Requirement: 同步任务管理提供失败重试能力
系统SHALL在同步任务失败后,允许管理员手动触发重试。重试时SHALL重新执行该任务,并记录新的同步日志。
Scenario: 同步任务失败后管理员点击重试
- WHEN 某条同步任务状态为
failed,管理员点击「重试」按钮
- THEN 系统SHALL重新执行该同步任务(增量同步使用原始时间窗口,全量同步使用原始日期范围),并在重试完成后更新任务状态和日志
Scenario: 重试成功
- WHEN 重试执行成功,所有数据写入正常
- THEN 系统SHALL将任务状态更新为
success,并记录一条新的同步日志(状态:success)
Requirement: 同步任务管理提供同步日志查询能力
系统SHALL提供同步日志查询接口,支持按任务名称、同步类型、状态、时间范围查询历史同步日志。
Scenario: 查询指定任务的同步历史
- WHEN 管理员在
DataSync.tsx页面点击某条任务的「详情」按钮
- THEN 系统SHALL调用
GET /api/his-sync/logs?taskId={taskId}获取该任务的历史同步日志,并在弹窗中展示(包括每次同步的时间、状态、成功/失败数量、错误信息)