Files
his/openhis-server-new/openhis-application/src/main/resources/mapper/inhospitalnursestation/EncounterAutoRollAppMapper.xml
2025-12-27 15:30:25 +08:00

105 lines
4.1 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.inhospitalnursestation.mapper.EncounterAutoRollAppMapper">
<select id="getSource" resultType="com.openhis.web.inhospitalnursestation.dto.AutoRollSourceDto">
SELECT ID AS instance_id,
NAME AS instance_name,
permitted_unit_code
FROM wor_activity_definition
WHERE delete_flag = '0'
AND status_enum = #{status}
AND category_code = #{basicService}
</select>
<select id="getEncounter" resultType="com.openhis.web.inhospitalnursestation.dto.EncounterAutoRollQueryDto">
SELECT tear.ID,
tear.status_enum,
tear.quantity,
sdd.dict_label AS unit_code_name,
CASE
WHEN tear.instance_table = 'wor_activity_definition' THEN
wor.NAME
ELSE NULL
END AS definition_name
FROM tmp_encounter_auto_roll AS tear
LEFT JOIN wor_activity_definition AS wor ON tear.instance_table = 'wor_activity_definition'
AND tear.instance_id = wor.
ID
LEFT JOIN sys_dict_data AS sdd ON sdd.dict_value = wor.permitted_unit_code
AND sdd.dict_type = 'unit_code'
AND sdd.status = '0'
WHERE tear.delete_flag = '0'
AND tear.encounter_id = #{encounterId}
</select>
<select id="getInBedPatientInfo" resultType="com.openhis.web.inhospitalnursestation.dto.InBedPatientInfoDto">
SELECT ae.ID AS encounter_id,
ae.organization_id,
ae.patient_id,
aa.ID AS account_id,
aed.ID AS encounter_diagnosis_id,
aed.condition_id
FROM adm_encounter AS ae
LEFT JOIN adm_account AS aa ON aa.encounter_id = ae.ID
AND aa.delete_flag = '0'
AND aa.type_code = #{typeCode}
LEFT JOIN adm_encounter_diagnosis AS aed ON aed.encounter_id = ae.ID
AND aed.delete_flag = '0'
AND aed.maindise_flag = #{maindiseFlag}
WHERE ae.delete_flag = '0'
AND ae.class_enum = #{classEnum}
AND EXISTS(
SELECT 1
FROM adm_encounter_location AS ael
WHERE ael.encounter_id = ae.ID
AND ael.delete_flag = '0'
AND ael.status_enum = #{status}
AND ael.form_enum = #{formEnum}
)
</select>
<select id="getNursingRequest" resultType="com.openhis.web.inhospitalnursestation.dto.AutoRollNursingDto">
SELECT
wsr.activity_id AS activity_definition_id,
wsr.quantity,
wsr.patient_id,
wsr.encounter_id,
wsr.requester_id
FROM
wor_service_request AS wsr
WHERE
wsr.delete_flag = '0'
AND wsr.category_enum = #{categoryEnum}
AND wsr.status_enum = #{status}
<if test="encounterIdList != null and !encounterIdList.isEmpty()">
AND wsr.encounter_id IN
<foreach collection="encounterIdList" item="itemId" open="(" separator="," close=")">
#{itemId}
</foreach>
</if>
</select>
<select id="getAutoRollBasicService"
resultType="com.openhis.web.inhospitalnursestation.dto.AutoRollBasicServiceDto">
SELECT
tear.encounter_id,
tear.instance_id AS activity_definition_id,
tear.quantity,
tear.practitioner_id AS requester_id,
tear.organization_id
FROM
tmp_encounter_auto_roll AS tear
WHERE
tear.delete_flag = '0'
AND tear.status_enum = #{status}
<if test="encounterIdList != null and !encounterIdList.isEmpty()">
AND tear.encounter_id IN
<foreach collection="encounterIdList" item="itemId" open="(" separator="," close=")">
#{itemId}
</foreach>
</if>
</select>
</mapper>