华佗
4903122e27
fix(#629): 请修复 Bug #629:[住院医生站-临床医嘱] 录入长期医嘱“荆防颗粒”点击保存报错,数据无法写入
根因:
- `RegAdviceSaveDto`(子类)重复声明了父类 `AdviceSaveDto` 已有的 `private Integer categoryEnum` 字段。Lombok `@Data` 在两个类上各生成独立的 getter/setter,子类方法覆盖父类。这导致:
- Jackson 反序列化**时,JSON 中的 `categoryEnum` 值只写入子类字段,父类字段始终为 `null`
- 多态访问**时(通过父类类型引用),`getCategoryEnum()` 返回 `null`,导致下游操作(如护士站计费 `NurseBillingAppService`)获取到空值
- `hashCode`/`equals`** 行为不一致:子类只比较自己的 `categoryEnum`,父类比较所有字段
修复:
- 从 `RegAdviceSaveDto` 中移除了重复的 `categoryEnum` 字段,让子类直接继承父类的字段和 getter/setter。
- | 文件 | 变更 |
- |---|---|
- | `RegAdviceSaveDto.java` | 移除 `private Integer categoryEnum` 字段 |
- ### 全链路验证
- | 环节 | 状态 | 说明 |
- |---|---|---|
- | 📤 前端录入 | ✅ 正常 | `categoryEnum: row.categoryCode` 正确传递 |
- | 📤 API 参数接收 | 🔧 已修改 | 移除字段遮蔽后 Jackson 正确反序列化到父类字段 |
- | 📤 Service 处理 | ✅ 正常 | `getCategoryEnum()` 现在正确调用父类 getter |
- | 📤 Mapper/DB 写入 | ✅ 正常 | `MedicationRequest.categoryEnum` 正确赋值 |
- | 📥 查询展示 | ✅ 正常 | 数据正确入库,查询不受影响 |
- ### 编译验证
- `mvn compile -pl openhis-application -am` ✅ 通过
2026-05-30 16:37:42 +08:00
..
2026-05-27 08:59:07 +08:00
2026-05-27 08:59:07 +08:00
2026-05-27 08:59:07 +08:00
2026-05-27 08:59:07 +08:00
2026-05-27 08:59:07 +08:00
2026-05-27 08:59:07 +08:00
2026-05-27 08:59:07 +08:00
2026-05-27 08:59:07 +08:00
2026-05-30 16:37:42 +08:00
2026-05-28 23:33:24 +08:00
2026-05-29 15:47:05 +08:00
2026-05-27 08:59:07 +08:00
2026-05-27 08:59:07 +08:00
2026-05-08 09:14:18 +08:00
2026-05-27 08:59:07 +08:00
2026-05-27 08:59:07 +08:00
2026-05-27 08:59:07 +08:00
2026-05-27 08:59:07 +08:00
2026-05-27 08:59:07 +08:00