You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
virtual-patient/virtual-patient-model/src/main/resources/mapper/DiagnosisPrimaryMapper.xml

104 lines
4.9 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.supervision.mapper.DiagnosisPrimaryMapper">
<resultMap id="BaseResultMap" type="com.supervision.model.DiagnosisPrimary">
<id property="id" column="id" jdbcType="VARCHAR"/>
<result property="processId" column="process_id" jdbcType="VARCHAR"/>
<result property="primaryDiagnosisId" column="primary_diagnosis_id" jdbcType="VARCHAR"/>
<result property="patientDiseaseInfo" column="patient_disease_info" jdbcType="VARCHAR"/>
<result property="excludeFlag" column="exclude_flag" jdbcType="VARCHAR"/>
<result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id
,process_id,primary_diagnosis,patient_disease_info,
create_user_id,create_time,update_user_id,
update_time
</sql>
<select id="queryAskPrimaryListByProcessId" resultType="com.supervision.vo.ask.DiagnosisPrimaryVO">
select t1.*, if(t2.disease_name_alias is null, t2.disease_name, t2.disease_name_alias) as primaryDiseaseName
from vp_diagnosis_primary t1
left join vp_disease t2 on t1.primary_diagnosis_id = t2.id
<where>
<if test="processId != null and processId != ''">
AND process_id = #{processId}
</if>
</where>
</select>
<select id="queryAskPrimaryListByPrimaryId" resultType="com.supervision.vo.ask.DiagnosisPrimaryVO">
select t1.*, if(t2.disease_name_alias is null, t2.disease_name, t2.disease_name_alias) as primaryDiseaseName
from vp_diagnosis_primary t1
left join vp_disease t2 on t1.primary_diagnosis_id = t2.id
where t1.id = #{primaryId}
</select>
<select id="queryDiagnosticBasisListForPrimary"
resultType="com.supervision.vo.ask.DiagnosticBasisForPrimaryResVO">
select t1.id as id,
1 as type,
null as locationName,
t4.name_zh_path as category,
t1.question as item,
t1.basis_confirm_flag as basisConfirmFlag,
t1.basis_identification_flag as basisIdentificationFlag
from vp_diagnosis_qa_record t1
left join vp_ask_patient_answer t2 on t1.answer_id = t2.id
left join vp_ask_template_question_library t3 on t2.library_question_id = t3.id
left join vp_common_dic t4 on t3.dict_id = t4.id
where t1.process_id = #{processId}
union
select t1.id as id,
2 as type,
t2.location_name as locationName,
t3.type as category,
t3.tool_name as item,
t1.basis_confirm_flag as basisConfirmFlag,
t1.basis_identification_flag as basisIdentificationFlag
from vp_diagnosis_physical_record t1
left join vp_config_physical_location t2 on t1.location_id = t2.id
left join vp_config_physical_tool t3 on t1.tool_id = t3.id
where t1.process_id = #{processId}
union
select t1.id as id,
3 as type,
t2.location_name as locationName,
t2.type as category,
t2.item_name as item,
t1.basis_confirm_flag as basisConfirmFlag,
t1.basis_identification_flag as basisIdentificationFlag
from vp_diagnosis_ancillary_record t1
left join vp_config_ancillary_item t2 on t1.item_id = t2.id
left join vp_disease_ancillary t3 on t1.ancillary_id = t3.id
where t1.process_id = #{processId}
</select>
<select id="queryAskPrimaryListByProcessIds" resultType="com.supervision.vo.ask.DiagnosisPrimaryVO">
select t1.*, if(t2.disease_name_alias is null, t2.disease_name, t2.disease_name_alias) as primaryDiseaseName
from vp_diagnosis_primary t1
left join vp_disease t2 on t1.primary_diagnosis_id = t2.id
<where>
<if test="processIds != null and processIds.size() > 0">
t1.process_id in
<foreach item="processId" collection="processIds" open="(" separator="," close=")">
#{processId}
</foreach>
</if>
</where>
</select>
</mapper>