123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211 |
- <?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.mapper.KnowledgeMapper">
- <resultMap id="Knowledge" type="com.redxun.knowledge.entity.dao.Knowledge">
- <id property="pkId" column="PK_ID" jdbcType="VARCHAR"/>
- <result property="categoryId" column="CATEGORY_ID" jdbcType="VARCHAR"/>
- <result property="titles" column="TITLES" jdbcType="VARCHAR"/>
- <result property="type" column="TYPE" jdbcType="INTEGER"/>
- <result property="summary" column="SUMMARY" jdbcType="VARCHAR"/>
- <result property="views" column="VIEWS" jdbcType="INTEGER"/>
- <result property="author" column="AUTHOR" jdbcType="VARCHAR"/>
- <result property="content" column="CONTENT" jdbcType="CLOB"
- typeHandler="org.apache.ibatis.type.ClobTypeHandler"/>
- <result property="attachment" column="ATTACHMENT" jdbcType="VARCHAR"/>
- <result property="attachmentName" column="ATTACHMENT_NAME" jdbcType="VARCHAR"/>
- <result property="attachmentType" column="ATTACHMENT_TYPE" jdbcType="INTEGER"/>
- <result property="approvalStatus" column="APPROVAL_STATUS" jdbcType="INTEGER"/>
- <result property="approvalBatch" column="APPROVAL_BATCH" jdbcType="INTEGER"/>
- <result property="organizationId" column="ORGANIZATION_ID" jdbcType="VARCHAR"/>
- <result property="isDel" column="IS_DEL" jdbcType="INTEGER"/>
- <result property="companyId" column="COMPANY_ID_" jdbcType="VARCHAR"/>
- <result property="createDepId" column="CREATE_DEP_ID_" jdbcType="VARCHAR"/>
- <result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR"/>
- <result property="createBy" column="CREATE_BY_" jdbcType="VARCHAR"/>
- <result property="createTime" column="CREATE_TIME_" jdbcType="DATE"/>
- <result property="updateBy" column="UPDATE_BY_" jdbcType="VARCHAR"/>
- <result property="updateTime" column="UPDATE_TIME_" jdbcType="DATE"/>
- <result property="documentId" column="DOCUMENT_ID" jdbcType="DATE"/>
- </resultMap>
- <sql id="COLUMNS">
- PK_ID
- ,CATEGORY_ID,TITLES,TYPE,SUMMARY,VIEWS,AUTHOR,CONTENT,ATTACHMENT,
- ATTACHMENT_NAME,ATTACHMENT_TYPE,APPROVAL_STATUS,APPROVAL_BATCH,ORGANIZATION_ID,IS_DEL,
- COMPANY_ID_,CREATE_DEP_ID_,TENANT_ID_,CREATE_BY_,CREATE_TIME_,UPDATE_BY_,UPDATE_TIME_,DOCUMENT_ID
- </sql>
- <select id="query" resultType="com.redxun.knowledge.entity.dao.Knowledge" parameterType="java.util.Map">
- select PK_ID,CATEGORY_ID,TITLE,TYPE,SUMMARY,VIEWS,AUTHOR,CONTENT,ATTACHMENT,
- ATTACHMENT_NAME,ATTACHMENT_TYPE,APPROVAL_STATUS,APPROVAL_BATCH,ORGANIZATION_ID,IS_DEL,
- COMPANY_ID_,CREATE_DEP_ID_,TENANT_ID_,CREATED_BY_,CREATED_TIME_,UPDATED_BY_,UPDATED_TIME_ from KM_KNOWLEDGE
- <where>
- <if test="@rx.Ognl@isNotEmpty(w.whereSql)">
- ${w.whereSql}
- </if>
- </where>
- <if test="@rx.Ognl@isNotEmpty(w.orderBySql)">
- ORDER BY ${w.orderBySql}
- </if>
- <if test="@rx.Ognl@isEmpty(w.orderBySql)">
- ORDER BY PK_ID DESC
- </if>
- </select>
- <select id="findAllKnowledge" resultType="com.redxun.knowledge.entity.vo.KnowledgeVo">
- SELECT
- <include refid="COLUMNS"/>
- FROM KM_KNOWLEDGE
- <where>
- <if test="@rx.Ognl@isNotEmpty(params.keyword)">
- (TITLES LIKE '%' || #{params.keyword} || '%' OR
- TYPE LIKE '%' || #{params.keyword} || '%' OR
- SUMMARY LIKE '%' || #{params.keyword} || '%')
- </if>
- <if test="@rx.Ognl@isNotEmpty(params.titles)">
- and TITLES LIKE '%' || #{params.titles} || '%'
- </if>
- <if test="@rx.Ognl@isNotEmpty(params.categoryId)">
- and CATEGORY_ID IN (
- SELECT c.PK_ID FROM KM_KNOWLEDGE_CATEGORY c START WITH c.PK_ID = #{params.categoryId} CONNECT BY PRIOR c.PK_ID = c.PARENT
- )
- </if>
- <if test="@rx.Ognl@isNotEmpty(params.type)">
- and TYPE = #{params.type}
- </if>
- <if test="@rx.Ognl@isNotEmpty(params.author)">
- and AUTHOR LIKE '%' || #{params.author} || '%'
- </if>
- <if test="@rx.Ognl@isNotEmpty(params.beginTime)">
- and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') >= #{params.beginTime}
- </if>
- <if test="@rx.Ognl@isNotEmpty(params.endTime)">
- and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') <= #{params.endTime}
- </if>
- <if test="@rx.Ognl@isNotEmpty(params.approvalStatus)">
- and APPROVAL_STATUS = 5
- </if>
- <if test="@rx.Ognl@isNotEmpty(params.isNotAudit)">
- and APPROVAL_STATUS != 5
- </if>
- <if test="@rx.Ognl@isNotEmpty(params.createBy)">
- and CREATE_BY_ = #{params.createBy}
- </if>
- and IS_DEL = 0
- </where>
- ORDER BY
- <if test="@rx.Ognl@isNotEmpty(w.orderBySql)">
- ${w.orderBySql},
- </if>
- CREATE_TIME_ DESC
- </select>
- <delete id="deleteKnowledge">
- update KM_KNOWLEDGE
- SET IS_DEL = 1,
- UPDATE_TIME_ = sysdate
- where PK_ID = #{pkId}
- </delete>
- <select id="findAllAuditKnowledge" resultType="com.redxun.knowledge.entity.vo.KnowledgeVo">
- SELECT
- k.PK_ID,k.CATEGORY_ID,k.TITLES,k.TYPE,k.SUMMARY,k.VIEWS,k.AUTHOR,k.CONTENT,k.ATTACHMENT,ka.APPROVER_ID,ka.RESULT,ka.sort
- as sort,
- ka.PK_ID AS approveId,
- ka.KNOWLEDGER_ID,ka.ACTUAL_APPROVER,ka.ACTUAL_APPROVER_NAME,ka.APPROVAL_TIME,ka.APPROVER_NAME as approverName,
- k.ATTACHMENT_NAME,k.ATTACHMENT_TYPE,k.APPROVAL_STATUS,k.APPROVAL_BATCH,k.ORGANIZATION_ID,k.IS_DEL,
- k.COMPANY_ID_,k.CREATE_DEP_ID_,k.TENANT_ID_,k.CREATE_BY_,k.CREATE_TIME_,k.UPDATE_BY_,k.UPDATE_TIME_,k.DOCUMENT_ID
- FROM KM_KNOWLEDGE k JOIN KM_KNOWLEDGE_APPROVE ka ON k.PK_ID = ka.KNOWLEDGER_ID
- <where>
- <if test="@rx.Ognl@isNotEmpty(params.titles)">
- k.TITLES LIKE '%' || #{params.titles} || '%'
- </if>
- <if test="@rx.Ognl@isNotEmpty(params.categoryId)">
- k.CATEGORY_ID IN (
- SELECT c.PK_ID FROM KM_KNOWLEDGE_CATEGORY c START WITH c.PK_ID = #{params.categoryId} CONNECT BY PRIOR c.PK_ID = c.PARENT
- )
- </if>
- <if test="@rx.Ognl@isNotEmpty(params.type)">
- and k.TYPE = #{params.type}
- </if>
- <if test="@rx.Ognl@isNotEmpty(params.author)">
- and k.AUTHOR LIKE '%' || #{params.author} || '%'
- </if>
- <if test="@rx.Ognl@isNotEmpty(params.beginTime)">
- and TO_CHAR(ka.CREATE_TIME_,'yyyy-mm-dd') >= #{params.beginTime}
- </if>
- <if test="@rx.Ognl@isNotEmpty(params.endTime)">
- and TO_CHAR(ka.CREATE_TIME_,'yyyy-mm-dd') <= #{params.endTime}
- </if>
- <if test="@rx.Ognl@isNotEmpty(params.approvalStatus)">
- and k.APPROVAL_STATUS = #{params.approvalStatus}
- </if>
- and k.IS_DEL = 0 and (APPROVAL_STATUS = 1 OR APPROVAL_STATUS = 3)
- </where>
- ORDER BY ka.CREATE_TIME_ DESC,ka.SORT ASC
- </select>
- <select id="getAllKnowledgeByCategoryId" parameterType="string" resultType="com.redxun.knowledge.entity.vo.KnowledgeVo">
- SELECT
- <include refid="COLUMNS" />
- FROM
- KM_KNOWLEDGE k
- WHERE
- k.CATEGORY_ID IN (
- SELECT c.PK_ID FROM KM_KNOWLEDGE_CATEGORY c START WITH c.PK_ID = #{params.categoryId} CONNECT BY PRIOR c.PK_ID = c.PARENT
- ) ORDER BY VIEWS DESC
- </select>
- <update id="updateApprovalStatus">
- UPDATE KM_KNOWLEDGE
- SET APPROVAL_STATUS = #{status}
- WHERE PK_ID = #{knowledgeId}
- </update>
- <select id="countAuditKnowledge" resultType="com.redxun.knowledge.entity.vo.KnowledgeVo">
- SELECT
- k.PK_ID,k.CATEGORY_ID,k.TITLES,k.TYPE,k.SUMMARY,k.VIEWS,k.AUTHOR,k.CONTENT,k.ATTACHMENT,ka.APPROVER_ID,ka.RESULT,ka.sort,
- ka.KNOWLEDGER_ID,ka.ACTUAL_APPROVER,ka.ACTUAL_APPROVER_NAME,ka.APPROVAL_TIME,
- k.ATTACHMENT_NAME,k.ATTACHMENT_TYPE,k.APPROVAL_STATUS,k.APPROVAL_BATCH,k.ORGANIZATION_ID,k.IS_DEL,
- k.COMPANY_ID_,k.CREATE_DEP_ID_,k.TENANT_ID_,k.CREATE_BY_,k.CREATE_TIME_,k.UPDATE_BY_,k.UPDATE_TIME_,k.DOCUMENT_ID
- FROM KM_KNOWLEDGE k JOIN KM_KNOWLEDGE_APPROVE ka ON k.PK_ID = ka.KNOWLEDGER_ID
- <where>
- k.IS_DEL = 0 and (APPROVAL_STATUS = 1 OR APPROVAL_STATUS = 3)
- </where>
- ORDER BY ka.CREATE_TIME_ DESC,ka.SORT ASC
- </select>
- <update id="updateViewsById">
- update KM_KNOWLEDGE
- set views = views + 1
- where PK_ID = #{pkId}
- </update>
- <!-- <insert id="insert" parameterType="com.redxun.knowledge.entity.dao.Knowledge">-->
- <!-- DECLARE-->
- <!-- V_LANG CLOB :=-->
- <!-- #{content,jdbcType=CLOB};-->
- <!-- BEGIN-->
- <!--INSERT INTO KM_KNOWLEDGE(PK_ID, TITLES,CATEGORY_ID,TYPE,SUMMARY,ATTACHMENT,ATTACHMENT_NAME,ATTACHMENT_TYPE,UPDATE_BY_,AUTHOR,CONTENT-->
- <!--)VALUES(-->
- <!-- #{pkId,jdbcType=VARCHAR},-->
- <!-- #{titles},-->
- <!-- #{categoryId},-->
- <!-- #{type},-->
- <!-- #{summary},-->
- <!-- #{attachment},-->
- <!-- #{attachmentName},-->
- <!-- #{attachmentType},-->
- <!-- #{updateBy},-->
- <!-- #{author},-->
- <!-- V_LANG-->
- <!-- );-->
- <!-- END;-->
- <!-- </insert>-->
- </mapper>
|