版本更新
This commit is contained in:
@@ -0,0 +1,160 @@
|
||||
<?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.inpatientmanage.mapper.AdmissionMapper">
|
||||
|
||||
<!-- 住院登记信息分页查询-->
|
||||
<select id="getPage" parameterType="java.util.Map"
|
||||
resultType="com.openhis.web.inpatientmanage.dto.AdmissionDto">
|
||||
SELECT
|
||||
T1.id,
|
||||
T1.patient_id,
|
||||
T1.group_id,
|
||||
T1.encounter_bus_no,
|
||||
T1.status_enum,
|
||||
T1.class_enum,
|
||||
T1.yb_class_enum,
|
||||
T1.organization_id,
|
||||
T1.in_way_code,
|
||||
T1.admit_source_code,
|
||||
T1.tenant_id,
|
||||
T1.create_time,
|
||||
T1.create_by,
|
||||
T1.name,
|
||||
T1.patient_bus_no,
|
||||
T1.gender_enum,
|
||||
T1.birth_date,
|
||||
T1.phone,
|
||||
T1.id_card,
|
||||
T1.py_str,
|
||||
T1.wb_str,
|
||||
T1.ward_location_id
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
e.id,
|
||||
e.patient_id,
|
||||
e.group_id,
|
||||
e.bus_no as encounter_bus_no,
|
||||
e.status_enum,
|
||||
e.class_enum,
|
||||
e.yb_class_enum,
|
||||
e.organization_id,
|
||||
e.admit_source_code,
|
||||
e.in_way_code,
|
||||
e.tenant_id,
|
||||
e.create_time,
|
||||
e.create_by,
|
||||
p.name,
|
||||
p.bus_no AS patient_bus_no,
|
||||
p.gender_enum,
|
||||
p.birth_date,
|
||||
p.phone,
|
||||
p.id_card,
|
||||
p.py_str,
|
||||
p.wb_str,
|
||||
(SELECT el.location_id
|
||||
FROM adm_encounter_location el
|
||||
WHERE el.encounter_id = e.id AND el.form_enum = #{formEnum} --4:病区
|
||||
ORDER BY el.id DESC
|
||||
LIMIT 1) as ward_location_id--病区
|
||||
FROM adm_encounter e
|
||||
LEFT JOIN adm_patient p ON e.patient_id = p.id
|
||||
<where>
|
||||
e.delete_flag = '0'
|
||||
AND e.class_enum = #{classEnum} --1:住院
|
||||
</where>
|
||||
ORDER BY e.bus_no desc
|
||||
) AS T1
|
||||
${ew.customSqlSegment}
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 住院登记信息分页查询-->
|
||||
<select id="getAdmissionOne" parameterType="java.util.Map"
|
||||
resultType="com.openhis.web.inpatientmanage.dto.AdmissionUpDto">
|
||||
SELECT
|
||||
e.id,
|
||||
e.patient_id,
|
||||
e.group_id,
|
||||
e.bus_no as encounter_bus_no,
|
||||
e.status_enum,
|
||||
e.class_enum,
|
||||
e.yb_class_enum,
|
||||
e.class_json,
|
||||
e.priority_enum,
|
||||
e.type_enum,
|
||||
e.service_type_id,
|
||||
e.subject_status_enum,
|
||||
e.start_time,
|
||||
e.end_time,
|
||||
e.organization_id,
|
||||
e.display_order,
|
||||
e.admit_source_code,
|
||||
e.in_way_code,
|
||||
e.first_enum,
|
||||
e.tenant_id,
|
||||
p.name,
|
||||
p.bus_no AS patient_bus_no,
|
||||
p.gender_enum,
|
||||
p.birth_date,
|
||||
p.address,
|
||||
p.prfs_enum,
|
||||
p.phone,
|
||||
p.id_card,
|
||||
p.py_str,
|
||||
p.wb_str,
|
||||
p.work_company,
|
||||
p.native_place,
|
||||
p.country_code,
|
||||
p.nationality_code,
|
||||
p.link_name,
|
||||
p.link_relation_code,
|
||||
p.link_telcom,
|
||||
(SELECT pra.name
|
||||
FROM adm_encounter_participant ep
|
||||
LEFT JOIN adm_practitioner pra ON ep.practitioner_id = pra.id
|
||||
WHERE ep.encounter_id = e.id
|
||||
AND ep.type_code = #{typeCode} --就诊参与者身份类型是1:接诊医生
|
||||
ORDER BY ep.create_time DESC
|
||||
LIMIT 1) AS doctor_name,--接诊医生
|
||||
COALESCE((SELECT COUNT(*)
|
||||
FROM adm_encounter e1
|
||||
WHERE e1.patient_id = e.patient_id
|
||||
AND e1.class_enum = #{classEnum} --住院类型
|
||||
AND e1.status_enum = #{statusEnum} --出院,诊毕
|
||||
), 0) AS hospitalization_count,-- 住院次数
|
||||
el.location_id AS ward_location_id, --病区
|
||||
l.bus_no,
|
||||
(SELECT COUNT(*)
|
||||
FROM adm_location
|
||||
WHERE bus_no LIKE l.bus_no || '%'
|
||||
AND form_enum = #{bedForm} -- 8:病床
|
||||
AND operational_enum = #{operational} -- 病床状态 3:占用中
|
||||
) || '/' ||
|
||||
(SELECT COUNT(*)
|
||||
FROM adm_location
|
||||
WHERE bus_no LIKE l.bus_no || '%'
|
||||
AND form_enum = #{bedForm} -- 8:病床
|
||||
) AS bed_count -- 占用中/病床总数
|
||||
FROM adm_encounter e
|
||||
LEFT JOIN adm_patient p ON e.patient_id = p.id
|
||||
LEFT JOIN adm_encounter_location el ON e.id = el.encounter_id AND el.form_enum = #{wardForm}--4:病区
|
||||
LEFT JOIN adm_location l ON l.id = el.location_id AND l.form_enum = #{wardForm}--4:病区
|
||||
<where>
|
||||
e.delete_flag = '0'
|
||||
AND e.class_enum = #{classEnum}
|
||||
|
||||
<if test="id!= null">
|
||||
AND e.id = #{id}
|
||||
</if>
|
||||
|
||||
<if test="tenantId!= null">
|
||||
AND e.tenant_id = #{tenantId}
|
||||
</if>
|
||||
|
||||
</where>
|
||||
ORDER BY e.bus_no desc
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,87 @@
|
||||
<?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.inpatientmanage.mapper.DepositMapper">
|
||||
|
||||
<!-- 住院登记信息分页查询-->
|
||||
<select id="getPage" parameterType="java.util.Map"
|
||||
resultType="com.openhis.web.inpatientmanage.dto.DepositDetailDto">
|
||||
SELECT T8.patient_id,
|
||||
T8.name,
|
||||
T8.gender_enum,
|
||||
T8.birth_date,
|
||||
T8.bed_location_id,
|
||||
T8.organization_id,
|
||||
T8.total_price,
|
||||
T8.deposit,
|
||||
T8.balance_amount,
|
||||
T8.pay_way,
|
||||
T8.payment_enum,
|
||||
T8.tendered_amount,
|
||||
T8.bus_no,
|
||||
T8.status_enum,
|
||||
T8.after_balance,
|
||||
T8.pay_time,
|
||||
T8.enterer_id
|
||||
FROM (SELECT T1.id AS patient_id, --住院号
|
||||
T1.name, --患者姓名
|
||||
T1.gender_enum, --性别编码
|
||||
T1.birth_date, --生日
|
||||
T3.location_id AS bed_location_id, --位置ID(床位号)
|
||||
T1.organization_id, --机构Id(科室)
|
||||
COALESCE(SUM_TOTAL.total_price, 0) AS total_price, -- 总额
|
||||
COALESCE(SUM_DEPOSIT.deposit, 0) AS deposit, -- 预交金
|
||||
T4.balance_amount, --余额
|
||||
CASE T4.pay_enum
|
||||
WHEN '220100' THEN '微信'
|
||||
WHEN '220200' THEN '支付宝'
|
||||
WHEN '220300' THEN '银联'
|
||||
WHEN '220400' THEN '现金'
|
||||
ELSE '其他'
|
||||
END AS pay_way, --支付方式
|
||||
T5.payment_enum, --状态
|
||||
T5.tendered_amount, --金额
|
||||
T7.bus_no, --收据号
|
||||
T7.status_enum, --票据状态
|
||||
T6.after_balance, --可退金额
|
||||
T6.pay_trans_date AS pay_time, --收款时间
|
||||
T5.enterer_id --收款员
|
||||
FROM adm_patient AS T1
|
||||
INNER JOIN adm_encounter AS T2
|
||||
ON T2.patient_id = T1.id
|
||||
AND T2.class_enum = #{classEnum}
|
||||
LEFT JOIN adm_encounter_location AS T3
|
||||
ON T3.encounter_id = T2.id
|
||||
AND T3.form_enum = #{formEnum}
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_account AS T4
|
||||
ON T4.patient_id = T1.id
|
||||
AND T4.encounter_id = T2.id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN fin_payment_reconciliation AS T5
|
||||
ON T5.patient_id = T1.id
|
||||
AND T5.encounter_id = T2.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN fin_payment_rec_detail AS T6
|
||||
ON T6.reconciliation_id = T5.id
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_invoice AS T7
|
||||
ON T7.reconciliation_id = T6.reconciliation_id
|
||||
AND T7.patient_id = T1.id
|
||||
AND T7.delete_flag = '0'
|
||||
LEFT JOIN (SELECT patient_id, SUM(tendered_amount) AS total_price
|
||||
FROM fin_payment_reconciliation
|
||||
WHERE kind_enum = 2
|
||||
GROUP BY patient_id) AS SUM_TOTAL
|
||||
ON SUM_TOTAL.patient_id = T1.id
|
||||
LEFT JOIN (SELECT patient_id, SUM(tendered_amount) AS deposit
|
||||
FROM fin_payment_reconciliation
|
||||
WHERE kind_enum = 1
|
||||
GROUP BY patient_id) AS SUM_DEPOSIT
|
||||
ON SUM_DEPOSIT.patient_id = T1.id
|
||||
WHERE T1.delete_flag = '0'
|
||||
ORDER BY T6.pay_trans_date desc
|
||||
) AS T8
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,165 @@
|
||||
<?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.inpatientmanage.mapper.NursingRecordAppMapper">
|
||||
<!-- 患者信息分页查询-->
|
||||
<select id="getPatientPage" parameterType="java.util.Map"
|
||||
resultType="com.openhis.web.inpatientmanage.dto.NursingPageDto">
|
||||
SELECT T5.tenant_id,
|
||||
T5.patient_id,
|
||||
T5.patient_name,
|
||||
T5.patient_bus_no,
|
||||
T5.birth_date,
|
||||
T5.gender_enum,
|
||||
T5.org_id,
|
||||
T5.encounter_id,
|
||||
T5.admissionDate,
|
||||
T5.ward_location_id,
|
||||
T5.bed_location_id
|
||||
FROM (SELECT T1.tenant_id,
|
||||
T1.id AS patient_id, --患者ID
|
||||
T1.name AS patient_name, --患者姓名
|
||||
T1.bus_no AS patient_bus_no, --病历号
|
||||
T1.birth_date, --患者出生日期
|
||||
T1.gender_enum, --患者性别
|
||||
T1.organization_id AS org_id, --科室ID
|
||||
T2.id AS encounter_id, --就诊ID
|
||||
T2.start_time AS admissionDate, --入院日期
|
||||
T3.location_id AS ward_location_id, --病区
|
||||
T4.location_id AS bed_location_id --床号
|
||||
FROM adm_patient AS T1
|
||||
INNER JOIN adm_encounter AS T2
|
||||
ON T2.patient_id = T1.id
|
||||
AND T2.class_enum = #{classEnum}
|
||||
AND T2.delete_flag = '0'
|
||||
INNER JOIN (SELECT encounter_id,
|
||||
location_id,
|
||||
form_enum,
|
||||
delete_flag
|
||||
FROM (SELECT encounter_id,
|
||||
location_id,
|
||||
form_enum,
|
||||
delete_flag,
|
||||
ROW_NUMBER() OVER (PARTITION BY encounter_id
|
||||
ORDER BY
|
||||
CASE
|
||||
WHEN update_time IS NULL THEN create_time
|
||||
ELSE update_time
|
||||
END DESC) AS rn
|
||||
FROM adm_encounter_location
|
||||
WHERE form_enum = #{ward}
|
||||
AND delete_flag = '0'
|
||||
) ranked
|
||||
WHERE rn = 1) AS T3
|
||||
ON T3.encounter_id = T2.ID
|
||||
INNER JOIN adm_encounter_location AS T4
|
||||
ON T4.encounter_id = T2.ID
|
||||
AND T4.form_enum = #{bed}
|
||||
AND T4.status_enum = #{active}
|
||||
AND T4.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0'
|
||||
ORDER BY T4.location_id ASC) AS T5
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<!-- 患者护理记录单信息分页查询-->
|
||||
<select id="getNursingPatientPage" parameterType="java.util.Map"
|
||||
resultType="com.openhis.web.inpatientmanage.dto.NursingDetailDto">
|
||||
SELECT T6.tenant_id,
|
||||
T6.patient_id,
|
||||
T6.patient_name,
|
||||
T6.birth_date,
|
||||
T6.gender_enum,
|
||||
T6.org_id,
|
||||
T6.encounter_id,
|
||||
T6.admissionDate,
|
||||
T6.ward_location_id,
|
||||
T6.record_id,
|
||||
T6.recorder_id,
|
||||
T6.recording_time,
|
||||
T6.context_json,
|
||||
T6.bed_location_id
|
||||
FROM (SELECT T1.tenant_id,
|
||||
T1.id AS patient_id, --患者ID
|
||||
T1.name AS patient_name, --患者姓名
|
||||
T1.birth_date, --患者出生日期
|
||||
T1.gender_enum, --患者性别
|
||||
T1.organization_id AS org_id, --科室ID
|
||||
T2.id AS encounter_id, --就诊ID
|
||||
T2.start_time AS admissionDate, --入院日期
|
||||
T3.location_id AS ward_location_id, --病区
|
||||
T5.id AS record_id, --记录单ID
|
||||
T5.record_id AS recorder_id, --记录人
|
||||
T5.record_time AS recording_time, --记录时间
|
||||
T5.context_json, --病历信息
|
||||
T4.location_id AS bed_location_id --床号
|
||||
FROM adm_patient AS T1
|
||||
INNER JOIN adm_encounter AS T2
|
||||
ON T2.patient_id = T1.id
|
||||
AND T2.class_enum = #{classEnum}
|
||||
AND T2.delete_flag = '0'
|
||||
INNER JOIN (SELECT encounter_id,
|
||||
location_id,
|
||||
form_enum,
|
||||
delete_flag
|
||||
FROM (SELECT encounter_id,
|
||||
location_id,
|
||||
form_enum,
|
||||
delete_flag,
|
||||
ROW_NUMBER() OVER (PARTITION BY encounter_id
|
||||
ORDER BY
|
||||
CASE
|
||||
WHEN update_time IS NULL THEN create_time
|
||||
ELSE update_time
|
||||
END DESC) AS rn
|
||||
FROM adm_encounter_location
|
||||
WHERE form_enum = #{ward}
|
||||
AND delete_flag = '0'
|
||||
) ranked
|
||||
WHERE rn = 1) AS T3
|
||||
ON T3.encounter_id = T2.ID
|
||||
INNER JOIN adm_encounter_location AS T4
|
||||
ON T4.encounter_id = T2.ID
|
||||
AND T4.form_enum = #{bed}
|
||||
AND T4.status_enum = #{active}
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN doc_emr AS T5
|
||||
ON T5.patient_id = T1.id
|
||||
AND T5.encounter_id = T2.ID
|
||||
AND T5.class_enum = 1 --护理记录单
|
||||
AND T5.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0'
|
||||
ORDER BY T5.record_time DESC) AS T6
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<!-- 病历模板分页查询-->
|
||||
<select id="getEmrTemplate" parameterType="java.util.Map"
|
||||
resultType="com.openhis.web.inpatientmanage.dto.NursingEmrTemplateDto">
|
||||
SELECT T2.tenant_id,
|
||||
T2.id,
|
||||
T2.template_name,
|
||||
T2.template_type_code,
|
||||
T2.use_scope_code,
|
||||
T2.use_scope_code_text,
|
||||
T2.user_id,
|
||||
T2.context_json
|
||||
FROM (SELECT T1.tenant_id,
|
||||
T1.id,
|
||||
T1.template_name,
|
||||
T1.template_type_code,
|
||||
T1.use_scope_code,
|
||||
CASE
|
||||
WHEN T1.use_scope_code = '1' THEN '个人'
|
||||
WHEN T1.use_scope_code = '2' THEN '科室'
|
||||
WHEN T1.use_scope_code = '3' THEN '全院'
|
||||
END AS use_scope_code_text,
|
||||
T1.user_id,
|
||||
T1.context_json
|
||||
FROM doc_emr_template AS T1
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.template_type_code = #{nursing}
|
||||
ORDER BY T1.create_time DESC) AS T2
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,206 @@
|
||||
<?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.inpatientmanage.mapper.PatientHomeAppMapper">
|
||||
|
||||
<!-- 患者首页信息分页查询-->
|
||||
<select id="getPage" parameterType="java.util.Map"
|
||||
resultType="com.openhis.web.inpatientmanage.dto.PatientHomeDto">
|
||||
SELECT
|
||||
T1.id,
|
||||
T1.active_flag,
|
||||
T1.temp_flag,
|
||||
T1."name" AS patientName, -- 患者姓名
|
||||
T1.name_json,
|
||||
T1.bus_no AS patientNo, -- 病历号
|
||||
T1.gender_enum, -- 患者性别
|
||||
T1.birth_date,
|
||||
T1.deceased_date,
|
||||
T1.marital_status_enum,
|
||||
T1.prfs_enum,
|
||||
T1.phone, -- 患者手机号
|
||||
COALESCE(NULLIF(T1.address, ''), '') AS address, -- 处理空地址
|
||||
T1.address_province,
|
||||
T1.address_city,
|
||||
T1.address_district,
|
||||
T1.address_street,
|
||||
T1.address_json,
|
||||
T1.nationality_code,
|
||||
T1.id_card,
|
||||
T1.py_str,
|
||||
T1.wb_str,
|
||||
T1.blood_abo,
|
||||
T1.blood_rh,
|
||||
T1.work_company,
|
||||
T1.native_place,
|
||||
T1.country_code,
|
||||
T1.link_name,
|
||||
T1.link_relation_code,
|
||||
T1.link_telcom,
|
||||
T1.link_jsons,
|
||||
T1.tenant_id,
|
||||
T2.bus_no AS hospitalNo, -- 住院号
|
||||
T2.id AS encounterId, -- 就诊ID
|
||||
T2.priority_enum, -- 护理级别
|
||||
T2.status_enum, -- 患者状态
|
||||
T2.organization_id,-- 入院科室
|
||||
T2.start_time AS admissionDate, -- 入院日期
|
||||
T2.end_time AS dischargeDate, -- 出院日期
|
||||
T2.class_enum, -- 就诊类别
|
||||
Doctor.name AS responsibleDoctor, -- 责任医生
|
||||
Nurse.name AS responsibleNurse, -- 责任护士
|
||||
T6.type_code, -- 费别
|
||||
T7.status_enum AS surgeryStatusEnum, -- 手术状态
|
||||
T8.start_time AS surgeryStartTime, -- 手术开始时间
|
||||
T8.end_time AS surgeryEndTime, -- 手术结束时间
|
||||
T9.id AS encounterLocationId, -- 就诊位置ID
|
||||
T9.location_id, -- 床位号
|
||||
T10.category_code, -- 过敏原
|
||||
T11."name" AS caty, -- 入院科室
|
||||
T12."name" AS mainDiagnosis -- 主要诊断
|
||||
FROM adm_patient AS T1
|
||||
LEFT JOIN adm_encounter T2
|
||||
ON T1.id = T2.patient_id -- 患者ID
|
||||
AND T2.delete_flag = '0'
|
||||
AND T2.class_enum = '1' -- 仅选择住院患者
|
||||
-- 获取责任医生
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
encounter_id,
|
||||
practitioner_id,
|
||||
"name",
|
||||
ROW_NUMBER() OVER (PARTITION BY encounter_id ORDER BY practitioner_id) as rn
|
||||
FROM (
|
||||
SELECT
|
||||
T3.encounter_id,
|
||||
T4."name",
|
||||
T3.practitioner_id
|
||||
FROM adm_encounter_participant T3
|
||||
LEFT JOIN adm_practitioner T4
|
||||
ON T3.practitioner_id = T4.id
|
||||
AND T4.delete_flag = '0'
|
||||
WHERE T3.type_code = '9' -- 责任医生类型
|
||||
AND T3.delete_flag = '0'
|
||||
) sub
|
||||
) Doctor ON T2.id = Doctor.encounter_id AND Doctor.rn = 1
|
||||
-- 获取责任护士
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
encounter_id,
|
||||
practitioner_id,
|
||||
"name",
|
||||
ROW_NUMBER() OVER (PARTITION BY encounter_id ORDER BY practitioner_id) as rn
|
||||
FROM (
|
||||
SELECT
|
||||
T3.encounter_id,
|
||||
T4."name",
|
||||
T3.practitioner_id
|
||||
FROM adm_encounter_participant T3
|
||||
LEFT JOIN adm_practitioner T4
|
||||
ON T3.practitioner_id = T4.id
|
||||
AND T4.delete_flag = '0'
|
||||
WHERE T3.type_code = '2' -- 责任护士类型
|
||||
AND T3.delete_flag = '0'
|
||||
) sub
|
||||
) Nurse ON T2.id = Nurse.encounter_id AND Nurse.rn = 1
|
||||
LEFT JOIN adm_encounter_diagnosis T5
|
||||
ON T2.id = T5.encounter_id -- 就诊ID
|
||||
AND T5.maindise_flag = 1
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_account T6
|
||||
ON T2.id = T6.encounter_id -- 就诊ID
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN cli_procedure T7
|
||||
ON T1.id = T7.patient_id -- 患者ID
|
||||
AND T7.delete_flag = '0'
|
||||
LEFT JOIN cli_procedure_performer T8
|
||||
ON T7.id = T8.procedure_id -- 手术ID
|
||||
AND T8.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_location T9
|
||||
ON T2.id = T9.encounter_id -- 就诊ID
|
||||
AND T9.form_enum = 8
|
||||
AND T9.delete_flag = '0'
|
||||
LEFT JOIN cli_allergy_intolerance T10
|
||||
ON T1.id = T10.patient_id -- 患者ID
|
||||
AND T10.delete_flag = '0'
|
||||
LEFT JOIN adm_organization T11
|
||||
ON T2.organization_id = T11.id
|
||||
AND T11.type_enum = 2
|
||||
AND T11.delete_flag = '0'
|
||||
LEFT JOIN cli_condition_definition T12
|
||||
ON T5.condition_id = T12.id
|
||||
AND T12.delete_flag = '0'
|
||||
LEFT JOIN wor_service_request T13
|
||||
ON T2.id = T13.encounter_id
|
||||
AND T7.base_service_req_id = T13.id
|
||||
AND T13.delete_flag = '0'
|
||||
LEFT JOIN wor_service_request_detail T14
|
||||
ON T13.id = T14.service_req_id
|
||||
AND T14.type_code = '3'
|
||||
AND T14.delete_flag = '0'
|
||||
<where>
|
||||
T1.delete_flag = '0'
|
||||
-- 患者ID
|
||||
<if test="patientId != null">
|
||||
AND T1.id = #{patientId}
|
||||
</if>
|
||||
|
||||
-- 在科
|
||||
<if test="statusEnum == 1">
|
||||
AND T9.status_enum = 2
|
||||
</if>
|
||||
|
||||
-- 待出院
|
||||
<if test="statusEnum == 3">
|
||||
AND T2.status_enum = 4
|
||||
</if>
|
||||
|
||||
-- 危重
|
||||
<if test="statusEnum == 4">
|
||||
AND T2.priority_enum = 1
|
||||
</if>
|
||||
|
||||
-- 手术
|
||||
<if test="statusEnum == 5">
|
||||
AND T14.type_code = '3'
|
||||
</if>
|
||||
|
||||
-- 欠费
|
||||
<if test="statusEnum == 6">
|
||||
AND T6.balance_amount < 0
|
||||
</if>
|
||||
|
||||
-- 已出院
|
||||
<if test="statusEnum == 7">
|
||||
AND T2.status_enum = 5
|
||||
</if>
|
||||
|
||||
<if test="searchKey != null and searchKey != ''">
|
||||
AND (
|
||||
-- 住院号
|
||||
T2.bus_no = #{searchKey}
|
||||
-- 患者姓名
|
||||
OR T1.name like concat('%', #{searchKey}, '%')
|
||||
-- 责任医生
|
||||
OR Doctor.name like concat('%', #{searchKey}, '%')
|
||||
-- 责任护士
|
||||
OR Nurse.name like concat('%', #{searchKey}, '%')
|
||||
)
|
||||
</if>
|
||||
</where>
|
||||
|
||||
ORDER BY T9.location_id ASC
|
||||
</select>
|
||||
|
||||
<!-- 科室空床查询-->
|
||||
<select id="getEmptyBedList" parameterType="java.util.List"
|
||||
resultType="com.openhis.web.inpatientmanage.dto.PatientHomeEmptyBedDto">
|
||||
SELECT id as locationId
|
||||
FROM adm_location
|
||||
WHERE organization_id = #{organizationId}
|
||||
AND operational_enum = 4
|
||||
AND form_enum = 8
|
||||
AND delete_flag = '0'
|
||||
ORDER BY id ASC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,106 @@
|
||||
<?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.inpatientmanage.mapper.VitalSignsAppMapper">
|
||||
|
||||
<!-- 三测单患者信息查询-->
|
||||
<select id="getVitalSignsInfo" parameterType="java.util.Map"
|
||||
resultType="com.openhis.web.inpatientmanage.dto.VitalSignsDto">
|
||||
SELECT T1.id,
|
||||
T1.patient_id,
|
||||
T1.encounter_id,
|
||||
T1.recording_date,
|
||||
T1.time_point,
|
||||
T1.vital_signs_code,
|
||||
T1.vital_signs_values,
|
||||
T1.units,
|
||||
T1.baby_no,
|
||||
T1.location_id,
|
||||
T1.recorder,
|
||||
T1.remake,
|
||||
T2."name", -- 患者姓名
|
||||
T3.bus_no AS hospitalNo, -- 住院号
|
||||
T3.class_enum, -- 就诊类别
|
||||
T3.organization_id, -- 科室ID
|
||||
T3.start_time AS admissionDate, -- 入院日期
|
||||
T3.end_time AS dischargeDate, -- 出院日期
|
||||
T4.location_id AS bedLocationId, -- 床位号
|
||||
T5.status_enum AS surgeryStatusEnum, -- 手术状态
|
||||
T6.start_time AS surgeryStartTime, -- 手术开始时间
|
||||
T6.end_time AS surgeryEndTime -- 手术结束时间
|
||||
FROM doc_vital_signs T1
|
||||
LEFT JOIN adm_patient T2
|
||||
ON T1.patient_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter T3
|
||||
ON T1.encounter_id = T3.id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_location T4
|
||||
ON T1.encounter_id = T4.encounter_id -- 就诊ID
|
||||
AND T4.form_enum = 8
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN cli_procedure T5
|
||||
ON T1.patient_id = T5.patient_id -- 患者ID
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN cli_procedure_performer T6
|
||||
ON T5.id = T6.procedure_id -- 手术ID
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN wor_service_request T7
|
||||
ON T1.encounter_id = T7.encounter_id
|
||||
AND T5.base_service_req_id = T7.id
|
||||
AND T7.delete_flag = '0'
|
||||
LEFT JOIN wor_service_request_detail T8
|
||||
ON T7.id = T8.service_req_id
|
||||
AND T8.type_code = '3'
|
||||
AND T8.delete_flag = '0'
|
||||
<where>
|
||||
-- 患者ID
|
||||
T1.patient_id = #{patientId}
|
||||
AND T1.delete_flag = '0'
|
||||
|
||||
</where>
|
||||
ORDER BY recording_date, time_point ASC
|
||||
</select>
|
||||
|
||||
<!-- 三测单患者信息查询-->
|
||||
<select id="searchVitalSigns" parameterType="java.util.Map"
|
||||
resultType="com.openhis.document.domain.VitalSigns">
|
||||
SELECT T1.id,
|
||||
T1.patient_id,
|
||||
T1.encounter_id,
|
||||
T1.recording_date,
|
||||
T1.time_point,
|
||||
T1.vital_signs_code,
|
||||
T1.vital_signs_values,
|
||||
T1.units,
|
||||
T1.baby_no,
|
||||
T1.location_id,
|
||||
T1.recorder,
|
||||
T1.remake
|
||||
FROM doc_vital_signs T1
|
||||
<where>
|
||||
-- 记录日期
|
||||
T1.recording_date >= #{startTime}::date
|
||||
AND T1.recording_date <= #{endTime}::date
|
||||
AND T1.delete_flag = '0'
|
||||
|
||||
</where>
|
||||
ORDER BY T1.recording_date, T1.time_point, T1.vital_signs_code ASC
|
||||
</select>
|
||||
|
||||
<!-- 三测单患者信息删除-->
|
||||
<delete id="deleteVitalSigns">
|
||||
DELETE FROM doc_vital_signs
|
||||
<where>
|
||||
-- 患者ID
|
||||
patient_id = #{patientId}
|
||||
-- 就诊ID
|
||||
AND encounter_id = #{encounterId}
|
||||
-- 记录日期
|
||||
AND recording_date = #{recordingDate}
|
||||
-- 记录时间
|
||||
AND time_point = #{timePoint}
|
||||
-- 删除状态
|
||||
AND delete_flag = '0'
|
||||
</where>
|
||||
</delete>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user