```
docs(release-notes): 添加住院护士站划价功能说明和发版记录 - 新增住院护士站划价服务流程说明文档,详细描述了从参数预处理到结果响应的五大阶段流程 - 包含耗材类医嘱和诊疗活动类医嘱的差异化处理逻辑 - 添加完整的发版内容记录,涵盖新增菜单功能和各模块优化点 - 记录了住院相关功能的新增和门诊业务流程的修复 ```
This commit is contained in:
@@ -0,0 +1,184 @@
|
||||
<?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.tencentJH.mapper.TencentAppMapper">
|
||||
|
||||
<select id="getCurrentDayEncounter" resultType="com.openhis.web.tencentJH.dto.CurrentDayEncounterTencentDto">
|
||||
SELECT T9.tenant_id,
|
||||
T9.encounter_id,
|
||||
T9.organization_id,
|
||||
T9.organization_name,
|
||||
T9.healthcare_name,
|
||||
T9.practitioner_user_id,
|
||||
T9.practitioner_name,
|
||||
T9.contract_name,
|
||||
T9.patient_id,
|
||||
T9.patient_name,
|
||||
T9.phone,
|
||||
T9.gender_enum,
|
||||
T9.id_card,
|
||||
T9.status_enum,
|
||||
T9.register_time,
|
||||
T9.total_price,
|
||||
T9.account_name,
|
||||
T9.enterer_name,
|
||||
T9.charge_item_ids,
|
||||
T9.payment_id,
|
||||
T9.picture_url,
|
||||
T9.birth_date,
|
||||
t9.english_name
|
||||
from (
|
||||
SELECT T1.tenant_id AS tenant_id,
|
||||
T1.id AS encounter_id,
|
||||
T1.organization_id AS organization_id,
|
||||
T2.NAME AS organization_name,
|
||||
T3.NAME AS healthcare_name,
|
||||
T5.user_id AS practitioner_user_id,
|
||||
T5.NAME AS practitioner_name,
|
||||
T7.contract_name AS contract_name,
|
||||
T8.id AS patient_id,
|
||||
T8.NAME AS patient_name,
|
||||
T8.phone AS phone,
|
||||
T8.gender_enum AS gender_enum,
|
||||
T8.id_card AS id_card,
|
||||
T1.status_enum AS status_enum,
|
||||
T1.create_time AS register_time,
|
||||
T10.total_price,
|
||||
T11."name" AS account_name,
|
||||
T12."name" AS enterer_name,
|
||||
T13.charge_item_ids,
|
||||
T13.id AS payment_id,
|
||||
ai.picture_url AS picture_url,
|
||||
T8.birth_date AS birth_date,
|
||||
tx.staff_english_name AS english_name
|
||||
FROM adm_encounter AS T1
|
||||
LEFT JOIN adm_organization AS T2 ON T1.organization_id = T2.ID AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_healthcare_service AS T3 ON T1.service_type_id = T3.ID AND T3.delete_flag = '0'
|
||||
LEFT JOIN (
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT *,
|
||||
ROW_NUMBER() OVER (PARTITION BY encounter_id ORDER BY create_time ASC) AS rn
|
||||
FROM adm_encounter_participant
|
||||
WHERE delete_flag = '0'
|
||||
AND (
|
||||
(type_code = #{participantType1} AND EXISTS(SELECT 1
|
||||
FROM adm_encounter AS T1
|
||||
WHERE T1.status_enum = #{statusEnum}
|
||||
AND T1.ID = encounter_id))
|
||||
OR
|
||||
(type_code = #{participantType2} AND NOT EXISTS(SELECT 1
|
||||
FROM adm_encounter AS T1
|
||||
WHERE T1.status_enum = #{statusEnum}
|
||||
AND T1.ID = encounter_id))
|
||||
)
|
||||
) t
|
||||
WHERE rn = 1
|
||||
) AS T4 ON T1.ID = T4.encounter_id
|
||||
LEFT JOIN adm_practitioner AS T5 ON T5.ID = T4.practitioner_id AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_account AS T6
|
||||
ON T1.ID = T6.encounter_id AND T6.delete_flag = '0' AND T6.encounter_flag = '1'
|
||||
LEFT JOIN fin_contract AS T7 ON T6.contract_no = T7.bus_no AND T7.delete_flag = '0'
|
||||
LEFT JOIN adm_patient AS T8 ON T1.patient_id = T8.ID AND T8.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item AS T10 ON T1.id = T10.encounter_id AND T10.delete_flag = '0'
|
||||
LEFT JOIN adm_account AS T11 ON T10.account_id = T11.id AND T11.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner AS T12 ON T12.ID = T10.enterer_id AND T12.delete_flag = '0'
|
||||
LEFT JOIN tx_encounter AS tx ON tx.bus_no=T1.bus_no
|
||||
LEFT JOIN fin_payment_reconciliation T13
|
||||
ON T10.id::TEXT = ANY(string_to_array(T13.charge_item_ids,','))
|
||||
AND T13.delete_flag = '0'
|
||||
AND T13.status_enum = ${paymentStatus}
|
||||
LEFT JOIN adm_invoice AS ai
|
||||
ON ai.reconciliation_id = T13.id AND ai.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0'
|
||||
AND T1.class_enum = #{classEnum}
|
||||
AND T10.context_enum = #{register}
|
||||
) AS T9
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY T9.register_time DESC
|
||||
</select>
|
||||
|
||||
<select id="getPatientInfo" resultType="com.openhis.web.tencentJH.dto.PatientInfoTencentDto">
|
||||
SELECT
|
||||
T10.encounter_id,
|
||||
T10.patient_id,
|
||||
T10.patient_name,
|
||||
T10.gender_enum,
|
||||
T10.id_card,
|
||||
T10.phone,
|
||||
T10.birth_date,
|
||||
T10.status_enum,
|
||||
T10.account_id,
|
||||
T10.type_code,
|
||||
T10.contract_name,
|
||||
T10.org_id,
|
||||
T10.register_time,
|
||||
T10.reception_time,
|
||||
T10.practitioner_user_id,
|
||||
T10.jz_practitioner_user_id,
|
||||
T10.bus_no,
|
||||
T10.english_name
|
||||
from
|
||||
(
|
||||
SELECT T1.tenant_id AS tenant_id,
|
||||
T1.ID AS encounter_id,
|
||||
T1.organization_id AS organization_id,
|
||||
T2.NAME AS organization_name,
|
||||
T3.NAME AS healthcare_name,
|
||||
T5.user_id AS practitioner_user_id,
|
||||
T5.NAME AS practitioner_name,
|
||||
ap.user_id AS jz_practitioner_user_id,
|
||||
ap.NAME AS jz_practitioner_name,
|
||||
T6.id AS account_id,
|
||||
T6.type_code AS type_code,
|
||||
T7.contract_name AS contract_name,
|
||||
T8.ID AS patient_id,
|
||||
T8.NAME AS patient_name,
|
||||
T8.gender_enum AS gender_enum,
|
||||
T8.id_card AS id_card,
|
||||
T8.phone AS phone,
|
||||
T8.birth_date AS birth_date,
|
||||
T1.status_enum AS status_enum,
|
||||
T1.create_time AS register_time,
|
||||
T1.reception_time AS reception_time,
|
||||
T1.organization_id AS org_id,
|
||||
T8.bus_no AS bus_no,
|
||||
tx.staff_english_name AS english_name
|
||||
FROM adm_encounter AS T1
|
||||
LEFT JOIN adm_organization AS T2 ON T1.organization_id = T2.ID AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_healthcare_service AS T3 ON T1.service_type_id = T3.ID AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_participant AS T4
|
||||
ON T1.ID = T4.encounter_id AND T4.type_code = #{participantType}
|
||||
AND T4.status_enum = #{activityStatus}
|
||||
AND T4.delete_flag = '0'
|
||||
AND T1.status_enum = #{encounterStatus}
|
||||
LEFT JOIN adm_practitioner AS T5 ON T5.ID = T4.practitioner_id AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_participant AS aep ON T1.ID = aep.encounter_id
|
||||
AND aep.type_code = #{participantType2}
|
||||
AND aep.status_enum = #{activityStatus}
|
||||
AND aep.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner AS ap ON ap.ID = aep.practitioner_id
|
||||
AND ap.delete_flag = '0'
|
||||
LEFT JOIN adm_account AS T6 ON T1.ID = T6.encounter_id AND T6.delete_flag = '0' and T6.encounter_flag = '1'
|
||||
LEFT JOIN fin_contract AS T7 ON T6.contract_no = T7.bus_no AND T7.delete_flag = '0'
|
||||
LEFT JOIN adm_patient AS T8 ON T1.patient_id = T8.ID AND T8.delete_flag = '0'
|
||||
LEFT JOIN tx_encounter AS tx ON tx.bus_no=T1.bus_no
|
||||
WHERE
|
||||
T1.delete_flag = '0'
|
||||
<!-- 当前登录账号ID 和 当前登录账号所属的科室ID 用于控制数据权限 -->
|
||||
<if test="userId != null and currentUserOrganizationId != null">
|
||||
AND (
|
||||
(T4.encounter_id IS NOT NULL AND T5.user_id = #{userId})
|
||||
OR
|
||||
(T4.encounter_id IS NULL AND T1.organization_id = #{currentUserOrganizationId})
|
||||
)
|
||||
</if>
|
||||
<if test="pricingFlag ==1">
|
||||
AND T1.status_enum != #{encounterStatus}
|
||||
</if>
|
||||
ORDER BY
|
||||
T1.create_time ) AS T10
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user