提交 33e159f8 作者: obcy

【漏修改】

上级 e30a5623
...@@ -217,49 +217,207 @@ ...@@ -217,49 +217,207 @@
</select> </select>
<select id="subjectRealBindInfoSources" resultType="com.zzsn.event.vo.SubjectStatisticsVo"> <select id="subjectRealBindInfoSources" resultType="com.zzsn.event.vo.SubjectStatisticsVo">
select distinct x.* from ( SELECT
select iso.id,iso.web_site_name,iso.site_name,iso.site_uri distinct x.*
from info_source_group_map m inner join info_source iso on m.source_id = iso.id FROM
where m.group_id in ( (
select source_id from subject_info_source_map where type in(2,5) SELECT
iso.id,
iso.web_site_name,
iso.site_name,
iso.site_uri
FROM
subject_info_source_map sm
INNER JOIN info_source iso ON sm.source_id = iso.id
WHERE
sm.type IN ( 1, 6 )
<if test="subjectIds != null and subjectIds.size() > 0"> <if test="subjectIds != null and subjectIds.size() > 0">
and subject_id in and sm.subject_id in
<foreach collection="subjectIds" item="item" open="(" close=")" separator=","> <foreach collection="subjectIds" item="item" open="(" close=")" separator=",">
#{item} #{item}
</foreach> </foreach>
</if> </if> UNION
group by source_id SELECT
) iso.id,
union iso.web_site_name,
select iso.id,iso.web_site_name,iso.site_name,iso.site_uri iso.site_name,
from subject_info_source_map sm inner join info_source iso on sm.source_id = iso.id where sm.type = 1 iso.site_uri
FROM
subject_info_source_map sm
INNER JOIN info_source_main im ON im.id = sm.source_id
INNER JOIN info_source iso ON im.id = iso.info_source_id
WHERE
sm.type IN ( 31, 36 )
<if test="subjectIds != null and subjectIds.size() > 0"> <if test="subjectIds != null and subjectIds.size() > 0">
and sm.subject_id in and sm.subject_id in
<foreach collection="subjectIds" item="item" open="(" close=")" separator=","> <foreach collection="subjectIds" item="item" open="(" close=")" separator=",">
#{item} #{item}
</foreach> </foreach>
</if> UNION
SELECT
iso.id,
iso.web_site_name,
iso.site_name,
iso.site_uri
FROM
subject_info_source_map sim
INNER JOIN info_source_group_map m ON m.group_id = sim.source_id
INNER JOIN info_source iso ON m.source_id = iso.id
WHERE
sim.type IN ( 2, 5 )
<if test="subjectIds != null and subjectIds.size() > 0">
and sim.subject_id in
<foreach collection="subjectIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if> UNION
SELECT
iso.id,
iso.web_site_name,
iso.site_name,
iso.site_uri
FROM
subject_info_source_map sim
INNER JOIN info_source_main_group_map m ON m.group_id = sim.source_id
INNER JOIN info_source_main im ON im.id = m.source_id
INNER JOIN info_source iso ON im.id = iso.info_source_id
WHERE
sim.type IN ( 32, 35 )
<if test="subjectIds != null and subjectIds.size() > 0">
and sim.subject_id in
<foreach collection="subjectIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if> UNION
SELECT
isoo.id,
isoo.web_site_name,
isoo.site_name,
isoo.site_uri
FROM
subject_info_source_map smm
INNER JOIN clb_label_info_source_map lam ON smm.source_id = lam.label_code
AND smm.source_item_id = lam.label_item_code
INNER JOIN info_source isoo ON lam.entity_code = isoo.id
WHERE
smm.type IN ( 12, 15 )
<if test="subjectIds != null and subjectIds.size() > 0">
and smm.subject_id in
<foreach collection="subjectIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if> UNION
SELECT
isoo.id,
isoo.web_site_name,
isoo.site_name,
isoo.site_uri
FROM
subject_info_source_map smm
INNER JOIN clb_label_main_source_map lam ON smm.source_id = lam.label_code
AND smm.source_item_id = lam.label_item_code
INNER JOIN info_source_main im ON lam.entity_code = im.id
INNER JOIN info_source isoo ON im.id = isoo.info_source_id
WHERE
smm.type IN ( 312, 315 )
<if test="subjectIds != null and subjectIds.size() > 0">
and smm.subject_id in
<foreach collection="subjectIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if> </if>
) x ) x
where x.id not in( WHERE
select distinct y.source_id from ( 1 = 1
select m.source_id from info_source_group_map m AND x.id NOT IN (
where m.group_id in ( SELECT DISTINCT
select source_id from subject_info_source_map where type = 4 y.source_id
FROM
(
SELECT
m.source_id
FROM
info_source_group_map m
WHERE
m.group_id IN ( SELECT source_id FROM subject_info_source_map WHERE type = 4
<if test="subjectIds != null and subjectIds.size() > 0"> <if test="subjectIds != null and subjectIds.size() > 0">
and subject_id in and subject_id in
<foreach collection="subjectIds" item="item" open="(" close=")" separator=","> <foreach collection="subjectIds" item="item" open="(" close=")" separator=",">
#{item} #{item}
</foreach> </foreach>
</if> </if>
group by source_id GROUP BY source_id ) UNION
) SELECT
union iso.id
select sm.source_id from subject_info_source_map sm where type = 3 FROM
subject_info_source_map sim
INNER JOIN info_source_main_group_map m ON m.group_id = sim.source_id
INNER JOIN info_source_main im ON im.id = m.source_id
INNER JOIN info_source iso ON im.id = iso.info_source_id
WHERE
sim.type = 34
<if test="subjectIds != null and subjectIds.size() > 0">
and sim.subject_id in
<foreach collection="subjectIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if> UNION
SELECT
sm.source_id
FROM
subject_info_source_map sm
WHERE
type = 3
<if test="subjectIds != null and subjectIds.size() > 0"> <if test="subjectIds != null and subjectIds.size() > 0">
and sm.subject_id in and sm.subject_id in
<foreach collection="subjectIds" item="item" open="(" close=")" separator=","> <foreach collection="subjectIds" item="item" open="(" close=")" separator=",">
#{item} #{item}
</foreach> </foreach>
</if> UNION
SELECT
iso.id
FROM
subject_info_source_map sm
INNER JOIN info_source_main im ON im.id = sm.source_id
INNER JOIN info_source iso ON im.id = iso.info_source_id
WHERE
sm.type = 33
<if test="subjectIds != null and subjectIds.size() > 0">
and sm.subject_id in
<foreach collection="subjectIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if> UNION
SELECT
isoo.id
FROM
subject_info_source_map smm
INNER JOIN clb_label_info_source_map lam ON smm.source_id = lam.label_code
AND smm.source_item_id = lam.label_item_code
INNER JOIN info_source isoo ON lam.entity_code = isoo.id
WHERE
smm.type = 14
<if test="subjectIds != null and subjectIds.size() > 0">
and smm.subject_id in
<foreach collection="subjectIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if> UNION
SELECT
isoo.id
FROM
subject_info_source_map smm
INNER JOIN clb_label_main_source_map lam ON smm.source_id = lam.label_code
AND smm.source_item_id = lam.label_item_code
INNER JOIN info_source_main im ON lam.entity_code = im.id
INNER JOIN info_source isoo ON im.id = isoo.info_source_id
WHERE
smm.type = 314
<if test="subjectIds != null and subjectIds.size() > 0">
and smm.subject_id in
<foreach collection="subjectIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if> </if>
) y ) y
) )
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论