Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
2026-04-03 10:59:04 +08:00
8 changed files with 42 additions and 15 deletions

View File

@@ -357,21 +357,21 @@ public class SurgicalScheduleAppServiceImpl implements ISurgicalScheduleAppServi
int index = 0; int index = 0;
for (OpScheduleDto schedule : scheduleList) { for (OpScheduleDto schedule : scheduleList) {
index++; index++;
// 转换手术类型 // 转换手术类型
String surgeryType = convertSurgeryNature(schedule.getSurgeryNature()); String surgeryType = convertSurgeryNature(schedule.getSurgeryNature());
// 转换麻醉方法 // 转换麻醉方法
String anesthesiaMethod = convertAnesMethod(schedule.getAnesMethod()); String anesthesiaMethod = convertAnesMethod(schedule.getAnesMethod());
// 格式化安排时间 // 格式化安排时间
String formattedDate = formatScheduleDate(schedule.getScheduleDate()); String formattedDate = formatScheduleDate(schedule.getScheduleDate());
writer.printf("%d,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s\n", writer.printf("%d,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s\n",
index, // 序号从1开始 index, // 序号从1开始
schedule.getOrgName() != null ? schedule.getOrgName() : "", schedule.getOrgName() != null ? schedule.getOrgName() : "",
schedule.getPatientName() != null ? schedule.getPatientName() : "", schedule.getPatientName() != null ? schedule.getPatientName() : "",
schedule.getVisitId() != null ? schedule.getVisitId().toString() : "", schedule.getIdentifierNo() != null ? schedule.getIdentifierNo() : "",
schedule.getOperCode() != null ? schedule.getOperCode() : "", schedule.getOperCode() != null ? schedule.getOperCode() : "",
schedule.getOperName() != null ? schedule.getOperName() : "", schedule.getOperName() != null ? schedule.getOperName() : "",
schedule.getApplyDeptName() != null ? schedule.getApplyDeptName() : "", schedule.getApplyDeptName() != null ? schedule.getApplyDeptName() : "",

View File

@@ -24,6 +24,11 @@ public class OpCreateScheduleDto {
*/ */
private Long visitId; private Long visitId;
/**
* 就诊卡号
*/
private String identifierNo;
/** /**
* 手术编码 * 手术编码
*/ */

View File

@@ -93,4 +93,9 @@ public class RequestFormPageDto {
* 手术等级 * 手术等级
*/ */
private Integer surgeryLevel; private Integer surgeryLevel;
/**
* 就诊卡号
*/
private String identifierNo;
} }

View File

@@ -31,7 +31,7 @@
cs.org_id, cs.org_id,
o.name AS org_name, o.name AS org_name,
cs.main_surgeon_name AS surgeon_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 FROM op_schedule os
LEFT JOIN adm_patient ap ON os.patient_id = ap.id 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' 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, cs.apply_doctor_name AS apply_doctor_name,
drf.create_time AS apply_time, drf.create_time AS apply_time,
os.surgery_nature AS surgeryType, 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 FROM op_schedule os
LEFT JOIN adm_patient ap ON os.patient_id = ap.id 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' LEFT JOIN cli_surgery cs ON os.oper_code = cs.surgery_no AND cs.delete_flag = '0'
@@ -150,7 +150,7 @@
cs.org_id, cs.org_id,
o.name AS org_name, o.name AS org_name,
cs.main_surgeon_name AS surgeon_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 FROM op_schedule os
LEFT JOIN adm_patient ap ON os.patient_id = ap.id 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' LEFT JOIN cli_surgery cs ON os.oper_code = cs.surgery_no AND cs.delete_flag = '0'

View File

@@ -68,6 +68,7 @@
<result column="anesthesia_type_enum" property="anesthesiaTypeEnum"/> <result column="anesthesia_type_enum" property="anesthesiaTypeEnum"/>
<result column="incision_level" property="incisionLevel"/> <result column="incision_level" property="incisionLevel"/>
<result column="surgery_level" property="surgeryLevel"/> <result column="surgery_level" property="surgeryLevel"/>
<result column="identifier_no" property="identifierNo"/>
</resultMap> </resultMap>
<!-- 分页查询申请单 --> <!-- 分页查询申请单 -->
@@ -92,7 +93,8 @@
cs.anesthesia_type_enum, cs.anesthesia_type_enum,
cs.incision_level, cs.incision_level,
cs.surgery_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 FROM doc_request_form drf
LEFT JOIN cli_surgery cs ON cs.surgery_no = drf.prescription_no LEFT JOIN cli_surgery cs ON cs.surgery_no = drf.prescription_no
LEFT JOIN adm_patient ap ON ap.id = cs.patient_id 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 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 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 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
<where> <where>
<if test="requestFormDto.surgeryNo != null and requestFormDto.surgeryNo != ''"> <if test="requestFormDto.surgeryNo != null and requestFormDto.surgeryNo != ''">
AND drf.prescription_no LIKE CONCAT('%', #{requestFormDto.surgeryNo}, '%') AND drf.prescription_no LIKE CONCAT('%', #{requestFormDto.surgeryNo}, '%')

View File

@@ -37,6 +37,10 @@ public class OpSchedule extends HisBaseEntity {
/** 就诊ID */ /** 就诊ID */
private Long visitId; private Long visitId;
/** 就诊卡号 */
@TableField(exist = false)
private String identifierNo;
/** 手术编码 */ /** 手术编码 */
private String operCode; private String operCode;

View File

@@ -89,7 +89,7 @@
</el-table-column> </el-table-column>
<el-table-column label="卫生机构" align="center" prop="orgName" width="120" show-overflow-tooltip /> <el-table-column label="卫生机构" align="center" prop="orgName" width="120" show-overflow-tooltip />
<el-table-column label="姓名" align="center" prop="patientName" width="100" /> <el-table-column label="姓名" align="center" prop="patientName" width="100" />
<el-table-column label="就诊卡号" align="center" prop="patientCardNo" width="120" /> <el-table-column label="就诊卡号" align="center" prop="identifierNo" width="120" />
<el-table-column label="手术名称" align="center" prop="operName" min-width="140" show-overflow-tooltip /> <el-table-column label="手术名称" align="center" prop="operName" min-width="140" show-overflow-tooltip />
<el-table-column label="申请科室" align="center" prop="applyDeptName" width="100" show-overflow-tooltip> <el-table-column label="申请科室" align="center" prop="applyDeptName" width="100" show-overflow-tooltip>
<template #default="scope"> <template #default="scope">
@@ -161,9 +161,9 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="就诊卡号" prop="patientCardNo"> <el-form-item label="就诊卡号" prop="identifierNo">
<el-tooltip :content="form.patientCardNo" placement="top" :disabled="!form.patientCardNo"> <el-tooltip :content="form.identifierNo" placement="top" :disabled="!form.identifierNo">
<el-input v-model="form.patientCardNo" :disabled="true" style="width: 100%" /> <el-input v-model="form.identifierNo" :disabled="true" style="width: 100%" />
</el-tooltip> </el-tooltip>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -900,6 +900,7 @@ const form = reactive({
applyId: undefined, applyId: undefined,
patientId: undefined, patientId: undefined,
visitId: undefined, visitId: undefined,
identifierNo: undefined,
operCode: undefined, operCode: undefined,
operName: undefined, operName: undefined,
preoperativeDiagnosis: undefined, preoperativeDiagnosis: undefined,
@@ -1783,7 +1784,7 @@ function confirmApply() {
form.applyId=selectedRow.applyId// 手术申请id form.applyId=selectedRow.applyId// 手术申请id
form.patientId = selectedRow.patientId// 患者id form.patientId = selectedRow.patientId// 患者id
form.visitId = selectedRow.encounterId // id对应填入就诊id form.visitId = selectedRow.encounterId // id对应填入就诊id
form.patientCardNo = selectedRow.patientCardNo // 就诊卡号 form.identifierNo = selectedRow.identifierNo || '' // 就诊卡号
form.operCode = selectedRow.surgeryNo // 手术单号作为手术编码 form.operCode = selectedRow.surgeryNo // 手术单号作为手术编码
form.operName = selectedRow.descJson?.surgeryName//手术名称 form.operName = selectedRow.descJson?.surgeryName//手术名称
form.preoperativeDiagnosis = selectedRow.preoperativeDiagnosis || selectedRow.descJson?.preoperativeDiagnosis form.preoperativeDiagnosis = selectedRow.preoperativeDiagnosis || selectedRow.descJson?.preoperativeDiagnosis

View File

@@ -8,7 +8,7 @@
<div class="patient-info-content"> <div class="patient-info-content">
<el-descriptions :column="3" border> <el-descriptions :column="3" border>
<el-descriptions-item label="患者:">{{ patientInfo.patientName || '-' }}</el-descriptions-item> <el-descriptions-item label="患者:">{{ patientInfo.patientName || '-' }}</el-descriptions-item>
<el-descriptions-item label="就诊卡号:">{{ patientInfo.visitId || '-' }}</el-descriptions-item> <el-descriptions-item label="就诊卡号:">{{ patientInfo.identifierNo || '-' }}</el-descriptions-item>
<el-descriptions-item label="手术单号:">{{ patientInfo.operCode || '-' }}</el-descriptions-item> <el-descriptions-item label="手术单号:">{{ patientInfo.operCode || '-' }}</el-descriptions-item>
<el-descriptions-item label="科室:">{{ patientInfo.roomCode || '-' }}</el-descriptions-item> <el-descriptions-item label="科室:">{{ patientInfo.roomCode || '-' }}</el-descriptions-item>
<el-descriptions-item label="医师:">{{ patientInfo.doctorName || '-' }}</el-descriptions-item> <el-descriptions-item label="医师:">{{ patientInfo.doctorName || '-' }}</el-descriptions-item>