63e0107ef2ab64e9b390ffd3c0e7145d6ef3e032.svn-base 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  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="cn.com.goldenwater.dcproj.dao.MenuDao">
  4. <resultMap type="cn.com.goldenwater.dcproj.model.Menu" id="menuResultMap">
  5. <result property="id" column="ID" />
  6. <result property="privId" column="PRIV_ID" />
  7. <result property="parentId" column="PARENT_ID" />
  8. <result property="menuName" column="MENU_NAME" />
  9. <result property="sortLevel" column="SORT_LEVEL" />
  10. <result property="sequence" column="SEQUENCE" />
  11. <result property="href" column="HREF" />
  12. <result property="icon" column="ICON" />
  13. <result property="ownApp" column="OWN_APP" />
  14. </resultMap>
  15. <resultMap type="cn.com.goldenwater.dcproj.dto.MenuDto" id="dtoMenuResultMap">
  16. <result property="id" column="ID" />
  17. <result property="privId" column="PRIV_ID" />
  18. <result property="privName" column="PRIV_NAME" />
  19. <result property="parentId" column="PARENT_ID" />
  20. <result property="parentName" column="PARENT_NAME" />
  21. <result property="menuName" column="MENU_NAME" />
  22. <result property="sortLevel" column="SORT_LEVEL" />
  23. <result property="sequence" column="SEQUENCE" />
  24. <result property="href" column="HREF" />
  25. <result property="icon" column="ICON" />
  26. <result property="checked" column="CHECKED"/>
  27. <result property="code" column="CODE"/>
  28. <result property="flagLeaf" column="FLAG_LEAF"/>
  29. <result property="ownApp" column="OWN_APP" />
  30. </resultMap>
  31. <sql id="table_columns">
  32. ID,
  33. PRIV_ID,
  34. PARENT_ID,
  35. MENU_NAME,
  36. SORT_LEVEL,
  37. SEQUENCE,
  38. HREF,
  39. ICON,OWN_APP
  40. </sql>
  41. <sql id="entity_properties">
  42. #{id},
  43. #{privId},
  44. #{parentId},
  45. #{menuName},
  46. #{sortLevel},
  47. #{sequence},
  48. #{href},
  49. #{icon},#{ownApp}
  50. </sql>
  51. <!-- 使用like用法:columnName like concat('%',#columnName#,'%') -->
  52. <sql id="page_where">
  53. <trim prefix="where" prefixOverrides="and | or ">
  54. <if test="privId != null and privId != ''">and PRIV_ID = #{privId}</if>
  55. <if test="parentId != null and parentId != ''">and PARENT_ID = #{parentId}</if>
  56. <if test="menuName != null and menuName != ''">and MENU_NAME LIKE concat(concat('%',#{menuName}),'%')</if>
  57. <if test="sortLevel != null">and SORT_LEVEL = #{sortLevel}</if>
  58. <if test="href != null and href != ''">and HREF = #{href}</if>
  59. <if test="icon != null and icon != ''">and ICON = #{icon}</if>
  60. <if test="ownApp != null and ownApp != ''">and OWN_APP like '%${ownApp}%'</if>
  61. </trim>
  62. </sql>
  63. <select id="get" resultMap="menuResultMap" parameterType="String" >
  64. select <include refid="table_columns" /> from GW_SYS_MENU where ID = #{id}
  65. </select>
  66. <select id="getBy" resultMap="menuResultMap">
  67. select <include refid="table_columns" /> from GW_SYS_MENU <include refid="page_where" />
  68. </select>
  69. <select id="findAll" resultMap="menuResultMap">
  70. select <include refid="table_columns" /> from GW_SYS_MENU
  71. </select>
  72. <select id="findList" resultMap="menuResultMap">
  73. select <include refid="table_columns" /> from GW_SYS_MENU <include refid="page_where" />
  74. </select>
  75. <select id="selectCount" resultType="int" >
  76. select count(ID) from GW_SYS_MENU <include refid="page_where" />
  77. </select>
  78. <insert id="insert" parameterType="cn.com.goldenwater.dcproj.model.Menu">
  79. insert into GW_SYS_MENU( <include refid="table_columns" /> )
  80. values ( <include refid="entity_properties" /> )
  81. </insert>
  82. <delete id="delete" parameterType="java.lang.String">
  83. delete from GW_SYS_MENU where ID = #{id}
  84. </delete>
  85. <delete id="deleteBy" parameterType="cn.com.goldenwater.dcproj.model.Menu">
  86. delete from GW_SYS_MENU <include refid="page_where" />
  87. </delete>
  88. <update id="deleteInFlag" parameterType="java.lang.String">
  89. update GW_SYS_MENU set flag_valid = 0 where>ID = #{id}
  90. </update>
  91. <update id="update" parameterType="cn.com.goldenwater.dcproj.model.Menu">
  92. update GW_SYS_MENU
  93. <trim prefix="set" suffixOverrides=",">
  94. <if test="privId != null and privId != ''">PRIV_ID = #{privId},</if>
  95. <if test="parentId != null and parentId != ''">PARENT_ID = #{parentId},</if>
  96. <if test="menuName != null and menuName != ''">MENU_NAME = #{menuName},</if>
  97. <if test="sortLevel != null">SORT_LEVEL = #{sortLevel},</if>
  98. <if test="sequence != null">SEQUENCE = #{sequence},</if>
  99. <if test="ownApp != null and ownApp != ''">OWN_APP = #{ownApp},</if>
  100. HREF = #{href},
  101. ICON = #{icon}
  102. </trim>
  103. <where>ID = #{id}</where>
  104. </update>
  105. <update id="clearMemuPriv" parameterType="String">
  106. UPDATE GW_SYS_MENU
  107. <set>
  108. PRIV_ID = null
  109. </set>
  110. <where>
  111. PRIV_ID = #{privId}
  112. </where>
  113. </update>
  114. <update id="updateMemuPriv" parameterType="java.util.List">
  115. <foreach collection="list" index="index" item="item" open="begin" close=";end;" separator=";" >
  116. UPDATE GW_SYS_MENU
  117. <set>
  118. PRIV_ID = #{item.privId}
  119. </set>
  120. <where>
  121. ID = #{item.id}
  122. </where>
  123. </foreach>
  124. </update>
  125. <update id="updateBy" parameterType="cn.com.goldenwater.dcproj.model.Menu">
  126. update GW_SYS_MENU
  127. <trim prefix="set" suffixOverrides=",">
  128. <if test="privId != null and privId != ''">PRIV_ID = #{privId},</if>
  129. <if test="parentId != null and parentId != ''">PARENT_ID = #{parentId},</if>
  130. <if test="menuName != null and menuName != ''">MENU_NAME = #{menuName},</if>
  131. <if test="sortLevel != null">SORT_LEVEL = #{sortLevel},</if>
  132. <if test="sequence != null">SEQUENCE = #{sequence},</if>
  133. <if test="href != null and href != ''">HREF = #{href},</if>
  134. <if test="icon != null and icon != ''">ICON = #{icon},</if>
  135. </trim>
  136. <include refid="page_where" />
  137. </update>
  138. <update id="updateByPrivId" parameterType="cn.com.goldenwater.dcproj.model.Menu">
  139. update GW_SYS_MENU
  140. <trim prefix="set" suffixOverrides=",">
  141. <if test="parentId != null and parentId != ''">PARENT_ID = #{parentId},</if>
  142. <if test="menuName != null and menuName != ''">MENU_NAME = #{menuName},</if>
  143. <if test="sortLevel != null">SORT_LEVEL = #{sortLevel},</if>
  144. <if test="sequence != null">SEQUENCE = #{sequence},</if>
  145. <if test="href != null and href != ''">HREF = #{href},</if>
  146. <if test="icon != null and icon != ''">ICON = #{icon},</if>
  147. <if test="ownApp != null and ownApp != ''"> OWN_APP = #{ownApp},</if>
  148. </trim>
  149. <where>
  150. PRIV_ID = #{privId}
  151. </where>
  152. </update>
  153. <!-- 根据userid查询菜单-->
  154. <select id="getMenuByUserId" resultMap="menuResultMap" parameterType="String">
  155. SELECT
  156. C.ID, C.PRIV_ID, C.PARENT_ID, C.MENU_NAME, C.SORT_LEVEL, C.SEQUENCE,
  157. C.HREF, C.OWN_APP, C.ICON,E.MENU_NAME AS PARENT_NAME
  158. FROM
  159. GW_SYS_MENU C
  160. LEFT JOIN
  161. GW_SYS_MENU E ON C.PARENT_ID=E.ID
  162. LEFT JOIN
  163. GW_SYS_PRIV D ON D.ID=C.PRIV_ID
  164. where
  165. C.ID is not null
  166. <if test="name != null and name != ''">
  167. and C.MENU_NAME like CONCAT('%', #{name}, '%')
  168. </if>
  169. <if test="ownApp !=null and ownApp !=''">
  170. AND C.own_app like '%${ownApp}%'
  171. </if>
  172. <trim prefix="" suffixOverrides="">
  173. <if test="level != null and level != ''">
  174. and C.SORT_LEVEL &lt;= #{level}
  175. </if>
  176. </trim>
  177. <if test="list != null and list.size()>0">
  178. AND D.OWNER_SYSTEM IN
  179. <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
  180. #{item}
  181. </foreach>
  182. </if>
  183. order by C.SEQUENCE
  184. </select>
  185. <!-- 分页获取列表 -->
  186. <select id="findPage" resultMap="menuResultMap" parameterType="cn.com.goldenwater.dcproj.param.MenuParam">
  187. select
  188. <include refid="table_columns" />
  189. from GW_SYS_MENU
  190. <include refid="page_where" />
  191. order by
  192. <if test="orderBy != null and orderBy != ''"> #{orderBy},</if>id desc
  193. </select>
  194. <!-- 分页获取列表 -->
  195. <select id="findPageDto" resultMap="dtoMenuResultMap" parameterType="cn.com.goldenwater.dcproj.param.MenuParam">
  196. SELECT
  197. A.ID,A.PRIV_ID,B.PRIV_NAME,A.PARENT_ID,C.MENU_NAME PARENT_NAME,A.MENU_NAME,A.SORT_LEVEL,A.SEQUENCE,A.HREF,A.ICON,A.OWN_APP
  198. FROM GW_SYS_MENU A
  199. LEFT JOIN GW_SYS_PRIV B ON A.PRIV_ID=B.ID
  200. LEFT JOIN GW_SYS_MENU C ON A.PARENT_ID=C.ID
  201. WHERE 1 = 1
  202. <if test="id != null and id != ''">AND A.ID = #{id}</if>
  203. <if test="privId != null and privId != ''">AND A.PRIV_ID = #{privId}</if>
  204. <if test="parentId != null and parentId != ''">AND A.PARENT_ID = #{parentId}</if>
  205. <if test="menuName != null and menuName != ''">AND A.MENU_NAME LIKE CONCAT('%',#{menuName},'%')</if>
  206. <if test="sortLevel != null and sortLevel != ''">AND A.SORT_LEVEL = #{sortLevel}</if>
  207. <if test="href != null and href != ''">AND A.HREF=#{href}</if>
  208. <if test="icon != null and icon != ''">AND A.ICON =#{icon}</if>
  209. <if test="ownApp !=null and ownApp !=''">
  210. AND A.own_app like '%${ownApp}%'
  211. </if>
  212. order by
  213. A.id desc
  214. </select>
  215. <!-- 分页获取列表 -->
  216. <select id="findMenuList" resultMap="dtoMenuResultMap" parameterType="cn.com.goldenwater.dcproj.param.MenuParam">
  217. SELECT
  218. A.ID,A.PRIV_ID,B.PRIV_NAME,A.PARENT_ID,C.MENU_NAME PARENT_NAME,A.MENU_NAME,A.SORT_LEVEL,A.SEQUENCE,A.HREF,A.ICON,A.OWN_APP
  219. <if test="privId != null and privId != ''">,CASE WHEN A.PRIV_ID =#{privId} then 1 else 0 END CHECKED </if>
  220. FROM GW_SYS_MENU A
  221. LEFT JOIN GW_SYS_PRIV B ON A.PRIV_ID=B.ID
  222. LEFT JOIN GW_SYS_MENU C ON A.PARENT_ID=C.ID
  223. where 1=1
  224. <if test="ownApp !=null and ownApp !=''">
  225. AND A.own_app like '%${ownApp}%'
  226. </if>
  227. order by
  228. A.id desc
  229. </select>
  230. <select id="getListByUserId" resultMap="dtoMenuResultMap" parameterType="string">
  231. select distinct D.ID,D.MENU_NAME,D.SORT_LEVEL,D.HREF,D.PARENT_ID,D.ICON,D.OWN_APP,D.SEQUENCE,D.PRIV_ID,
  232. E.PRIV_NAME,E.CODE,E.FLAG_LEAF,E.PRIV_NAME,E.CODE,E.FLAG_LEAF from GW_SYS_REL_USER_ROLE B LEFT JOIN GW_SYS_REL_ROLE_PRIV C ON B.ROLE_ID=C.ROLE_ID LEFT JOIN GW_SYS_PRIV E ON C.PRIV_ID=E.ID
  233. RIGHT JOIN GW_SYS_MENU D ON E.ID=D.PRIV_ID
  234. WHERE b.user_id=#{userId} AND E.PRIV_TYPE=#{privType}
  235. <if test="ownApp !=null and ownApp !=''">
  236. AND D.own_app like '%${ownApp}%'
  237. </if>
  238. ORDER BY D.SORT_LEVEL,D.SEQUENCE
  239. </select>
  240. </mapper>