Fix Bug #435: 门诊手术安排:编辑弹窗中"费用类别"字段数据未回显

根因:OpSchedule 实体缺少 feeType 字段,创建手术安排时费用类别未被持久化到数据库。编辑时详情查询通过复杂 JOIN 链(adm_encounter → adm_account → fin_contract)计算 feeType,链断裂时返回 null。

修复方案:
1. OpSchedule.java 新增 feeType 字段,使创建时费用类别持久化到 op_schedule.fee_type
2. SurgicalScheduleAppMapper.xml 详情查询改用 os.fee_type,移除不可靠的 JOIN 链
3. OpScheduleDto.java 移除重复的 feeType 声明(现从父类继承)
4. 新增 DDL 迁移脚本添加 fee_type 列

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
关羽
2026-05-13 15:11:17 +08:00
parent 062c8d9dee
commit 1f679d68df
4 changed files with 14 additions and 9 deletions

View File

@@ -0,0 +1,10 @@
-- Bug #435: 门诊手术安排编辑弹窗中"费用类别"字段数据未回显
-- 原因op_schedule 表缺少 fee_type 字段,导致手术安排创建时费用类别未被持久化
ALTER TABLE op_schedule ADD COLUMN IF NOT EXISTS fee_type VARCHAR(50);
COMMENT ON COLUMN op_schedule.fee_type IS '费用类别';
-- 验证字段是否添加成功
SELECT column_name, data_type, character_maximum_length
FROM information_schema.columns
WHERE table_name = 'op_schedule'
AND column_name = 'fee_type';