123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227 |
- <?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.redxun.knowledge.analysis.mapper.AnalysisAlbumMapper">
- <select id="selectCategory" resultType="string">
- select PK_ID
- FROM KM_ALBUM_CATEGORY
- where PARENT = '0' and IS_DEL = 0
- </select>
- <select id="selectAlbumId" resultType="int">
- select count(*)
- from KM_ALBUM_INFO
- WHERE CATEGORY_ID IN (SELECT c.PK_ID
- FROM KM_ALBUM_CATEGORY c
- START WITH c.PK_ID = #{categoryId}
- CONNECT BY PRIOR c.PK_ID = c.PARENT)
- <if test="firstDay != null and lastDay != null">
- and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') >= #{firstDay}
- and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') <= #{lastDay}
- </if>
- </select>
- <select id="selectKnowledge" resultType="int">
- select NVL(sum(count(*)),0)
- from KM_ALBUM_CATALOGUE_KNOWLEDGE
- where CATALOGUE_ID in (
- select PK_ID
- from KM_ALBUM_CATALOGUE
- WHERE ALBUM_ID in (select PK_ID
- from KM_ALBUM_INFO
- WHERE CATEGORY_ID IN (SELECT c.PK_ID
- FROM KM_ALBUM_CATEGORY c
- WHERE c.IS_DEL = 0
- START WITH c.PK_ID = #{categoryId}
- CONNECT BY PRIOR c.PK_ID = c.PARENT
- and c.IS_DEL = 0)
- <if test="firstDay != null and lastDay != null">
- and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') >= #{firstDay}
- and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') <= #{lastDay}
- </if>))
- group by CATALOGUE_ID
- </select>
- <select id="organizationAlbums" resultType="com.redxun.knowledge.analysis.entity.vo.AlbumCompanyVo">
- select companyId as company, NVL(b.album,0) as album, NVL(a.pv,0) as pv
- from (
- (select COMPANY_ID as companyId, count(*) pv from KM_PV_LOG
- <where>
- MODULE = '知识专辑'
- <if test="firstDay != null and lastDay != null">
- and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') >= #{firstDay}
- and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') <= #{lastDay}
- </if>
- </where>
- group by COMPANY_ID) a
- full join
- (select users.COMPANY_ID_ as companyId, count(*) album from KM_ALBUM_INFO album
- join LEARNING_USER_DEV.OS_USER users
- on album.CREATE_BY_ = users.USER_ID_
- <where>
- <if test="firstDay != null and lastDay != null">
- and TO_CHAR(album.CREATE_TIME_,'yyyy-mm-dd') >= #{firstDay}
- and TO_CHAR(album.CREATE_TIME_,'yyyy-mm-dd') <= #{lastDay}
- </if>
- </where>
- group by users.COMPANY_ID_) b
- using (companyId)
- )
- order by album desc
- </select>
- <select id="albumAmount" resultType="com.redxun.knowledge.analysis.entity.vo.CreateCountLabel">
- <if test="type != null and type == 'year'">
- select t2.name,nvl(value,0) value from (
- </if>
- select
- <if test="firstDay == null and lastDay == null">
- concat(concat(substr(to_char(CREATE_TIME_,'yyyy-mm'),1,instr(to_char(CREATE_TIME_,'yyyy-mm'),'-',-1) -
- 1),'年'),
- concat(ltrim(SUBSTR( to_char(CREATE_TIME_,'yyyy-mm'), INSTR( to_char(CREATE_TIME_,'yyyy-mm'), '-', 1 ) + 1
- ),'0'),'月')) name
- </if>
- <if test="firstDay != null and lastDay != null">
- concat(ltrim(to_char(CREATE_TIME_,'mm'),'0'),'月') name
- </if>
- ,count(*) value from KM_ALBUM_INFO
- <where>
- <if test="firstDay != null and lastDay != null">
- TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') >= #{firstDay}
- and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') <= #{lastDay}
- </if>
- </where>
- <if test="firstDay == null and lastDay == null">
- group by to_char(CREATE_TIME_,'yyyy-mm')
- order by to_char(CREATE_TIME_,'yyyy-mm')
- </if>
- <if test="firstDay != null and lastDay != null">
- group by to_char(CREATE_TIME_,'mm')
- order by to_char(CREATE_TIME_,'mm')
- </if>
- <if test="type != null and type == 'year'">
- ) t1
- right join
- (select concat(ltrim(to_char(monthlist, 'mm'), '0'), '月') name, monthlist
- from (
- SELECT ADD_MONTHS(TO_DATE(#{firstDay}, 'yyyy-MM-dd'), ROWNUM - 1) as monthlist
- FROM DUAL
- CONNECT BY ROWNUM <=
- months_between(to_date(#{lastDay}, 'yyyy-MM-dd'),
- to_date(#{firstDay}, 'yyyy-MM-dd')) + 1
- order by monthlist)) t2
- on t1.name = t2.name
- order by t2.monthlist
- </if>
- </select>
- <select id="selectCategoryName" resultType="string">
- select NAME from KM_ALBUM_CATEGORY where PK_ID = #{categoryId}
- </select>
- <select id="organizationAlbum" resultType="com.redxun.knowledge.analysis.entity.vo.AlbumCompanyVo">
- select NVL(album, 0) as album, NVL(pv, 0) as pv
- from (select count(*) pv
- from KM_PV_LOG
- <where>
- <if test="organizationId != null">
- COMPANY_ID in (
- select GROUP_ID_
- from LEARNING_USER_DEV.OS_GROUP
- where GROUP_ID_ in (
- SELECT GROUP_ID_
- FROM LEARNING_USER_DEV.OS_GROUP c
- START WITH c.GROUP_ID_ = #{organizationId}
- CONNECT BY PRIOR c.GROUP_ID_ = c.PARENT_ID_
- )
- )
- </if>
- and MODULE = '知识专辑'
- <if test="firstDay != null and lastDay != null">
- and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') >= #{firstDay}
- and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') <= #{lastDay}
- </if>
- </where>
- ),
- (select count(*) album from KM_ALBUM_INFO album
- <where>
- <if test="organizationId != null">
- CREATE_DEP_ID_
- in ( SELECT GROUP_ID_ FROM LEARNING_USER_DEV.OS_GROUP c START WITH c.GROUP_ID_ = #{organizationId} CONNECT
- BY PRIOR c.GROUP_ID_ = c.PARENT_ID_ )
- </if>
- <if test="firstDay != null and lastDay != null">
- and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') >= #{firstDay}
- and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') <= #{lastDay}
- </if>
- </where>
- )
- </select>
- <select id="albumAmountByMonth" resultType="com.redxun.knowledge.analysis.entity.vo.CreateCountLabel">
- select s2.name,nvl(value,0) value from (
- select to_char(CREATE_TIME_, 'mm"月"dd"日"') name, count(*) value
- from KM_ALBUM_INFO
- WHERE TO_CHAR(CREATE_TIME_, 'yyyy-mm-dd') >= #{firstDay}
- and TO_CHAR(CREATE_TIME_, 'yyyy-mm-dd') <= #{lastDay}
- group by to_char(CREATE_TIME_, 'mm"月"dd"日"')
- order by to_char(CREATE_TIME_, 'mm"月"dd"日"')
- ) s1
- right join (
- SELECT to_char(day, 'mm"月"dd"日"') as name, day
- from (
- SELECT SYSDATE - rownum + 1 as day
- FROM dual
- CONNECT BY ROWNUM <= 30
- )
- ORDER BY day asc) s2 on s1.name = s2.name order by day
- </select>
- <select id="personAlbumValue" resultType="com.redxun.knowledge.analysis.entity.vo.AlbumCompanyVo">
- select NVL(album, 0) as album, NVL(pv, 0) as pv
- from (select count(*) pv
- from KM_PV_LOG
- <where>
- <if test="round == 2">
- COMPANY_ID in (
- select GROUP_ID_
- from LEARNING_USER_DEV.OS_GROUP
- where GROUP_ID_ in (
- SELECT GROUP_ID_
- FROM LEARNING_USER_DEV.OS_GROUP c
- START WITH c.GROUP_ID_ = #{id}
- CONNECT BY PRIOR c.GROUP_ID_ = c.PARENT_ID_
- )
- )
- </if>
- <if test="round == 1">
- USER_ID = #{id}
- </if>
- and MODULE = '知识专辑'
- <if test="firstDay != null and lastDay != null">
- and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') >= #{firstDay}
- and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') <= #{lastDay}
- </if>
- </where>
- ),
- (select count(*) album from KM_ALBUM_INFO album
- <where>
- <if test="round == 2">
- CREATE_DEP_ID_
- in ( SELECT GROUP_ID_ FROM LEARNING_USER_DEV.OS_GROUP c START WITH c.GROUP_ID_ = #{id} CONNECT
- BY PRIOR c.GROUP_ID_ = c.PARENT_ID_ )
- </if>
- <if test="round == 1">
- CREATE_BY_ = #{id}
- </if>
- <if test="firstDay != null and lastDay != null">
- and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') >= #{firstDay}
- and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') <= #{lastDay}
- </if>
- </where>
- )
- </select>
- </mapper>
|