1. Bug #333/#335/#336: 在 saveAdvice 方法入口添加参数非空校验 - adviceSaveParam 为 null 时返回友好错误提示 - adviceSaveList 为 null 或空时返回友好错误提示 2. 更新 Debug 日志标签为 BugFix#333/335/336 3. 增强异常场景的用户提示 修复人:关羽 修复日期:2026-04-08
66 lines
1.8 KiB
Markdown
66 lines
1.8 KiB
Markdown
# BUG #355 - 修复备注
|
||
|
||
## 修复日期
|
||
2026-04-08
|
||
|
||
## 修复人
|
||
关羽 (guanyu)
|
||
|
||
## 修复内容
|
||
|
||
### 问题描述
|
||
门诊挂号页面的预约签到弹窗中,患者"随自核"的性别显示为"未知",但挂号界面载入后显示为"男性",数据不一致。
|
||
|
||
### 根本原因
|
||
- 预约签到弹窗数据来自 `TicketAppServiceImpl.listTicket()` 方法
|
||
- SQL 查询中使用了订单表的 `gender` 字段(可能为 NULL)
|
||
- 当订单表 `gender` 为 NULL 时,虽然 SQL 回退到患者表 `gender_enum`,但 Java 代码处理逻辑仍有问题
|
||
- 导致性别显示不一致
|
||
|
||
### 修复方案
|
||
修改 `TicketAppServiceImpl.java` 中的性别处理逻辑:
|
||
- 将 `raw.getPatientGender()` 改为 `raw.getGenderEnum()`
|
||
- 直接使用患者表中的 `gender_enum` 字段进行性别转换
|
||
- 确保与挂号界面查询的数据来源一致
|
||
|
||
### 修改文件
|
||
- `his-source/openhis-server-new/openhis-application/src/main/java/com/openhis/web/appointmentmanage/appservice/impl/TicketAppServiceImpl.java`
|
||
|
||
### 代码变更
|
||
```java
|
||
// 修改前
|
||
if (raw.getPatientGender() != null) {
|
||
String pg = raw.getPatientGender().trim();
|
||
dto.setGender("1".equals(pg) ? "男" : ("2".equals(pg) ? "女" : "未知"));
|
||
} else {
|
||
dto.setGender("未知");
|
||
}
|
||
|
||
// 修改后
|
||
Integer genderEnum = raw.getGenderEnum();
|
||
if (genderEnum != null) {
|
||
if (Integer.valueOf(1).equals(genderEnum)) {
|
||
dto.setGender("男");
|
||
} else if (Integer.valueOf(2).equals(genderEnum)) {
|
||
dto.setGender("女");
|
||
} else {
|
||
dto.setGender("未知");
|
||
}
|
||
} else {
|
||
dto.setGender("未知");
|
||
}
|
||
```
|
||
|
||
### Git 提交
|
||
- Commit: `7827e58a`
|
||
- 分支: `develop`
|
||
|
||
### 测试建议
|
||
1. 更新 Git 代码
|
||
2. 编译部署后进行测试
|
||
3. 验证预约签到弹窗和挂号界面的性别字段是否一致
|
||
|
||
### 状态
|
||
✅ 代码修复完成,已提交到远程仓库
|
||
⏳ 等待测试验证
|