SysDeptJlMapper.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.ruoyi.system.mapper.SysDeptJlMapper">
  6. <resultMap type="SysDeptJl" id="SysDeptJlResult">
  7. <result property="id" column="id" />
  8. <result property="code" column="code" />
  9. <result property="name" column="name" />
  10. <result property="parentId" column="parent_id" />
  11. <result property="ancestors" column="ancestors" />
  12. <result property="level" column="level" />
  13. <result property="createTimeStr" column="create_time_str" />
  14. <result property="createUserId" column="create_user_id" />
  15. <result property="createUserType" column="create_user_type" />
  16. <result property="createAreaCode" column="create_area_code" />
  17. <result property="createBy" column="create_by" />
  18. <result property="createUnit" column="create_unit" />
  19. <result property="createUnitName" column="create_unit_name" />
  20. <result property="updateTimeStr" column="update_time_str" />
  21. <result property="updateUserId" column="update_user_id" />
  22. <result property="updateBy" column="update_by" />
  23. <result property="updateUnit" column="update_unit" />
  24. <result property="updateUnitName" column="update_unit_name" />
  25. <result property="parentName" column="parent_name" />
  26. </resultMap>
  27. <resultMap type="SysDept" id="SysDeptResult">
  28. <id property="deptId" column="dept_id" />
  29. <result property="parentId" column="parent_id" />
  30. <result property="ancestors" column="ancestors" />
  31. <result property="deptName" column="dept_name" />
  32. <result property="orderNum" column="order_num" />
  33. <result property="leader" column="leader" />
  34. <result property="phone" column="phone" />
  35. <result property="email" column="email" />
  36. <result property="locationCode" column="location_code" />
  37. <result property="status" column="status" />
  38. <result property="delFlag" column="del_flag" />
  39. <result property="parentName" column="parent_name" />
  40. <result property="createTimeStr" column="create_time_str" />
  41. <result property="createUserId" column="create_user_id" />
  42. <result property="createUserType" column="create_user_type" />
  43. <result property="createAreaCode" column="create_area_code" />
  44. <result property="createBy" column="create_by" />
  45. <result property="createUnit" column="create_unit" />
  46. <result property="createUnitName" column="create_unit_name" />
  47. <result property="updateTimeStr" column="update_time_str" />
  48. <result property="updateUserId" column="update_user_id" />
  49. <result property="updateBy" column="update_by" />
  50. <result property="updateUnit" column="update_unit" />
  51. <result property="updateUnitName" column="update_unit_name" />
  52. </resultMap>
  53. <sql id="selectSysDeptJlVo">
  54. select a.id, a.code, a.name, a.parent_id, a.ancestors, b.name as parent_name, a.level,
  55. a.create_time_str, a.create_user_id, a.create_by, a.create_unit, a.create_unit_name,
  56. a.update_time_str, a.update_user_id, a.update_by, a.update_unit, a.update_unit_name
  57. from sys_dept_jl a
  58. LEFT JOIN sys_dept_jl b ON a.parent_id = b.id
  59. </sql>
  60. <select id="getLevelList" parameterType="string" resultMap="SysDeptJlResult">
  61. SELECT * FROM sys_dept_jl
  62. <where>
  63. <if test="code != null and code != ''"> and code like concat(#{code},'%')</if>
  64. <if test="level != null and level ==1"> and level in (1,2,3)</if>
  65. <if test="level != null and level ==2"> and level in (2,3)</if>
  66. <if test="level != null and level ==3"> and level in (3)</if>
  67. </where>
  68. </select>
  69. <select id="selectSysDeptJlList" parameterType="SysDeptJl" resultMap="SysDeptJlResult">
  70. <include refid="selectSysDeptJlVo"/>
  71. <where>
  72. <if test="id != null and id != ''"> and a.code = #{id}</if>
  73. <if test="code != null and code != ''"> and a.code = #{code}</if>
  74. <if test="name != null and name != ''"> and a.name like concat('%', #{name}, '%')</if>
  75. <if test="parentId != null and parentId != ''"> and a.parent_id = #{parentId} </if>
  76. <if test="level != null "> and level = #{level}</if>
  77. </where>
  78. order by a.code asc
  79. </select>
  80. <select id="selectSysDeptJlTree" parameterType="SysDeptJl" resultMap="SysDeptJlResult">
  81. select * from (select id, code, name, parent_id, level from sys_dept_jl where level &lt; 4) as a
  82. <where>
  83. <if test="id != null and id != ''"> and a.code = #{id}</if>
  84. <if test="code != null and code != ''"> and a.code = #{code}</if>
  85. <if test="name != null and name != ''"> and a.name like concat('%', #{name}, '%')</if>
  86. <if test="parentId != null and parentId != ''"> and a.parent_id = #{parentId} </if>
  87. <if test="level != null "> and level = #{level}</if>
  88. </where>
  89. order by a.code asc
  90. </select>
  91. <select id="selectSysDeptJlTreeFiveLevel" parameterType="SysDeptJl" resultMap="SysDeptJlResult">
  92. select * from (select id, code, name, parent_id, level from sys_dept_jl) as a
  93. <where>
  94. <if test="id != null and id != ''"> and a.code = #{id}</if>
  95. <if test="code != null and code != ''"> and a.code = #{code}</if>
  96. <if test="name != null and name != ''"> and a.name like concat('%', #{name}, '%')</if>
  97. <if test="parentId != null and parentId != ''"> and a.parent_id = #{parentId} </if>
  98. <if test="level != null "> and level = #{level}</if>
  99. </where>
  100. order by a.code asc
  101. </select>
  102. <select id="selectSysDeptJlById" parameterType="String" resultMap="SysDeptJlResult">
  103. <include refid="selectSysDeptJlVo"/>
  104. where a.id = #{id}
  105. </select>
  106. <select id="selectSysDeptJlByCode" parameterType="String" resultMap="SysDeptJlResult">
  107. <include refid="selectSysDeptJlVo"/>
  108. where a.code = #{code}
  109. </select>
  110. <select id="selectSysDeptJlByParentId" parameterType="String" resultMap="SysDeptJlResult">
  111. <include refid="selectSysDeptJlVo"/>
  112. where a.parent_id = #{parentId}
  113. </select>
  114. <insert id="insertSysDeptJl" parameterType="SysDeptJl">
  115. insert into sys_dept_jl
  116. <trim prefix="(" suffix=")" suffixOverrides=",">
  117. <if test="id != null">id,</if>
  118. <if test="code != null">code,</if>
  119. <if test="name != null">name,</if>
  120. <if test="parentId != null">parent_id,</if>
  121. ancestors,
  122. <if test="level != null">level,</if>
  123. create_time_str,
  124. create_user_id,
  125. create_user_type,create_area_code,
  126. create_by,
  127. create_unit,
  128. create_unit_name
  129. </trim>
  130. <trim prefix="values (" suffix=")" suffixOverrides=",">
  131. <if test="id != null">#{id},</if>
  132. <if test="code != null">#{code},</if>
  133. <if test="name != null">#{name},</if>
  134. <if test="parentId != null">#{parentId},</if>
  135. getxzqhcodebycode_m(#{parentId}),
  136. <if test="level != null">#{level},</if>
  137. #{createTimeStr},
  138. #{createUserId},
  139. #{createUserType},#{createAreaCode},
  140. #{createBy},
  141. #{createUnit},
  142. #{createUnitName}
  143. </trim>
  144. </insert>
  145. <update id="updateSysDeptJl" parameterType="SysDeptJl">
  146. update sys_dept_jl
  147. <trim prefix="SET" suffixOverrides=",">
  148. <if test="code != null">code = #{code},</if>
  149. <if test="name != null">name = #{name},</if>
  150. <if test="parentId != null">parent_id = #{parentId},ancestors = getxzqhcodebycode_m(#{ancestors}),</if>
  151. <if test="level != null">level = #{level},</if>
  152. update_time_str = #{updateTimeStr},
  153. update_user_id = #{updateUserId},
  154. update_by = #{updateBy},
  155. update_unit = #{updateUnit},
  156. update_unit_name = #{updateUnitName}
  157. </trim>
  158. where id = #{id}
  159. </update>
  160. <delete id="deleteSysDeptJlById" parameterType="String">
  161. delete from sys_dept_jl where id = #{id}
  162. </delete>
  163. <delete id="deleteSysDeptJlByIds" parameterType="String">
  164. delete from sys_dept_jl where id in
  165. <foreach item="id" collection="array" open="(" separator="," close=")">
  166. #{id}
  167. </foreach>
  168. </delete>
  169. <select id="selectJlDeptByParams" parameterType="String" resultType="java.util.Map">
  170. select id, code, name, parent_id, level from sys_dept_jl
  171. <where>
  172. <if test="id != null "> and id = #{id}</if>
  173. <if test="code != null "> and code = #{code}</if>
  174. </where>
  175. </select>
  176. <select id="checkUltra" parameterType="String" resultType="String">
  177. SELECT
  178. a.code
  179. FROM
  180. (
  181. SELECT
  182. code
  183. FROM
  184. sys_dept_jl
  185. WHERE
  186. code like concat(#{id}, '%')
  187. ) a
  188. WHERE
  189. a.code = #{code}
  190. </select>
  191. <select id="getXzqhNames" parameterType="String" resultType="String">
  192. select getxzqhmcbycode(#{code})
  193. </select>
  194. <select id="selectDeptByParams" parameterType="String" resultType="java.util.Map">
  195. select dept_id, parent_id, ancestors, dept_name from sys_dept
  196. <where>
  197. <if test="id != null "> and dept_id = #{id}</if>
  198. </where>
  199. limit 1
  200. </select>
  201. <select id="selectJlDeptByParentId" parameterType="String" resultType="java.util.HashMap">
  202. select id, code, name, parent_id, level from sys_dept_jl
  203. where parent_id = #{parentId}
  204. </select>
  205. <select id="id2code" parameterType="String" resultType="String">
  206. select code from sys_dept_jl where id = #{id}
  207. </select>
  208. <select id="getXzqhIds" parameterType="String" resultType="String">
  209. select getxzqhidbycode(#{code})
  210. </select>
  211. <select id="getXzqhCodes" parameterType="String" resultType="String">
  212. select getxzqhcodebycode(#{code})
  213. </select>
  214. <!-- 只传吉林省,一个字段存储,通知code,-->
  215. <!-- 因为如果是12位的code,【查询】结果不完整,【GROUP_CONCAT函数 最长只有1024,会丢失数据】,所以换成6位code查询,-->
  216. <!-- 最终进库里的还是85个12位code-->
  217. <select id="selectDeptMsgByL1" parameterType="String" resultType="java.lang.String">
  218. -- SELECT GROUP_CONCAT(AA.code) FROM
  219. -- (
  220. SELECT code as code FROM sys_dept_jl
  221. WHERE code like CONCAT(SUBSTRING(#{code},1,2),'%') AND level in (1,2,3)
  222. -- ) aa
  223. </select>
  224. <select id="selectDeptMsgByL2" parameterType="String" resultType="string">
  225. SELECT GROUP_CONCAT(AA.code) FROM
  226. (
  227. SELECT code FROM sys_dept_jl WHERE code like CONCAT(SUBSTRING(#{code},1,4),'%') AND level in (2,3)
  228. ) aa
  229. </select>
  230. <select id="selectAreaCodeByDeptId" parameterType="String" resultType="String">
  231. select location_code from sys_dept where dept_id = #{id}
  232. </select>
  233. <select id="getDeptIdByLocationCode" parameterType="String" resultType="String">
  234. select min(dept_id) from sys_dept where location_code = #{code}
  235. </select>
  236. <select id="selectSysDeptJlListByInsert" parameterType="SysDeptJl" resultMap="SysDeptJlResult">
  237. <include refid="selectSysDeptJlVo"/>
  238. <where>
  239. <if test="id != null and id != ''"> and a.code = #{id}</if>
  240. <if test="code != null and code != ''"> and a.code = #{code}</if>
  241. <if test="name != null and name != ''"> and a.name like concat('%', #{name}, '%')</if>
  242. <if test="parentId != null and parentId != ''"> and a.parent_id = #{parentId} </if>
  243. <if test="level != null "> and level = #{level}</if>
  244. </where>
  245. order by a.code asc
  246. </select>
  247. <select id="selectSysDeptJl" parameterType="String" resultMap="SysDeptResult">
  248. select * from sys_dept
  249. </select>
  250. </mapper>