|
@@ -692,86 +692,82 @@
|
|
|
|
|
|
<select id="searchByTypeAndName" parameterType="com.diagbot.vo.SearchConceptVO"
|
|
|
resultType="com.diagbot.dto.GetAllForRelationDTO">
|
|
|
- SELECT
|
|
|
- kc.id AS conceptId,
|
|
|
+ <!-- SELECT-->
|
|
|
+ <!-- kc.id AS conceptId,-->
|
|
|
+ <!-- kc.lib_name AS conceptName,-->
|
|
|
+ <!-- kc.lib_type AS libType,-->
|
|
|
+ <!-- kc.lib_name AS conceptNameType-->
|
|
|
+ <!-- FROM-->
|
|
|
+ <!-- `kl_concept` kc-->
|
|
|
+ <!-- WHERE-->
|
|
|
+ <!-- kc.`status` = 1-->
|
|
|
+ <!-- <if test="libType!=null">-->
|
|
|
+ <!-- AND kc.lib_type = #{libType}-->
|
|
|
+ <!-- </if>-->
|
|
|
+ <!-- <if test="name != null and name != ''">-->
|
|
|
+ <!-- AND UPPER(kc.lib_name) LIKE CONCAT('%', UPPER(trim(#{name})), '%')-->
|
|
|
+ <!-- </if>-->
|
|
|
+ <!-- <if test="excludedConceptIds != null and excludedConceptIds.size > 0">-->
|
|
|
+ <!-- AND kc.id not in-->
|
|
|
+ <!-- <foreach item="id" collection="excludedConceptIds" open="(" separator="," close=")">-->
|
|
|
+ <!-- #{id}-->
|
|
|
+ <!-- </foreach>-->
|
|
|
+ <!-- </if>-->
|
|
|
+ <!-- AND kc.is_deleted = 'N'-->
|
|
|
+ <!-- AND kc.id NOT IN (1)-->
|
|
|
+ <!-- AND kc.id IN (-->
|
|
|
+ <!-- SELECT DISTINCT-->
|
|
|
+ <!-- start_id-->
|
|
|
+ <!-- FROM-->
|
|
|
+ <!-- kl_relation-->
|
|
|
+ <!-- WHERE-->
|
|
|
+ <!-- is_deleted = 'N'-->
|
|
|
+ <!-- AND relation_id = 600-->
|
|
|
+ <!-- )-->
|
|
|
+ select kc.id AS conceptId,
|
|
|
kc.lib_name AS conceptName,
|
|
|
kc.lib_type AS libType,
|
|
|
- kc.lib_name AS conceptNameType,
|
|
|
- kli.remark
|
|
|
- FROM
|
|
|
- kl_concept kc,
|
|
|
- kl_library_info kli,
|
|
|
- (
|
|
|
- SELECT
|
|
|
- distinct
|
|
|
- kr.start_id
|
|
|
+ kc.lib_name AS conceptNameType
|
|
|
+ from (SELECT
|
|
|
+ a.*,
|
|
|
+ <choose>
|
|
|
+ <when test="libType gte 308 and libType lte 328"> b.id as tRelationId</when>
|
|
|
+ <otherwise>null as tRelationId</otherwise>
|
|
|
+ </choose>
|
|
|
FROM
|
|
|
- kl_relation_order kro,
|
|
|
- (
|
|
|
- SELECT
|
|
|
- id,
|
|
|
- start_id,
|
|
|
- relation_id,
|
|
|
- end_id
|
|
|
- FROM
|
|
|
- kl_relation
|
|
|
- WHERE
|
|
|
- start_id IN (
|
|
|
- SELECT
|
|
|
- id
|
|
|
- FROM
|
|
|
- `kl_concept`
|
|
|
- WHERE
|
|
|
- <if test="libType!=null">
|
|
|
- lib_type = #{libType}
|
|
|
- </if>
|
|
|
- )
|
|
|
- AND `status` = 1
|
|
|
- AND is_deleted = 'N'
|
|
|
- ) kr
|
|
|
- WHERE
|
|
|
- kr.id = kro.t_relation_id
|
|
|
- AND kro.is_deleted = 'N'
|
|
|
- ORDER BY
|
|
|
- kro.order_no
|
|
|
- ) b
|
|
|
- WHERE
|
|
|
- kc.id = kli.concept_id
|
|
|
- AND b.start_id = kc.id
|
|
|
- AND kc.is_deleted = 'N'
|
|
|
- AND kli.is_deleted = 'N'
|
|
|
- AND kli.is_concept = 1
|
|
|
- <if test="libType!=null">
|
|
|
- AND kc.lib_type = #{libType}
|
|
|
- </if>
|
|
|
- <if test="name != null and name != ''">
|
|
|
- AND UPPER(kc.lib_name) LIKE CONCAT('%', UPPER(trim(#{name})), '%')
|
|
|
- </if>
|
|
|
- <if test="excludedConceptIds != null and excludedConceptIds.size > 0">
|
|
|
- AND kc.id not in
|
|
|
- <foreach item="id" collection="excludedConceptIds" open="(" separator="," close=")">
|
|
|
- #{id}
|
|
|
- </foreach>
|
|
|
- </if>
|
|
|
+ kl_concept a
|
|
|
+ <choose>
|
|
|
+ <when test="libType gte 308 and libType lte 328"> LEFT JOIN kl_relation b ON a.id = b.start_id
|
|
|
+ AND a.lib_type = #{libType} AND b.relation_id = 600 and UPPER(a.lib_name) LIKE CONCAT('%', UPPER(trim(#{name})), '%')</when>
|
|
|
+ <otherwise>where a.lib_type = #{libType} and UPPER(a.lib_name) LIKE CONCAT('%', UPPER(trim(#{name})), '%')</otherwise>
|
|
|
+ </choose>
|
|
|
+ GROUP BY
|
|
|
+ a.id)kc
|
|
|
+ where
|
|
|
+ <choose>
|
|
|
+ <when test="libType gte 308 and libType lte 328"> kc.tRelationId is not null</when>
|
|
|
+ <otherwise>kc.tRelationId is null</otherwise>
|
|
|
+ </choose>
|
|
|
+ limit 100
|
|
|
</select>
|
|
|
|
|
|
<select id="searchByTypeAndNameAdd" parameterType="com.diagbot.vo.SearchConceptVO"
|
|
|
resultType="com.diagbot.dto.GetAllForRelationDTO">
|
|
|
SELECT
|
|
|
- kc.id AS conceptId,
|
|
|
- kc.lib_name AS conceptName,
|
|
|
- kc.lib_type AS libType,
|
|
|
- kc.lib_name AS conceptNameType,
|
|
|
- kli.remark
|
|
|
-FROM
|
|
|
- `kl_concept` kc,
|
|
|
-kl_library_info kli
|
|
|
-WHERE
|
|
|
+ kc.id AS conceptId,
|
|
|
+ kc.lib_name AS conceptName,
|
|
|
+ kc.lib_type AS libType,
|
|
|
+ kc.lib_name AS conceptNameType,
|
|
|
+ kli.remark
|
|
|
+ FROM
|
|
|
+ `kl_concept` kc,
|
|
|
+ kl_library_info kli
|
|
|
+ WHERE
|
|
|
<if test="libType!=null">
|
|
|
kc.lib_type = #{libType}
|
|
|
</if>
|
|
|
-AND kc.`status` = 1
|
|
|
-AND kc.is_deleted = 'N'
|
|
|
+ AND kc.`status` = 1
|
|
|
+ AND kc.is_deleted = 'N'
|
|
|
<if test="name != null and name != ''">
|
|
|
AND UPPER(kc.lib_name) LIKE CONCAT('%', UPPER(trim(#{name})), '%')
|
|
|
</if>
|
|
@@ -781,18 +777,18 @@ AND kc.is_deleted = 'N'
|
|
|
#{id}
|
|
|
</foreach>
|
|
|
</if>
|
|
|
-AND kc.id NOT IN (
|
|
|
- SELECT DISTINCT
|
|
|
- start_id
|
|
|
- FROM
|
|
|
- kl_relation
|
|
|
- WHERE
|
|
|
- is_deleted = 'N'
|
|
|
- AND relation_id = 600
|
|
|
-)
|
|
|
-AND kc.id = kli.concept_id
|
|
|
-AND kli.is_deleted = 'N'
|
|
|
-AND kli.is_concept = 1
|
|
|
+ AND kc.id NOT IN (
|
|
|
+ SELECT DISTINCT
|
|
|
+ start_id
|
|
|
+ FROM
|
|
|
+ kl_relation
|
|
|
+ WHERE
|
|
|
+ is_deleted = 'N'
|
|
|
+ AND relation_id = 600
|
|
|
+ )
|
|
|
+ AND kc.id = kli.concept_id
|
|
|
+ AND kli.is_deleted = 'N'
|
|
|
+ AND kli.is_concept = 1
|
|
|
</select>
|
|
|
|
|
|
</mapper>
|