share-platform/renren-admin/src/main/resources/mapper/resource/ResourceDao.xml

1872 lines
66 KiB
XML
Raw Normal View History

2022-06-19 17:14:53 +08:00
<?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="io.renren.modules.resource.dao.ResourceDao">
<resultMap type="io.renren.modules.resource.entity.ResourceEntity" id="resourceMap">
<result property="id" column="id"/>
<result property="type" column="type"/>
<result property="name" column="name"/>
<result property="description" column="description"/>
<result property="link" column="link"/>
2022-04-26 11:51:08 +08:00
<result property="apiMethodType" column="api_method_type"/>
<result property="apiUrl" column="api_url"/>
<result property="groupId" column="group_id"/>
2022-04-20 17:31:48 +08:00
<result property="deptId" column="dept_id"/>
<result property="deptContacts" column="dept_contacts"/>
<result property="deptPhone" column="dept_phone"/>
<result property="shareType" column="share_type"/>
<result property="shareMode" column="share_mode"/>
<result property="shareCondition" column="share_condition"/>
2022-04-20 17:31:48 +08:00
<result property="districtId" column="district_id"/>
<result property="visits" column="visits"/>
<result property="delFlag" column="del_flag"/>
<result property="creator" column="creator"/>
<result property="createDate" column="create_date"/>
<result property="updater" column="updater"/>
<result property="updateDate" column="update_date"/>
<result property="note1" column="note1"/>
<result property="note2" column="note2"/>
<result property="note3" column="note3"/>
<result property="note4" column="note4"/>
<result property="note5" column="note5"/>
<result property="enclosure" column="enclosure"/>
<result property="undercarriageReason" column="undercarriage_reason"/>
<result property="undercarriageUserName" column="undercarriage_user_name"/>
2022-07-21 09:40:55 +08:00
<result property="undercarriageEnclosure" column="undercarriage_enclosure"/>
<result property="infoList" column="info_list"
typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
2022-07-13 15:17:10 +08:00
<result property="applyNumber" column="apply_number"/>
2022-08-12 17:18:20 +08:00
<result property="pinTop" column="pin_top"/>
<result property="pinTopTime" column="pin_top_time"/>
2022-08-17 15:43:27 +08:00
<result property="undercarriageTitle" column="undercarriage_title"/>
<result property="undercarriageUserPhone" column="undercarriage_phone"/>
2022-08-17 16:04:23 +08:00
<result property="undercarriageEnclosureName" column="undercarriage_enclosure_name"/>
</resultMap>
<resultMap id="resourceDTO" type="io.renren.modules.resource.dto.ResourceDTO">
<result property="id" column="id"/>
<result property="type" column="type"/>
<result property="name" column="name"/>
<result property="description" column="description"/>
<result property="link" column="link"/>
2022-04-26 11:51:08 +08:00
<result property="apiMethodType" column="api_method_type"/>
<result property="apiUrl" column="api_url"/>
<result property="groupId" column="group_id"/>
2022-04-20 17:31:48 +08:00
<result property="deptId" column="dept_id"/>
<result property="deptContacts" column="dept_contacts"/>
<result property="deptPhone" column="dept_phone"/>
<result property="shareType" column="share_type"/>
<result property="shareMode" column="share_mode"/>
<result property="shareCondition" column="share_condition"/>
2022-04-20 17:31:48 +08:00
<result property="districtId" column="district_id"/>
<result property="visits" column="visits"/>
<result property="delFlag" column="del_flag"/>
<result property="creator" column="creator"/>
<result property="createDate" column="create_date"/>
<result property="updater" column="updater"/>
<result property="updateDate" column="update_date"/>
<result property="note1" column="note1"/>
<result property="note2" column="note2"/>
<result property="note3" column="note3"/>
<result property="note4" column="note4"/>
<result property="note5" column="note5"/>
<result property="enclosure" column="enclosure"/>
<result property="undercarriageReason" column="undercarriage_reason"/>
<result property="undercarriageUserName" column="undercarriage_user_name"/>
2022-07-21 09:40:55 +08:00
<result property="undercarriageEnclosure" column="undercarriage_enclosure"/>
<!-- 自定义字段 -->
<result property="deptName" column="deptName"/>
<result property="isCollect" column="isCollect"/>
<result property="collectCount" column="collectCount"/>
<result property="score" column="score"/>
<result property="applyState" column="applyState"/>
<result property="applyCount" column="applyCount"/>
2022-06-30 10:45:10 +08:00
<result property="infoList" column="info_list"
typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
2022-07-07 19:49:56 +08:00
<result property="total" column="total"/>
2022-07-13 15:17:10 +08:00
<result property="applyNumber" column="apply_number"/>
2022-08-12 17:18:20 +08:00
<result property="pinTop" column="pin_top"/>
<result property="pinTopTime" column="pin_top_time"/>
2022-08-17 15:43:27 +08:00
<result property="undercarriageTitle" column="undercarriage_title"/>
<result property="undercarriageUserPhone" column="undercarriage_phone"/>
2022-08-17 16:04:23 +08:00
<result property="undercarriageEnclosureName" column="undercarriage_enclosure_name"/>
</resultMap>
<update id="deleteByIds">
UPDATE tb_data_resource
SET del_flag = 1,
update_date = NOW()
WHERE 1 = 1
2022-05-11 15:31:48 +08:00
AND id IN
<foreach collection="ids" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</update>
<select id="selectWithAttrs" resultMap="resourceDTO">
SELECT
DISTINCT tdr.id,
2022-07-01 10:46:57 +08:00
tdr.create_date,
tdr.visits,
tdr.visitor,
tdr.pin_top,
tdr.pin_top_time,
tdr.dept_id,
sd.type AS "deptType",
sd.sort AS "deptSort",
sr.sort AS "regionSort",
IF( IFNULL(taa2.approve_status, 0) &lt; 1, '未申请', '已申请' ) AS "applyState",
IFNULL(trs.score, 0 ) AS "score",
IFNULL(taa.applyCount, 0 ) AS "applyCount",
IFNULL(trc.collectCount, 0) AS "collectCount",
IFNULL(sd.name, '暂无部门单位信息') AS "deptName",
IFNULL(trc2.isCollect, 'false') AS "isCollect",
2022-07-22 17:21:45 +08:00
(IFNULL(tdr.visits / 100, 0) + IFNULL(trs.score, 0) + IFNULL(taa.applyCount, 0)+ IFNULL(trc.collectCount, 0)) AS
total,
IF ( IFNULL( trcar.car, 0 ) &gt; 0, TRUE, FALSE ) AS "isInShoppingCart",
IF( IFNULL(taa3.approve_status, 0) &lt; 1, '未通过', '通过' ) AS "approveStatus"
FROM
tb_data_resource tdr
LEFT JOIN tb_data_attr tda ON tdr.id = tda.data_resource_id
LEFT JOIN ( SELECT resource_id, AVG(score) AS "score" FROM tb_resource_score WHERE 1 = 1 AND del_flag = 0 GROUP
BY resource_id ) trs ON tdr.id = trs.resource_id
2022-07-22 17:21:45 +08:00
LEFT JOIN ( SELECT resource_id, COUNT( id ) AS "car" FROM tb_resource_car WHERE 1 = 1 AND del_flag = 0 AND
user_id = #{dto.creator} GROUP BY resource_id ) trcar
ON tdr.id = trcar.resource_id
LEFT JOIN ( SELECT resource_id, COUNT(id) AS "applyCount" FROM t_ability_application WHERE 1 = 1 AND del_flag =
0 GROUP BY resource_id ) taa ON tdr.id = taa.resource_id
LEFT JOIN ( SELECT resource_id, COUNT(id) AS "collectCount" FROM tb_resource_collection WHERE 1 = 1 AND del_flag
= 0 GROUP BY resource_id ) trc ON tdr.id = trc.resource_id
2022-06-13 17:11:58 +08:00
LEFT JOIN ( SELECT resource_id, user_id, ( IF(COUNT( id ) = 1, 'true', 'false') ) AS "isCollect"
FROM tb_resource_collection WHERE 1 = 1 AND del_flag = 0 AND user_id = #{dto.creator} GROUP BY resource_id
) trc2 ON tdr.id = trc2.resource_id
2022-08-30 12:54:42 +08:00
LEFT JOIN ( SELECT resource_id, COUNT( approve_status ) approve_status FROM t_ability_application WHERE 1 = 1
2022-08-30 13:30:28 +08:00
AND del_flag = 0 AND user_id = #{dto.creator} GROUP BY resource_id) taa2 ON tdr.id = taa2.resource_id
LEFT JOIN ( SELECT resource_id, COUNT( approve_status ) approve_status FROM t_ability_application WHERE 1 = 1
2022-08-17 15:43:27 +08:00
AND del_flag = 0 AND user_id = #{dto.creator} AND approve_status = '通过' GROUP BY resource_id ) taa3 ON tdr.id
=
taa3.resource_id
LEFT JOIN sys_dept sd ON tdr.dept_id = sd.id
LEFT JOIN sys_region sr ON sd.district = sr.id
WHERE 1 = 1
AND tdr.del_flag = 0
2022-08-08 10:46:13 +08:00
<if test="dto.type != null and dto.type != '赋能案例'">
2022-07-19 13:57:37 +08:00
AND tdr.type != '赋能案例'
</if>
2022-05-12 13:48:47 +08:00
<if test="dto.type != null and dto.type != ''">
2022-07-22 18:43:45 +08:00
AND MATCH (tdr.type) AGAINST ( #{dto.type} IN BOOLEAN MODE)
2022-05-12 13:48:47 +08:00
</if>
2022-05-11 15:31:48 +08:00
<if test="dto.name != null and dto.name != ''">
2022-07-22 18:43:45 +08:00
AND MATCH (tdr.name) AGAINST ( #{dto.name} IN BOOLEAN MODE)
2022-04-20 17:31:48 +08:00
</if>
2022-05-11 15:31:48 +08:00
<if test="dto.districtId != null and dto.districtId != ''">
AND tdr.district_id = #{dto.districtId}
2022-04-20 17:31:48 +08:00
</if>
2022-05-19 17:22:53 +08:00
<if test="null != dto.deptIds and dto.deptIds.size > 0">
2022-05-20 11:30:29 +08:00
AND tdr.dept_id IN
<foreach collection="dto.deptIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
2022-05-19 17:22:53 +08:00
</if>
<if test="dto.shareCondition != null and dto.shareCondition != ''">
AND tdr.share_condition = #{dto.shareCondition}
</if>
2022-05-11 15:31:48 +08:00
<if test="dto.deptId != null and dto.deptId != ''">
AND tdr.dept_id = #{dto.deptId}
2022-04-20 17:31:48 +08:00
</if>
2022-07-18 09:20:25 +08:00
<!-- 按申请量和收藏量查询时排除知识库数据-->
<if test="orderField != null and orderField != '' and (orderField == 'applyCount' or orderField == 'collectCount')">
2022-07-18 09:20:25 +08:00
AND tdr.type != '知识库'
</if>
<if test="dto.infoList.size > 0">
AND
2022-05-11 15:31:48 +08:00
tda.data_resource_id IN (
2022-04-20 17:31:48 +08:00
SELECT data_resource_id
FROM (
SELECT tb.data_resource_id
FROM (
<foreach collection="dto.infoList" item="item" separator="union all">
SELECT data_resource_id FROM tb_data_attr
WHERE attr_type = #{item.attrType}
2022-07-22 18:43:45 +08:00
AND MATCH ( attr_value) AGAINST ( #{item.attrValue} IN BOOLEAN MODE)
AND del_flag = 0
</foreach>) tb
GROUP BY tb.data_resource_id
HAVING COUNT( tb.data_resource_id ) = ${dto.infoList.size}
) tmp
2022-04-20 17:31:48 +08:00
)
</if>
<if test="orderField != null and orderField !=''">
2022-08-12 16:12:50 +08:00
<if test="orderField == 'pin_top'">
2022-08-12 16:58:35 +08:00
ORDER BY ${orderField} ${orderType}, pin_top_time DESC
</if>
<if test="orderField == 'deptSort'">
ORDER BY sd.type, sr.sort, sd.sort, tdr.dept_id, tdr.visitor DESC, tdr.id DESC
2022-08-12 16:12:50 +08:00
</if>
2022-08-12 17:35:04 +08:00
<if test="orderField != 'pin_top' and orderField != 'deptSort'">
ORDER BY ${orderField} ${orderType}
</if>
</if>
2022-04-20 17:31:48 +08:00
</select>
2022-04-20 17:31:48 +08:00
<select id="selectTypeCount" resultType="java.util.Map">
SELECT
2022-05-11 15:31:48 +08:00
type,
count(id) AS "count"
FROM tb_data_resource
WHERE 1 = 1
2022-05-11 15:31:48 +08:00
AND del_flag = 0
2022-06-19 17:14:53 +08:00
<if test="type != null and type != ''">
2022-08-31 09:47:46 +08:00
AND MATCH (type) AGAINST ( #{type} IN BOOLEAN MODE)
2022-06-19 17:14:53 +08:00
</if>
AND type != '赋能案例'
GROUP BY type
ORDER BY type
</select>
2022-04-23 18:51:52 +08:00
<select id="selectMostPopular" resultType="io.renren.modules.resource.dto.ResourceDTO">
SELECT
tdr.id,
tdr.`type`,
tdr.`name`,
tdr.description,
tdr.link,
tdr.api_method_type,
tdr.api_url,
tdr.group_id,
tdr.dept_id,
tdr.dept_contacts,
tdr.dept_phone,
tdr.share_type,
tdr.share_mode,
tdr.share_condition,
tdr.district_id,
tdr.visits,
tdr.del_flag,
tdr.creator,
tdr.create_date,
tdr.updater,
tdr.update_date,
tdr.note1,
tdr.note2,
tdr.note3,
tdr.note4,
tdr.note5,
tdr.enclosure,
tdr.undercarriage_reason,
tdr.undercarriage_user_name,
tdr.info_list,
tdr.total AS total,
IFNULL(trs.score, 0 ) AS "score",
IFNULL(taa.applyCount, 0 ) AS "applyCount",
IFNULL(trc.collectCount, 0) AS "collectCount"
<!-- (IFNULL(visits / 100, 0) + IFNULL(trs.score, 0) + IFNULL(applyCount,0)+ IFNULL(collectCount,0)) AS total-->
2022-04-23 18:51:52 +08:00
FROM
tb_data_resource tdr
LEFT JOIN ( SELECT resource_id, SUM(score) AS "score" FROM tb_resource_score WHERE 1 = 1 AND del_flag = 0 GROUP
BY resource_id ) trs ON tdr.id = trs.resource_id
LEFT JOIN ( SELECT resource_id, COUNT(id) AS "applyCount" FROM t_ability_application WHERE 1 = 1 AND del_flag =
0 GROUP BY resource_id ) taa ON tdr.id = taa.resource_id
LEFT JOIN ( SELECT resource_id, COUNT(id) AS "collectCount" FROM tb_resource_collection WHERE 1 = 1 AND del_flag
= 0 GROUP BY resource_id ) trc ON tdr.id = trc.resource_id
2022-04-23 18:51:52 +08:00
WHERE
1 = 1
AND tdr.del_flag = 0
2022-08-17 15:43:27 +08:00
AND tdr.type != '知识库'
AND tdr.type != '赋能案例'
<if test="type != null and type != ''">
2022-07-22 18:43:45 +08:00
AND MATCH (tdr.type) AGAINST ( #{type} IN BOOLEAN MODE)
</if>
<if test="name != null and name != ''">
2022-07-22 18:43:45 +08:00
AND MATCH (tdr.name) AGAINST ( #{name} IN BOOLEAN MODE)
</if>
ORDER BY ${orderFiled} ${orderType}
LIMIT ${pageNum}, ${pageSize}
2022-04-23 18:51:52 +08:00
</select>
<select id="selectDTOById" resultMap="resourceDTO">
SELECT
tdr.id,
tdr.`type`,
tdr.`name`,
tdr.description,
tdr.link,
tdr.api_method_type,
tdr.api_url,
tdr.group_id,
tdr.dept_id,
tdr.dept_contacts,
tdr.dept_phone,
tdr.share_type,
tdr.share_mode,
tdr.share_condition,
tdr.district_id,
tdr.visits,
tdr.del_flag,
tdr.creator,
tdr.create_date,
tdr.updater,
tdr.update_date,
tdr.note1,
tdr.note2,
tdr.note3,
tdr.note4,
tdr.note5,
tdr.enclosure,
tdr.undercarriage_reason,
tdr.undercarriage_user_name,
tdr.info_list,
2022-08-17 10:17:02 +08:00
tdr.pin_top,
tdr.pin_top_time,
2022-06-03 10:55:59 +08:00
IFNULL( trs.score, 0 ) AS "score",
IFNULL( taa.applyCount, 0 ) AS "applyCount",
IFNULL( trc.collectCount, 0 ) AS "collectCount",
sd.NAME AS "deptName",
IFNULL( trc2.isCollect, 'false' ) AS "isCollect",
IF( IFNULL(taa2.approve_status, 0) &lt; 1, '未申请', '已申请' ) AS "applyState",
2022-07-22 17:21:45 +08:00
IF ( IFNULL( trcar.car, 0 ) &gt; 0, TRUE, FALSE ) AS "isInShoppingCart",
2022-07-22 17:35:29 +08:00
IF( IFNULL(taa3.approve_status, 0) &lt; 1, '未通过', '通过' ) AS "approveStatus"
FROM
tb_data_resource tdr
2022-06-13 17:11:58 +08:00
LEFT JOIN ( SELECT resource_id, AVG( score ) AS "score" FROM tb_resource_score WHERE 1 = 1 AND del_flag = 0
GROUP BY resource_id ) trs ON tdr.id = trs.resource_id
LEFT JOIN ( SELECT resource_id, COUNT( id ) AS "applyCount" FROM t_ability_application WHERE 1 = 1 AND del_flag
= 0 GROUP BY resource_id ) taa ON tdr.id = taa.resource_id
LEFT JOIN ( SELECT resource_id, COUNT( id ) AS "collectCount" FROM tb_resource_collection WHERE 1 = 1 AND
del_flag = 0 GROUP BY resource_id ) trc ON tdr.id = trc.resource_id
2022-07-22 17:21:45 +08:00
LEFT JOIN ( SELECT resource_id, COUNT( id ) AS "car" FROM tb_resource_car WHERE 1 = 1 AND del_flag = 0 AND
2022-07-22 17:54:17 +08:00
user_id = #{userId} GROUP BY resource_id ) trcar
ON tdr.id = trcar.resource_id
2022-06-03 10:55:59 +08:00
LEFT JOIN (
SELECT
resource_id,
user_id,
2022-06-13 17:11:58 +08:00
( IF(COUNT( id ) = 1, 'true', 'false') ) AS "isCollect"
2022-06-03 10:55:59 +08:00
FROM
tb_resource_collection
WHERE
1 = 1
AND del_flag = 0
AND user_id = #{userId}
GROUP BY
resource_id
) trc2 ON tdr.id = trc2.resource_id
2022-06-13 17:11:58 +08:00
LEFT JOIN ( SELECT resource_id, COUNT( approve_status ) approve_status FROM t_ability_application WHERE 1 = 1
AND del_flag = 0 AND user_id = #{userId} GROUP BY resource_id ) taa2 ON tdr.id = taa2.resource_id
2022-07-22 17:21:45 +08:00
LEFT JOIN ( SELECT resource_id, COUNT( approve_status ) approve_status FROM t_ability_application WHERE 1 = 1
AND del_flag = 0 AND user_id = #{userId} AND approve_status = '通过' GROUP BY resource_id ) taa3 ON tdr.id =
taa3.resource_id
LEFT JOIN sys_dept sd ON tdr.dept_id = sd.id
2022-06-03 10:55:59 +08:00
WHERE
1 = 1
2022-05-11 15:31:48 +08:00
AND tdr.id = #{id}
</select>
2022-06-30 10:56:11 +08:00
<select id="selectDTOPage" resultMap="resourceDTO">
SELECT
tdr.id,
tdr.`type`,
tdr.`name`,
tdr.description,
tdr.link,
tdr.api_method_type,
tdr.api_url,
tdr.group_id,
tdr.dept_id,
tdr.dept_contacts,
tdr.dept_phone,
tdr.share_type,
tdr.share_mode,
tdr.share_condition,
tdr.district_id,
tdr.visits,
tdr.del_flag,
tdr.creator,
tdr.create_date,
tdr.updater,
tdr.update_date,
tdr.note1,
tdr.note2,
tdr.note3,
tdr.note4,
tdr.note5,
tdr.enclosure,
tdr.undercarriage_reason,
tdr.undercarriage_user_name,
2022-06-30 10:56:11 +08:00
tdr.info_list,
tdr.total AS total,
2022-08-15 10:48:10 +08:00
tdr.pin_top,
tdr.pin_top_time,
tdr.visitor,
IFNULL(trs.score, 0 ) AS "score",
IFNULL(taa.applyCount, 0 ) AS "applyCount",
IFNULL(trc.collectCount, 0) AS "collectCount",
sd.name AS "deptName",
sd.type AS "deptType",
sd.sort AS "deptSort",
sr.sort AS "regionSort",
IFNULL(trc2.isCollect, 'false') AS "isCollect",
IF( IFNULL(taa2.approve_status, 0) &lt; 1, '未申请', '已申请' ) AS "applyState",
IF ( IFNULL( trcar.car, 0 ) &gt; 0, TRUE, FALSE ) AS "isInShoppingCart",
IF( IFNULL(taa3.approve_status, 0) &lt; 1, '未通过', '通过' ) AS "approveStatus"
FROM
tb_data_resource tdr
LEFT JOIN ( SELECT resource_id, AVG(score) AS "score" FROM tb_resource_score WHERE 1 = 1 AND del_flag = 0 GROUP
BY resource_id ) trs ON tdr.id = trs.resource_id
2022-07-22 17:21:45 +08:00
LEFT JOIN ( SELECT resource_id, COUNT( id ) AS "car" FROM tb_resource_car WHERE 1 = 1 AND del_flag = 0 AND
user_id = #{dto.creator} GROUP BY resource_id ) trcar
ON tdr.id = trcar.resource_id
LEFT JOIN ( SELECT resource_id, COUNT(id) AS "applyCount" FROM t_ability_application WHERE 1 = 1 AND del_flag =
0 GROUP BY resource_id ) taa ON tdr.id = taa.resource_id
LEFT JOIN ( SELECT resource_id, COUNT(id) AS "collectCount" FROM tb_resource_collection WHERE 1 = 1 AND del_flag
= 0 GROUP BY resource_id ) trc ON tdr.id = trc.resource_id
2022-06-13 17:11:58 +08:00
LEFT JOIN ( SELECT resource_id, user_id, ( IF(COUNT( id ) = 1, 'true', 'false') ) AS "isCollect"
FROM tb_resource_collection WHERE 1 = 1 AND del_flag = 0 AND user_id = #{dto.creator}
GROUP BY resource_id) trc2 ON tdr.id = trc2.resource_id
2022-08-30 12:54:42 +08:00
LEFT JOIN ( SELECT resource_id, COUNT( approve_status ) approve_status FROM t_ability_application WHERE 1 = 1
2022-08-30 13:03:34 +08:00
AND del_flag = 0 AND user_id = #{dto.creator} GROUP BY resource_id ) taa2 ON tdr.id = taa2.resource_id
LEFT JOIN ( SELECT resource_id, COUNT( approve_status ) approve_status FROM t_ability_application WHERE 1 = 1
2022-08-17 15:43:27 +08:00
AND del_flag = 0 AND user_id = #{dto.creator} AND approve_status = '通过' GROUP BY resource_id ) taa3 ON tdr.id
=
taa3.resource_id
LEFT JOIN sys_dept sd ON tdr.dept_id = sd.id
LEFT JOIN sys_region sr ON sd.district = sr.id
WHERE 1 = 1
AND tdr.del_flag = 0
2022-07-19 13:57:37 +08:00
<if test="dto.type != '赋能案例'">
AND tdr.type != '赋能案例'
</if>
<if test="dto.name != null and dto.name != ''">
2022-07-22 18:43:45 +08:00
AND MATCH (tdr.name) AGAINST ( #{dto.name} IN BOOLEAN MODE)
</if>
2022-07-19 13:57:37 +08:00
<if test="dto.type != null and dto.type != '' ">
2022-08-30 15:20:35 +08:00
AND MATCH (tdr.type) AGAINST ( #{dto.type} IN BOOLEAN MODE)
</if>
2022-07-18 09:20:25 +08:00
<!-- 按申请量和收藏量查询时排除知识库数据-->
2022-07-19 10:36:24 +08:00
<if test="orderField != null and orderField != '' and (orderField == 'applyCount' or orderField == 'collectCount')">
2022-07-18 09:20:25 +08:00
AND tdr.type != '知识库'
</if>
<if test="dto.districtId != null and dto.districtId != ''">
AND tdr.district_id = #{dto.districtId}
</if>
2022-05-19 17:22:53 +08:00
<if test="null != dto.deptIds and dto.deptIds.size > 0">
2022-05-20 11:30:29 +08:00
AND tdr.dept_id IN
<foreach collection="dto.deptIds" item="item" open="(" separator="," close=")">
2022-05-19 17:22:53 +08:00
#{item}
2022-05-20 11:30:29 +08:00
</foreach>
2022-05-19 17:22:53 +08:00
</if>
<if test="dto.shareCondition != null and dto.shareCondition != ''">
AND tdr.share_condition = #{dto.shareCondition}
</if>
<if test="dto.deptId != null and dto.deptId != ''">
2022-05-11 20:19:31 +08:00
AND tdr.dept_id = #{dto.deptId}
</if>
<if test="ids != null and ids.size > 0">
AND tdr.id IN
<foreach collection="ids" item="item_" open="(" separator="," close=")">
#{item_}
</foreach>
</if>
<if test="orderField != null and orderField !=''">
2022-08-12 16:12:50 +08:00
<if test="orderField == 'pin_top'">
2022-08-12 16:58:35 +08:00
ORDER BY ${orderField} ${orderType}, pin_top_time DESC
2022-08-12 16:12:50 +08:00
</if>
2022-08-12 16:58:35 +08:00
<if test="orderField == 'deptSort'">
ORDER BY sd.type, sr.sort, sd.sort, tdr.dept_id, tdr.visitor DESC, tdr.id DESC
2022-08-12 16:58:35 +08:00
</if>
2022-08-12 17:35:04 +08:00
<if test="orderField != 'pin_top' and orderField != 'deptSort'">
ORDER BY ${orderField} ${orderType}
</if>
LIMIT ${pageNum}, ${pageSize}
</if>
</select>
<select id="selectDTOPageSpecilTotal" resultType="java.util.Map">
SELECT
tdr.id,
2022-08-16 10:17:37 +08:00
IFNULL(tdr.total,0) AS total,
2022-08-15 15:08:20 +08:00
tdr.pin_top,
2022-08-15 15:16:59 +08:00
UNIX_TIMESTAMP(tdr.pin_top_time) AS pin_top_time
FROM
tb_data_resource tdr
WHERE
1 = 1
2022-06-30 17:02:26 +08:00
AND tdr.del_flag = 0
<if test="dto.name != null and dto.name != ''">
2022-07-22 18:43:45 +08:00
AND MATCH (tdr.name) AGAINST ( #{dto.name} IN BOOLEAN MODE)
</if>
<if test="dto.type != null and dto.type != ''">
2022-08-30 15:20:35 +08:00
AND MATCH (tdr.type) AGAINST ( #{dto.type} IN BOOLEAN MODE)
</if>
<if test="dto.districtId != null and dto.districtId != ''">
AND tdr.district_id = #{dto.districtId}
</if>
<if test="null != dto.deptIds and dto.deptIds.size > 0">
AND tdr.dept_id IN
<foreach collection="dto.deptIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="dto.shareCondition != null and dto.shareCondition != ''">
AND tdr.share_condition = #{dto.shareCondition}
</if>
<if test="dto.deptId != null and dto.deptId != ''">
AND tdr.dept_id = #{dto.deptId}
</if>
ORDER BY create_date DESC
</select>
2022-06-27 19:58:24 +08:00
<select id="selectDTOPageCount" resultType="java.lang.Long">
SELECT
COUNT(DISTINCT tdr.id)
2022-06-27 19:58:24 +08:00
FROM
tb_data_resource tdr
2022-06-27 19:58:24 +08:00
WHERE
1 = 1
AND tdr.del_flag = 0
2022-06-27 19:58:24 +08:00
<if test="dto.name != null and dto.name != ''">
2022-07-22 18:43:45 +08:00
AND MATCH (tdr.name) AGAINST ( #{dto.name} IN BOOLEAN MODE)
2022-06-27 19:58:24 +08:00
</if>
<if test="dto.type != null and dto.type != ''">
2022-08-30 15:20:35 +08:00
AND MATCH (tdr.type) AGAINST ( #{dto.type} IN BOOLEAN MODE)
2022-06-27 19:58:24 +08:00
</if>
<if test="dto.districtId != null and dto.districtId != ''">
AND tdr.district_id = #{dto.districtId}
</if>
<if test="null != dto.deptIds and dto.deptIds.size > 0">
AND tdr.dept_id IN
<foreach collection="dto.deptIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="dto.shareCondition != null and dto.shareCondition != ''">
AND tdr.share_condition = #{dto.shareCondition}
</if>
<if test="dto.deptId != null and dto.deptId != ''">
AND tdr.dept_id = #{dto.deptId}
</if>
</select>
2022-04-28 20:19:09 +08:00
<select id="selectApplyArea" resultType="java.util.Map">
SELECT
2022-05-11 15:31:48 +08:00
*
2022-04-28 20:19:09 +08:00
FROM
2022-05-11 15:31:48 +08:00
(
SELECT
attr_value,
IFNULL( COUNT( trc.id ), 0 ) AS "colCount",
IFNULL( COUNT( taa.id ), 0 ) AS "aplCount",
(
IFNULL( COUNT( trc.id ), 0 ) + IFNULL( COUNT( taa.id ), 0 )) AS total
FROM
tb_data_attr tda
LEFT JOIN tb_resource_collection trc ON tda.data_resource_id = trc.resource_id
AND trc.del_flag = 0
AND trc.user_id = #{userId}
LEFT JOIN t_ability_application taa ON tda.data_resource_id = taa.resource_id
AND taa.del_flag = 0
AND taa.user_id = #{userId}
2022-04-28 20:19:09 +08:00
WHERE
2022-05-11 15:31:48 +08:00
1 = 1
AND tda.attr_type = '应用领域'
AND tda.del_flag = 0
2022-08-31 09:47:46 +08:00
AND ( attr_value IS NOT NULL AND attr_value != '')
2022-05-11 15:31:48 +08:00
GROUP BY
attr_value
ORDER BY
total DESC
) temp
WHERE
temp.total != 0
</select>
<select id="getAmountGroupByType" resultType="java.util.Map">
SELECT
COUNT( id ) AS amount,
type AS type
FROM
tb_data_resource
WHERE
del_flag = 0
AND type != '赋能案例'
2022-05-11 15:31:48 +08:00
GROUP BY
type
2022-04-28 20:19:09 +08:00
</select>
2022-05-11 17:25:21 +08:00
<select id="countAllDept" resultType="java.lang.Long">
SELECT
COUNT(id)
2022-05-11 17:25:21 +08:00
FROM
sys_dept
2022-05-11 17:25:21 +08:00
</select>
2022-05-11 20:19:31 +08:00
<select id="selectGroupByDeptId" resultType="java.util.Map">
SELECT
*
FROM
(
SELECT
2022-08-17 15:43:27 +08:00
( CASE sd.type WHEN 1 THEN '省级' WHEN 2 THEN '市级' WHEN 3 THEN '区级' WHEN 4 THEN '企业' ELSE '其他' END ) AS
"type",
sd.NAME AS "deptName",
IFNULL( tdr.deptCount, 0 ) AS "deptCount",
sd.id AS "deptId",
2022-05-19 17:22:53 +08:00
sr.name AS "districtName",
sr.id AS "districtId",
sr.sort AS "regionSort"
2022-05-11 20:19:31 +08:00
FROM
sys_dept sd
LEFT JOIN ( SELECT dept_id, COUNT( id ) AS "deptCount" FROM tb_data_resource WHERE 1 = 1 AND del_flag = 0
<if test="type != null and type != ''">
AND type = #{type}
</if>
GROUP BY dept_id ) tdr ON sd.id = tdr.dept_id
LEFT JOIN sys_region sr ON sd.district = sr.id
ORDER BY sd.type, sr.sort, sd.sort
) temp1
2022-05-11 20:19:31 +08:00
WHERE
1 = 1
AND temp1.deptCount != 0
2022-08-12 17:35:04 +08:00
2022-05-11 20:19:31 +08:00
</select>
<select id="selectTypeCountByDept" resultType="java.lang.Integer">
SELECT
SUM( deptCount )
2022-05-11 20:19:31 +08:00
FROM
(
SELECT
2022-06-13 17:11:58 +08:00
type,
deptCount
FROM
(
SELECT
2022-08-17 15:43:27 +08:00
( CASE sd.type WHEN 1 THEN '省级' WHEN 2 THEN '市级' WHEN 3 THEN '区级' WHEN 4 THEN '企业' ELSE '其他' END ) AS
"type",
IFNULL( tdr.deptCount, 0 ) AS "deptCount"
FROM
sys_dept sd
LEFT JOIN ( SELECT dept_id, COUNT( id ) AS "deptCount" FROM tb_data_resource WHERE 1 = 1 AND del_flag = 0
<if test="resourceType != null and resourceType != ''">
2022-08-31 09:47:46 +08:00
AND MATCH (type) AGAINST ( #{resourceType} IN BOOLEAN MODE)
</if>
GROUP BY dept_id ) tdr ON sd.id = tdr.dept_id
) temp1
WHERE
1 = 1
AND temp1.deptCount != 0
) temp2
WHERE 1 = 1
AND temp2.type = #{deptType}
2022-05-11 20:19:31 +08:00
GROUP BY
temp2.type
2022-05-11 20:19:31 +08:00
</select>
<select id="selectAlgorithmPage" resultType="io.renren.modules.resource.dto.ResourceDTO">
SELECT *
FROM tb_data_resource
WHERE 1 = 1
ORDER BY ${orderField} ${orderType}
LIMIT ${pageNum}, ${pageSize}
</select>
<select id="selectTypeCountByDist" resultType="java.lang.Integer">
SELECT
SUM( deptCount )
FROM
(
SELECT
2022-06-13 17:11:58 +08:00
type, deptCount, districtName
FROM
(
SELECT
2022-08-17 15:43:27 +08:00
( CASE sd.type WHEN 1 THEN '省级' WHEN 2 THEN '市级' WHEN 3 THEN '区级' WHEN 4 THEN '企业' ELSE '其他' END ) AS
"type",
IFNULL( tdr.deptCount, 0) AS "deptCount",
2022-06-14 09:32:40 +08:00
IFNULL(sr.name, '暂无该地区') AS "districtName"
FROM
sys_dept sd
LEFT JOIN ( SELECT dept_id, COUNT( id ) AS "deptCount" FROM tb_data_resource
WHERE 1 = 1 AND del_flag = 0
<if test="resourceType != null and resourceType != ''">
2022-08-31 09:47:46 +08:00
AND MATCH (type) AGAINST ( #{resourceType} IN BOOLEAN MODE)
</if>
GROUP BY dept_id ) tdr ON sd.id = tdr.dept_id
LEFT JOIN sys_region sr ON sd.district = sr.id
) temp1
WHERE
1 = 1
AND temp1.deptCount != 0
) temp2
WHERE 1 = 1
AND temp2.districtName = #{districtName}
GROUP BY
temp2.type
</select>
2022-05-20 11:30:29 +08:00
<select id="countAllVisits" resultType="java.lang.Long">
SELECT
SUM( visits )
2022-05-20 11:30:29 +08:00
FROM
tb_data_resource
</select>
2022-05-23 18:28:02 +08:00
<select id="selectDeptCount" resultType="java.lang.Integer">
SELECT
COUNT( 1 )
2022-05-23 18:28:02 +08:00
FROM
( SELECT DISTINCT dept_id FROM tb_data_resource WHERE 1 = 1 AND del_flag = 0 AND dept_id IS NOT NULL ) temp
2022-05-23 18:28:02 +08:00
</select>
<select id="selectDeptTypeCount" resultType="java.util.Map">
SELECT IFNULL(COUNT(deptId),0) AS "count",
type
2022-05-23 18:28:02 +08:00
FROM (
SELECT DISTINCT
tbr.dept_id AS "deptId",
(CASE sd.type
WHEN 1 THEN
'省级'
WHEN 2 THEN
'市级'
WHEN 3 THEN
'区级'
WHEN 4 THEN
'企业' ELSE '其他'
END ) AS "type"
2022-05-23 18:28:02 +08:00
FROM
sys_dept sd
RIGHT JOIN tb_data_resource tbr ON tbr.dept_id = sd.id
2022-05-23 18:28:02 +08:00
WHERE
1 = 1
2022-05-23 18:28:02 +08:00
AND del_flag = 0
AND dept_id IS NOT NULL) temp GROUP BY type
</select>
<select id="selectDeptTotalCount" resultType="java.util.Map">
SELECT
COUNT( type ) AS "total",
type
FROM
(
SELECT
(
CASE
WHEN ( COUNT( id ) BETWEEN 0 AND 5 ) THEN
'0'
WHEN ( COUNT( id ) BETWEEN 5 AND 10 ) THEN
'5'
WHEN ( COUNT( id ) BETWEEN 10 AND 15 ) THEN
'10'
WHEN ( COUNT( id ) BETWEEN 15 AND 20 ) THEN
'15' ELSE '20'
2022-05-23 18:28:02 +08:00
END
) AS "type"
FROM
tb_data_resource
WHERE
del_flag = 0
AND dept_id IS NOT NULL
GROUP BY
dept_id
) temp
GROUP BY
type
</select>
<select id="selectDeptProvideCount" resultType="java.util.Map">
SELECT
2022-05-25 09:44:09 +08:00
COUNT( DISTINCT temp.value_ ) count,
any_value ( tdr.dept_id ) dept_id
FROM
2022-05-25 09:44:09 +08:00
(
SELECT
SUBSTRING_INDEX( SUBSTRING_INDEX( tdav.attr_value, ';', b.help_topic_id + 1 ), ';',- 1 ) AS value_,
tdav.data_resource_id AS resourceId
FROM
tb_data_attr tdav
JOIN mysql.help_topic b ON b.help_topic_id &lt; ( LENGTH( tdav.attr_value ) - LENGTH( REPLACE ( tdav.attr_value,
';', '' ) ) + 1 )
WHERE
2022-05-25 09:44:09 +08:00
1 = 1
AND tdav.attr_type = '应用领域'
AND tdav.del_flag = 0
) temp
INNER JOIN tb_data_resource tdr ON temp.resourceId = tdr.id
AND tdr.dept_id IS NOT NULL
GROUP BY
tdr.dept_id
ORDER BY
count DESC
LIMIT #{n}
</select>
<select id="selectDeptProvide" resultType="java.lang.String">
SELECT DISTINCT
tda.attr_value
FROM
tb_data_attr tda
INNER JOIN tb_data_resource tdr ON tda.data_resource_id = tdr.id
AND tdr.dept_id = #{deptId}
WHERE
tda.attr_type = '应用领域'
</select>
2022-05-23 18:28:02 +08:00
2022-05-24 19:49:37 +08:00
<select id="selectMaxDeptIds" resultType="java.lang.Long">
SELECT
dept_id
FROM
(
SELECT
COUNT( id ) AS "count",
dept_id
FROM
tb_data_resource
WHERE
1 = 1
AND del_flag = 0
AND dept_id IS NOT NULL
GROUP BY
dept_id
) temp1
WHERE
temp1.count = (
SELECT
MAX( count ) AS "total"
FROM
(
SELECT
COUNT( id ) AS "count"
FROM
tb_data_resource
WHERE
1 = 1
AND del_flag = 0
AND dept_id IS NOT NULL
GROUP BY
dept_id
) temp2
)
2022-05-24 19:49:37 +08:00
</select>
<select id="selectByDeptId" resultType="java.util.Map">
SELECT id,
name
2022-05-24 19:49:37 +08:00
FROM tb_data_resource
WHERE 1 = 1
AND del_flag = 0
AND dept_id = #{deptId}
2022-07-21 15:40:52 +08:00
LIMIT 30
2022-05-24 19:49:37 +08:00
</select>
<select id="selectDeptCountList" resultType="java.util.Map">
SELECT
sd.id AS "deptId",
sd.NAME AS "deptName",
COUNT( tdr.id ) AS "total"
2022-05-24 19:49:37 +08:00
FROM
tb_data_resource tdr,
sys_dept sd
2022-05-24 19:49:37 +08:00
WHERE
1 = 1
AND tdr.del_flag = 0
AND tdr.dept_id = sd.id
2022-05-24 19:49:37 +08:00
GROUP BY tdr.dept_id
ORDER BY total DESC
</select>
<select id="selectMaxApplyDeptIds" resultType="java.lang.Long">
SELECT
dept_id
FROM
(
SELECT
COUNT( taa.id ) AS "count",
su.dept_id
FROM
t_ability_application taa,
sys_user su
WHERE
1 = 1
AND taa.user_id = su.id
AND taa.user_id IS NOT NULL
GROUP BY
su.dept_id
) temp1
WHERE
temp1.count = (
SELECT
MAX( count ) AS "total"
FROM
(
SELECT
COUNT( taa.id ) AS "count"
FROM
t_ability_application taa,
sys_user su
WHERE
1 = 1
AND taa.user_id = su.id
AND taa.user_id IS NOT NULL
GROUP BY
su.dept_id
) temp2
)
2022-05-24 19:49:37 +08:00
</select>
<select id="selectByApplyDeptId" resultType="java.util.Map">
SELECT tdr.id,
tdr.name
2022-05-24 19:49:37 +08:00
FROM t_ability_application taa, tb_data_resource tdr, sys_user su
WHERE 1 = 1
AND tdr.del_flag = 0
AND su.id = taa.user_id
AND taa.resource_id = tdr.id
AND su.dept_id = #{deptId}
2022-07-21 15:40:52 +08:00
LIMIT 30
2022-05-24 19:49:37 +08:00
</select>
<select id="selectApplyDeptCountList" resultType="java.util.Map">
SELECT
sd.id AS "deptId",
sd.NAME AS "deptName",
COUNT( taa.resource_id ) AS "total"
2022-05-24 19:49:37 +08:00
FROM
t_ability_application taa,
sys_user su,
sys_dept sd
2022-05-24 19:49:37 +08:00
WHERE
1 = 1
AND su.id = taa.user_id
AND su.dept_id = sd.id
2022-07-07 19:49:56 +08:00
AND EXISTS ( SELECT 1 FROM tb_data_resource WHERE tb_data_resource.id = taa.resource_id AND
tb_data_resource.del_flag = 0 )
2022-05-24 19:49:37 +08:00
GROUP BY
sd.id
2022-05-24 19:49:37 +08:00
ORDER BY
total DESC
2022-05-24 19:49:37 +08:00
</select>
<select id="selectDeptTypeCountList" resultType="java.util.Map">
SELECT
COUNT( tdr.id ) AS "count",
sd.NAME AS "deptName",
(CASE tdr.type
WHEN '应用资源' THEN 'yyzy'
WHEN '组件服务' THEN 'zjfw'
WHEN '基础设施' THEN 'jcss'
WHEN '知识库' THEN 'zsk'
WHEN '数据资源' THEN 'sjzy'
ELSE 'yyzy' END)AS "type"
FROM
tb_data_resource tdr,
sys_dept sd
WHERE
1 = 1
AND tdr.del_flag = 0
AND tdr.dept_id = sd.id
2022-05-24 19:49:37 +08:00
GROUP BY
tdr.dept_id,
tdr.type
2022-05-24 19:49:37 +08:00
</select>
<select id="selectApplyDeptTypeCountList" resultType="java.util.Map">
SELECT
COUNT( taa.resource_id ) AS "count",
sd.NAME AS "deptName",
(
CASE
tdr.type
WHEN '应用资源' THEN
'yyzy'
WHEN '组件服务' THEN
'zjfw'
WHEN '基础设施' THEN
'jcss'
WHEN '知识库' THEN
'zsk'
WHEN '数据资源' THEN
'sjzy' ELSE 'yyzy'
END
) AS "type"
FROM
tb_data_resource tdr,
sys_dept sd,
sys_user su,
t_ability_application taa
WHERE
1 = 1
AND tdr.del_flag = 0
AND taa.user_id = su.id
AND su.dept_id = sd.id
AND taa.resource_id = tdr.id
2022-05-24 19:49:37 +08:00
GROUP BY
sd.id,
tdr.type
2022-05-24 19:49:37 +08:00
</select>
2022-07-18 12:48:40 +08:00
<!--
2022-05-24 19:49:37 +08:00
<select id="selectMaxType" resultType="java.lang.String">
SELECT
type
2022-05-24 19:49:37 +08:00
FROM
2022-07-18 09:20:25 +08:00
( SELECT COUNT( id ) AS "count", type FROM tb_data_resource WHERE 1 = 1 AND type != '赋能案例' AND del_flag = 0 GROUP BY type ) temp1
2022-05-24 19:49:37 +08:00
WHERE
temp1.count = (
SELECT
MAX( count ) AS "total"
FROM
2022-07-18 09:20:25 +08:00
( SELECT COUNT( id ) AS "count" FROM tb_data_resource WHERE 1 = 1 AND type != '赋能案例' AND del_flag = 0 GROUP BY type ) temp2
)
2022-05-24 19:49:37 +08:00
</select>
2022-07-18 12:48:40 +08:00
-->
2022-05-24 19:49:37 +08:00
<select id="selectByType" resultType="java.util.Map">
SELECT id,
name
2022-05-24 19:49:37 +08:00
FROM tb_data_resource
WHERE 1 = 1
AND del_flag = 0
2022-08-31 09:47:46 +08:00
AND MATCH (type) AGAINST ( #{type} IN BOOLEAN MODE)
2022-07-18 09:20:25 +08:00
AND type != '赋能案例'
2022-07-18 12:48:40 +08:00
LIMIT 30
2022-05-24 19:49:37 +08:00
</select>
<select id="selectTypeCountList" resultType="java.util.Map">
SELECT
tdr.type,
COUNT( tdr.id ) AS "total"
2022-05-24 19:49:37 +08:00
FROM
tb_data_resource tdr
2022-05-24 19:49:37 +08:00
WHERE
1 = 1
AND tdr.del_flag = 0
2022-05-24 19:49:37 +08:00
GROUP BY
tdr.type
2022-05-24 19:49:37 +08:00
ORDER BY
total DESC
2022-05-24 19:49:37 +08:00
</select>
2022-05-25 11:13:25 +08:00
<select id="selectMaxAppArea" resultType="java.lang.String">
SELECT
type
FROM
(
SELECT
SUBSTRING_INDEX( SUBSTRING_INDEX( tdav.attr_value, ';', b.help_topic_id + 1 ), ';',- 1 ) AS "type",
COUNT( tdav.data_resource_id ) AS "count"
FROM
tb_data_attr tdav
JOIN mysql.help_topic b ON b.help_topic_id &lt; ( LENGTH( tdav.attr_value ) - LENGTH( REPLACE ( tdav.attr_value,
';', '' ) ) + 1 )
2022-05-25 11:13:25 +08:00
WHERE
1 = 1
AND tdav.attr_type = '应用领域'
AND tdav.del_flag = 0
AND SUBSTRING_INDEX( SUBSTRING_INDEX( tdav.attr_value, ';', b.help_topic_id + 1 ), ';',- 1 ) != ''
GROUP BY
type
) temp1
WHERE
temp1.count = (
SELECT
MAX( count ) AS "total"
FROM
(
SELECT
SUBSTRING_INDEX( SUBSTRING_INDEX( tdav.attr_value, ';', b.help_topic_id + 1 ), ';',- 1 ) AS "type",
COUNT( tdav.data_resource_id ) AS "count"
FROM
tb_data_attr tdav
JOIN mysql.help_topic b ON b.help_topic_id &lt; ( LENGTH( tdav.attr_value ) - LENGTH( REPLACE ( tdav.attr_value,
';', '' ) ) + 1 )
2022-05-25 11:13:25 +08:00
WHERE
1 = 1
AND tdav.attr_type = '应用领域'
AND tdav.del_flag = 0
AND SUBSTRING_INDEX( SUBSTRING_INDEX( tdav.attr_value, ';', b.help_topic_id + 1 ), ';',- 1 ) != ''
GROUP BY
type
) temp2
)
</select>
<select id="selectByAppArea" resultType="java.util.Map">
SELECT
tdr.id,
tdr.name
2022-05-25 11:13:25 +08:00
FROM
tb_data_resource tdr,
tb_data_attr tda
2022-05-25 11:13:25 +08:00
WHERE
1 = 1
AND tdr.del_flag = 0
AND tda.del_flag = 0
AND tdr.id = tda.data_resource_id
AND tda.attr_type = '应用领域'
2022-07-22 18:43:45 +08:00
AND MATCH (attr_value) AGAINST ( #{type} IN BOOLEAN MODE)
2022-05-25 11:13:25 +08:00
</select>
<select id="selectAppAreaCountList" resultType="java.util.Map">
SELECT
SUBSTRING_INDEX( SUBSTRING_INDEX( tdav.attr_value, ';', b.help_topic_id + 1 ), ';',- 1 ) AS "type",
COUNT( tdav.data_resource_id ) AS "total"
FROM
tb_data_attr tdav
JOIN mysql.help_topic b ON b.help_topic_id &lt; ( LENGTH( tdav.attr_value ) - LENGTH( REPLACE ( tdav.attr_value,
';', '' ) ) + 1 )
2022-05-25 11:13:25 +08:00
WHERE
1 = 1
AND tdav.attr_type = '应用领域'
AND tdav.del_flag = 0
AND SUBSTRING_INDEX( SUBSTRING_INDEX( tdav.attr_value, ';', b.help_topic_id + 1 ), ';',- 1 ) != ''
GROUP BY
type
</select>
<select id="applicationAreaCapabilitySet" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
SUBSTRING_INDEX( SUBSTRING_INDEX( tdav.attr_value, ';', b.help_topic_id + 1 ), ';',- 1 ) AS type ,
COUNT( tdav.data_resource_id ) AS total
FROM
tb_data_attr tdav
JOIN mysql.help_topic b ON b.help_topic_id &lt; ( LENGTH( tdav.attr_value ) - LENGTH( REPLACE ( tdav.attr_value,
';', '' ) ) + 1 )
WHERE
1 = 1
AND tdav.attr_type = '应用领域'
AND tdav.del_flag = 0
AND SUBSTRING_INDEX( SUBSTRING_INDEX( tdav.attr_value, ';', b.help_topic_id + 1 ), ';',- 1 ) != ''
GROUP BY
type
</select>
<select id="applicationAreaCapabilityList" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
SUBSTRING_INDEX( SUBSTRING_INDEX( tdav.attr_value, ';', b.help_topic_id + 1 ), ';',- 1 ) AS type ,
COUNT( tdav.data_resource_id ) AS total
FROM
(SELECT a.* FROM tb_data_attr a INNER JOIN tb_data_resource c ON a.data_resource_id = c.id
2022-08-30 15:20:35 +08:00
WHERE
2022-08-31 09:47:46 +08:00
MATCH (c.type) AGAINST ( #{resourceType} IN BOOLEAN MODE)
2022-08-30 15:20:35 +08:00
AND c.dept_id = #{id} AND c.del_flag = 0) tdav
JOIN mysql.help_topic b ON b.help_topic_id &lt; ( LENGTH( tdav.attr_value ) - LENGTH( REPLACE ( tdav.attr_value,
';', '' ) ) + 1 )
WHERE
1 = 1
AND tdav.attr_type = '应用领域'
AND tdav.del_flag = 0
AND SUBSTRING_INDEX( SUBSTRING_INDEX( tdav.attr_value, ';', b.help_topic_id + 1 ), ';',- 1 ) != ''
GROUP BY
type
</select>
2022-06-27 17:30:14 +08:00
<select id="applicationAreaCapabilityUseList" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
SUBSTRING_INDEX( SUBSTRING_INDEX( tdav.attr_value, ';', b.help_topic_id + 1 ), ';',- 1 ) AS type ,
COUNT( tdav.data_resource_id ) AS total
2022-06-27 17:30:14 +08:00
FROM
(
2022-07-06 17:46:51 +08:00
SELECT b.* FROM
(
SELECT DISTINCT(c.id) AS id FROM
(
SELECT a.id FROM tb_data_resource a WHERE a.del_flag = 0 AND a.type='应用资源' AND a.dept_id = #{id}
2022-07-06 17:46:51 +08:00
) a
INNER JOIN tb_data_resource_rel b ON a.id = b.key_id INNER JOIN tb_data_resource c ON b.reference_id = c.id
2022-08-30 15:20:35 +08:00
WHERE b.del_flag = 0 AND
2022-08-31 09:47:46 +08:00
MATCH (c.type) AGAINST ( #{resourceType} IN BOOLEAN MODE)
2022-08-30 15:20:35 +08:00
AND c.del_flag = 0
2022-07-06 17:46:51 +08:00
) a INNER JOIN tb_data_attr b ON a.id = b.data_resource_id AND b.del_flag = 0
) tdav
2022-06-27 17:30:14 +08:00
JOIN mysql.help_topic b ON b.help_topic_id &lt; ( LENGTH( tdav.attr_value ) - LENGTH( REPLACE ( tdav.attr_value,
';', '' ) ) + 1 )
2022-06-27 17:30:14 +08:00
WHERE
1 = 1
AND tdav.attr_type = '应用领域'
AND tdav.del_flag = 0
AND SUBSTRING_INDEX( SUBSTRING_INDEX( tdav.attr_value, ';', b.help_topic_id + 1 ), ';',- 1 ) != ''
2022-06-27 17:30:14 +08:00
GROUP BY
type
2022-06-27 17:30:14 +08:00
</select>
2022-05-25 11:13:25 +08:00
2022-06-19 17:14:53 +08:00
<select id="selectTopFiveComponentServiceApplications" resultType="java.util.Map">
SELECT
tdr.id AS "resourceId",
tdr.NAME AS "name",
IFNULL(COUNT( taa.id ), 0) AS "count"
2022-06-19 17:14:53 +08:00
FROM
tb_data_resource tdr
LEFT JOIN t_ability_application taa ON tdr.id = taa.resource_id AND taa.del_flag = 0
2022-06-19 17:14:53 +08:00
WHERE
1 = 1
AND tdr.del_flag = 0
2022-08-30 15:20:35 +08:00
AND MATCH (tdr.type) AGAINST ( '组件服务' IN BOOLEAN MODE)
2022-06-19 17:14:53 +08:00
GROUP BY
tdr.id
2022-06-19 17:14:53 +08:00
ORDER BY
count DESC
2022-06-19 17:14:53 +08:00
LIMIT 5
</select>
<select id="selectTopFiveComponentServiceScore" resultType="java.util.Map">
SELECT
tdr.id AS "resourceId",
tdr.NAME AS "name",
IFNULL( SUM( trs.score ), 0 ) AS "score"
2022-06-19 17:14:53 +08:00
FROM
tb_data_resource tdr
LEFT JOIN tb_resource_score trs ON tdr.id = trs.resource_id
AND trs.del_flag = 0
2022-06-19 17:14:53 +08:00
WHERE
1 = 1
AND tdr.del_flag = 0
2022-08-30 15:20:35 +08:00
AND MATCH (tdr.type) AGAINST ( '组件服务' IN BOOLEAN MODE)
2022-06-19 17:14:53 +08:00
GROUP BY
tdr.id
2022-06-19 17:14:53 +08:00
ORDER BY
score DESC
2022-06-19 17:14:53 +08:00
LIMIT 5
</select>
<select id="selectResourceNumAsType" parameterType="java.util.Map" resultType="java.util.Map">
SELECT COUNT(b.id) AS resourceNum,
a.id AS deptId,
a.name AS deptName,
SUM(b.visits) AS visits
FROM
sys_dept a
INNER JOIN
tb_data_resource b
ON
a.id = b.dept_id
WHERE
b.del_flag = 0
AND
2022-08-30 15:20:35 +08:00
AND MATCH (b.type) AGAINST ( '组件服务' IN BOOLEAN MODE)
<if test="id != null and id != ''">
AND (a.pids LIKE concat(concat('%',#{id}),'%') OR a.id = #{id})
</if>
GROUP BY
a.name,a.id
ORDER BY
a.name,a.id
LIMIT ${pageNum}, ${pageSize}
</select>
<select id="selectResourceCarNum" parameterType="java.util.Map" resultType="integer">
SELECT COUNT(a.id) as resourceCarNum
FROM
tb_resource_car a
INNER JOIN
tb_data_resource b
ON
a.resource_id = b.id
INNER JOIN sys_dept c
ON b.dept_id = c.id
WHERE
a.del_flag = 0 AND b.del_flag = 0
<if test="id != null and id != ''">
and (c.id= #{id} OR INSTR(c.pids,#{id}))
</if>
<if test="resourceType != null and resourceType != ''">
2022-08-30 15:20:35 +08:00
AND MATCH (b.type) AGAINST ( #{resourceType} IN BOOLEAN MODE)
</if>
</select>
<select id="selectResourceCollectionNum" parameterType="java.util.Map" resultType="integer">
SELECT COUNT(a.id) as resourceCollectionNum
FROM
tb_resource_collection a
INNER JOIN
tb_data_resource b
ON
a.resource_id = b.id
INNER JOIN sys_dept c
ON b.dept_id = c.id
WHERE
a.del_flag = 0 AND b.del_flag = 0
<if test="id != null and id != ''">
and (c.id = #{id} OR INSTR(c.pids,#{id}))
</if>
<if test="resourceType != null and resourceType != ''">
2022-08-30 15:20:35 +08:00
AND MATCH (b.type) AGAINST ( #{resourceType} IN BOOLEAN MODE)
</if>
</select>
<select id="selectResourceBrowseNum" parameterType="java.util.Map" resultType="integer">
SELECT COUNT(a.id) as resourceBrowseNum
FROM
tb_resource_browse a
INNER JOIN
tb_data_resource b
ON
a.resource_id = b.id
INNER JOIN sys_dept c
ON b.dept_id = c.id
WHERE
a.state = 0 AND b.del_flag = 0
<if test="id != null and id != ''">
and (c.id = #{id} OR INSTR(c.pids,#{id}))
</if>
<if test="resourceType != null and resourceType != ''">
2022-08-30 15:20:35 +08:00
AND MATCH (b.type) AGAINST ( #{resourceType} IN BOOLEAN MODE)
</if>
</select>
<select id="selectResourceRelNum" parameterType="java.util.Map" resultType="integer">
SELECT COUNT(a.key_id) as resourceBrowseNum
FROM
tb_data_resource_rel a
INNER JOIN
tb_data_resource b
ON
a.reference_id = b.id
2022-07-06 17:46:51 +08:00
INNER JOIN sys_dept c
ON b.dept_id = c.id
WHERE
a.del_flag = 0 AND b.del_flag = 0
<if test="id != null and id != ''">
and (c.id = #{id} OR INSTR(c.pids,#{id}))
</if>
<if test="resourceType != null and resourceType != ''">
2022-08-30 15:20:35 +08:00
AND MATCH (b.type) AGAINST ( #{resourceType} IN BOOLEAN MODE)
</if>
</select>
<select id="selectResourceShare" parameterType="java.util.Map" resultType="integer">
SELECT COUNT(a.id) AS nums
FROM
tb_data_resource a
INNER JOIN sys_dept b
ON a.dept_id = b.id
WHERE
a.del_flag = 0
<if test="id != null and id != ''">
and (b.id = #{id} OR INSTR(b.pids,#{id}))
</if>
<if test="resourceType != null and resourceType != ''">
2022-08-30 15:20:35 +08:00
AND MATCH (a.type) AGAINST ( #{resourceType} IN BOOLEAN MODE)
</if>
<if test="shareCondition != null and shareCondition != ''">
AND
a.share_condition = #{shareCondition}
</if>
</select>
<select id="selectResurceCarDetails" parameterType="java.util.Map" resultType="java.util.Map">
SELECT COUNT(a.id) AS resourceCarNum,
c.name as deptName,c.id,COUNT(e.id) as useNum
FROM
tb_resource_car a
INNER JOIN
sys_user b
ON
a.user_id = b.id
INNER JOIN
sys_dept c
ON
b.dept_id = c.id
INNER JOIN
tb_data_resource d
ON
a.resource_id = d.id
2022-06-27 17:30:14 +08:00
INNER JOIN tb_data_resource_rel e
ON
b.id = e.creator
where
(c.id = #{id} or c.pids LIKE CONCAT('%',CONCAT(#{id},'%')))
2022-08-30 15:20:35 +08:00
AND MATCH (d.type) AGAINST ( #{resourceType} IN BOOLEAN MODE)
AND
a.del_flag = 0
AND
d.del_flag = 0
2022-07-28 16:55:04 +08:00
GROUP BY
c.name,c.id
2022-07-28 16:55:04 +08:00
ORDER BY
c.name,c.id
LIMIT ${pageNum}, ${pageSize}
</select>
<!-- 根据组件类型查询部门申请组件的数量-->
<select id="assemblyCarByDept" parameterType="java.util.Map" resultType="java.util.Map">
2022-07-06 17:46:51 +08:00
SELECT COUNT(a.id) as carNum FROM tb_resource_car a INNER JOIN sys_user b ON a.user_id = b.id INNER JOIN
sys_dept c
ON b.dept_id = c.id INNER JOIN tb_data_resource d ON a.resource_id = d.id
2022-08-30 15:20:35 +08:00
WHERE a.del_flag = 0 AND (c.id = #{id} OR INSTR(c.pids,#{id})) AND MATCH (d.type) AGAINST ( #{resourceType} IN
BOOLEAN MODE) AND d.del_flag = 0
</select>
<!--根据组件类型查询部门使用组件的数量-->
<select id="assemblyUseByDept" parameterType="java.util.Map" resultType="java.util.Map">
SELECT COUNT(DISTINCT(b.reference_id)) AS useNum FROM
2022-07-06 17:46:51 +08:00
(
SELECT a.id FROM tb_data_resource a INNER JOIN sys_dept b ON a.dept_id = b.id
WHERE a.del_flag = 0 AND a.type='应用资源' AND (b.id = #{id} OR INSTR(b.pids,#{id}))
) a
INNER JOIN tb_data_resource_rel b ON a.id = b.key_id WHERE b.del_flag = 0
</select>
<select id="selectCountByDepts" resultType="java.util.Map">
SELECT
type,
count(id) AS "count"
FROM tb_data_resource
WHERE 1=1
AND del_flag = 0
2022-06-30 16:31:22 +08:00
<if test="null != list">
AND dept_id in
<foreach item="deptId" collection="list" open="(" separator="," close=")">
#{deptId}
</foreach>
</if>
GROUP BY type
ORDER BY type
</select>
<select id="selectCountByIds" resultType="java.util.Map">
SELECT
type,
count(id) AS "count"
FROM tb_data_resource
WHERE 1=1
AND del_flag = 0
AND id in
2022-07-06 17:58:24 +08:00
<foreach item="resourceId" collection="list" open="(" separator="," close=")">
#{resourceId}
</foreach>
GROUP BY type
ORDER BY type
</select>
<select id="selectDeptResourceByApplyNum" resultType="java.util.Map">
2022-07-11 09:17:28 +08:00
SELECT tdr.name, count(taa.id) as count
2022-07-01 15:55:09 +08:00
FROM tb_data_resource tdr left join t_ability_application taa on tdr.id=taa.resource_id
2022-07-11 09:17:28 +08:00
WHERE
1 = 1
AND tdr.del_flag = 0
2022-06-30 16:31:22 +08:00
<if test="null != list">
2022-07-11 09:17:28 +08:00
and tdr.dept_id in
2022-06-30 16:31:22 +08:00
<foreach item="deptId" collection="list" open="(" separator="," close=")">
#{deptId}
</foreach>
</if>
2022-07-28 16:55:04 +08:00
GROUP BY tdr.id ORDER BY count desc
</select>
2022-07-11 09:17:28 +08:00
<select id="selectUsersApplyAndCount" resultMap="resourceDTO">
SELECT tdr.*, count(taa.id) as applyCount
FROM tb_data_resource tdr left join t_ability_application taa on tdr.id=taa.resource_id
WHERE
1 = 1
AND tdr.del_flag = 0
2022-07-28 16:55:04 +08:00
<if test="null != userIds and userIds.size > 0">
2022-07-11 09:17:28 +08:00
and taa.user_id in
<foreach item="userId" collection="userIds" open="(" separator="," close=")">
#{userId}
</foreach>
</if>
2022-07-28 16:55:04 +08:00
GROUP BY tdr.id ORDER BY applyCount desc
2022-07-11 09:17:28 +08:00
</select>
2022-06-30 16:31:22 +08:00
<select id="trafficDeptResource" resultType="java.util.Map">
SELECT
2022-07-06 17:46:51 +08:00
SUBSTR(create_date, 1, 10) AS "date",
COUNT( id ) AS "count"
2022-06-30 16:31:22 +08:00
FROM
2022-07-06 17:46:51 +08:00
tb_data_resource tdr
2022-06-30 16:31:22 +08:00
WHERE
2022-07-06 17:46:51 +08:00
1 = 1
AND del_flag = 0
2022-06-30 16:31:22 +08:00
<if test="null != deptIds">
AND tdr.dept_id IN
<foreach item="deptId" collection="deptIds" open="(" separator="," close=")">
#{deptId}
</foreach>
</if>
2022-07-06 17:46:51 +08:00
AND SUBSTR(create_date, 1, 10) BETWEEN #{startDate} AND #{endDate}
2022-06-30 16:31:22 +08:00
GROUP BY
2022-07-06 17:46:51 +08:00
SUBSTR(create_date, 1, 10)
2022-06-30 16:31:22 +08:00
</select>
<select id="selectDayAvg" resultType="java.lang.Long">
SELECT IFNULL(COUNT(id), 0) / ${days}
FROM tb_data_resource
WHERE 1 = 1
2022-07-06 17:46:51 +08:00
AND del_flag=0
2022-06-30 16:31:22 +08:00
</select>
<select id="selectDayMax" resultType="java.lang.Integer">
SELECT IFNULL(MAX(count), 0)
FROM
2022-07-06 17:46:51 +08:00
(SELECT
COUNT( id ) AS "count"
FROM
tb_data_resource
WHERE
1 = 1
AND del_flag = 0
GROUP BY
SUBSTR(create_date, 1, 10)) temp
2022-06-30 16:31:22 +08:00
</select>
2022-06-29 19:25:11 +08:00
<select id="selectCameraDTOById" resultMap="resourceDTO">
2022-07-06 17:46:51 +08:00
SELECT tdr.*, tda.* FROM tb_data_resource tdr, tb_data_attr tda WHERE tdr.id = tda.data_resource_id AND
tdr.del_flag = 0 AND tdr.id = #{id}
2022-06-29 19:25:11 +08:00
</select>
<select id="selectDevelopDocResource" resultType="java.util.Map">
2022-08-30 10:08:30 +08:00
SELECT DISTINCT
tdr.id,
tdr.NAME AS title,
tdr.type,
tda.attr_value AS doc
FROM
tb_data_resource tdr
RIGHT JOIN tb_data_attr tda ON tdr.id = tda.data_resource_id
WHERE
tdr.del_flag != 1
AND tda.del_flag = 0
AND tda.attr_type = '技术文档'
</select>
<select id="resourceInstallationOrDataResourceDetails" parameterType="java.util.Map" resultType="java.util.Map">
SELECT COUNT(a.id) AS resourceNum,a.dept_id AS deptId,b.name AS deptName
2022-08-17 15:43:27 +08:00
FROM tb_data_resource a INNER JOIN sys_dept b ON a.dept_id = b.id
2022-08-30 15:20:35 +08:00
WHERE
MATCH (a.type) AGAINST ( #{resourceType} IN BOOLEAN MODE)
AND a.del_flag = 0
<if test="id != '0'.toString()">
AND (b.ID = #{id} OR INSTR(b.pids,#{id}))
</if>
GROUP BY a.dept_id,b.name
ORDER BY a.dept_id,b.name
</select>
2022-08-09 16:52:04 +08:00
<select id="selectAppList" resultType="java.util.Map">
SELECT
2022-08-17 15:43:27 +08:00
tdr.id,
tdr.`name`,
tdr.dept_id,
sd.name AS "deptName",
sd.sort AS "deptSort",
sd.type AS "deptType",
sr.sort AS "regionSort",
2022-09-19 11:49:06 +08:00
IFNULL( tdr.visitor, 0 ) AS visitor
2022-08-17 15:43:27 +08:00
FROM
tb_data_resource tdr
2022-08-09 16:52:04 +08:00
LEFT JOIN sys_dept sd ON tdr.dept_id = sd.id
LEFT JOIN sys_region sr ON sd.district = sr.id
2022-08-09 16:52:04 +08:00
WHERE
2022-08-17 15:43:27 +08:00
1 = 1
2022-08-30 15:20:35 +08:00
AND MATCH (tdr.type) AGAINST ( '应用资源' IN BOOLEAN MODE)
2022-08-17 15:43:27 +08:00
AND tdr.del_flag = 0
<if test=" type != null and type != ''">
AND sd.type = #{type}
</if>
<if test=" area != null and area != ''">
AND JSON_CONTAINS( tdr.info_list, JSON_OBJECT( 'attrType', '应用领域' ))
AND JSON_EXTRACT( tdr.info_list, '$[*].attrValue' ) LIKE CONCAT( '%', #{area}, '%' )
</if>
2022-08-09 16:52:04 +08:00
ORDER BY
2022-08-17 15:43:27 +08:00
sd.type, sr.sort, sd.sort, tdr.dept_id, tdr.visitor DESC, tdr.id DESC
2022-08-09 16:52:04 +08:00
LIMIT ${pageNum}, 9
</select>
<select id="selectPicByResId" resultType="java.lang.String">
SELECT
2022-08-17 15:43:27 +08:00
tda.attr_value
2022-08-09 16:52:04 +08:00
FROM
2022-08-17 15:43:27 +08:00
tb_data_attr tda
LEFT JOIN tb_data_resource tdr ON tda.data_resource_id = tdr.id
2022-08-09 16:52:04 +08:00
WHERE
2022-08-17 15:43:27 +08:00
tda.attr_type = '应用图片'
AND tdr.id = #{id}
AND tda.del_flag = 0
2022-08-09 16:52:04 +08:00
</select>
<select id="selectTypeCountByName" resultType="java.util.Map">
SELECT
type,
count(id) AS "count"
FROM tb_data_resource
WHERE 1 = 1
AND del_flag = 0
<if test="keyWorld != null and keyWorld != ''">
AND MATCH (name) AGAINST ( #{keyWorld} IN BOOLEAN MODE)
</if>
AND type != '赋能案例'
GROUP BY type
ORDER BY type
</select>
<select id="countByCIMType" resultType="java.util.Map">
SELECT
2022-08-30 15:20:35 +08:00
'平台' AS type,
COUNT( id ) AS "count"
FROM
2022-08-30 15:20:35 +08:00
tb_data_resource tdr
WHERE
2022-08-30 15:20:35 +08:00
del_flag = 0
AND dept_id = #{deptId}
AND
2022-08-31 09:47:46 +08:00
MATCH (type) AGAINST ( '应用资源' IN BOOLEAN MODE)
2022-08-30 15:20:35 +08:00
UNION
SELECT
2022-08-30 15:20:35 +08:00
( CASE tda.attr_value WHEN '智能算法' THEN '组件' WHEN '图层服务' THEN '图层' ELSE '其他' END ) AS "type",
COUNT( tdr.id ) AS "count"
FROM
2022-08-30 15:20:35 +08:00
tb_data_resource tdr,
tb_data_attr tda
WHERE
2022-08-30 15:20:35 +08:00
tdr.del_flag = 0
AND tda.del_flag = 0
AND tdr.id = tda.data_resource_id
AND tdr.dept_id = #{deptId}
2022-08-31 09:47:46 +08:00
AND MATCH (tdr.type) AGAINST ( '组件服务' IN BOOLEAN MODE)
2022-08-30 15:20:35 +08:00
AND tda.attr_type = '组件类型'
AND tda.attr_value IN ( '智能算法', '图层服务' )
GROUP BY
2022-08-30 15:20:35 +08:00
tda.attr_value
</select>
<select id="getCIMApplyApplicationList" resultType="java.util.Map">
SELECT
2022-08-30 15:20:35 +08:00
tdr.id,
tdr.name,
tdr.description,
tda.attr_value AS "pic",
tdr.create_date
FROM
tb_data_resource tdr,
tb_data_attr tda
WHERE
2022-08-30 15:20:35 +08:00
tdr.id = tda.data_resource_id
AND tdr.del_flag = 0
AND tda.del_flag = 0
2022-08-31 09:47:46 +08:00
AND MATCH (tdr.type) AGAINST ( '应用资源' IN BOOLEAN MODE)
2022-08-30 15:20:35 +08:00
AND tda.attr_type = '应用图片'
AND tdr.dept_id = #{deptId}
ORDER BY
2022-08-30 15:20:35 +08:00
tdr.create_date
</select>
2022-08-30 15:20:35 +08:00
<select id="getImgServices" resultType="java.util.Map">
SELECT A.*,IFNULL(c.attr_value,'') as link
FROM
2022-08-30 15:20:35 +08:00
(
SELECT m.* FROM
(
SELECT a.name,a.id,a.info_list FROM tb_data_resource a INNER JOIN tb_data_attr b ON a.id = b.data_resource_id
2022-08-31 09:47:46 +08:00
WHERE a.dept_id = #{deptid} AND a.del_flag = 0 and MATCH (a.type) AGAINST ( '组件服务' IN BOOLEAN MODE)
AND (b.attr_type = '组件类型' AND MATCH (b.attr_value) AGAINST ( '图层服务' IN BOOLEAN MODE)) AND b.del_flag = 0
2022-08-30 15:20:35 +08:00
) m
INNER JOIN tb_data_attr b ON m.id = b.data_resource_id
AND b.attr_type = '分类' AND LOCATE(#{type},b.attr_value) AND b.del_flag = 0
) A
LEFT JOIN tb_data_attr c
ON A.id = c.data_resource_id
AND c.attr_type = '图层缩略图'
AND c.del_flag = 0
</select>
<select id="cimAssemblyResources" resultType="java.util.Map">
2022-08-19 14:35:56 +08:00
SELECT a.name,a.id
FROM tb_data_resource a INNER JOIN tb_data_attr b ON a.id = b.data_resource_id
WHERE
2022-08-30 15:20:35 +08:00
a.dept_id = #{deptid}
2022-08-31 09:47:46 +08:00
AND MATCH (a.type) AGAINST ( '组件服务' IN BOOLEAN MODE)
2022-08-19 14:35:56 +08:00
AND a.del_flag = 0
2022-08-31 09:47:46 +08:00
AND (b.attr_type = '组件类型' AND MATCH (b.attr_value) AGAINST ( '智能算法' IN BOOLEAN MODE))
2022-08-19 14:35:56 +08:00
AND b.del_flag = 0
</select>
<select id="selectApplyDeptDetailTypeCountList" resultType="java.util.Map">
SELECT
2022-09-29 17:51:37 +08:00
COUNT( taa.resource_id ) AS "count",
sd.NAME AS "deptName",
(
CASE
tdr.type
WHEN '应用资源' THEN
'yyzy'
WHEN '智能算法' THEN
'znsf'
WHEN '图层服务' THEN
'tcfw'
WHEN '开发组件' THEN
'kfzj'
WHEN '业务组件' THEN
'ywzj'
WHEN '基础设施' THEN
'jcss'
WHEN '知识库' THEN
'zsk'
WHEN '数据资源' THEN
'sjzy' ELSE 'yyzy'
END
) AS "type"
FROM
(SELECT IF(d.type='组件服务', A.attr_value, d.type) AS type, d.id, d.del_flag FROM tb_data_resource d LEFT JOIN
tb_data_attr a ON d.id=a.data_resource_id AND a.attr_type='组件类型' AND a.del_flag=0) tdr,
sys_dept sd,
sys_user su,
t_ability_application taa
WHERE
2022-09-29 17:51:37 +08:00
1 = 1
AND tdr.del_flag = 0
AND taa.user_id = su.id
AND su.dept_id = sd.id
AND taa.resource_id = tdr.id
AND (tdr.type = '应用资源' OR tdr.type = '智能算法' OR tdr.type = '图层服务' OR tdr.type = '开发组件' OR
tdr.type = '业务组件')
2022-09-14 19:38:51 +08:00
<choose>
<when test="approveStatus != null and approveStatus != ''">
AND taa.approve_status = #{approveStatus}
</when>
<otherwise>
AND taa.approve_status != '不通过'
</otherwise>
</choose>
2022-09-29 11:15:14 +08:00
<if test="deptId != null and deptId != ''">
AND sd.id = #{deptId}
</if>
<if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
AND SUBSTR(taa.create_date, 1, 10) BETWEEN #{startDate} AND #{endDate}
</if>
GROUP BY
2022-09-29 17:51:37 +08:00
sd.id,
tdr.type
</select>
<select id="selectDeptDetailTypeCountList" resultType="java.util.Map">
SELECT
2022-09-29 17:51:37 +08:00
COUNT( tdr.id ) AS "count",
sd.NAME AS "deptName",
(CASE tdr.type
WHEN '应用资源' THEN 'yyzy'
WHEN '智能算法' THEN 'znsf'
WHEN '图层服务' THEN 'tcfw'
WHEN '开发组件' THEN 'kfzj'
WHEN '业务组件' THEN 'ywzj'
WHEN '基础设施' THEN 'jcss'
WHEN '知识库' THEN 'zsk'
WHEN '数据资源' THEN 'sjzy'
ELSE 'yyzy' END)AS "type"
FROM
(SELECT IF(d.type='组件服务', A.attr_value, d.type) AS type, d.id, d.del_flag, d.dept_id, d.create_date FROM
tb_data_resource d LEFT JOIN tb_data_attr a ON d.id=a.data_resource_id AND a.attr_type='组件类型' AND
a.del_flag=0) tdr,
sys_dept sd
WHERE
2022-09-29 17:51:37 +08:00
1 = 1
AND tdr.dept_id = sd.id
AND (tdr.type = '应用资源' OR tdr.type = '智能算法' OR tdr.type = '图层服务' OR tdr.type = '开发组件' OR
tdr.type = '业务组件')
2022-09-14 19:38:51 +08:00
<choose>
<when test="approveStatus != null and approveStatus == '通过'">
AND tdr.del_flag = 0
</when>
<when test="approveStatus != null and approveStatus == '审核中'">
AND tdr.del_flag in (2, 3)
</when>
<otherwise>
AND tdr.del_flag in (0, 2, 3)
</otherwise>
</choose>
<if test="deptId != null and deptId != ''">
AND sd.id = #{deptId}
</if>
<if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
AND SUBSTR(tdr.create_date, 1, 10) BETWEEN #{startDate} AND #{endDate}
</if>
GROUP BY
2022-09-29 17:51:37 +08:00
tdr.dept_id,
tdr.type
</select>
2022-09-14 17:09:13 +08:00
<select id="selectCensusResourceTable" resultType="java.util.Map">
2022-09-29 17:51:37 +08:00
SELECT sd.name AS deptName, tdr.name AS resourceName, tdr.type, tdr.create_date AS createDate,
if(tdr.del_flag=0, '审核通过', '审核中') AS approveStatus
FROM (SELECT IF(d.type='组件服务', A.attr_value, d.type) AS type, d.id, d.del_flag, d.dept_id, d.create_date,
d.name
FROM tb_data_resource d LEFT JOIN tb_data_attr a ON d.id=a.data_resource_id AND a.attr_type='组件类型' AND
a.del_flag=0
WHERE d.type NOT IN ('知识库','基础设施','数据资源')) tdr,
sys_dept sd
2022-09-14 17:09:13 +08:00
WHERE 1=1 AND tdr.dept_id=sd.id
2022-09-14 19:38:51 +08:00
<choose>
<when test="approveStatus != null and approveStatus == '通过'">
AND tdr.del_flag = 0
</when>
<when test="approveStatus != null and approveStatus == '审核中'">
AND tdr.del_flag in (2, 3)
</when>
<otherwise>
AND tdr.del_flag in (0, 2, 3)
</otherwise>
</choose>
2022-09-14 17:09:13 +08:00
<if test="deptId != null and deptId != ''">
AND sd.id = #{deptId}
</if>
<if test="type != null and type != ''">
AND tdr.type = #{type}
</if>
<if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
AND SUBSTR(tdr.create_date, 1, 10) BETWEEN #{startDate} AND #{endDate}
</if>
ORDER BY tdr.create_date DESC
</select>
<select id="selectCensusApplyTable" resultType="java.util.Map">
2022-09-29 17:51:37 +08:00
SELECT sd.name AS deptName, tdr.name AS resourceName, tdr.type, taa.create_date AS createDate,
taa.approve_status AS approveStatus
FROM (SELECT IF(d.type='组件服务', A.attr_value, d.type) AS type, d.id, d.del_flag, d.dept_id, d.create_date,
d.name
FROM tb_data_resource d LEFT JOIN tb_data_attr a ON d.id=a.data_resource_id AND a.attr_type='组件类型' AND
a.del_flag=0
WHERE d.type NOT IN ('知识库','基础设施','数据资源')) tdr,
sys_dept sd,
sys_user su,
t_ability_application taa
2022-09-14 17:09:13 +08:00
WHERE 1 = 1
2022-09-29 17:51:37 +08:00
AND tdr.del_flag = 0
AND taa.user_id = su.id
AND su.dept_id = sd.id
AND taa.resource_id = tdr.id
2022-09-14 19:38:51 +08:00
<choose>
<when test="approveStatus != null and approveStatus != ''">
AND taa.approve_status = #{approveStatus}
</when>
<otherwise>
AND taa.approve_status != '不通过'
</otherwise>
</choose>
2022-09-14 17:09:13 +08:00
<if test="deptId != null and deptId != ''">
AND sd.id = #{deptId}
</if>
<if test="type != null and type != ''">
AND tdr.type = #{type}
</if>
<if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
AND SUBSTR(taa.create_date, 1, 10) BETWEEN #{startDate} AND #{endDate}
</if>
ORDER BY taa.create_date DESC
</select>
<select id="selectCollectList" resultType="java.util.Map">
SELECT tda.attr_value as type, count(*) as count FROM tb_data_resource tdr
LEFT JOIN tb_data_attr tda ON tdr.id=tda.data_resource_id AND tda.attr_type=#{attrType} AND tda.del_flag=0
WHERE 1=1 AND tdr.del_flag=0 AND tdr.type=#{resourceType}
GROUP BY tda.attr_value
ORDER BY count DESC
</select>
<select id="selectCollectResourceList" resultType="java.util.Map">
SELECT tda.attr_value as type, count(*) as count FROM tb_data_resource tdr LEFT JOIN
(SELECT a.data_resource_id, a.id, a.attr_type, substring_index(substring_index(a.attr_value, ';', b.help_topic_id + 1), ';', - 1) AS attr_value
FROM tb_data_attr a INNER JOIN mysql.help_topic b ON a.attr_type='应用领域' AND a.del_flag=0 AND b.help_topic_id <![CDATA[ < ]]> (length(a.attr_value) - length(REPLACE(a.attr_value, ';', '')) + 1)) tda
ON tdr.id=tda.data_resource_id
WHERE 1=1 AND tdr.del_flag=0 AND tdr.type='应用资源'
GROUP BY tda.attr_value
ORDER BY count DESC
</select>
</mapper>