KnowledgeMapper.xml 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.redxun.knowledge.mapper.KnowledgeMapper">
  4. <resultMap id="Knowledge" type="com.redxun.knowledge.entity.dao.Knowledge">
  5. <id property="pkId" column="PK_ID" jdbcType="VARCHAR"/>
  6. <result property="categoryId" column="CATEGORY_ID" jdbcType="VARCHAR"/>
  7. <result property="titles" column="TITLES" jdbcType="VARCHAR"/>
  8. <result property="type" column="TYPE" jdbcType="INTEGER"/>
  9. <result property="summary" column="SUMMARY" jdbcType="VARCHAR"/>
  10. <result property="views" column="VIEWS" jdbcType="INTEGER"/>
  11. <result property="author" column="AUTHOR" jdbcType="VARCHAR"/>
  12. <result property="content" column="CONTENT" jdbcType="CLOB"
  13. typeHandler="org.apache.ibatis.type.ClobTypeHandler"/>
  14. <result property="attachment" column="ATTACHMENT" jdbcType="VARCHAR"/>
  15. <result property="attachmentName" column="ATTACHMENT_NAME" jdbcType="VARCHAR"/>
  16. <result property="attachmentType" column="ATTACHMENT_TYPE" jdbcType="INTEGER"/>
  17. <result property="approvalStatus" column="APPROVAL_STATUS" jdbcType="INTEGER"/>
  18. <result property="approvalBatch" column="APPROVAL_BATCH" jdbcType="INTEGER"/>
  19. <result property="organizationId" column="ORGANIZATION_ID" jdbcType="VARCHAR"/>
  20. <result property="isDel" column="IS_DEL" jdbcType="INTEGER"/>
  21. <result property="companyId" column="COMPANY_ID_" jdbcType="VARCHAR"/>
  22. <result property="createDepId" column="CREATE_DEP_ID_" jdbcType="VARCHAR"/>
  23. <result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR"/>
  24. <result property="createBy" column="CREATE_BY_" jdbcType="VARCHAR"/>
  25. <result property="createTime" column="CREATE_TIME_" jdbcType="DATE"/>
  26. <result property="updateBy" column="UPDATE_BY_" jdbcType="VARCHAR"/>
  27. <result property="updateTime" column="UPDATE_TIME_" jdbcType="DATE"/>
  28. <result property="documentId" column="DOCUMENT_ID" jdbcType="DATE"/>
  29. </resultMap>
  30. <sql id="COLUMNS">
  31. PK_ID
  32. ,CATEGORY_ID,TITLES,TYPE,SUMMARY,VIEWS,AUTHOR,CONTENT,ATTACHMENT,
  33. ATTACHMENT_NAME,ATTACHMENT_TYPE,APPROVAL_STATUS,APPROVAL_BATCH,ORGANIZATION_ID,IS_DEL,
  34. COMPANY_ID_,CREATE_DEP_ID_,TENANT_ID_,CREATE_BY_,CREATE_TIME_,UPDATE_BY_,UPDATE_TIME_,DOCUMENT_ID
  35. </sql>
  36. <select id="query" resultType="com.redxun.knowledge.entity.dao.Knowledge" parameterType="java.util.Map">
  37. select PK_ID,CATEGORY_ID,TITLE,TYPE,SUMMARY,VIEWS,AUTHOR,CONTENT,ATTACHMENT,
  38. ATTACHMENT_NAME,ATTACHMENT_TYPE,APPROVAL_STATUS,APPROVAL_BATCH,ORGANIZATION_ID,IS_DEL,
  39. COMPANY_ID_,CREATE_DEP_ID_,TENANT_ID_,CREATED_BY_,CREATED_TIME_,UPDATED_BY_,UPDATED_TIME_ from KM_KNOWLEDGE
  40. <where>
  41. <if test="@rx.Ognl@isNotEmpty(w.whereSql)">
  42. ${w.whereSql}
  43. </if>
  44. </where>
  45. <if test="@rx.Ognl@isNotEmpty(w.orderBySql)">
  46. ORDER BY ${w.orderBySql}
  47. </if>
  48. <if test="@rx.Ognl@isEmpty(w.orderBySql)">
  49. ORDER BY PK_ID DESC
  50. </if>
  51. </select>
  52. <select id="findAllKnowledge" resultType="com.redxun.knowledge.entity.vo.KnowledgeVo">
  53. SELECT
  54. <include refid="COLUMNS"/>
  55. FROM KM_KNOWLEDGE
  56. <where>
  57. <if test="@rx.Ognl@isNotEmpty(params.keyword)">
  58. (TITLES LIKE '%' || #{params.keyword} || '%' OR
  59. TYPE LIKE '%' || #{params.keyword} || '%' OR
  60. SUMMARY LIKE '%' || #{params.keyword} || '%')
  61. </if>
  62. <if test="@rx.Ognl@isNotEmpty(params.titles)">
  63. and TITLES LIKE '%' || #{params.titles} || '%'
  64. </if>
  65. <if test="@rx.Ognl@isNotEmpty(params.categoryId)">
  66. and CATEGORY_ID IN (
  67. SELECT c.PK_ID FROM KM_KNOWLEDGE_CATEGORY c START WITH c.PK_ID = #{params.categoryId} CONNECT BY PRIOR c.PK_ID = c.PARENT
  68. )
  69. </if>
  70. <if test="@rx.Ognl@isNotEmpty(params.type)">
  71. and TYPE = #{params.type}
  72. </if>
  73. <if test="@rx.Ognl@isNotEmpty(params.author)">
  74. and AUTHOR LIKE '%' || #{params.author} || '%'
  75. </if>
  76. <if test="@rx.Ognl@isNotEmpty(params.beginTime)">
  77. and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') &gt;= #{params.beginTime}
  78. </if>
  79. <if test="@rx.Ognl@isNotEmpty(params.endTime)">
  80. and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') &lt;= #{params.endTime}
  81. </if>
  82. <if test="@rx.Ognl@isNotEmpty(params.approvalStatus)">
  83. and APPROVAL_STATUS = 5
  84. </if>
  85. <if test="@rx.Ognl@isNotEmpty(params.isNotAudit)">
  86. and APPROVAL_STATUS != 5
  87. </if>
  88. <if test="@rx.Ognl@isNotEmpty(params.createBy)">
  89. and CREATE_BY_ = #{params.createBy}
  90. </if>
  91. and IS_DEL = 0
  92. </where>
  93. ORDER BY
  94. <if test="@rx.Ognl@isNotEmpty(w.orderBySql)">
  95. ${w.orderBySql},
  96. </if>
  97. CREATE_TIME_ DESC
  98. </select>
  99. <delete id="deleteKnowledge">
  100. update KM_KNOWLEDGE
  101. SET IS_DEL = 1,
  102. UPDATE_TIME_ = sysdate
  103. where PK_ID = #{pkId}
  104. </delete>
  105. <select id="findAllAuditKnowledge" resultType="com.redxun.knowledge.entity.vo.KnowledgeVo">
  106. SELECT
  107. 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
  108. as sort,
  109. ka.PK_ID AS approveId,
  110. ka.KNOWLEDGER_ID,ka.ACTUAL_APPROVER,ka.ACTUAL_APPROVER_NAME,ka.APPROVAL_TIME,ka.APPROVER_NAME as approverName,
  111. k.ATTACHMENT_NAME,k.ATTACHMENT_TYPE,k.APPROVAL_STATUS,k.APPROVAL_BATCH,k.ORGANIZATION_ID,k.IS_DEL,
  112. 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
  113. FROM KM_KNOWLEDGE k JOIN KM_KNOWLEDGE_APPROVE ka ON k.PK_ID = ka.KNOWLEDGER_ID
  114. <where>
  115. <if test="@rx.Ognl@isNotEmpty(params.titles)">
  116. k.TITLES LIKE '%' || #{params.titles} || '%'
  117. </if>
  118. <if test="@rx.Ognl@isNotEmpty(params.categoryId)">
  119. k.CATEGORY_ID IN (
  120. SELECT c.PK_ID FROM KM_KNOWLEDGE_CATEGORY c START WITH c.PK_ID = #{params.categoryId} CONNECT BY PRIOR c.PK_ID = c.PARENT
  121. )
  122. </if>
  123. <if test="@rx.Ognl@isNotEmpty(params.type)">
  124. and k.TYPE = #{params.type}
  125. </if>
  126. <if test="@rx.Ognl@isNotEmpty(params.author)">
  127. and k.AUTHOR LIKE '%' || #{params.author} || '%'
  128. </if>
  129. <if test="@rx.Ognl@isNotEmpty(params.beginTime)">
  130. and TO_CHAR(ka.CREATE_TIME_,'yyyy-mm-dd') &gt;= #{params.beginTime}
  131. </if>
  132. <if test="@rx.Ognl@isNotEmpty(params.endTime)">
  133. and TO_CHAR(ka.CREATE_TIME_,'yyyy-mm-dd') &lt;= #{params.endTime}
  134. </if>
  135. <if test="@rx.Ognl@isNotEmpty(params.approvalStatus)">
  136. and k.APPROVAL_STATUS = #{params.approvalStatus}
  137. </if>
  138. and k.IS_DEL = 0 and (APPROVAL_STATUS = 1 OR APPROVAL_STATUS = 3)
  139. </where>
  140. ORDER BY ka.CREATE_TIME_ DESC,ka.SORT ASC
  141. </select>
  142. <select id="getAllKnowledgeByCategoryId" parameterType="string" resultType="com.redxun.knowledge.entity.vo.KnowledgeVo">
  143. SELECT
  144. <include refid="COLUMNS" />
  145. FROM
  146. KM_KNOWLEDGE k
  147. WHERE
  148. k.CATEGORY_ID IN (
  149. SELECT c.PK_ID FROM KM_KNOWLEDGE_CATEGORY c START WITH c.PK_ID = #{params.categoryId} CONNECT BY PRIOR c.PK_ID = c.PARENT
  150. ) ORDER BY VIEWS DESC
  151. </select>
  152. <update id="updateApprovalStatus">
  153. UPDATE KM_KNOWLEDGE
  154. SET APPROVAL_STATUS = #{status}
  155. WHERE PK_ID = #{knowledgeId}
  156. </update>
  157. <select id="countAuditKnowledge" resultType="com.redxun.knowledge.entity.vo.KnowledgeVo">
  158. SELECT
  159. 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,
  160. ka.KNOWLEDGER_ID,ka.ACTUAL_APPROVER,ka.ACTUAL_APPROVER_NAME,ka.APPROVAL_TIME,
  161. k.ATTACHMENT_NAME,k.ATTACHMENT_TYPE,k.APPROVAL_STATUS,k.APPROVAL_BATCH,k.ORGANIZATION_ID,k.IS_DEL,
  162. 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
  163. FROM KM_KNOWLEDGE k JOIN KM_KNOWLEDGE_APPROVE ka ON k.PK_ID = ka.KNOWLEDGER_ID
  164. <where>
  165. k.IS_DEL = 0 and (APPROVAL_STATUS = 1 OR APPROVAL_STATUS = 3)
  166. </where>
  167. ORDER BY ka.CREATE_TIME_ DESC,ka.SORT ASC
  168. </select>
  169. <update id="updateViewsById">
  170. update KM_KNOWLEDGE
  171. set views = views + 1
  172. where PK_ID = #{pkId}
  173. </update>
  174. <!-- <insert id="insert" parameterType="com.redxun.knowledge.entity.dao.Knowledge">-->
  175. <!-- DECLARE-->
  176. <!-- V_LANG CLOB :=-->
  177. <!-- #{content,jdbcType=CLOB};-->
  178. <!-- BEGIN-->
  179. <!--INSERT INTO KM_KNOWLEDGE(PK_ID, TITLES,CATEGORY_ID,TYPE,SUMMARY,ATTACHMENT,ATTACHMENT_NAME,ATTACHMENT_TYPE,UPDATE_BY_,AUTHOR,CONTENT-->
  180. <!--)VALUES(-->
  181. <!-- #{pkId,jdbcType=VARCHAR},-->
  182. <!-- #{titles},-->
  183. <!-- #{categoryId},-->
  184. <!-- #{type},-->
  185. <!-- #{summary},-->
  186. <!-- #{attachment},-->
  187. <!-- #{attachmentName},-->
  188. <!-- #{attachmentType},-->
  189. <!-- #{updateBy},-->
  190. <!-- #{author},-->
  191. <!-- V_LANG-->
  192. <!-- );-->
  193. <!-- END;-->
  194. <!-- </insert>-->
  195. </mapper>