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` ✅ 通过
This commit is contained in:
@@ -10,8 +10,4 @@ import lombok.experimental.Accessors;
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class RegAdviceSaveDto extends AdviceSaveDto {
|
||||
|
||||
/** 请求类型 */
|
||||
private Integer categoryEnum;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user