1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291 |
- <?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.ConceptMapper">
- <!-- 通用查询映射结果 -->
- <resultMap id="BaseResultMap" type="com.diagbot.entity.Concept">
- <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="lib_id" property="libId" />
- <result column="lib_name" property="libName" />
- <result column="lib_type" property="libType" />
- </resultMap>
- <select id="getConcept" resultType="com.diagbot.dto.ConceptRes" parameterType="com.diagbot.entity.wrapper.ConceptWrapper">
- SELECT
- t1.id AS startId,
- t1.lib_name AS startName,
- t3.id AS endId,
- t3.lib_name AS endName
- FROM
- `kl_concept` t1,
- `kl_relation` t2,
- <if test="startSex != null or startAge != null">
- kl_concept_common c1,
- </if>
- <if test="endSex != null or endAge != null">
- kl_concept_common c2,
- </if>
- `kl_concept` t3
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t3.is_deleted = 'N'
- AND t1.id = t2.start_id
- AND t3.id = t2.end_id
- <if test="startId != null">
- AND t2.start_id = #{startId}
- </if>
- <if test="startName != null and startName != ''">
- AND t1.lib_name = #{startName}
- </if>
- <if test="startSex != null or startAge != null">
- AND c1.is_deleted = 'N'
- <if test="startSex != null">
- <if test="startSex == 3">
- and c1.sex_type in ('1','2','3')
- </if>
- <if test="startSex != 3">
- and c1.sex_type in ('3',#{startSex})
- </if>
- </if>
- <if test="startAge != null">
- <![CDATA[ AND c1.min_age <= #{startAge} ]]>
- <![CDATA[ AND c1.max_age >= #{startAge} ]]>
- </if>
- AND t2.start_id = c1.concept_id
- </if>
- <if test="startType != null">
- AND t1.lib_type = #{startType}
- </if>
- <if test="relationType != null">
- AND t2.relation_id = #{relationType}
- </if>
- <if test="endId != null">
- AND t2.end_id = #{endId}
- </if>
- <if test="endName != null and endName != ''">
- AND t3.lib_name = #{endName}
- </if>
- <if test="endSex != null or endAge != null">
- AND c2.is_deleted = 'N'
- <if test="endSex != null">
- <if test="endSex == 3">
- and c2.sex_type in ('1','2','3')
- </if>
- <if test="endSex != 3">
- and c2.sex_type in ('3',#{endSex})
- </if>
- </if>
- <if test="endAge != null">
- <![CDATA[ AND c2.min_age <= #{endAge} ]]>
- <![CDATA[ AND c2.max_age >= #{endAge} ]]>
- </if>
- AND t2.end_id = c2.concept_id
- </if>
- <if test="endType != null">
- AND t3.lib_type = #{endType}
- </if>
- </select>
- <select id="getConceptWithOrder" resultType="com.diagbot.dto.ConceptWithOrderRes" parameterType="com.diagbot.entity.wrapper.ConceptWrapper">
- SELECT
- t1.id AS startId,
- t1.lib_name AS startName,
- t3.id AS endId,
- t3.lib_name AS endName,
- t4.order_no AS orderNo
- FROM
- `kl_concept` t1,
- `kl_relation` t2,
- <if test="startSex != null or startAge != null">
- kl_concept_common c1,
- </if>
- <if test="endSex != null or endAge != null">
- kl_concept_common c2,
- </if>
- `kl_concept` t3,
- `kl_relation_order` t4
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t3.is_deleted = 'N'
- AND t4.is_deleted = 'N'
- AND t1.id = t2.start_id
- AND t3.id = t2.end_id
- AND t2.id = t4.t_relation_id
- <if test="startId != null">
- AND t2.start_id = #{startId}
- </if>
- <if test="startName != null and startName != ''">
- AND t1.lib_name = #{startName}
- </if>
- <if test="startSex != null or startAge != null">
- AND c1.is_deleted = 'N'
- <if test="startSex != null">
- <if test="startSex == 3">
- and c1.sex_type in ('1','2','3')
- </if>
- <if test="startSex != 3">
- and c1.sex_type in ('3',#{startSex})
- </if>
- </if>
- <if test="startAge != null">
- <![CDATA[ AND c1.min_age <= #{startAge} ]]>
- <![CDATA[ AND c1.max_age >= #{startAge} ]]>
- </if>
- AND t2.start_id = c1.concept_id
- </if>
- <if test="startNameList != null and startNameList.size() > 0">
- AND t1.lib_name in
- <foreach collection="startNameList" item="item" open="(" close=")" separator=",">
- #{item}
- </foreach>
- </if>
- <if test="startType != null">
- AND t1.lib_type = #{startType}
- </if>
- <if test="relationType != null">
- AND t2.relation_id = #{relationType}
- </if>
- <if test="endId != null">
- AND t2.end_id = #{endId}
- </if>
- <if test="endName != null and endName != ''">
- AND t3.lib_name = #{endName}
- </if>
- <if test="endSex != null or endAge != null">
- AND c2.is_deleted = 'N'
- <if test="endSex != null">
- <if test="endSex == 3">
- and c2.sex_type in ('1','2','3')
- </if>
- <if test="endSex != 3">
- and c2.sex_type in ('3',#{endSex})
- </if>
- </if>
- <if test="endAge != null">
- <![CDATA[ AND c2.min_age <= #{endAge} ]]>
- <![CDATA[ AND c2.max_age >= #{endAge} ]]>
- </if>
- AND t2.end_id = c2.concept_id
- </if>
- <if test="endNameList != null and endNameList.size() > 0">
- AND t3.lib_name in
- <foreach collection="endNameList" item="item" open="(" close=")" separator=",">
- #{item}
- </foreach>
- </if>
- <if test="endType != null">
- AND t3.lib_type = #{endType}
- </if>
- ORDER BY t4.order_no
- </select>
- <select id="retrievalConcept" resultType="com.diagbot.dto.ConceptRetrievalDTO">
- SELECT a1.* from (
- (SELECT t1.id selfId,t1.lib_name selfName,0 parentId,null parentName,t2.`name` sameName,t2.is_concept showType,t1.lib_type libTypeId,t6.`name` libTypeName FROM kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_concept_common t3 ON t1.id = t3.concept_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t3.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- <if test="type != null">
- AND t1.lib_type = #{type}
- </if>
- <if test="otherType != null and otherType.size > 0">
- and t1.lib_type in
- <foreach item="type" collection="otherType" open="(" separator="," close=")">
- #{type}
- </foreach>
- </if>
- <if test="sexType == 3">
- and t3.sex_type in ('1','2','3')
- </if>
- <if test="sexType != 3">
- and t3.sex_type in ('3',#{sexType})
- </if>
- <if test="age != null and age != ''">
- AND <![CDATA[ t3.min_age <= #{age} ]]>
- AND <![CDATA[ t3.max_age >= #{age} ]]>
- </if>
- <if test="inputIds != null and inputIds.size > 0">
- and t1.id not in
- <foreach item="id" collection="inputIds" open="(" separator="," close=")">
- #{id}
- </foreach>
- </if>
- AND (UPPER(t2.spell) = UPPER(TRIM(#{InputStr})) OR UPPER(t2.name) = UPPER(TRIM(#{InputStr})))
- LIMIT 100)
- UNION
- (SELECT t1.id selfId,t1.lib_name selfName,0 parentId,null parentName,t2.`name` sameName,t2.is_concept showType,t1.lib_type libTypeId,t6.`name` libTypeName FROM kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_concept_common t3 ON t1.id = t3.concept_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t3.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- <if test="type != null">
- AND t1.lib_type = #{type}
- </if>
- <if test="otherType != null and otherType.size > 0">
- and t1.lib_type in
- <foreach item="type" collection="otherType" open="(" separator="," close=")">
- #{type}
- </foreach>
- </if>
- <if test="sexType == 3">
- and t3.sex_type in ('1','2','3')
- </if>
- <if test="sexType != 3">
- and t3.sex_type in ('3',#{sexType})
- </if>
- <if test="age != null and age != ''">
- AND <![CDATA[ t3.min_age <= #{age} ]]>
- AND <![CDATA[ t3.max_age >= #{age} ]]>
- </if>
- <if test="inputIds != null and inputIds.size > 0">
- and t1.id not in
- <foreach item="id" collection="inputIds" open="(" separator="," close=")">
- #{id}
- </foreach>
- </if>
- AND (UPPER(t2.spell) LIKE CONCAT( UPPER(TRIM(#{InputStr})),'%') OR UPPER(t2.name) LIKE CONCAT( UPPER(TRIM(#{InputStr})),'%'))
- LIMIT 100)
- UNION
- (SELECT t1.id selfId,t1.lib_name selfName,0 parentId,null parentName,t2.`name` sameName,t2.is_concept showType,t1.lib_type libTypeId,t6.`name` libTypeName FROM kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_concept_common t3 ON t1.id = t3.concept_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t3.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- <if test="type != null">
- AND t1.lib_type = #{type}
- </if>
- <if test="otherType != null and otherType.size > 0">
- and t1.lib_type in
- <foreach item="type" collection="otherType" open="(" separator="," close=")">
- #{type}
- </foreach>
- </if>
- <if test="sexType == 3">
- and t3.sex_type in ('1','2','3')
- </if>
- <if test="sexType != 3">
- and t3.sex_type in ('3',#{sexType})
- </if>
- <if test="age != null and age != ''">
- AND <![CDATA[ t3.min_age <= #{age} ]]>
- AND <![CDATA[ t3.max_age >= #{age} ]]>
- </if>
- <if test="inputIds != null and inputIds.size > 0">
- and t1.id not in
- <foreach item="id" collection="inputIds" open="(" separator="," close=")">
- #{id}
- </foreach>
- </if>
- AND (UPPER(t2.spell) LIKE CONCAT('%',UPPER(TRIM(#{InputStr})),'%') OR UPPER(t2.name) LIKE CONCAT('%',UPPER(TRIM(#{InputStr})),'%'))
- LIMIT 100)
- <if test="detailType != null and detailType != ''">
- UNION
- (SELECT t1.id selfId,t1.lib_name selfName,t5.id parentId,t5.lib_name parentName,null sameName,t2.is_concept showType,t5.lib_type libTypeId,t6.`name` libTypeName FROM kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_relation t4 ON t4.end_id= t1.id
- LEFT JOIN kl_concept t5 on t5.id = t4.start_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t5.lib_type
- LEFT JOIN kl_concept_common t3 ON t5.id = t3.concept_id
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t3.is_deleted = 'N'
- AND t4.is_deleted = 'N'
- AND t5.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- <if test="detailType != null">
- AND t1.lib_type = #{detailType}
- </if>
- <if test="sexType == 3">
- and t3.sex_type in ('1','2','3')
- </if>
- <if test="sexType != 3">
- and t3.sex_type in ('3',#{sexType})
- </if>
- <if test="age != null and age != ''">
- AND <![CDATA[ t3.min_age <= #{age} ]]>
- AND <![CDATA[ t3.max_age >= #{age} ]]>
- </if>
- AND (UPPER(t2.spell) = UPPER(TRIM(#{InputStr})) OR UPPER(t2.name) = UPPER(TRIM(#{InputStr})))
- <if test="inputIds != null and inputIds.size > 0">
- and t1.id not in
- <foreach item="id" collection="inputIds" open="(" separator="," close=")">
- #{id}
- </foreach>
- </if>
- AND t4.relation_id = 18
- LIMIT 100)
- UNION
- (SELECT t1.id selfId,t1.lib_name selfName,t5.id parentId,t5.lib_name parentName,null sameName,t2.is_concept showType,t5.lib_type libTypeId,t6.`name` libTypeName FROM kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_relation t4 ON t4.end_id= t1.id
- LEFT JOIN kl_concept t5 on t5.id = t4.start_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t5.lib_type
- LEFT JOIN kl_concept_common t3 ON t5.id = t3.concept_id
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t3.is_deleted = 'N'
- AND t4.is_deleted = 'N'
- AND t5.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- <if test="detailType != null">
- AND t1.lib_type = #{detailType}
- </if>
- <if test="sexType == 3">
- and t3.sex_type in ('1','2','3')
- </if>
- <if test="sexType != 3">
- and t3.sex_type in ('3',#{sexType})
- </if>
- <if test="age != null and age != ''">
- AND <![CDATA[ t3.min_age <= #{age} ]]>
- AND <![CDATA[ t3.max_age >= #{age} ]]>
- </if>
- AND (UPPER(t2.spell) LIKE CONCAT(UPPER(TRIM(#{InputStr})),'%') OR UPPER(t2.name) LIKE CONCAT( UPPER(TRIM(#{InputStr})),'%'))
- <if test="inputIds != null and inputIds.size > 0">
- and t1.id not in
- <foreach item="id" collection="inputIds" open="(" separator="," close=")">
- #{id}
- </foreach>
- </if>
- <if test="isStatic != null and isStatic == 1">
- GROUP BY t5.id
- </if>
- AND t4.relation_id = 18
- LIMIT 100)
- UNION
- (SELECT t1.id selfId,t1.lib_name selfName,t5.id parentId,t5.lib_name parentName,null sameName,t2.is_concept showType,t5.lib_type libTypeId,t6.`name` libTypeName FROM kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_relation t4 ON t4.end_id= t1.id
- LEFT JOIN kl_concept t5 on t5.id = t4.start_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t5.lib_type
- LEFT JOIN kl_concept_common t3 ON t5.id = t3.concept_id
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t3.is_deleted = 'N'
- AND t4.is_deleted = 'N'
- AND t5.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- <if test="detailType != null">
- AND t1.lib_type = #{detailType}
- </if>
- <if test="sexType == 3">
- and t3.sex_type in ('1','2','3')
- </if>
- <if test="sexType != 3">
- and t3.sex_type in ('3',#{sexType})
- </if>
- <if test="age != null and age != ''">
- AND <![CDATA[ t3.min_age <= #{age} ]]>
- AND <![CDATA[ t3.max_age >= #{age} ]]>
- </if>
- AND (UPPER(t2.spell) LIKE CONCAT('%',UPPER(TRIM(#{InputStr})),'%') OR UPPER(t2.name) LIKE CONCAT('%',UPPER(TRIM(#{InputStr})),'%'))
- <if test="inputIds != null and inputIds.size > 0">
- and t1.id not in
- <foreach item="id" collection="inputIds" open="(" separator="," close=")">
- #{id}
- </foreach>
- </if>
- AND t4.relation_id = 18
- LIMIT 100)
- </if>
- ) a1
- LIMIT 100
- </select>
- <select id="staticKnowledge" resultType="com.diagbot.dto.RetrievalDTO">
- SELECT
- a1.*
- FROM
- (
- -- 除化验外其他类型标签
- <if test="typesIn != null and typesIn.size() > 0">
- (
- SELECT
- b1.*, 0 uniqueId,
- NULL uniqueName
- FROM
- (
- SELECT
- t1.id conceptId,
- t1.lib_name `name`,
- (
- CASE t1.lib_type
- WHEN 18 THEN
- 10
- WHEN 10 THEN
- 20
- WHEN 1 THEN
- 25
- WHEN 16 THEN
- 50
- WHEN 25 THEN
- 60
- ELSE
- 100
- END
- ) + 1 AS orderNo,
- t2.`name` retrievalName,
- t2.is_concept showType,
- t1.lib_type libTypeId,
- CASE t6.`name`
- when '药品通用名' then '药品'
- when '辅检项目' then '辅检'
- ELSE t6.`name`
- END libTypeName
- FROM
- kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
- LEFT JOIN kl_concept_detail t7 ON t7.concept_id = t1.id
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- AND t7.is_deleted = 'N'
- AND t1.lib_type IN
- <foreach collection="typesIn" item="item" open="(" close=")"
- separator=",">
- #{item}
- </foreach>
- AND (
- UPPER(t2.spell) = UPPER(TRIM(#{InputStr}))
- OR UPPER(TRIM(t2. NAME)) = UPPER((TRIM(#{InputStr})))
- )
- ) b1
- )
- UNION
- (
- SELECT
- b1.*, 0 uniqueId,
- NULL uniqueName
- FROM
- (
- SELECT
- t1.id conceptId,
- t1.lib_name `name`,
- (
- CASE t1.lib_type
- WHEN 18 THEN
- 10
- WHEN 10 THEN
- 20
- WHEN 1 THEN
- 25
- WHEN 16 THEN
- 50
- WHEN 25 THEN
- 60
- ELSE
- 100
- END
- ) + 2 AS orderNo,
- t2.`name` retrievalName,
- t2.is_concept showType,
- t1.lib_type libTypeId,
- CASE t6.`name`
- when '药品通用名' then '药品'
- when '辅检项目' then '辅检'
- ELSE t6.`name`
- END libTypeName
- FROM
- kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
- LEFT JOIN kl_concept_detail t7 ON t7.concept_id = t1.id
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- AND t7.is_deleted = 'N'
- AND t1.lib_type IN
- <foreach collection="typesIn" item="item" open="(" close=")"
- separator=",">
- #{item}
- </foreach>
- AND (
- UPPER(t2.spell) LIKE CONCAT(UPPER(TRIM(#{InputStr})), '%')
- OR UPPER(t2. NAME) LIKE CONCAT(UPPER(TRIM(#{InputStr})), '%')
- )
- ) b1
- )
- UNION
- (
- SELECT
- b1.*, 0 uniqueId,
- NULL uniqueName
- FROM
- (
- SELECT
- t1.id conceptId,
- t1.lib_name `name`,
- (
- CASE t1.lib_type
- WHEN 18 THEN
- 10
- WHEN 10 THEN
- 20
- WHEN 1 THEN
- 25
- WHEN 16 THEN
- 50
- WHEN 25 THEN
- 60
- ELSE
- 100
- END
- ) + 3 AS orderNo,
- t2.`name` retrievalName,
- t2.is_concept showType,
- t1.lib_type libTypeId,
- CASE t6.`name`
- when '药品通用名' then '药品'
- when '辅检项目' then '辅检'
- ELSE t6.`name`
- END libTypeName
- FROM
- kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
- LEFT JOIN kl_concept_detail t7 ON t7.concept_id = t1.id
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- AND t7.is_deleted = 'N'
- AND t1.lib_type IN
- <foreach collection="typesIn" item="item" open="(" close=")"
- separator=",">
- #{item}
- </foreach>
- AND (
- UPPER(t2.spell) LIKE CONCAT('%', UPPER(TRIM(#{InputStr})), '%')
- OR UPPER(t2. NAME) LIKE CONCAT('%',UPPER(TRIM(#{InputStr})), '%')
- )
- ) b1
- )
- </if>
- -- 化验本体标签公表项匹配静态知识
- <if test="typesIn != null and typesIn.size() > 0 and hasLis == true">
- UNION
- </if>
- <if test="hasLis == true">
- (
- SELECT
- b2.id conceptId,
- b1.selfName `name`,
- 31 AS orderNo,
- b1.retrievalName retrievalName,
- b1.showType showType,
- b1.libTypeId libTypeId,
- b1.libTypeName libTypeName,
- b2.id uniqueId,
- b2.lib_name uniqueName
- FROM
- (
- SELECT
- t1.id selfId,
- t1.lib_name selfName,
- t2.`name` retrievalName,
- t2.is_concept showType,
- t1.lib_type libTypeId,
- t6.`name` libTypeName
- FROM
- kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- AND t1.lib_type = 12
- AND (
- UPPER(t2.spell) = UPPER(TRIM(#{InputStr}))
- OR UPPER(t2. NAME) = UPPER(TRIM(#{InputStr}))
- )
- ) b1,
- kl_concept b2,
- kl_concept_detail b3,
- kl_lis_mapping m
- WHERE
- b2.is_deleted = 'N'
- AND b3.is_deleted = 'N'
- AND m.is_deleted = 'N'
- AND m.item_id = 0
- AND m.meal_id = b1.selfId
- AND m.unique_id = b2.id
- AND b2.lib_type = 46
- AND b2.id = b3.concept_id
- )
- UNION
- (
- SELECT
- b2.id conceptId,
- b1.selfName `name`,
- 32 AS orderNo,
- b1.retrievalName retrievalName,
- b1.showType showType,
- b1.libTypeId libTypeId,
- b1.libTypeName libTypeName,
- b2.id uniqueId,
- b2.lib_name uniqueName
- FROM
- (
- SELECT
- t1.id selfId,
- t1.lib_name selfName,
- t2.`name` retrievalName,
- t2.is_concept showType,
- t1.lib_type libTypeId,
- t6.`name` libTypeName
- FROM
- kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- AND t1.lib_type = 12
- AND (
- UPPER(t2.spell) LIKE CONCAT(UPPER(TRIM(#{InputStr})), '%')
- OR UPPER(t2. NAME) LIKE CONCAT(UPPER(TRIM(#{InputStr})), '%')
- )
- ) b1,
- kl_concept b2,
- kl_concept_detail b3,
- kl_lis_mapping m
- WHERE
- b2.is_deleted = 'N'
- AND b3.is_deleted = 'N'
- AND m.is_deleted = 'N'
- AND m.item_id = 0
- AND m.meal_id = b1.selfId
- AND m.unique_id = b2.id
- AND b2.lib_type = 46
- AND b2.id = b3.concept_id
- )
- UNION
- (
- SELECT
- b2.id conceptId,
- b1.selfName `name`,
- 33 AS orderNo,
- b1.retrievalName retrievalName,
- b1.showType showType,
- b1.libTypeId libTypeId,
- b1.libTypeName libTypeName,
- b2.id uniqueId,
- b2.lib_name uniqueName
- FROM
- (
- SELECT
- t1.id selfId,
- t1.lib_name selfName,
- t2.`name` retrievalName,
- t2.is_concept showType,
- t1.lib_type libTypeId,
- t6.`name` libTypeName
- FROM
- kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- AND t1.lib_type = 12
- AND (
- UPPER(t2.spell) LIKE CONCAT('%', UPPER(TRIM(#{InputStr})), '%')
- OR UPPER(t2. NAME) LIKE CONCAT('%',UPPER(TRIM(#{InputStr})), '%')
- )
- ) b1,
- kl_concept b2,
- kl_concept_detail b3,
- kl_lis_mapping m
- WHERE
- b2.is_deleted = 'N'
- AND b3.is_deleted = 'N'
- AND m.is_deleted = 'N'
- AND m.item_id = 0
- AND m.meal_id = b1.selfId
- AND m.unique_id = b2.id
- AND b2.lib_type = 46
- AND b2.id = b3.concept_id
- ) -- 化验子项推父项,父项公表项匹配静态知识
- UNION
- (
- SELECT
- b2.id conceptId,
- b1.parentName `name`,
- 34 AS orderNo,
- b1.retrievalName retrievalName,
- b1.showType + 10 showType,
- b1.libTypeId libTypeId,
- b1.libTypeName libTypeName,
- b2.id uniqueId,
- b2.lib_name uniqueName
- FROM
- (
- SELECT
- t1.id selfId,
- t1.lib_name selfName,
- t5.id parentId,
- t5.lib_name parentName,
- t2.`name` retrievalName,
- t2.is_concept showType,
- t5.lib_type libTypeId,
- t6.`name` libTypeName
- FROM
- kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_relation t4 ON t4.end_id = t1.id
- LEFT JOIN kl_concept t5 ON t5.id = t4.start_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t5.lib_type
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t4.is_deleted = 'N'
- AND t5.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- AND t1.lib_type = 13
- AND (
- UPPER(t2.spell) = UPPER(TRIM(#{InputStr}))
- OR UPPER(t2. NAME) = UPPER(TRIM(#{InputStr}))
- )
- AND t4.relation_id = 18
- ) b1,
- kl_concept b2,
- kl_concept_detail b3,
- kl_lis_mapping m
- WHERE
- b2.is_deleted = 'N'
- AND b3.is_deleted = 'N'
- AND m.is_deleted = 'N'
- AND m.meal_id = b1.parentId
- AND m.item_id = 0
- AND m.unique_id = b2.id
- AND b2.lib_type = 46
- AND b2.id = b3.concept_id
- )
- UNION
- (
- SELECT
- b2.id conceptId,
- b1.parentName `name`,
- 35 AS orderNo,
- b1.retrievalName retrievalName,
- b1.showType + 10 showType,
- b1.libTypeId libTypeId,
- b1.libTypeName libTypeName,
- b2.id uniqueId,
- b2.lib_name uniqueName
- FROM
- (
- SELECT
- t1.id selfId,
- t1.lib_name selfName,
- t5.id parentId,
- t5.lib_name parentName,
- t2.`name` retrievalName,
- t2.is_concept showType,
- t5.lib_type libTypeId,
- t6.`name` libTypeName
- FROM
- kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_relation t4 ON t4.end_id = t1.id
- LEFT JOIN kl_concept t5 ON t5.id = t4.start_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t5.lib_type
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t4.is_deleted = 'N'
- AND t5.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- AND t1.lib_type = 13
- AND (
- UPPER(t2.spell) LIKE CONCAT(UPPER(TRIM(#{InputStr})), '%')
- OR UPPER(t2. NAME) LIKE CONCAT(UPPER(TRIM(#{InputStr})), '%')
- )
- AND t4.relation_id = 18
- ) b1,
- kl_concept b2,
- kl_concept_detail b3,
- kl_lis_mapping m
- WHERE
- b2.is_deleted = 'N'
- AND b3.is_deleted = 'N'
- AND m.is_deleted = 'N'
- AND m.meal_id = b1.parentId
- AND m.item_id = 0
- AND m.unique_id = b2.id
- AND b2.lib_type = 46
- AND b2.id = b3.concept_id
- )
- UNION
- (
- SELECT
- b2.id conceptId,
- b1.parentName `name`,
- 36 AS orderNo,
- b1.retrievalName retrievalName,
- b1.showType + 10 showType,
- b1.libTypeId libTypeId,
- b1.libTypeName libTypeName,
- b2.id uniqueId,
- b2.lib_name uniqueName
- FROM
- (
- SELECT
- t1.id selfId,
- t1.lib_name selfName,
- t5.id parentId,
- t5.lib_name parentName,
- t2.`name` retrievalName,
- t2.is_concept showType,
- t5.lib_type libTypeId,
- t6.`name` libTypeName
- FROM
- kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_relation t4 ON t4.end_id = t1.id
- LEFT JOIN kl_concept t5 ON t5.id = t4.start_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t5.lib_type
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t4.is_deleted = 'N'
- AND t5.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- AND t1.lib_type = 13
- AND (
- UPPER(t2.spell) LIKE CONCAT('%', UPPER(TRIM(#{InputStr})), '%')
- OR UPPER(t2. NAME) LIKE CONCAT('%', UPPER(TRIM(#{InputStr})), '%')
- )
- AND t4.relation_id = 18
- ) b1,
- kl_concept b2,
- kl_concept_detail b3,
- kl_lis_mapping m
- WHERE
- b2.is_deleted = 'N'
- AND b3.is_deleted = 'N'
- AND m.is_deleted = 'N'
- AND m.meal_id = b1.parentId
- AND m.item_id = 0
- AND m.unique_id = b2.id
- AND b2.lib_type = 46
- AND b2.id = b3.concept_id
- ) -- 化验子项推父项,父项--子项组合公表项匹配静态知识
- UNION
- (
- SELECT
- b2.id conceptId,
- CONCAT(b1.parentName,'(',b1.selfName,')') `name`,
- 41 AS orderNo,
- b1.retrievalName retrievalName,
- b1.showType + 20 showType,
- b1.libTypeId libTypeId,
- b1.libTypeName libTypeName,
- b2.id uniqueId,
- b2.lib_name uniqueName
- FROM
- (
- SELECT
- t1.id selfId,
- t1.lib_name selfName,
- t5.id parentId,
- t5.lib_name parentName,
- t2.`name` retrievalName,
- t2.is_concept showType,
- t1.lib_type libTypeId,
- t6.`name` libTypeName
- FROM
- kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_relation t4 ON t4.end_id = t1.id
- LEFT JOIN kl_concept t5 ON t5.id = t4.start_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t4.is_deleted = 'N'
- AND t5.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- AND t1.lib_type = 13
- AND (
- UPPER(t2.spell) = UPPER(TRIM(#{InputStr}))
- OR UPPER(t2. NAME) = UPPER(TRIM(#{InputStr}))
- )
- AND t4.relation_id = 18
- ) b1,
- kl_concept b2,
- kl_concept_detail b3,
- kl_lis_mapping m
- WHERE
- b2.is_deleted = 'N'
- AND b3.is_deleted = 'N'
- AND m.is_deleted = 'N'
- AND m.meal_id = b1.parentId
- AND m.item_id = b1.selfId
- AND m.unique_id = b2.id
- AND b2.lib_type = 46
- AND b2.id = b3.concept_id
- )
- UNION
- (
- SELECT
- b2.id conceptId,
- CONCAT(b1.parentName,'(',b1.selfName,')') `name`,
- 42 AS orderNo,
- b1.retrievalName retrievalName,
- b1.showType + 20 showType,
- b1.libTypeId libTypeId,
- b1.libTypeName libTypeName,
- b2.id uniqueId,
- b2.lib_name uniqueName
- FROM
- (
- SELECT
- t1.id selfId,
- t1.lib_name selfName,
- t5.id parentId,
- t5.lib_name parentName,
- t2.`name` retrievalName,
- t2.is_concept showType,
- t1.lib_type libTypeId,
- t6.`name` libTypeName
- FROM
- kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_relation t4 ON t4.end_id = t1.id
- LEFT JOIN kl_concept t5 ON t5.id = t4.start_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t4.is_deleted = 'N'
- AND t5.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- AND t1.lib_type = 13
- AND (
- UPPER(t2.spell) LIKE CONCAT(UPPER(TRIM(#{InputStr})), '%')
- OR UPPER(t2. NAME) LIKE CONCAT(UPPER(TRIM(#{InputStr})), '%')
- )
- AND t4.relation_id = 18
- ) b1,
- kl_concept b2,
- kl_concept_detail b3,
- kl_lis_mapping m
- WHERE
- b2.is_deleted = 'N'
- AND b3.is_deleted = 'N'
- AND m.is_deleted = 'N'
- AND m.meal_id = b1.parentId
- AND m.item_id = b1.selfId
- AND m.unique_id = b2.id
- AND b2.lib_type = 46
- AND b2.id = b3.concept_id
- )
- UNION
- (
- SELECT
- b2.id conceptId,
- CONCAT(b1.parentName,'(',b1.selfName,')') `name`,
- 43 AS orderNo,
- b1.retrievalName retrievalName,
- b1.showType + 20 showType,
- b1.libTypeId libTypeId,
- b1.libTypeName libTypeName,
- b2.id uniqueId,
- b2.lib_name uniqueName
- FROM
- (
- SELECT
- t1.id selfId,
- t1.lib_name selfName,
- t5.id parentId,
- t5.lib_name parentName,
- t2.`name` retrievalName,
- t2.is_concept showType,
- t1.lib_type libTypeId,
- t6.`name` libTypeName
- FROM
- kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_relation t4 ON t4.end_id = t1.id
- LEFT JOIN kl_concept t5 ON t5.id = t4.start_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t4.is_deleted = 'N'
- AND t5.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- AND t1.lib_type = 13
- AND (
- UPPER(t2.spell) LIKE CONCAT('%', UPPER(TRIM(#{InputStr})), '%')
- OR UPPER(t2. NAME) LIKE CONCAT('%', UPPER(TRIM(#{InputStr})), '%')
- )
- AND t4.relation_id = 18
- ) b1,
- kl_concept b2,
- kl_concept_detail b3,
- kl_lis_mapping m
- WHERE
- b2.is_deleted = 'N'
- AND b3.is_deleted = 'N'
- AND m.is_deleted = 'N'
- AND m.meal_id = b1.parentId
- AND m.item_id = b1.selfId
- AND m.unique_id = b2.id
- AND b2.lib_type = 46
- AND b2.id = b3.concept_id
- )
- </if>
- -- 量表匹配静态知识同时搜索诊断有关的量表;
- <if test="hasGauge == true">
- <if test="typesIn != null and typesIn.size() > 0 or hasLis == true">
- union
- </if>
- (
- SELECT
- b1.selfId conceptId,
- b1.selfName `name`,
- 71 AS orderNo,
- b1.retrievalName retrievalName,
- b1.showType showType,
- b1.libTypeId libTypeId,
- b1.libTypeName libTypeName,
- b1.selfId uniqueId,
- b1.selfName uniqueName
- FROM
- (
- SELECT
- t1.id selfId,
- t1.lib_name selfName,
- t2.`name` retrievalName,
- t2.is_concept showType,
- t1.lib_type libTypeId,
- t6.`name` libTypeName
- FROM
- kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- AND t1.lib_type = 48
- AND (
- UPPER(t2.spell) = UPPER(TRIM(#{InputStr}))
- OR UPPER(t2. NAME) = UPPER(TRIM(#{InputStr}))
- )
- ) b1,
- kl_scale b2
- WHERE
- b2.is_deleted = 'N'
- AND b1.selfId = b2.concept_id
- )
- UNION
- (
- SELECT
- b1.selfId conceptId,
- b1.selfName `name`,
- 72 AS orderNo,
- b1.retrievalName retrievalName,
- b1.showType showType,
- b1.libTypeId libTypeId,
- b1.libTypeName libTypeName,
- b1.selfId uniqueId,
- b1.selfName uniqueName
- FROM
- (
- SELECT
- t1.id selfId,
- t1.lib_name selfName,
- t2.`name` retrievalName,
- t2.is_concept showType,
- t1.lib_type libTypeId,
- t6.`name` libTypeName
- FROM
- kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- AND t1.lib_type = 48
- AND (
- UPPER(t2.spell) LIKE CONCAT(UPPER(TRIM(#{InputStr})), '%')
- OR UPPER(t2. NAME) LIKE CONCAT(UPPER(TRIM(#{InputStr})), '%')
- )
- ) b1,
- kl_scale b2
- WHERE
- b2.is_deleted = 'N'
- AND b1.selfId = b2.concept_id
- )
- UNION
- (
- SELECT
- b1.selfId conceptId,
- b1.selfName `name`,
- 73 AS orderNo,
- b1.retrievalName retrievalName,
- b1.showType showType,
- b1.libTypeId libTypeId,
- b1.libTypeName libTypeName,
- b1.selfId uniqueId,
- b1.selfName uniqueName
- FROM
- (
- SELECT
- t1.id selfId,
- t1.lib_name selfName,
- t2.`name` retrievalName,
- t2.is_concept showType,
- t1.lib_type libTypeId,
- t6.`name` libTypeName
- FROM
- kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- AND t1.lib_type = 48
- AND (
- UPPER(t2.spell) LIKE CONCAT('%', UPPER(TRIM(#{InputStr})), '%')
- OR UPPER(t2. NAME) LIKE CONCAT('%',UPPER(TRIM(#{InputStr})), '%')
- )
- ) b1
- ,kl_scale b2
- WHERE
- b2.is_deleted = 'N'
- AND b1.selfId = b2.concept_id
- )
- UNION
- (
- SELECT distinct
- b2.id conceptId,
- b2.lib_name `name`,
- 74 AS orderNo,
- b1.retrievalName retrievalName,
- 0 showType,
- b2.lib_type libTypeId,
- '量表' libTypeName,
- b2.id uniqueId,
- b2.lib_name uniqueName
- FROM
- (
- SELECT
- t1.id selfId,
- t1.lib_name selfName,
- t2.`name` retrievalName,
- t2.is_concept showType,
- t1.lib_type libTypeId,
- t6.`name` libTypeName
- FROM
- kl_concept t1
- LEFT JOIN kl_library_info t2 ON t1.id = t2.concept_id
- LEFT JOIN kl_lexicon t6 ON t6.id = t1.lib_type
- WHERE
- t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- AND t6.is_deleted = 'N'
- AND t1.lib_type = 18
- AND (
- UPPER(t2.spell) = UPPER(TRIM(#{InputStr}))
- OR UPPER(t2. NAME) = UPPER(TRIM(#{InputStr}))
- )
- ) b1
- , kl_concept b2, kl_relation b3, kl_scale b4
- WHERE
- b2.is_deleted = 'N'
- AND b3.is_deleted = 'N'
- AND b4.is_deleted = 'N'
- AND b1.selfId = b3.start_id
- AND b2.id = b3.end_id
- AND b2.id = b4.concept_id
- )
- </if>
- ) a1
- ORDER BY
- a1.orderNo ASC,
- a1.showType DESC,
- a1.conceptId ASC
- </select>
- <select id="getConceptConMap" resultType="com.diagbot.dto.ConceptBaseDTO" parameterType="com.diagbot.vo.ConceptFindVO">
- SELECT
- t1.id as conceptId,
- t1.lib_name as name
- FROM
- kl_concept t1,
- kl_concept_common t2
- WHERE
- t1.id = t2.concept_id
- AND t1.is_deleted = 'N'
- AND t2.is_deleted = 'N'
- <if test="conceptIds != null and conceptIds.size > 0">
- and t1.id in
- <foreach item="id" collection="conceptIds" open="(" separator="," close=")">
- #{id}
- </foreach>
- </if>
- <if test="sexType == 3">
- AND t2.sex_type IN ('1','2','3')
- </if>
- <if test="sexType != 3">
- AND t2.sex_type IN ('3',#{sexType})
- </if>
- <if test="age != null and age != ''">
- AND <![CDATA[ t2.min_age <= #{age} ]]>
- AND <![CDATA[ t2.max_age >= #{age} ]]>
- </if>
- </select>
- <select id="getStandWord" resultType="java.lang.String">
- SELECT lib_name FROM kl_concept WHERE is_deleted = 'N' AND lib_type = 33
- </select>
- <select id="indexConcept" resultType="com.diagbot.dto.ConceptBaseDTO">
- SELECT DISTINCT b.id concept_id,b.lib_name name FROM `kl_library_info` a, kl_concept b
- where a.is_deleted = 'N' and b.is_deleted = 'N'
- and a.concept_id = b.id
- and (UPPER(TRIM(a.`name`)) like concat('%',UPPER(TRIM(#{name})),'%')
- or UPPER(TRIM(a.`spell`)) like concat('%',UPPER(TRIM(#{name})),'%'))
- and a.type_id = #{libType} and b.lib_type = #{libType}
- </select>
- </mapper>
|