diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/appservice/impl/SurgicalScheduleAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/appservice/impl/SurgicalScheduleAppServiceImpl.java index fac66d8c..26fee113 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/appservice/impl/SurgicalScheduleAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/appservice/impl/SurgicalScheduleAppServiceImpl.java @@ -357,21 +357,21 @@ public class SurgicalScheduleAppServiceImpl implements ISurgicalScheduleAppServi int index = 0; for (OpScheduleDto schedule : scheduleList) { index++; - + // 转换手术类型 String surgeryType = convertSurgeryNature(schedule.getSurgeryNature()); - + // 转换麻醉方法 String anesthesiaMethod = convertAnesMethod(schedule.getAnesMethod()); - + // 格式化安排时间 String formattedDate = formatScheduleDate(schedule.getScheduleDate()); - + writer.printf("%d,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s\n", index, // 序号从1开始 schedule.getOrgName() != null ? schedule.getOrgName() : "", schedule.getPatientName() != null ? schedule.getPatientName() : "", - schedule.getVisitId() != null ? schedule.getVisitId().toString() : "", + schedule.getIdentifierNo() != null ? schedule.getIdentifierNo() : "", schedule.getOperCode() != null ? schedule.getOperCode() : "", schedule.getOperName() != null ? schedule.getOperName() : "", schedule.getApplyDeptName() != null ? schedule.getApplyDeptName() : "", diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/dto/OpCreateScheduleDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/dto/OpCreateScheduleDto.java index 57eadb8b..14f544ed 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/dto/OpCreateScheduleDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/dto/OpCreateScheduleDto.java @@ -24,6 +24,11 @@ public class OpCreateScheduleDto { */ private Long visitId; + /** + * 就诊卡号 + */ + private String identifierNo; + /** * 手术编码 */ diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/dto/RequestFormPageDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/dto/RequestFormPageDto.java index d4ee012e..a653448e 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/dto/RequestFormPageDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/dto/RequestFormPageDto.java @@ -93,4 +93,9 @@ public class RequestFormPageDto { * 手术等级 */ private Integer surgeryLevel; + + /** + * 就诊卡号 + */ + private String identifierNo; } 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 0bad826c..829e1e6e 100644 --- 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 @@ -31,7 +31,7 @@ cs.org_id, o.name AS org_name, cs.main_surgeon_name AS surgeon_name, - pi.identifier_no AS patient_card_no + COALESCE(pi.identifier_no, ap.bus_no, '') AS identifierNo FROM op_schedule os LEFT JOIN adm_patient ap ON os.patient_id = ap.id LEFT JOIN cli_surgery cs ON os.oper_code = cs.surgery_no AND cs.delete_flag = '0' @@ -89,7 +89,7 @@ cs.apply_doctor_name AS apply_doctor_name, drf.create_time AS apply_time, os.surgery_nature AS surgeryType, - pi.identifier_no AS patient_card_no + COALESCE(pi.identifier_no, ap.bus_no, '') AS identifierNo FROM op_schedule os LEFT JOIN adm_patient ap ON os.patient_id = ap.id LEFT JOIN cli_surgery cs ON os.oper_code = cs.surgery_no AND cs.delete_flag = '0' @@ -150,7 +150,7 @@ cs.org_id, o.name AS org_name, cs.main_surgeon_name AS surgeon_name, - pi.identifier_no AS patient_card_no + COALESCE(pi.identifier_no, ap.bus_no, '') AS identifierNo FROM op_schedule os LEFT JOIN adm_patient ap ON os.patient_id = ap.id LEFT JOIN cli_surgery cs ON os.oper_code = cs.surgery_no AND cs.delete_flag = '0' diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/regdoctorstation/RequestFormManageAppMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/regdoctorstation/RequestFormManageAppMapper.xml index fc51c6e3..f5edbd96 100644 --- a/openhis-server-new/openhis-application/src/main/resources/mapper/regdoctorstation/RequestFormManageAppMapper.xml +++ b/openhis-server-new/openhis-application/src/main/resources/mapper/regdoctorstation/RequestFormManageAppMapper.xml @@ -68,6 +68,7 @@ + @@ -92,7 +93,8 @@ cs.anesthesia_type_enum, cs.incision_level, cs.surgery_level, - fc.contract_name AS fee_type + fc.contract_name AS fee_type, + COALESCE(pi.identifier_no, ap.bus_no, '') AS identifier_no FROM doc_request_form drf LEFT JOIN cli_surgery cs ON cs.surgery_no = drf.prescription_no LEFT JOIN adm_patient ap ON ap.id = cs.patient_id @@ -100,6 +102,16 @@ 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 op_schedule os ON os.apply_id = drf.id AND os.delete_flag = '0' + LEFT JOIN ( + SELECT patient_id, identifier_no + FROM ( + SELECT patient_id, identifier_no, + ROW_NUMBER() OVER (PARTITION BY patient_id ORDER BY create_time ASC) AS rn + FROM adm_patient_identifier + WHERE delete_flag = '0' AND identifier_no IS NOT NULL AND identifier_no != '' + ) t + WHERE rn = 1 + ) pi ON ap.id = pi.patient_id AND drf.prescription_no LIKE CONCAT('%', #{requestFormDto.surgeryNo}, '%') diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/surgicalschedule/domain/OpSchedule.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/surgicalschedule/domain/OpSchedule.java index 54599d7b..dee6a913 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/surgicalschedule/domain/OpSchedule.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/surgicalschedule/domain/OpSchedule.java @@ -37,6 +37,10 @@ public class OpSchedule extends HisBaseEntity { /** 就诊ID */ private Long visitId; + /** 就诊卡号 */ + @TableField(exist = false) + private String identifierNo; + /** 手术编码 */ private String operCode; diff --git a/openhis-ui-vue3/src/views/surgicalschedule/index.vue b/openhis-ui-vue3/src/views/surgicalschedule/index.vue index 1abe6ff9..ee6ade38 100644 --- a/openhis-ui-vue3/src/views/surgicalschedule/index.vue +++ b/openhis-ui-vue3/src/views/surgicalschedule/index.vue @@ -89,7 +89,7 @@ - +