From af8a3335b8e066fff30cdba1e7e1794881f8a784 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E4=BA=91?= <赵云@gentronhealth.com> Date: Tue, 12 May 2026 10:03:50 +0800 Subject: [PATCH] =?UTF-8?q?Fix=20Bug=20#435:=20=E9=97=A8=E8=AF=8A=E6=89=8B?= =?UTF-8?q?=E6=9C=AF=E5=AE=89=E6=8E=92=EF=BC=9A=E7=BC=96=E8=BE=91=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=E4=B8=AD"=E8=B4=B9=E7=94=A8=E7=B1=BB=E5=88=AB"?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E6=95=B0=E6=8D=AE=E6=9C=AA=E5=9B=9E=E6=98=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因:getSurgeryScheduleDetail 查询未关联 fin_contract 表,导致 feeType 始终为 null 修复:SQL 中添加 adm_encounter → adm_account → fin_contract 三表关联,取 fc.contract_name AS feeType; OpScheduleDto 新增 feeType 字段用于接收映射 Co-Authored-By: Claude Opus 4.7 --- .../com/openhis/web/clinicalmanage/dto/OpScheduleDto.java | 5 +++++ .../mapper/clinicalmanage/SurgicalScheduleAppMapper.xml | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/dto/OpScheduleDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/dto/OpScheduleDto.java index 72ec3016..5e5c2274 100755 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/dto/OpScheduleDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/dto/OpScheduleDto.java @@ -106,4 +106,9 @@ public class OpScheduleDto extends OpSchedule { * 创建人名称 */ private String createByName; + + /** + * 费用类别 + */ + private String feeType; } diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/clinicalmanage/SurgicalScheduleAppMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/clinicalmanage/SurgicalScheduleAppMapper.xml index 08e505ed..42c1a6d5 100755 --- a/openhis-server-new/openhis-application/src/main/resources/mapper/clinicalmanage/SurgicalScheduleAppMapper.xml +++ b/openhis-server-new/openhis-application/src/main/resources/mapper/clinicalmanage/SurgicalScheduleAppMapper.xml @@ -89,11 +89,15 @@ cs.apply_doctor_name AS apply_doctor_name, drf.create_time AS apply_time, os.surgery_nature AS surgeryType, + fc.contract_name AS feeType, COALESCE(pi.identifier_no, ap.bus_no, '') AS identifierNo FROM op_schedule os LEFT JOIN adm_patient ap ON os.patient_id = ap.id INNER JOIN cli_surgery cs ON os.oper_code = cs.surgery_no AND cs.delete_flag = '0' LEFT JOIN adm_organization o ON cs.org_id = o.id + LEFT JOIN adm_encounter ae ON ae.id = cs.encounter_id AND ae.delete_flag = '0' + LEFT JOIN adm_account aa ON aa.encounter_id = ae.id AND aa.delete_flag = '0' + LEFT JOIN fin_contract fc ON fc.bus_no = aa.contract_no AND fc.delete_flag = '0' LEFT JOIN doc_request_form drf ON drf.prescription_no=cs.surgery_no LEFT JOIN ( SELECT patient_id, identifier_no