feat(V24): 门诊医生工作站增强+铁律18(禁止破坏原有功能)

V24 Flyway — 5张新表:
- structured_emr_template: 结构化病历模板(入院/日常/出院/会诊)
- icd10_diagnosis_code: ICD-10诊断编码库(编码/名称/拼音/五笔)
- drug_interaction_rule: 合理用药审核规则(配伍禁忌/相互作用)
- discharge_summary: 出院小结(入院诊断/出院诊断/治疗总结)
- prescription_intercept_log: 处方前置拦截记录(拦截/强制通过)

新增铁律18: 禁止破坏原有功能
- 修改已有实体前必须对比原始文件
- 新增字段只能追加,不能删除已有字段
- SQL迁移只允许ADD COLUMN
- 每次修改必须编译验证

修复: 恢复被覆盖的IDrugInteractionRuleService接口和实现
- 保留原有selectByDrugCode/selectInteractions方法
- 保留原有DrugInteractionRule实体字段

所有模块编译通过 (mvn clean compile -DskipTests)
This commit is contained in:
2026-06-06 19:52:12 +08:00
parent b3199fd9a5
commit d0aa498386
23 changed files with 608 additions and 36 deletions

View File

@@ -524,3 +524,23 @@ npm run lint
#### 详细规范
参见 `MD/specs/UI_DESIGN_IRON_RULES.md`
### 铁律18: 禁止破坏原有功能(绝对铁律)
**原则**: 完善增加功能和流程时,绝对不能破坏或者让原有功能不能用。
**执行要求**:
1. **修改已有实体前必须对比**: 用 `git show HEAD~N:./file.java` 对比原始文件,保留所有原有字段和方法
2. **新增字段只能追加**: 在实体类末尾追加新字段,不能删除或重命名已有字段
3. **新增方法只能追加**: 在Service接口末尾追加新方法不能修改已有方法签名
4. **SQL迁移只能ADD**: Flyway迁移脚本只允许 `ALTER TABLE ADD COLUMN`,不允许 `DROP COLUMN``RENAME COLUMN`
5. **Controller新端点**: 新增 `@PostMapping` / `@GetMapping`,不能修改已有端点的路径或参数
6. **前端新页面**: 新增页面目录,不能修改已有页面的组件结构
7. **编译必须通过**: 每次修改后必须 `mvn clean compile -DskipTests` 验证
8. **回归验证**: 修改后检查所有引用该类/方法的文件是否仍能编译
**违规判定**: 如果因为本次修改导致原有代码编译失败或运行报错视为违反铁律18必须立即回滚修复。
**铁律编号**: 18
**优先级**: P0绝对
**适用范围**: 全项目