- 添加手术室确认时间和确认人字段显示 - 实现次要手术的添加、编辑和删除功能 - 增加急诊标志和植入高值耗材开关选项 - 添加手术费用和麻醉费用计算功能 - 实现手术和麻醉项目的远程搜索功能 - 增加第一助手和第二助手选择功能 - 优化医生列表加载逻辑,支持多接口获取 - 添加按钮图标提升界面体验 - 修复encounterId为空时的接口调用问题
207 lines
10 KiB
XML
207 lines
10 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<!DOCTYPE mapper
|
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="com.openhis.web.clinicalmanage.mapper.SurgeryAppMapper">
|
|
|
|
<resultMap type="com.openhis.web.clinicalmanage.dto.SurgeryDto" id="SurgeryResult">
|
|
<result property="id" column="id" />
|
|
<result property="surgeryNo" column="surgery_no" />
|
|
<result property="patientId" column="patient_id" />
|
|
<result property="patientName" column="patient_name" />
|
|
<result property="patientGender" column="patient_gender" />
|
|
<result property="patientAge" column="patient_age" />
|
|
<result property="encounterId" column="encounter_id" />
|
|
<result property="encounterNo" column="encounter_no" />
|
|
<result property="applyDoctorId" column="apply_doctor_id" />
|
|
<result property="applyDoctorName" column="apply_doctor_name" />
|
|
<result property="applyDeptId" column="apply_dept_id" />
|
|
<result property="applyDeptName" column="apply_dept_name" />
|
|
<result property="surgeryIndication" column="surgery_indication" />
|
|
<result property="surgeryName" column="surgery_name" />
|
|
<result property="surgeryCode" column="surgery_code" />
|
|
<result property="surgeryTypeEnum" column="surgery_type_enum" />
|
|
<result property="surgeryTypeEnum_dictText" column="surgery_type_enum_dictText" />
|
|
<result property="surgeryLevel" column="surgery_level" />
|
|
<result property="surgeryLevel_dictText" column="surgery_level_dictText" />
|
|
<result property="statusEnum" column="status_enum" />
|
|
<result property="statusEnum_dictText" column="status_enum_dictText" />
|
|
<result property="plannedTime" column="planned_time" />
|
|
<result property="actualStartTime" column="actual_start_time" />
|
|
<result property="actualEndTime" column="actual_end_time" />
|
|
<result property="mainSurgeonId" column="main_surgeon_id" />
|
|
<result property="mainSurgeonName" column="main_surgeon_name" />
|
|
<result property="assistant1Id" column="assistant_1_id" />
|
|
<result property="assistant1Name" column="assistant_1_name" />
|
|
<result property="assistant2Id" column="assistant_2_id" />
|
|
<result property="assistant2Name" column="assistant_2_name" />
|
|
<result property="anesthetistId" column="anesthetist_id" />
|
|
<result property="anesthetistName" column="anesthetist_name" />
|
|
<result property="scrubNurseId" column="scrub_nurse_id" />
|
|
<result property="scrubNurseName" column="scrub_nurse_name" />
|
|
<result property="anesthesiaTypeEnum" column="anesthesia_type_enum" />
|
|
<result property="anesthesiaTypeEnum_dictText" column="anesthesia_type_enum_dictText" />
|
|
<result property="bodySite" column="body_site" />
|
|
<result property="incisionLevel" column="incision_level" />
|
|
<result property="incisionLevel_dictText" column="incision_level_dictText" />
|
|
<result property="healingLevel" column="healing_level" />
|
|
<result property="healingLevel_dictText" column="healing_level_dictText" />
|
|
<result property="operatingRoomId" column="operating_room_id" />
|
|
<result property="operatingRoomName" column="operating_room_name" />
|
|
<result property="operatingRoomOrgId" column="operating_room_org_id" />
|
|
<result property="operatingRoomOrgName" column="operating_room_org_name" />
|
|
<result property="orgId" column="org_id" />
|
|
<result property="orgName" column="org_name" />
|
|
<result property="preoperativeDiagnosis" column="preoperative_diagnosis" />
|
|
<result property="postoperativeDiagnosis" column="postoperative_diagnosis" />
|
|
<result property="surgeryDescription" column="surgery_description" />
|
|
<result property="postoperativeAdvice" column="postoperative_advice" />
|
|
<result property="complications" column="complications" />
|
|
<result property="surgeryFee" column="surgery_fee" />
|
|
<result property="anesthesiaFee" column="anesthesia_fee" />
|
|
<result property="totalFee" column="total_fee" />
|
|
<result property="remark" column="remark" />
|
|
<result property="createTime" column="create_time" />
|
|
<result property="updateTime" column="update_time" />
|
|
<result property="emergencyFlag" column="emergency_flag" />
|
|
<result property="implantFlag" column="implant_flag" />
|
|
<result property="operatingRoomConfirmTime" column="operating_room_confirm_time" />
|
|
<result property="operatingRoomConfirmUser" column="operating_room_confirm_user" />
|
|
</resultMap>
|
|
|
|
<sql id="selectSurgeryVo">
|
|
SELECT
|
|
s.id,
|
|
s.surgery_no,
|
|
s.patient_id,
|
|
p.name as patient_name,
|
|
CASE p.gender_enum WHEN 1 THEN '男' WHEN 2 THEN '女' ELSE '未知' END as patient_gender,
|
|
EXTRACT(YEAR FROM AGE(p.birth_date)) as patient_age,
|
|
s.encounter_id,
|
|
e.bus_no as encounter_no,
|
|
s.apply_doctor_id,
|
|
COALESCE(s.apply_doctor_name, apply_doc.name) as apply_doctor_name,
|
|
s.apply_dept_id,
|
|
COALESCE(s.apply_dept_name, apply_dept.name) as apply_dept_name,
|
|
s.surgery_name,
|
|
s.surgery_code,
|
|
s.surgery_type_enum,
|
|
CASE s.surgery_type_enum
|
|
WHEN 1 THEN '门诊手术'
|
|
WHEN 2 THEN '住院手术'
|
|
WHEN 3 THEN '急诊手术'
|
|
WHEN 4 THEN '择期手术'
|
|
ELSE '未知'
|
|
END as surgery_type_enum_dictText,
|
|
s.surgery_level,
|
|
CASE s.surgery_level
|
|
WHEN 1 THEN '一级手术'
|
|
WHEN 2 THEN '二级手术'
|
|
WHEN 3 THEN '三级手术'
|
|
WHEN 4 THEN '四级手术'
|
|
WHEN 5 THEN '特级手术'
|
|
ELSE '未知'
|
|
END as surgery_level_dictText,
|
|
s.status_enum,
|
|
CASE s.status_enum
|
|
WHEN 0 THEN '待排期'
|
|
WHEN 1 THEN '已排期'
|
|
WHEN 2 THEN '手术中'
|
|
WHEN 3 THEN '已完成'
|
|
WHEN 4 THEN '已取消'
|
|
WHEN 5 THEN '暂停'
|
|
ELSE '未知'
|
|
END as status_enum_dictText,
|
|
s.planned_time,
|
|
s.actual_start_time,
|
|
s.actual_end_time,
|
|
s.main_surgeon_id,
|
|
COALESCE(s.main_surgeon_name, main_surgeon.name) as main_surgeon_name,
|
|
s.assistant_1_id,
|
|
COALESCE(s.assistant_1_name, assistant1.name) as assistant_1_name,
|
|
s.assistant_2_id,
|
|
COALESCE(s.assistant_2_name, assistant2.name) as assistant_2_name,
|
|
s.anesthetist_id,
|
|
COALESCE(s.anesthetist_name, anesthetist.name) as anesthetist_name,
|
|
s.scrub_nurse_id,
|
|
COALESCE(s.scrub_nurse_name, scrub_nurse.name) as scrub_nurse_name,
|
|
s.anesthesia_type_enum,
|
|
CASE s.anesthesia_type_enum
|
|
WHEN 0 THEN '无麻醉'
|
|
WHEN 1 THEN '局部麻醉'
|
|
WHEN 2 THEN '区域麻醉'
|
|
WHEN 3 THEN '全身麻醉'
|
|
WHEN 4 THEN '脊椎麻醉'
|
|
WHEN 5 THEN '硬膜外麻醉'
|
|
WHEN 6 THEN '表面麻醉'
|
|
ELSE '未知'
|
|
END as anesthesia_type_enum_dictText,
|
|
s.body_site,
|
|
s.incision_level,
|
|
CASE s.incision_level
|
|
WHEN 1 THEN 'I级切口'
|
|
WHEN 2 THEN 'II级切口'
|
|
WHEN 3 THEN 'III级切口'
|
|
WHEN 4 THEN 'IV级切口'
|
|
ELSE '未知'
|
|
END as incision_level_dictText,
|
|
s.healing_level,
|
|
CASE s.healing_level
|
|
WHEN 1 THEN '甲级愈合'
|
|
WHEN 2 THEN '乙级愈合'
|
|
WHEN 3 THEN '丙级愈合'
|
|
ELSE '未知'
|
|
END as healing_level_dictText,
|
|
s.operating_room_id,
|
|
COALESCE(s.operating_room_name, r.name) as operating_room_name,
|
|
r.organization_id as operating_room_org_id,
|
|
ro.name as operating_room_org_name,
|
|
s.org_id,
|
|
COALESCE(s.org_name, o.name) as org_name,
|
|
s.surgery_indication,
|
|
s.preoperative_diagnosis,
|
|
s.postoperative_diagnosis,
|
|
s.surgery_description,
|
|
s.postoperative_advice,
|
|
s.complications,
|
|
s.surgery_fee,
|
|
s.anesthesia_fee,
|
|
s.total_fee,
|
|
s.remark,
|
|
s.create_time,
|
|
s.update_time,
|
|
s.emergency_flag,
|
|
s.implant_flag,
|
|
s.operating_room_confirm_time,
|
|
s.operating_room_confirm_user
|
|
FROM cli_surgery s
|
|
LEFT JOIN adm_patient p ON s.patient_id = p.id
|
|
LEFT JOIN adm_encounter e ON s.encounter_id = e.id
|
|
LEFT JOIN adm_operating_room r ON s.operating_room_id = r.id
|
|
LEFT JOIN adm_organization ro ON r.organization_id = ro.id
|
|
LEFT JOIN adm_organization o ON s.org_id = o.id
|
|
LEFT JOIN adm_practitioner main_surgeon ON s.main_surgeon_id = main_surgeon.id
|
|
LEFT JOIN adm_practitioner anesthetist ON s.anesthetist_id = anesthetist.id
|
|
LEFT JOIN adm_practitioner assistant1 ON s.assistant_1_id = assistant1.id
|
|
LEFT JOIN adm_practitioner assistant2 ON s.assistant_2_id = assistant2.id
|
|
LEFT JOIN adm_practitioner scrub_nurse ON s.scrub_nurse_id = scrub_nurse.id
|
|
LEFT JOIN adm_practitioner apply_doc ON s.apply_doctor_id = apply_doc.id
|
|
LEFT JOIN adm_organization apply_dept ON s.apply_dept_id = apply_dept.id
|
|
</sql>
|
|
|
|
<select id="getSurgeryPage" parameterType="com.baomidou.mybatisplus.core.conditions.query.QueryWrapper" resultMap="SurgeryResult">
|
|
<include refid="selectSurgeryVo"/>
|
|
<where>
|
|
s.delete_flag = '0'
|
|
<if test="ew.sqlSegment != null and ew.sqlSegment != ''">
|
|
AND ${ew.sqlSegment.replace('tenant_id', 's.tenant_id').replace('create_time', 's.create_time').replace('surgery_no', 's.surgery_no').replace('surgery_name', 's.surgery_name').replace('patient_name', 'p.name').replace('main_surgeon_name', 's.main_surgeon_name').replace('anesthetist_name', 's.anesthetist_name').replace('org_name', 'o.name')}
|
|
</if>
|
|
</where>
|
|
</select>
|
|
|
|
<select id="getSurgeryDetail" parameterType="Long" resultMap="SurgeryResult">
|
|
<include refid="selectSurgeryVo"/>
|
|
WHERE s.id = #{id} AND s.delete_flag = '0'
|
|
</select>
|
|
|
|
</mapper> |