tasks.md 3.4 KB

实现任务清单

1. 后端接口 02010109 开发

  • 1.1 在 src/src/DRG/Warning.cls 中新增 BatchProcessWarningByDay(jsonObj) 方法,Code = 02010109
  • 1.2 解析入参 warningId / processStatus / processRemark 与 session.userID;warningId 为空返回 -1
  • 1.3 打开锚点记录读取 FixmedinsCode / HISAdmID / WarningType / WarningDate;记录不存在返回 -2
  • 1.4 状态映射复用 02010104 规则:processed→02、ignored→03,兼容中文与原始码
  • 1.5 开启 %SYS.Transaction 事务,执行批量 UPDATE(4 维度锁定 + WarningStatus='01'),用 %ROWCOUNT 取 updatedCount
  • 1.6 事务提交;异常回滚并返回 -3,复用 InsErrRecord 记录日志
  • 1.7 出参 {errorCode:"0", errorMessage:"处理成功", result:{updatedCount:N}}
  • 1.8 在 src/src/DRG/Warning/1.int 同步生成 zBatchProcessWarningByDay 路由

2. CB_MapInterface 接口注册

  • 2.1 编写 SQL 脚本插入 CB_MapInterface 记录:Code='02010109'、ClassName='src.DRG.Warning'、MethodName='BatchProcessWarningByDay'、InterfaceName='当日同患者同类型预警批量处理'、IsActive='Y'(脚本:scripts/insert_warning_02010109.sql)
  • 2.2 验证:前端"接口管理"页面可检索到 02010109

3. 前端 API 封装

  • 3.1 在 frontend/src/api/warning.ts 新增 batchProcessWarningByDay(id, processType, processRemark),调用 invoke('02010109', [...])
  • 3.2 在 frontend/src/api/request.ts 的 getMockResponse 追加 02010109 分支(返回 updatedCount)

4. 前端 HisPopup 处理提交切换

  • 4.1 修改 frontend/src/pages/Warning/HisPopup.tsx 的 handleSubmitEdit:将 processWarning(record.id, processType, processRemark) 替换为 batchProcessWarningByDay(record.id, processType, processRemark)
  • 4.2 成功回调:读取 res.result.updatedCount,成功提示改为 已处理,当日同类共同步 N 条;关闭 Drawer、调用 loadData() 刷新
  • 4.3 失败回调:保留 Drawer 开启、显示后端错误消息(行为不变)

5. 前端 Center 处理弹框(单条/批量选择)

  • 5.1 在 frontend/src/pages/Warning/Center.tsx 处理 Modal 内新增「处理方式范围」Radio.Group:single(单条,默认)/ batch(批量当日同类)
  • 5.2 新增 processScope 状态;handleProcess 打开弹框时重置为 'single'
  • 5.3 选择 batch 时,用锚点记录 fixmedinsCode / hisAdmId / warningType / warningDate + '01' 预查当日同类待处理条数,以 Alert 提示"将同步处理当日同类 N 条预警(含本条)"
  • 5.4 改造 submitProcess:依据 processScope 调用 processWarning(单条)或 batchProcessWarningByDay(批量);批量成功提示附加 ,当日同类共同步 N 条
  • 5.5 单条场景行为保持与改造前一致(兼容监控中心既有用法)

6. 联调与验证(需 IRIS 部署与手动测试)

  • 6.1 IRIS 编译 Warning.cls 与 Warning/1.int
  • 6.2 执行 SQL(scripts/insert_warning_02010109.sql)注册 02010109
  • 6.3 构造同一患者同一天同类型多条预警(≥2 条),经 HIS 弹框处理最新一条,验证其余记录状态同步更新为已处理
  • 6.4 验证非当日/非同类型/已处理记录不受影响
  • 6.5 验证 Center.tsx:默认单条走 02010104;勾选批量后走 02010109 并提示同步条数;单条场景行为与改造前一致