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:
@@ -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(绝对)
|
||||
**适用范围**: 全项目
|
||||
|
||||
Reference in New Issue
Block a user