123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- <?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.diagbot.mapper.KlRelationMapper">
- <!-- 通用查询映射结果 -->
- <resultMap id="BaseResultMap" type="com.diagbot.entity.KlRelation">
- <id column="id" property="id" />
- <result column="is_deleted" property="isDeleted" />
- <result column="gmt_create" property="gmtCreate" />
- <result column="gmt_modified" property="gmtModified" />
- <result column="creator" property="creator" />
- <result column="modifier" property="modifier" />
- <result column="start_id" property="startId" />
- <result column="relation_id" property="relationId" />
- <result column="end_id" property="endId" />
- <result column="status" property="status" />
- </resultMap>
- <select id="getMedClassMedList" resultType="com.diagbot.dto.MedClassMedDTO">
- SELECT
- a.lib_name AS medClassLibName,
- a.lib_type AS medClassLibType,
- b.relation_id AS relationId,
- c.lib_name AS medLibName,
- c.lib_type AS medLibType
- FROM
- kl_concept a,
- kl_relation b,
- kl_concept c
- WHERE
- a.is_deleted = 'N'
- AND b.is_deleted = 'N'
- AND c.is_deleted = 'N'
- AND a.id = b.start_id
- AND c.id = b.end_id
- AND a.lib_type IN ( 301, 302, 303, 304 )
- AND c.lib_type = 101
- AND b.relation_id = 600
- AND a.`status` = 1
- AND b.`status` = 1
- AND c.`status` = 1
- </select>
- <select id="getRelations" parameterType="com.diagbot.vo.RelationVO" resultType="com.diagbot.dto.RelationDTO">
- SELECT
- a.id AS sId,
- a.lib_name AS sName,
- a.lib_type AS sType,
- b.relation_id AS rId,
- c.id AS eId,
- c.lib_name AS eName,
- c.lib_type AS eType
- FROM
- kl_concept a,
- kl_relation b,
- kl_concept c,
- kl_relation_order d
- WHERE
- a.is_deleted = 'N'
- AND b.is_deleted = 'N'
- AND c.is_deleted = 'N'
- AND a.id = b.start_id
- AND c.id = b.end_id
- <if test="sType!=null">
- AND a.lib_type = #{sType}
- </if>
- <if test="rId!=null">
- AND b.relation_id = #{rId}
- </if>
- <if test="eType!=null">
- AND c.lib_type = #{eType}
- </if>
- AND a.`status` = 1
- AND b.`status` = 1
- AND c.`status` = 1
- AND b.id = d.t_relation_id
- AND d.is_deleted = 'N'
- ORDER BY
- a.id,
- d.order_no
- </select>
- <select id="getRelationNodeDTOs" resultType="com.diagbot.dto.RelationNodeDTO">
- SELECT
- d.id AS conceptId,
- d.lib_name AS conceptName,
- d.lib_type AS conceptTypeId,
- d.is_deleted AS isDeletedConcept,
- c.id AS parentConceptId,
- c.lib_name AS parentConceptName,
- c.lib_type AS parentConceptTypeId,
- e.id AS relationId,
- e.`name` AS relationName
- FROM kl_relation a LEFT JOIN kl_relation_order b ON a.id=b.t_relation_id
- JOIN kl_concept c ON a.start_id=c.id
- JOIN kl_concept d ON a.end_id=d.id
- JOIN kl_lexicon_relationship e ON a.relation_id=e.code
- WHERE 1=1
- AND a.is_deleted='N'
- AND e.is_deleted='N'
- AND a.start_id=#{conceptId}
- <if test="relationId!=null">
- AND a.relation_id=#{relationId}
- </if>
- <if test="endTypeId!=null">
- AND d.lib_type=#{endTypeId}
- </if>
- ORDER BY b.order_no ASC,a.gmt_modified DESC
- </select>
- <select id="getRelationNameDTOs"
- resultType="com.diagbot.dto.RelationNameDTO">
- SELECT
- m.*, kc.lib_name AS medName,
- kc.lib_type AS medLibType
- FROM
- (
- SELECT
- k.*, r.end_id AS medId
- FROM
- (
- SELECT
- klc1.id AS startId,
- klr1.relation_id AS relationId,
- klc1.lib_name AS startLibName,
- klr1.end_id AS endId,
- klc2.lib_name AS endLibName,
- klc2.lib_type AS libType
- FROM
- kl_relation klr1,
- kl_concept klc1,
- kl_concept klc2
- WHERE
- klr1.start_id = klc1.id
- AND klc2.id = klr1.end_id
- <if test="conceptIds!=null and conceptIds.size() > 0">
- AND klc1.id IN
- <foreach collection="conceptIds" item="item" index="index" open="(" separator="," close=")">
- #{item}
- </foreach>
- </if>
- <if test="relationId!=null">
- AND relation_id = #{relationId}
- </if>
- ) k,
- kl_relation r
- WHERE
- k.endId = r.start_id
- AND k.relationId = r.relation_id
- ) m,
- kl_concept kc
- WHERE
- m.medId = kc.id
- </select>
- </mapper>
|