Fix Bug #434: 门诊手术安排:编辑弹窗中"切口类型"字段未正确回显数据

根因:getSurgeryScheduleDetail SQL中 os.* 包含 os.incision_level(NULL),
与 cs.incision_level AS "incisionLevel" 产生列名冲突,MyBatis resultType
映射时将NULL值覆盖实际数据,导致前端form.incisionType为undefined。
修复:将 os.* 替换为显式列选择(排除os.incision_level),确保incisionLevel
只被 cs.incision_level 映射一次。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
赵云
2026-05-16 18:05:34 +08:00
parent c1162af5ea
commit 37baa20163
2 changed files with 103 additions and 67 deletions

View File

@@ -76,7 +76,64 @@
<!-- 根据ID查询手术安排详情-->
<select id="getSurgeryScheduleDetail" resultType="com.openhis.web.clinicalmanage.dto.OpScheduleDto">
SELECT
os.*,
os.schedule_id,
os.tenant_id,
os.apply_id,
os.patient_id,
os.visit_id,
os.oper_code,
os.oper_name,
os.preoperative_diagnosis,
os.postoperative_diagnosis,
os.schedule_date,
os.sequence_no,
os.is_first_surgery,
os.is_allergy_medication,
os.allergy_remark,
os.surgery_nature,
os.surgery_site,
os.admission_time,
os.entry_time,
os.room_code,
os.table_no,
os.anes_method,
os.anes_doctor1_code,
os.anes_doctor2_code,
os.anes_doctor3_code,
os.scrub_nurse_code,
os.circu_nurse1_code,
os.circu_nurse2_code,
os.scrub_nurse1_code,
os.scrub_nurse2_code,
os.surgeon_code,
os.assistant1_code,
os.assistant2_code,
os.assistant3_code,
os.start_time,
os.end_time,
os.anes_start,
os.anes_end,
os.oper_status,
os.implant_flag,
os.implant_serial,
os.blood_loss,
os.blood_trans,
os.infection_diagnosis,
os.isolation_type,
os.patient_weight,
os.patient_height,
os.communication_info,
os.is_external_expert,
os.external_expert_name,
os.fee_type,
os.remark,
os.create_time,
os.creator_id,
os.update_time,
os.delete_flag,
os.update_by,
os.create_by,
os.updater_id,
os.oper_code AS surgeryNo,
ap.name AS patient_name,
CASE ap.gender_enum WHEN 0 THEN '男' WHEN 1 THEN '女' ELSE '未知' END AS gender,