spec.md 4.1 KB

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}获取该任务的历史同步日志,并在弹窗中展示(包括每次同步的时间、状态、成功/失败数量、错误信息)