1. Bug #333/#335/#336: 在 saveAdvice 方法入口添加参数非空校验 - adviceSaveParam 为 null 时返回友好错误提示 - adviceSaveList 为 null 或空时返回友好错误提示 2. 更新 Debug 日志标签为 BugFix#333/335/336 3. 增强异常场景的用户提示 修复人:关羽 修复日期:2026-04-08
1.8 KiB
1.8 KiB
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
代码变更
// 修改前
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
测试建议
- 更新 Git 代码
- 编译部署后进行测试
- 验证预约签到弹窗和挂号界面的性别字段是否一致
状态
✅ 代码修复完成,已提交到远程仓库
⏳ 等待测试验证