From 7251c79b9c1caa37b5a735c07897418e1032b2e4 Mon Sep 17 00:00:00 2001 From: zhaoyun Date: Thu, 28 May 2026 12:20:47 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E8=A1=A5=E5=85=85=E5=85=A8=E9=93=BE?= =?UTF-8?q?=E8=B7=AF=E4=BF=AE=E5=A4=8D=E5=8E=9F=E5=88=99=E5=88=B0AGENTS.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index eda61f305..6a9dd082f 100755 --- a/AGENTS.md +++ b/AGENTS.md @@ -185,4 +185,27 @@ npm run preview - 前端端口:81 - API 前缀:`/openhis` - Swagger UI:`/openhis/swagger-ui/index.html` -- Druid 监控:`/openhis/druid/login.html` \ No newline at end of file +- Druid 监控:`/openhis/druid/login.html` +## 铁律:全链路修复原则 ⚠️ + +> 修 Bug / 做需求时,**不得"就事论事"**,必须走通完整的**数据流全链路**: + +### 检查清单(每一环都确认) +1. **录入** → 前端有无输入入口?(弹窗、表格行编辑、表单…) +2. **保存** → 前端 → API → 后端 Controller → Service → Entity → DB,**每一个保存入口**都传了该字段吗?(注意多个 Service 实现类可能走不同入口) +3. **查询** → DB → Mapper XML(注意 UNION ALL 子查询要统一加)→ DTO → 前端展示,列和数据绑定都完整吗? +4. **修改** → 已有数据编辑回显 → 修改再保存 → 数据能正确更新吗? +5. **删除/停止/撤回** → 相关状态变更会丢失该字段数据吗? +6. **关联模块** → 上游(如医嘱录入后护士站要看到备注)和下游(如打印、计费、报表)是否也需要同步修改? + +### 常见陷阱 +- ❌ 只修了「主入口」的保存逻辑,忘了「批量保存」「签发保存」等其他入口 +- ❌ 前端加了输入框,后端 Service 没传字段(不同模块可能走不同 Service 实现类) +- ❌ Mapper XML 是 UNION ALL 查询,只改了其中一个子查询,导致列数不匹配或漏加 +- ❌ DTO 层级继承关系没检查(如 `RegAdviceSaveDto extends AdviceSaveDto`,父类改了对不对) +- ❌ 只测了新增,没测编辑已有数据的回显和修改再保存 + +### 执行细则 +- 每个字段的新增/修改,先在纸上(或文档里)画出完整的数据流向图再动手 +- 提交前逐个环节检查一遍,确保没有断链 +- 编译通过不等同于功能正确,必要时做端到端验证