c379a8518866feb9fac5cb2b7e03fdcbddbf4b41.svn-base 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  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="org.jeecg.modules.system.mapper.SysDictMapper">
  4. <!-- 通过字典code获取字典数据 -->
  5. <select id="queryDictItemsByCode" parameterType="String" resultType="org.jeecg.common.system.vo.DictModel">
  6. select s.item_value as "value",s.item_text as "text" from sys_dict_item s
  7. where dict_id = (select id from sys_dict where dict_code = #{code})
  8. order by s.sort_order asc
  9. </select>
  10. <!-- 通过字典code获取有效的字典数据项 -->
  11. <select id="queryEnableDictItemsByCode" parameterType="String" resultType="org.jeecg.common.system.vo.DictModel">
  12. select s.item_value as "value",s.item_text as "text" from sys_dict_item s
  13. where dict_id = (select id from sys_dict where dict_code = #{code})
  14. and s.status = 1
  15. order by s.sort_order asc
  16. </select>
  17. <!-- 通过多个字典code获取字典数据 -->
  18. <select id="queryDictItemsByCodeList" parameterType="String" resultType="org.jeecg.common.system.vo.DictModelMany">
  19. SELECT
  20. dict.dict_code,
  21. item.item_text AS "text",
  22. item.item_value AS "value"
  23. FROM
  24. sys_dict_item item
  25. INNER JOIN sys_dict dict ON dict.id = item.dict_id
  26. WHERE dict.dict_code IN (
  27. <foreach item="dictCode" collection="dictCodeList" separator=",">
  28. #{dictCode}
  29. </foreach>
  30. )
  31. ORDER BY item.sort_order ASC
  32. </select>
  33. <!-- 通过字典code获取字典数据 -->
  34. <select id="queryDictTextByKey" parameterType="String" resultType="String">
  35. select s.item_text from sys_dict_item s
  36. where s.dict_id = (select id from sys_dict where dict_code = #{code})
  37. and s.item_value = #{key}
  38. </select>
  39. <!-- 通过字典code获取字典数据,可批量查询 -->
  40. <select id="queryManyDictByKeys" parameterType="String" resultType="org.jeecg.common.system.vo.DictModelMany">
  41. SELECT
  42. dict.dict_code,
  43. item.item_text AS "text",
  44. item.item_value AS "value"
  45. FROM
  46. sys_dict_item item
  47. INNER JOIN sys_dict dict ON dict.id = item.dict_id
  48. WHERE dict.dict_code IN (
  49. <foreach item="dictCode" collection="dictCodeList" separator=",">
  50. #{dictCode}
  51. </foreach>
  52. )
  53. AND item.item_value IN (
  54. <foreach item="key" collection="keys" separator=",">
  55. #{key}
  56. </foreach>
  57. )
  58. </select>
  59. <!--通过查询指定table的 text code 获取字典-->
  60. <select id="queryTableDictItemsByCode" parameterType="String" resultType="org.jeecg.common.system.vo.DictModel">
  61. select ${text} as "text",${code} as "value" from ${table}
  62. </select>
  63. <!--通过查询指定table的 text code 获取字典(指定查询条件)-->
  64. <select id="queryTableDictItemsByCodeAndFilter" parameterType="String" resultType="org.jeecg.common.system.vo.DictModel">
  65. select ${text} as "text",${code} as "value" from ${table}
  66. <if test="filterSql != null and filterSql != ''">
  67. where ${filterSql}
  68. </if>
  69. </select>
  70. <!--通过查询指定table的 text code key 获取字典值-->
  71. <select id="queryTableDictTextByKey" parameterType="String" resultType="String">
  72. select ${text} as "text" from ${table} where ${code}= #{key}
  73. </select>
  74. <!--通过查询指定table的 text code key 获取字典值,可批量查询-->
  75. <select id="queryTableDictTextByKeys" parameterType="String" resultType="org.jeecg.common.system.vo.DictModel">
  76. select ${text} as "text", ${code} as "value" from ${table} where ${code} IN (
  77. <foreach item="key" collection="keys" separator=",">
  78. #{key}
  79. </foreach>
  80. )
  81. </select>
  82. <!--通过查询指定table的 text code key 获取字典值,包含value-->
  83. <select id="queryTableDictByKeys" parameterType="String" resultType="org.jeecg.common.system.vo.DictModel">
  84. select ${text} as "text", ${code} as "value" from ${table} where ${code} in
  85. <foreach item="key" collection="keyArray" open="(" separator="," close=")">
  86. #{key}
  87. </foreach>
  88. </select>
  89. <!-- 重复校验 sql语句 -->
  90. <select id="duplicateCheckCountSql" resultType="Long" parameterType="org.jeecg.modules.system.model.DuplicateCheckVo">
  91. SELECT COUNT(*) FROM ${tableName} WHERE ${fieldName} = #{fieldVal} and id &lt;&gt; #{dataId}
  92. </select>
  93. <!-- 重复校验 sql语句 -->
  94. <select id="duplicateCheckCountSqlNoDataId" resultType="Long" parameterType="org.jeecg.modules.system.model.DuplicateCheckVo">
  95. SELECT COUNT(*) FROM ${tableName} WHERE ${fieldName} = #{fieldVal}
  96. </select>
  97. <!-- 查询部门信息 作为字典数据 -->
  98. <select id="queryAllDepartBackDictModel" resultType="org.jeecg.common.system.vo.DictModel">
  99. select id as "value",depart_name as "text" from sys_depart where del_flag = '0'
  100. </select>
  101. <!-- 查询用户信息 作为字典数据 -->
  102. <select id="queryAllUserBackDictModel" resultType="org.jeecg.common.system.vo.DictModel">
  103. select username as "value",realname as "text" from sys_user where del_flag = '0'
  104. </select>
  105. <!--通过查询指定table的 text code 获取字典数据,且支持关键字查询 -->
  106. <select id="queryTableDictItems" parameterType="String" resultType="org.jeecg.common.system.vo.DictModel">
  107. select ${text} as "text",${code} as "value" from ${table} where ${text} like #{keyword}
  108. </select>
  109. <!-- 根据表名、显示字段名、存储字段名、父ID查询树 -->
  110. <select id="queryTreeList" parameterType="Object" resultType="org.jeecg.modules.system.model.TreeSelectModel">
  111. select ${text} as "title",
  112. ${code} as "key",
  113. <if test="hasChildField != null and hasChildField != ''">
  114. (case when ${hasChildField} = '1' then 0 else 1 end) as isLeaf,
  115. </if>
  116. ${pidField} as parentId
  117. from ${table}
  118. where
  119. <choose>
  120. <when test="pid != null and pid != ''">
  121. ${pidField} = #{pid}
  122. </when>
  123. <otherwise>
  124. (${pidField} = '' OR ${pidField} IS NULL)
  125. </otherwise>
  126. </choose>
  127. <if test="query!= null">
  128. <foreach collection="query.entrySet()" item="value" index="key" >
  129. and ${key} = #{value}
  130. </foreach>
  131. </if>
  132. </select>
  133. <!-- 分页查询字典表数据 -->
  134. <select id="queryDictTablePageList" parameterType="Object" resultType="org.jeecg.common.system.vo.DictModel">
  135. select ${query.text} as "text",${query.code} as "value" from ${query.table}
  136. where 1 = 1
  137. <if test="query.keyword != null and query.keyword != ''">
  138. and (${query.text} like '%${query.keyword}%' or ${query.code} like '%${query.keyword}%')
  139. </if>
  140. <if test="query.codeValue != null and query.codeValue != ''">
  141. and ${query.code} = #{query.codeValue}
  142. </if>
  143. </select>
  144. <!--通过查询指定table的 text code 获取字典数据,且支持关键字和自定义查询条件查询 分页-->
  145. <select id="queryTableDictWithFilter" parameterType="String" resultType="org.jeecg.common.system.vo.DictModel">
  146. select ${text} as "text", ${code} as "value" from ${table}
  147. <if test="filterSql != null and filterSql != ''">
  148. ${filterSql}
  149. </if>
  150. </select>
  151. <!--通过查询指定table的 text code 获取字典数据,且支持关键字和自定义查询条件查询 获取所有 -->
  152. <select id="queryAllTableDictItems" parameterType="String" resultType="org.jeecg.common.system.vo.DictModel">
  153. select ${text} as "text", ${code} as "value" from ${table}
  154. <if test="filterSql != null and filterSql != ''">
  155. ${filterSql}
  156. </if>
  157. </select>
  158. </mapper>